CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes | Private Attributes
CMSTMagFieldEquation< T_Field > Class Template Referencefinal

#include <CMSTMagFieldEquation.h>

Inheritance diagram for CMSTMagFieldEquation< T_Field >:

Public Member Functions

 __attribute__ ((always_inline)) void TRightHandSide(const G4double y[]
 
 CMSTMagFieldEquation (T_Field *f)
 
void GetFieldValueCMS (const G4double Point[], G4double Field[]) const
 
 GetFieldValueCMS (y, Field)
 
void TEvaluateRhsGivenB (const G4double y[], G4double inv_momentum_magnitude, const G4double B[3], G4double dydx[]) const
 
 TEvaluateRhsGivenB (y, inv_momentum_magnitude, Field, dydx)
 
 ~CMSTMagFieldEquation () override
 

Public Attributes

G4double G4double dydx [] const
 
G4double inv_momentum_magnitude
 

Private Attributes

T_Field * itsField
 

Detailed Description

template<class T_Field>
class CMSTMagFieldEquation< T_Field >

Definition at line 24 of file CMSTMagFieldEquation.h.

Constructor & Destructor Documentation

◆ CMSTMagFieldEquation()

template<class T_Field >
CMSTMagFieldEquation< T_Field >::CMSTMagFieldEquation ( T_Field *  f)
inline

Definition at line 26 of file CMSTMagFieldEquation.h.

References cms::cuda::assert(), f, and CMSTMagFieldEquation< T_Field >::itsField.

26  : G4Mag_UsualEqRhs(f) {
27  assert(f);
28  itsField = f;
29  }
assert(be >=bs)
double f[11][100]

◆ ~CMSTMagFieldEquation()

template<class T_Field >
CMSTMagFieldEquation< T_Field >::~CMSTMagFieldEquation ( )
inlineoverride

Definition at line 31 of file CMSTMagFieldEquation.h.

31 { ; }

Member Function Documentation

◆ __attribute__()

template<class T_Field >
CMSTMagFieldEquation< T_Field >::__attribute__ ( (always_inline)  ) const

◆ GetFieldValueCMS() [1/2]

template<class T_Field >
void CMSTMagFieldEquation< T_Field >::GetFieldValueCMS ( const G4double  Point[],
G4double  Field[] 
) const
inline

Definition at line 33 of file CMSTMagFieldEquation.h.

References CMSTMagFieldEquation< T_Field >::itsField.

33  {
34  itsField->GetFieldValue(Point, Field);
35  }
Structure Point Contains parameters of Gaussian fits to DMRs.

◆ GetFieldValueCMS() [2/2]

template<class T_Field >
CMSTMagFieldEquation< T_Field >::GetFieldValueCMS ( y  ,
Field   
)

◆ TEvaluateRhsGivenB() [1/2]

template<class T_Field >
void CMSTMagFieldEquation< T_Field >::TEvaluateRhsGivenB ( const G4double  y[],
G4double  inv_momentum_magnitude,
const G4double  B[3],
G4double  dydx[] 
) const
inline

Definition at line 37 of file CMSTMagFieldEquation.h.

References B, CMSTMagFieldEquation< T_Field >::inv_momentum_magnitude, and y.

40  {
41  G4double cof = FCof() * inv_momentum_magnitude;
42 
43  dydx[0] = y[3] * inv_momentum_magnitude; // (d/ds)x = Vx/V
44  dydx[1] = y[4] * inv_momentum_magnitude; // (d/ds)y = Vy/V
45  dydx[2] = y[5] * inv_momentum_magnitude; // (d/ds)z = Vz/V
46 
47  dydx[3] = cof * (y[4] * B[2] - y[5] * B[1]); // Ax = a*(Vy*Bz - Vz*By)
48  dydx[4] = cof * (y[5] * B[0] - y[3] * B[2]); // Ay = a*(Vz*Bx - Vx*Bz)
49  dydx[5] = cof * (y[3] * B[1] - y[4] * B[0]); // Az = a*(Vx*By - Vy*Bx)
50 
51  return;
52  }
Definition: APVGainStruct.h:7

◆ TEvaluateRhsGivenB() [2/2]

template<class T_Field >
CMSTMagFieldEquation< T_Field >::TEvaluateRhsGivenB ( y  ,
inv_momentum_magnitude  ,
Field  ,
dydx   
)

Member Data Documentation

◆ const

template<class T_Field >
G4double G4double dydx [] CMSTMagFieldEquation< T_Field >::const
Initial value:
{
G4double Field[3]

Definition at line 56 of file CMSTMagFieldEquation.h.

◆ inv_momentum_magnitude

template<class T_Field >
G4double CMSTMagFieldEquation< T_Field >::inv_momentum_magnitude

◆ itsField

template<class T_Field >
T_Field* CMSTMagFieldEquation< T_Field >::itsField
private