FairRoot/PandaRoot
Public Member Functions | Public Attributes | List of all members
L1FieldSlice Class Reference

#include <L1Field.h>

Public Member Functions

 L1FieldSlice ()
 
void GetFieldValue (const float_v &x, const float_v &y, CAFieldValue &B, const float_m &mask=float_m(true)) const
 

Public Attributes

float_v cx [21]
 
float_v cy [21]
 
float_v cz [21]
 

Detailed Description

Definition at line 63 of file L1Field.h.

Constructor & Destructor Documentation

L1FieldSlice::L1FieldSlice ( )
inline

Definition at line 69 of file L1Field.h.

References cx, cy, cz, i, and Zero.

70  {
71  for( int i=0; i<21; i++ ) cx[i] = cy[i] = cz[i] = Vc::Zero;
72  }
Int_t i
Definition: run_full.C:25
static const fvec Zero
float_v cy[21]
Definition: L1Field.h:67
float_v cz[21]
Definition: L1Field.h:67
float_v cx[21]
Definition: L1Field.h:67

Member Function Documentation

void L1FieldSlice::GetFieldValue ( const float_v &  x,
const float_v &  y,
CAFieldValue B,
const float_m &  mask = float_m(true) 
) const
inline

Definition at line 74 of file L1Field.h.

References cx, cy, cz, x, and y.

Referenced by PndFTSCAParam::CheckFieldApproximation().

75  {
76  float_v x2 = x*x;
77  float_v y2 = y*y;
78  float_v xy = x*y;
79 
80  float_v x3 = x2*x;
81  float_v y3 = y2*y;
82  float_v xy2 = x*y2;
83  float_v x2y = x2*y;
84 
85  float_v x4 = x3*x;
86  float_v y4 = y3*y;
87  float_v xy3 = x*y3;
88  float_v x2y2 = x2*y2;
89  float_v x3y = x3*y;
90 
91  float_v x5 = x4*x;
92  float_v y5 = y4*y;
93  float_v xy4 = x*y4;
94  float_v x2y3 = x2*y3;
95  float_v x3y2 = x3*y2;
96  float_v x4y = x4*y;
97 
98  B.x(mask) = cx[0] +cx[1]*x +cx[2]*y +cx[3]*x2 +cx[4]*xy +cx[5]*y2 +cx[6]*x3 +cx[7]*x2y +cx[8]*xy2 +cx[9]*y3
99  +cx[10]*x4 +cx[11]*x3y +cx[12]*x2y2 +cx[13]*xy3 +cx[14]*y4
100  +cx[15]*x5 +cx[16]*x4y +cx[17]*x3y2 +cx[18]*x2y3 +cx[19]*xy4 +cx[20]*y5;
101 
102  B.y(mask) = cy[0] +cy[1]*x +cy[2]*y +cy[3]*x2 +cy[4]*xy +cy[5]*y2 +cy[6]*x3 +cy[7]*x2y +cy[8]*xy2 +cy[9]*y3
103  +cy[10]*x4 +cy[11]*x3y +cy[12]*x2y2 +cy[13]*xy3 +cy[14]*y4
104  +cy[15]*x5 +cy[16]*x4y +cy[17]*x3y2 +cy[18]*x2y3 +cy[19]*xy4 +cy[20]*y5;
105 
106  B.z(mask) = cz[0] +cz[1]*x +cz[2]*y +cz[3]*x2 +cz[4]*xy +cz[5]*y2 +cz[6]*x3 +cz[7]*x2y +cz[8]*xy2 +cz[9]*y3
107  +cz[10]*x4 +cz[11]*x3y +cz[12]*x2y2 +cz[13]*xy3 +cz[14]*y4
108  +cz[15]*x5 +cz[16]*x4y +cz[17]*x3y2 +cz[18]*x2y3 +cz[19]*xy4 +cz[20]*y5;
109  }
float_v cy[21]
Definition: L1Field.h:67
Double_t x
float_v cz[21]
Definition: L1Field.h:67
float_v cx[21]
Definition: L1Field.h:67
Double_t y

Member Data Documentation

float_v L1FieldSlice::cx[21]

Definition at line 67 of file L1Field.h.

Referenced by PndFTSCAParam::CalculateFieldSlice(), GetFieldValue(), and L1FieldSlice().

float_v L1FieldSlice::cy[21]

Definition at line 67 of file L1Field.h.

Referenced by PndFTSCAParam::CalculateFieldSlice(), GetFieldValue(), and L1FieldSlice().

float_v L1FieldSlice::cz[21]

Definition at line 67 of file L1Field.h.

Referenced by PndFTSCAParam::CalculateFieldSlice(), GetFieldValue(), and L1FieldSlice().


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