CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
DifRotation Class Reference

#include <DifRotation.h>

Public Member Functions

 DifRotation ()
 
 DifRotation (const DifNumber &alpha, const DifNumber &beta, const DifNumber &gamma)
 
 DifRotation (const DifVector &xp, const DifVector &yp, const DifVector &zp)
 
 DifRotation (const DifVector &xp, const DifVector &yp)
 
 ~DifRotation ()
 
DifVector xnew () const
 
DifVector ynew () const
 
DifVector znew () const
 
void rotate (DifVector &v) const
 
int fail () const
 

Detailed Description

Definition at line 28 of file DifRotation.h.

Constructor & Destructor Documentation

◆ DifRotation() [1/4]

DifRotation::DifRotation ( )

Definition at line 25 of file DifRotation.cxx.

26 :_xnew(1.0,0.0,0.0),_ynew(0.0,1.0,0.0),_znew(0.0,0.0,1.0)
27{
28}

◆ DifRotation() [2/4]

DifRotation::DifRotation ( const DifNumber alpha,
const DifNumber beta,
const DifNumber gamma 
)

Definition at line 30 of file DifRotation.cxx.

32{
33
34 //active transformation - move the vector (reverse sines)
35 DifNumber calpha=cos(alpha); DifNumber salpha=-sin(alpha);
36 DifNumber cbeta=cos(beta); DifNumber sbeta=-sin(beta);
37 DifNumber cgamma=cos(gamma); DifNumber sgamma=-sin(gamma);
38
39 _xnew.x=cbeta*calpha*cgamma-salpha*sgamma;
40 _xnew.y=cbeta*salpha*cgamma+calpha*sgamma;
41 _xnew.z=-sbeta*cgamma;
42
43 _ynew.x=-cbeta*calpha*sgamma-salpha*cgamma;
44 _ynew.y=-cbeta*salpha*sgamma+calpha*cgamma;
45 _ynew.z=sbeta*sgamma;
46
47 _znew.x=sbeta*calpha;
48 _znew.y=sbeta*salpha;
49 _znew.z=cbeta;
50}
double sin(const BesAngle a)
Definition: BesAngle.h:210
double cos(const BesAngle a)
Definition: BesAngle.h:213
const double alpha
DifNumber y
Definition: DifVector.h:149
DifNumber x
Definition: DifVector.h:148
DifNumber z
Definition: DifVector.h:150

◆ DifRotation() [3/4]

DifRotation::DifRotation ( const DifVector xp,
const DifVector yp,
const DifVector zp 
)

Definition at line 52 of file DifRotation.cxx.

54 :_xnew(xp),_ynew(yp),_znew(zp)
55{}

◆ DifRotation() [4/4]

DifRotation::DifRotation ( const DifVector xp,
const DifVector yp 
)

Definition at line 57 of file DifRotation.cxx.

59 :_xnew(xp),_ynew(yp),_znew()
60{
61 _znew=cross(_xnew,_ynew);
62}
EvtVector3R cross(const EvtVector3R &p1, const EvtVector3R &p2)
Definition: EvtVector3R.cc:84

◆ ~DifRotation()

DifRotation::~DifRotation ( )
inline

Definition at line 44 of file DifRotation.h.

44{};

Member Function Documentation

◆ fail()

int DifRotation::fail ( ) const

Definition at line 64 of file DifRotation.cxx.

64 {
65 return 0;
66}

◆ rotate()

void DifRotation::rotate ( DifVector v) const

Definition at line 68 of file DifRotation.cxx.

68 {
69 DifNumber xcomp=xnew()*v;
70 DifNumber ycomp=ynew()*v;
71 DifNumber zcomp=znew()*v;
72 v.x=xcomp; v.y=ycomp; v.z=zcomp;
73}
**********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
DifVector xnew() const
Definition: DifRotation.h:47
DifVector ynew() const
Definition: DifRotation.h:48
DifVector znew() const
Definition: DifRotation.h:49

Referenced by DifVector::rotate().

◆ xnew()

DifVector DifRotation::xnew ( ) const
inline

Definition at line 47 of file DifRotation.h.

47{return _xnew;}

Referenced by rotate().

◆ ynew()

DifVector DifRotation::ynew ( ) const
inline

Definition at line 48 of file DifRotation.h.

48{return _ynew;}

Referenced by rotate().

◆ znew()

DifVector DifRotation::znew ( ) const
inline

Definition at line 49 of file DifRotation.h.

49{return _znew;}

Referenced by rotate().


The documentation for this class was generated from the following files: