BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
EvtTensor3C.cc File Reference
#include "EvtTensor3C.hh"
#include "EvtComplex.hh"
#include "EvtPatches.hh"
#include "EvtReport.hh"
#include "EvtVector3C.hh"
#include <iostream>
#include <math.h>

Go to the source code of this file.

Functions

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)
ostream & operator<< (ostream &s, const EvtTensor3C &v)
EvtTensor3C rotateEuler (const EvtTensor3C &v, double alpha, double beta, double gamma)

Function Documentation

◆ conj()

EvtTensor3C conj ( const EvtTensor3C & t2)

Definition at line 174 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 206 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 187 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 141 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 152 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 163 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 269 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<<()

ostream & operator<< ( ostream & s,
const EvtTensor3C & v )

Definition at line 296 of file EvtTensor3C.cc.

296 {
297
298 s << endl << "(" << v.t[0][0] << "," << v.t[0][1] << "," << v.t[0][2] << ")";
299 s << endl << "(" << v.t[1][0] << "," << v.t[1][1] << "," << v.t[1][2] << ")";
300 s << endl << "(" << v.t[2][0] << "," << v.t[2][1] << "," << v.t[2][2] << ")" << endl;
301
302 return s;
303}
XmlRpcServer s

◆ rotateEuler()

EvtTensor3C rotateEuler ( const EvtTensor3C & v,
double alpha,
double beta,
double gamma )

Definition at line 305 of file EvtTensor3C.cc.

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