36 for ( i = 0; i < 3; i++ ) {
37 for ( j = 0; j < 3; j++ ) {
47 for ( i = 0; i < 3; i++ ) {
48 for ( j = 0; j < 3; j++ ) {
62 for ( i = 0; i < 3; i++ ) {
63 for ( j = 0; j < 3; j++ ) {
76 for ( i = 0; i < 3; i++ ) {
77 for ( j = 0; j < 3; j++ ) {
87 for ( i = 0; i < 3; i++ ) {
88 for ( j = 0; j < 3; j++ ) {
98 for ( i = 0; i < 3; i++ ) {
99 for ( j = 0; j < 3; j++ ) {
109 for ( i = 0; i < 3; i++ ) {
110 for ( j = 0; j < 3; j++ ) {
111 m_t[i][j] += t2.
m_t[i][j];
121 for ( i = 0; i < 3; i++ ) {
122 for ( j = 0; j < 3; j++ ) {
123 m_t[i][j] -= t2.
m_t[i][j];
133 for ( i = 0; i < 3; i++ ) {
134 for ( j = 0; j < 3; j++ ) {
145 for ( i = 0; i < 3; i++ ) {
146 for ( j = 0; j < 3; j++ ) {
159 for ( i = 0; i < 3; i++ ) {
160 for ( j = 0; j < 3; j++ ) {
161 temp.
set( i, j, c1.
get( i ) * c2.
get( j ) );
173 for ( i = 0; i < 3; i++ ) {
174 for ( j = 0; j < 3; j++ ) {
175 temp.
set( i, j, c1.
get( i ) * c2.
get( j ) );
187 for ( i = 0; i < 3; i++ ) {
188 for ( j = 0; j < 3; j++ ) {
201 for ( i = 0; i < 3; i++ ) {
202 for ( j = 0; j < 3; j++ ) {
217 for ( i = 0; i < 3; i++ ) {
218 for ( j = 0; j < 3; j++ ) {
219 c = t1.
get( i, 0 ) * t2.
get( j, 0 ) +
220 t1.
get( i, 1 ) * t2.
get( j, 1 ) + t1.
get( i, 2 ) * t2.
get( j, 2 );
235 for ( i = 0; i < 3; i++ ) {
236 for ( j = 0; j < 3; j++ ) {
237 c = t1.
get( 0, i ) * t2.
get( 0, j ) +
238 t1.
get( 1, i ) * t2.
get( 1, j ) + t1.
get( 2, i ) * t2.
get( 2, j );
252 for ( i = 0; i < 3; i++ ) {
266 for ( i = 0; i < 3; i++ ) {
280 for ( i = 0; i < 3; i++ ) {
294 for ( i = 0; i < 3; i++ ) {
306 temp.
m_t[0][0] = 0.0;
307 temp.
m_t[1][1] = 0.0;
308 temp.
m_t[2][2] = 0.0;
310 temp.
m_t[0][1] = v.
get( 2 );
311 temp.
m_t[0][2] = -v.
get( 1 );
313 temp.
m_t[1][0] = -v.
get( 2 );
314 temp.
m_t[1][2] = v.
get( 0 );
316 temp.
m_t[2][0] = v.
get( 1 );
317 temp.
m_t[2][1] = -v.
get( 0 );
324 static const EvtTensor3C identity( 1.0, 1.0, 1.0 );
332 <<
"(" << v.
m_t[0][0] <<
"," << v.
m_t[0][1] <<
"," << v.
m_t[0][2] <<
")";
334 <<
"(" << v.
m_t[1][0] <<
"," << v.
m_t[1][1] <<
"," << v.
m_t[1][2] <<
")";
336 <<
"(" << v.
m_t[2][0] <<
"," << v.
m_t[2][1] <<
"," << v.
m_t[2][2] <<
")"
343 double beta,
double gamma )
353 double sp, st, sk, cp, ct, ck;
364 r[0][0] = ck * ct * cp - sk * sp;
365 r[0][1] = ck * ct * sp + sk * cp;
368 r[1][0] = -sk * ct * cp - ck * sp;
369 r[1][1] = -sk * ct * sp + ck * cp;
376 for ( i = 0; i < 3; i++ ) {
377 for ( j = 0; j < 3; j++ ) {
379 for ( k = 0; k < 3; k++ ) {
380 temp[i][j] += r[i][k] *
m_t[k][j];
385 for ( i = 0; i < 3; i++ ) {
386 for ( j = 0; j < 3; j++ ) {
388 for ( k = 0; k < 3; k++ ) {
389 m_t[i][j] += r[i][k] * temp[j][k];
EvtTensor3C conj(const EvtTensor3C &t2)
EvtTensor3C cont22(const EvtTensor3C &t1, const EvtTensor3C &t2)
ostream & operator<<(ostream &s, const EvtTensor3C &v)
EvtTensor3C cont11(const EvtTensor3C &t1, const EvtTensor3C &t2)
const EvtComplex & get(int i, int j) const
friend EvtTensor3C conj(const EvtTensor3C &t2)
EvtVector3C cont1(const EvtVector3C &v) const
void set(int i, int j, const EvtComplex &c)
void applyRotateEuler(double phi, double theta, double ksi)
EvtVector3C cont2(const EvtVector3C &v) const
EvtTensor3C operator-=(const EvtTensor3C &t2)
static const EvtTensor3C & id()
EvtTensor3C & operator=(const EvtTensor3C &t1)
EvtTensor3C operator*=(const double d)
EvtTensor3C operator+=(const EvtTensor3C &t2)
const EvtComplex & get(int) const
void set(const int, const EvtComplex &)
EvtTensor3C rotateEuler(const EvtTensor3C &v, double phi, double theta, double ksi)
EvtTensor3C eps(const EvtVector3R &v)
EvtTensor3C directProd(const EvtVector3C &c1, const EvtVector3C &c2)