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

#include <L1Field.h>

Public Member Functions

 L1FieldRegion ()
 
 L1FieldRegion (float reg[10])
 
CAFieldValue Get (const float_v z)
 
void Set (const CAFieldValue &B0, const float_v B0z, const CAFieldValue &B1, const float_v B1z, const CAFieldValue &B2, const float_v B2z)
 
void Set (const CAFieldValue &B0, const float_v B0z, const CAFieldValue &B1, const float_v B1z)
 
void Shift (float_v z)
 
void SetOneEntry (const int i0, const L1FieldRegion &f1, const int i1)
 
void SetOneEntry (const L1FieldRegion &f1, const int i1)
 
void GetOneEntry (float reg[10], const int iVec)
 

Public Attributes

float_v cx0
 
float_v cx1
 
float_v cx2
 
float_v cy0
 
float_v cy1
 
float_v cy2
 
float_v cz0
 
float_v cz1
 
float_v cz2
 
float_v z0
 

Friends

ostream & operator<< (ostream &out, L1FieldRegion &B)
 

Detailed Description

Definition at line 115 of file L1Field.h.

Constructor & Destructor Documentation

L1FieldRegion::L1FieldRegion ( )
inline

Definition at line 118 of file L1Field.h.

118  :
122  z0(Vc::Zero)
123  {}
float_v cy1
Definition: L1Field.h:133
float_v cz1
Definition: L1Field.h:134
float_v cz2
Definition: L1Field.h:134
float_v cx1
Definition: L1Field.h:132
static const fvec Zero
float_v cx0
Definition: L1Field.h:132
float_v cy0
Definition: L1Field.h:133
float_v cy2
Definition: L1Field.h:133
float_v cz0
Definition: L1Field.h:134
float_v cx2
Definition: L1Field.h:132
float_v z0
Definition: L1Field.h:135
L1FieldRegion::L1FieldRegion ( float  reg[10])
inline

Definition at line 125 of file L1Field.h.

125  :
126  cx0(reg[0]), cx1(reg[1]), cx2(reg[2]),
127  cy0(reg[3]), cy1(reg[4]), cy2(reg[5]),
128  cz0(reg[6]), cz1(reg[7]), cz2(reg[8]),
129  z0(reg[9])
130  {}
float_v cy1
Definition: L1Field.h:133
float_v cz1
Definition: L1Field.h:134
float_v cz2
Definition: L1Field.h:134
float_v cx1
Definition: L1Field.h:132
float_v cx0
Definition: L1Field.h:132
float_v cy0
Definition: L1Field.h:133
float_v cy2
Definition: L1Field.h:133
float_v cz0
Definition: L1Field.h:134
float_v cx2
Definition: L1Field.h:132
float_v z0
Definition: L1Field.h:135

Member Function Documentation

CAFieldValue L1FieldRegion::Get ( const float_v  z)
inline

Definition at line 137 of file L1Field.h.

References cx0, cx1, cx2, cy0, cy1, cy2, cz0, cz1, cz2, dz, and z0.

137  {
138  float_v dz = (z-z0);
139  float_v dz2 = dz*dz;
140  CAFieldValue B;
141  B.x = cx0 + cx1*dz + cx2*dz2;
142  B.y = cy0 + cy1*dz + cy2*dz2;
143  B.z = cz0 + cz1*dz + cz2*dz2;
144  return B;
145  }
float_v cy1
Definition: L1Field.h:133
float_v cz1
Definition: L1Field.h:134
float_v cz2
Definition: L1Field.h:134
float_v cx1
Definition: L1Field.h:132
float_v cx0
Definition: L1Field.h:132
Double_t z
float_v cy0
Definition: L1Field.h:133
float_v cy2
Definition: L1Field.h:133
float_v cz0
Definition: L1Field.h:134
float_v cx2
Definition: L1Field.h:132
float_v z0
Definition: L1Field.h:135
void L1FieldRegion::GetOneEntry ( float  reg[10],
const int  iVec 
)
inline

Definition at line 239 of file L1Field.h.

References cx0, cx1, cx2, cy0, cy1, cy2, cz0, cz1, cz2, and z0.

240  {
241  reg[0] = cx0[iVec];
242  reg[1] = cx1[iVec];
243  reg[2] = cx2[iVec];
244  reg[3] = cy0[iVec];
245  reg[4] = cy1[iVec];
246  reg[5] = cy2[iVec];
247  reg[6] = cz0[iVec];
248  reg[7] = cz1[iVec];
249  reg[8] = cz2[iVec];
250  reg[9] = z0[iVec];
251  }
float_v cy1
Definition: L1Field.h:133
float_v cz1
Definition: L1Field.h:134
float_v cz2
Definition: L1Field.h:134
float_v cx1
Definition: L1Field.h:132
float_v cx0
Definition: L1Field.h:132
float_v cy0
Definition: L1Field.h:133
float_v cy2
Definition: L1Field.h:133
float_v cz0
Definition: L1Field.h:134
float_v cx2
Definition: L1Field.h:132
float_v z0
Definition: L1Field.h:135
void L1FieldRegion::Set ( const CAFieldValue B0,
const float_v  B0z,
const CAFieldValue B1,
const float_v  B1z,
const CAFieldValue B2,
const float_v  B2z 
)
inline

Definition at line 147 of file L1Field.h.

References cx0, cx1, cx2, cy0, cy1, cy2, cz0, cz1, cz2, f, rcp(), and z0.

150  {
151  z0 = B0z;
152  float_v dz1 = B1z-B0z, dz2 = B2z-B0z;
153 
154  float_v deti = dz1*dz2*(dz2-dz1);
155  float_m mask = abs(deti) > float_v(1.e-8f);
156 
157  float_v det = rcp(float_v(dz1*dz2*(dz2-dz1)));
158  float_v w21 = -dz2*det;
159  float_v w22 = dz1*det;
160  float_v w11 = -dz2*w21;
161  float_v w12 = -dz1*w22;
162 
163  float_v dB1 = B1.x - B0.x;
164  float_v dB2 = B2.x - B0.x;
165  cx0(mask) = B0.x;
166  cx1(mask) = dB1*w11 + dB2*w12 ;
167  cx2(mask) = dB1*w21 + dB2*w22 ;
168 
169  dB1 = B1.y - B0.y;
170  dB2 = B2.y - B0.y;
171  cy0(mask) = B0.y;
172  cy1(mask) = dB1*w11 + dB2*w12 ;
173  cy2(mask) = dB1*w21 + dB2*w22 ;
174 
175  dB1 = B1.z - B0.z;
176  dB2 = B2.z - B0.z;
177  cz0(mask) = B0.z;
178  cz1(mask) = dB1*w11 + dB2*w12 ;
179  cz2(mask) = dB1*w21 + dB2*w22;
180  }
float_v cy1
Definition: L1Field.h:133
float_v cz1
Definition: L1Field.h:134
float_v cz2
Definition: L1Field.h:134
float_v cx1
Definition: L1Field.h:132
T rcp(T val)
Definition: PndFTSCADef.h:52
TFile * f
Definition: bump_analys.C:12
float_v cx0
Definition: L1Field.h:132
float_v cy0
Definition: L1Field.h:133
float_v cy2
Definition: L1Field.h:133
float_v cz0
Definition: L1Field.h:134
float_v cx2
Definition: L1Field.h:132
float_v z0
Definition: L1Field.h:135
void L1FieldRegion::Set ( const CAFieldValue B0,
const float_v  B0z,
const CAFieldValue B1,
const float_v  B1z 
)
inline

Definition at line 182 of file L1Field.h.

References cx0, cx1, cx2, cy0, cy1, cy2, cz0, cz1, cz2, rcp(), and z0.

184  {
185  z0 = B0z[0];
186  float_v dzi = rcp(float_v( B1z - B0z));
187  cx0 = B0.x;
188  cy0 = B0.y;
189  cz0 = B0.z;
190  cx1 = ( B1.x - B0.x )*dzi;
191  cy1 = ( B1.y - B0.y )*dzi;
192  cz1 = ( B1.z - B0.z )*dzi;
193  cx2 = cy2 = cz2 = 0;
194  }
float_v cy1
Definition: L1Field.h:133
float_v cz1
Definition: L1Field.h:134
float_v cz2
Definition: L1Field.h:134
float_v cx1
Definition: L1Field.h:132
T rcp(T val)
Definition: PndFTSCADef.h:52
float_v cx0
Definition: L1Field.h:132
float_v cy0
Definition: L1Field.h:133
float_v cy2
Definition: L1Field.h:133
float_v cz0
Definition: L1Field.h:134
float_v cx2
Definition: L1Field.h:132
float_v z0
Definition: L1Field.h:135
void L1FieldRegion::SetOneEntry ( const int  i0,
const L1FieldRegion f1,
const int  i1 
)
inline

Definition at line 211 of file L1Field.h.

References cx0, cx1, cx2, cy0, cy1, cy2, cz0, cz1, cz2, and z0.

Referenced by KFParticleFinder::CombineTrackPart(), KFParticleFinder::Find2DaughterDecay(), and KFParticleFinder::FindTrackV0Decay().

212  {
213  cx0[i0] = f1.cx0[i1];
214  cx1[i0] = f1.cx1[i1];
215  cx2[i0] = f1.cx2[i1];
216  cy0[i0] = f1.cy0[i1];
217  cy1[i0] = f1.cy1[i1];
218  cy2[i0] = f1.cy2[i1];
219  cz0[i0] = f1.cz0[i1];
220  cz1[i0] = f1.cz1[i1];
221  cz2[i0] = f1.cz2[i1];
222  z0[i0] = f1.z0[i1];
223  }
float_v cy1
Definition: L1Field.h:133
float_v cz1
Definition: L1Field.h:134
float_v cz2
Definition: L1Field.h:134
float_v cx1
Definition: L1Field.h:132
float_v cx0
Definition: L1Field.h:132
float_v cy0
Definition: L1Field.h:133
float_v cy2
Definition: L1Field.h:133
float_v cz0
Definition: L1Field.h:134
float_v cx2
Definition: L1Field.h:132
float_v z0
Definition: L1Field.h:135
void L1FieldRegion::SetOneEntry ( const L1FieldRegion f1,
const int  i1 
)
inline

Definition at line 225 of file L1Field.h.

References cx0, cx1, cx2, cy0, cy1, cy2, cz0, cz1, cz2, and z0.

226  {
227  cx0 = f1.cx0[i1];
228  cx1 = f1.cx1[i1];
229  cx2 = f1.cx2[i1];
230  cy0 = f1.cy0[i1];
231  cy1 = f1.cy1[i1];
232  cy2 = f1.cy2[i1];
233  cz0 = f1.cz0[i1];
234  cz1 = f1.cz1[i1];
235  cz2 = f1.cz2[i1];
236  z0 = f1.z0[i1];
237  }
float_v cy1
Definition: L1Field.h:133
float_v cz1
Definition: L1Field.h:134
float_v cz2
Definition: L1Field.h:134
float_v cx1
Definition: L1Field.h:132
float_v cx0
Definition: L1Field.h:132
float_v cy0
Definition: L1Field.h:133
float_v cy2
Definition: L1Field.h:133
float_v cz0
Definition: L1Field.h:134
float_v cx2
Definition: L1Field.h:132
float_v z0
Definition: L1Field.h:135
void L1FieldRegion::Shift ( float_v  z)
inline

Definition at line 196 of file L1Field.h.

References cx0, cx1, cx2, cy0, cy1, cy2, cz0, cz1, cz2, dz, and z0.

197  {
198  float_v dz = z-z0;
199  float_v cx2dz = cx2*dz;
200  float_v cy2dz = cy2*dz;
201  float_v cz2dz = cz2*dz;
202  z0 = float_v(z[0]);
203  cx0+= ( cx1 + cx2dz )*dz;
204  cy0+= ( cy1 + cy2dz )*dz;
205  cz0+= ( cz1 + cz2dz )*dz;
206  cx1+= cx2dz + cx2dz;
207  cy1+= cy2dz + cy2dz;
208  cz1+= cz2dz + cz2dz;
209  }
float_v cy1
Definition: L1Field.h:133
float_v cz1
Definition: L1Field.h:134
float_v cz2
Definition: L1Field.h:134
float_v cx1
Definition: L1Field.h:132
float_v cx0
Definition: L1Field.h:132
Double_t z
float_v cy0
Definition: L1Field.h:133
float_v cy2
Definition: L1Field.h:133
float_v cz0
Definition: L1Field.h:134
float_v cx2
Definition: L1Field.h:132
float_v z0
Definition: L1Field.h:135

Friends And Related Function Documentation

ostream& operator<< ( ostream &  out,
L1FieldRegion B 
)
friend

Definition at line 253 of file L1Field.h.

253  {
254  return out << " FieldRegion " << endl <<
255  B.cx0 << endl << B.cx1 << endl << B.cx2 << endl <<
256  B.cy0 << endl << B.cy1 << endl << B.cy2 << endl <<
257  B.cz0 << endl << B.cz1 << endl << B.cz2 << endl <<
258  B.z0 << endl;
259  };
float_v cy1
Definition: L1Field.h:133
float_v cz1
Definition: L1Field.h:134
float_v cz2
Definition: L1Field.h:134
float_v cx1
Definition: L1Field.h:132
float_v cx0
Definition: L1Field.h:132
TFile * out
Definition: reco_muo.C:20
float_v cy0
Definition: L1Field.h:133
float_v cy2
Definition: L1Field.h:133
float_v cz0
Definition: L1Field.h:134
float_v cx2
Definition: L1Field.h:132
float_v z0
Definition: L1Field.h:135

Member Data Documentation

float_v L1FieldRegion::cx0

Definition at line 132 of file L1Field.h.

Referenced by Get(), GetOneEntry(), Set(), SetOneEntry(), and Shift().

float_v L1FieldRegion::cx1

Definition at line 132 of file L1Field.h.

Referenced by Get(), GetOneEntry(), Set(), SetOneEntry(), and Shift().

float_v L1FieldRegion::cx2

Definition at line 132 of file L1Field.h.

Referenced by Get(), GetOneEntry(), Set(), SetOneEntry(), and Shift().

float_v L1FieldRegion::cy0

Definition at line 133 of file L1Field.h.

Referenced by Get(), GetOneEntry(), Set(), SetOneEntry(), and Shift().

float_v L1FieldRegion::cy1

Definition at line 133 of file L1Field.h.

Referenced by Get(), GetOneEntry(), Set(), SetOneEntry(), and Shift().

float_v L1FieldRegion::cy2

Definition at line 133 of file L1Field.h.

Referenced by Get(), GetOneEntry(), Set(), SetOneEntry(), and Shift().

float_v L1FieldRegion::cz0

Definition at line 134 of file L1Field.h.

Referenced by Get(), GetOneEntry(), Set(), SetOneEntry(), and Shift().

float_v L1FieldRegion::cz1

Definition at line 134 of file L1Field.h.

Referenced by Get(), GetOneEntry(), Set(), SetOneEntry(), and Shift().

float_v L1FieldRegion::cz2

Definition at line 134 of file L1Field.h.

Referenced by Get(), GetOneEntry(), Set(), SetOneEntry(), and Shift().

float_v L1FieldRegion::z0

Definition at line 135 of file L1Field.h.

Referenced by Get(), GetOneEntry(), Set(), SetOneEntry(), and Shift().


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