BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtTensor3C.hh File Reference
#include "EvtComplex.hh"
#include <iostream>

Go to the source code of this file.

Classes

class  EvtTensor3C

Functions

EvtTensor3C rotateEuler (const EvtTensor3C &v, double phi, double theta, double ksi)
EvtTensor3C operator* (const EvtComplex &c, const EvtTensor3C &t2)
EvtTensor3C operator* (const double d, const EvtTensor3C &t2)
EvtTensor3C operator* (const EvtTensor3C &t2, const EvtComplex &c)
EvtTensor3C operator* (const EvtTensor3C &t2, const double d)
EvtTensor3C operator+ (const EvtTensor3C &t1, const EvtTensor3C &t2)
EvtTensor3C operator- (const EvtTensor3C &t1, const EvtTensor3C &t2)
EvtTensor3C directProd (const EvtVector3C &c1, const EvtVector3C &c2)
EvtTensor3C directProd (const EvtVector3C &c1, const EvtVector3R &c2)
EvtTensor3C directProd (const EvtVector3R &c1, const EvtVector3R &c2)
EvtTensor3C conj (const EvtTensor3C &t2)
EvtTensor3C cont22 (const EvtTensor3C &t1, const EvtTensor3C &t2)
EvtTensor3C cont11 (const EvtTensor3C &t1, const EvtTensor3C &t2)
EvtTensor3C eps (const EvtVector3R &v)
std::ostream & operator<< (std::ostream &c, const EvtTensor3C &v)

Function Documentation

◆ conj()

EvtTensor3C conj ( const EvtTensor3C & t2)

Definition at line 64 of file EvtTensor3C.cc.

174 {
175 EvtTensor3C temp;
176
177 int i, j;
178
179 for ( i = 0; i < 3; i++ )
180 {
181 for ( j = 0; j < 3; j++ ) { temp.set( i, j, ::conj( ( t2.get( i, j ) ) ) ); }
182 }
183
184 return temp;
185}
Evt3Rank3C conj(const Evt3Rank3C &t2)
const EvtComplex & get(int i, int j) const
void set(int i, int j, const EvtComplex &c)

◆ cont11()

EvtTensor3C cont11 ( const EvtTensor3C & t1,
const EvtTensor3C & t2 )

Definition at line 68 of file EvtTensor3C.cc.

206 {
207 EvtTensor3C temp;
208
209 int i, j;
210 EvtComplex c;
211
212 for ( i = 0; i < 3; i++ )
213 {
214 for ( j = 0; j < 3; j++ )
215 {
216 c = t1.get( 0, i ) * t2.get( 0, j ) + t1.get( 1, i ) * t2.get( 1, j ) +
217 t1.get( 2, i ) * t2.get( 2, j );
218 temp.set( i, j, c );
219 }
220 }
221
222 return temp;
223}

◆ cont22()

EvtTensor3C cont22 ( const EvtTensor3C & t1,
const EvtTensor3C & t2 )

Definition at line 66 of file EvtTensor3C.cc.

187 {
188 EvtTensor3C temp;
189
190 int i, j;
191 EvtComplex c;
192
193 for ( i = 0; i < 3; i++ )
194 {
195 for ( j = 0; j < 3; j++ )
196 {
197 c = t1.get( i, 0 ) * t2.get( j, 0 ) + t1.get( i, 1 ) * t2.get( j, 1 ) +
198 t1.get( i, 2 ) * t2.get( j, 2 );
199 temp.set( i, j, c );
200 }
201 }
202
203 return temp;
204}

◆ directProd() [1/3]

EvtTensor3C directProd ( const EvtVector3C & c1,
const EvtVector3C & c2 )

Definition at line 61 of file EvtTensor3C.cc.

141 {
142 EvtTensor3C temp;
143 int i, j;
144
145 for ( i = 0; i < 3; i++ )
146 {
147 for ( j = 0; j < 3; j++ ) { temp.set( i, j, c1.get( i ) * c2.get( j ) ); }
148 }
149 return temp;
150}
const EvtComplex & get(int) const

◆ directProd() [2/3]

EvtTensor3C directProd ( const EvtVector3C & c1,
const EvtVector3R & c2 )

Definition at line 62 of file EvtTensor3C.cc.

152 {
153 EvtTensor3C temp;
154 int i, j;
155
156 for ( i = 0; i < 3; i++ )
157 {
158 for ( j = 0; j < 3; j++ ) { temp.set( i, j, c1.get( i ) * c2.get( j ) ); }
159 }
160 return temp;
161}
double get(int i) const

◆ directProd() [3/3]

EvtTensor3C directProd ( const EvtVector3R & c1,
const EvtVector3R & c2 )

Definition at line 63 of file EvtTensor3C.cc.

163 {
164 EvtTensor3C temp;
165 int i, j;
166
167 for ( i = 0; i < 3; i++ )
168 {
169 for ( j = 0; j < 3; j++ ) { temp.t[i][j] = EvtComplex( c1.get( i ) * c2.get( j ), 0.0 ); }
170 }
171 return temp;
172}

◆ eps()

EvtTensor3C eps ( const EvtVector3R & v)

Definition at line 70 of file EvtTensor3C.cc.

269 {
270
271 EvtTensor3C temp;
272
273 temp.t[0][0] = 0.0;
274 temp.t[1][1] = 0.0;
275 temp.t[2][2] = 0.0;
276
277 temp.t[0][1] = v.get( 2 );
278 temp.t[0][2] = -v.get( 1 );
279
280 temp.t[1][0] = -v.get( 2 );
281 temp.t[1][2] = v.get( 0 );
282
283 temp.t[2][0] = v.get( 1 );
284 temp.t[2][1] = -v.get( 0 );
285
286 return temp;
287}
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
Definition KarLud.h:35

Referenced by EvtbTosllVectorAmp::CalcAmp(), TRunge::Eps(), EvtConExc::gamHXSection(), EvtConExc::gamHXSection(), EvtConExc::gamHXSection_er(), intersection(), TRunge::Propagate_QC(), sortByWireId(), EvtSVVHelAmp::SVVHel(), and TRunge::Yscal().

◆ operator*() [1/4]

EvtTensor3C operator* ( const double d,
const EvtTensor3C & t2 )
inline

Definition at line 104 of file EvtTensor3C.hh.

104 {
105 return EvtTensor3C( t2 ) *= d;
106}

◆ operator*() [2/4]

EvtTensor3C operator* ( const EvtComplex & c,
const EvtTensor3C & t2 )
inline

Definition at line 100 of file EvtTensor3C.hh.

100 {
101 return EvtTensor3C( t2 ) *= c;
102}

◆ operator*() [3/4]

EvtTensor3C operator* ( const EvtTensor3C & t2,
const double d )
inline

Definition at line 112 of file EvtTensor3C.hh.

112 {
113 return EvtTensor3C( t2 ) *= d;
114}

◆ operator*() [4/4]

EvtTensor3C operator* ( const EvtTensor3C & t2,
const EvtComplex & c )
inline

Definition at line 108 of file EvtTensor3C.hh.

108 {
109 return EvtTensor3C( t2 ) *= c;
110}

◆ operator+()

EvtTensor3C operator+ ( const EvtTensor3C & t1,
const EvtTensor3C & t2 )
inline

Definition at line 116 of file EvtTensor3C.hh.

116 {
117 return EvtTensor3C( t1 ) += t2;
118}

◆ operator-()

EvtTensor3C operator- ( const EvtTensor3C & t1,
const EvtTensor3C & t2 )
inline

Definition at line 120 of file EvtTensor3C.hh.

120 {
121 return EvtTensor3C( t1 ) -= t2;
122}

◆ operator<<()

std::ostream & operator<< ( std::ostream & c,
const EvtTensor3C & v )

◆ rotateEuler()

EvtTensor3C rotateEuler ( const EvtTensor3C & v,
double phi,
double theta,
double ksi )

Definition at line 54 of file EvtTensor3C.cc.

305 {
306
307 EvtTensor3C tmp( v );
308 tmp.applyRotateEuler( alpha, beta, gamma );
309 return tmp;
310}
double alpha