15 |
|
Amat[Axx] = the_A[0][0]; Amat[Axy] = the_A[0][1]; Amat[Axz] = the_A[0][2]; |
16 |
|
Amat[Ayx] = the_A[1][0]; Amat[Ayy] = the_A[1][1]; Amat[Ayz] = the_A[1][2]; |
17 |
|
Amat[Azx] = the_A[2][0]; Amat[Azy] = the_A[2][1]; Amat[Azz] = the_A[2][2]; |
18 |
< |
|
19 |
< |
this->body2Lab( &ul[offsetX] ); |
18 |
> |
|
19 |
> |
this->updateU(); |
20 |
|
} |
21 |
|
|
22 |
|
void DirectionalAtom::setI( double the_I[3][3] ){ |
48 |
|
Amat[Azy] = 2.0 * ( the_q[2] * the_q[3] - the_q[0] * the_q[1] ); |
49 |
|
Amat[Azz] = q0Sqr - q1Sqr -q2Sqr +q3Sqr; |
50 |
|
|
51 |
< |
this->body2Lab( &ul[offsetX] ); |
51 |
> |
this->updateU(); |
52 |
|
} |
53 |
|
|
54 |
|
void DirectionalAtom::getA( double the_A[3][3] ){ |
138 |
|
Amat[Azy] = -cos(phi) * sin(theta); |
139 |
|
Amat[Azz] = cos(theta); |
140 |
|
|
141 |
< |
this->body2Lab( &ul[offsetX] ); |
141 |
> |
this->updateU(); |
142 |
|
} |
143 |
|
|
144 |
|
|
168 |
|
r[2] = (Amat[Axz] * rb[0]) + (Amat[Ayz] * rb[1]) + (Amat[Azz] * rb[2]); |
169 |
|
} |
170 |
|
|
171 |
+ |
void DirectionalAtom::updateU( void ){ |
172 |
+ |
|
173 |
+ |
ul[offsetX] = (Amat[Axx] * sux) + (Amat[Ayx] * suy) + (Amat[Azx] * suz); |
174 |
+ |
ul[offsetY] = (Amat[Axy] * sux) + (Amat[Ayy] * suy) + (Amat[Azy] * suz); |
175 |
+ |
ul[offsetZ] = (Amat[Axz] * sux) + (Amat[Ayz] * suy) + (Amat[Azz] * suz); |
176 |
+ |
} |
177 |
+ |
|