int calcQPhiFromQTheta(_float *qTheta, _int n, _float chi, _float phi){ _float r[3][3]; r[0][0] = cos(chi); r[0][1] = 0.0; r[0][2] = -1.0 * sin(chi); r[1][0] = sin(phi) * sin(chi); r[1][1] = cos(phi); r[1][2] = sin(phi) * cos(chi); r[2][0] = cos(phi) * sin(chi); r[2][1] = -1.0 * sin(phi); r[2][2] = cos(phi) * cos(chi); matmulti(qTheta, n, r, 1); return true; }
int calcQPhiFromQTheta(double *qTheta, int n, double chi, double phi){ double r[3][3]; r[0][0] = cos(chi); r[0][1] = 0.0; r[0][2] = -1.0 * sin(chi); r[1][0] = sin(phi) * sin(chi); r[1][1] = cos(phi); r[1][2] = sin(phi) * cos(chi); r[2][0] = cos(phi) * sin(chi); r[2][1] = -1.0 * sin(phi); r[2][2] = cos(phi) * cos(chi); matmulti(qTheta, n, r); return true; }
int calcHKLFromQPhi(_float *qPhi, _int n, _float mat[][3]){ matmulti(qPhi, n, mat, 1); return true; }
int calcHKLFromQPhi(double *qPhi, int n, double mat[][3]){ matmulti(qPhi, n, mat); return true; }