PandaRoot
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 62 of file L1Field.h.

Constructor & Destructor Documentation

◆ L1FieldSlice()

L1FieldSlice::L1FieldSlice ( )
inline

Definition at line 67 of file L1Field.h.

References i.

68  {
69  for (int i = 0; i < 21; i++)
70  cx[i] = cy[i] = cz[i] = Vc::Zero;
71  }
unsigned int i
Definition: P4_F32vec4.h:21
float_v cy[21]
Definition: L1Field.h:65
float_v cz[21]
Definition: L1Field.h:65
float_v cx[21]
Definition: L1Field.h:65

Member Function Documentation

◆ GetFieldValue()

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 73 of file L1Field.h.

74  {
75  float_v x2 = x * x;
76  float_v y2 = y * y;
77  float_v xy = x * y;
78 
79  float_v x3 = x2 * x;
80  float_v y3 = y2 * y;
81  float_v xy2 = x * y2;
82  float_v x2y = x2 * y;
83 
84  float_v x4 = x3 * x;
85  float_v y4 = y3 * y;
86  float_v xy3 = x * y3;
87  float_v x2y2 = x2 * y2;
88  float_v x3y = x3 * y;
89 
90  float_v x5 = x4 * x;
91  float_v y5 = y4 * y;
92  float_v xy4 = x * y4;
93  float_v x2y3 = x2 * y3;
94  float_v x3y2 = x3 * y2;
95  float_v x4y = x4 * y;
96 
97  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 + cx[10] * x4 + cx[11] * x3y +
98  cx[12] * x2y2 + cx[13] * xy3 + cx[14] * y4 + cx[15] * x5 + cx[16] * x4y + cx[17] * x3y2 + cx[18] * x2y3 + cx[19] * xy4 + cx[20] * y5;
99 
100  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 + cy[10] * x4 + cy[11] * x3y +
101  cy[12] * x2y2 + cy[13] * xy3 + cy[14] * y4 + cy[15] * x5 + cy[16] * x4y + cy[17] * x3y2 + cy[18] * x2y3 + cy[19] * xy4 + cy[20] * y5;
102 
103  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 + cz[10] * x4 + cz[11] * x3y +
104  cz[12] * x2y2 + cz[13] * xy3 + cz[14] * y4 + cz[15] * x5 + cz[16] * x4y + cz[17] * x3y2 + cz[18] * x2y3 + cz[19] * xy4 + cz[20] * y5;
105  }
float_v cy[21]
Definition: L1Field.h:65
float_v cz[21]
Definition: L1Field.h:65
float_v cx[21]
Definition: L1Field.h:65

Member Data Documentation

◆ cx

float_v L1FieldSlice::cx[21]

Definition at line 65 of file L1Field.h.

◆ cy

float_v L1FieldSlice::cy[21]

Definition at line 65 of file L1Field.h.

◆ cz

float_v L1FieldSlice::cz[21]

Definition at line 65 of file L1Field.h.


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