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

#include <PndCAHitsV.h>

Public Member Functions

 PndCAHitV ()
 
 PndCAHitV (const PndCAHit *hits, const float_m &valid)
 
float_m IsValid () const
 
char IStation () const
 
int_v IStations () const
 
uint_v Id () const
 
float_v X1Corrected (const PndCATrackParamVector &p) const
 
float_v X0 () const
 
float_v X1 () const
 
float_v X2 () const
 
float_v Err2X1 () const
 
float_v ErrX12 () const
 
float_v Err2X2 () const
 
float_v U () const
 
float_v R () const
 
float_v DR () const
 
int_v ISec () const
 
float_v Err2R () const
 
float_v Err2A () const
 
float_m IsLeft () const
 
float_v Angle () const
 
void GetGlobalCoor (int iV, float &x, float &y, float &z) const
 

Private Attributes

int_v fIStation
 
uint_v fId
 
float_v fX0
 
float_v fX1
 
float_v fX2
 
float_v fErr2X1
 
float_v fErrX12
 
float_v fErr2X2
 
float_v fR
 
float_v fErr2R
 
float_v fErr2A
 
float_v fU
 
float_v fDR
 
float_m fIsLeft
 
int_v fISec
 
float_v fAngle
 

Detailed Description

Definition at line 19 of file PndCAHitsV.h.

Constructor & Destructor Documentation

PndCAHitV::PndCAHitV ( )
inline

Definition at line 21 of file PndCAHitsV.h.

21  : fIStation(-1), fId(Vc::Zero),
25  fAngle(Vc::Zero){}
float_v fX1
Definition: PndCAHitsV.h:70
float_v fErrX12
Definition: PndCAHitsV.h:71
uint_v fId
Definition: PndCAHitsV.h:68
static const fvec Zero
int_v fISec
Definition: PndCAHitsV.h:78
float_v fErr2X1
Definition: PndCAHitsV.h:71
float_v fAngle
Definition: PndCAHitsV.h:79
float_v fErr2A
Definition: PndCAHitsV.h:75
float_v fX0
Definition: PndCAHitsV.h:70
int_v fIStation
Definition: PndCAHitsV.h:67
float_v fU
Definition: PndCAHitsV.h:76
float_v fErr2X2
Definition: PndCAHitsV.h:71
float_v fR
Definition: PndCAHitsV.h:73
float_v fX2
Definition: PndCAHitsV.h:70
float_v fDR
Definition: PndCAHitsV.h:76
float_v fErr2R
Definition: PndCAHitsV.h:74
float_m fIsLeft
Definition: PndCAHitsV.h:77
PndCAHitV::PndCAHitV ( const PndCAHit hits,
const float_m &  valid 
)
inline

Definition at line 93 of file PndCAHitsV.h.

References PndCAHit::Angle(), PndCAHit::DR(), PndCAHit::Err2A(), PndCAHit::Err2R(), PndCAHit::Err2X1(), PndCAHit::Err2X2(), PndCAHit::ErrX12(), fAngle, fDR, fErr2A, fErr2R, fErr2X1, fErr2X2, fErrX12, fId, fISec, fIsLeft, fIStation, fR, fU, fX0, fX1, fX2, h, PndCAHit::Id(), PndCAHit::ISec(), PndCAHit::IsLeft(), PndCAHit::IStation(), PndCAHit::IsUsed(), PndCAHit::R(), PndCAHit::U(), PndCAHit::X0(), PndCAHit::X1(), and PndCAHit::X2().

94 {
95  int_v::Memory mIStation;
96  mIStation = int_v( -1 );
97 
98  uint_v::Memory mId;
99  float_v::Memory mX1, mX2, mX0;
100  float_v::Memory mErr2X1, mErrX12, mErr2X2;
101  float_v::Memory mR, mU, mDR, mErr2R, mErr2A, mIsLeft;
102  float_v::Memory mAlpha;
103  float_v::Memory mIsUsed;
104  int_v::Memory mISec;
105 
106  foreach_bit(unsigned short iV, valid) {
107  const PndCAHit& h = hits[iV];
108 
109  mId[iV] = h.Id();
110  mIStation[iV] = h.IStation();
111  mX1[iV] = h.X1();
112  mX2[iV] = h.X2();
113  mX0[iV] = h.X0();
114 
115  mErr2X1[iV] = h.Err2X1();
116  mErrX12[iV] = h.ErrX12();
117  mErr2X2[iV] = h.Err2X2();
118  mR[iV] = h.R();
119  mU[iV] = h.U();
120  mDR[iV] = h.DR();
121  mErr2R[iV] = h.Err2R();
122  mErr2A[iV] = h.Err2A();
123  mIsLeft[iV] = h.IsLeft() ? 1.f : 0.f;
124  mISec[iV] = h.ISec();
125  mAlpha[iV] = h.Angle();
126  mIsUsed[iV] = h.IsUsed() ? 1.f : 0.f;
127  }
128  fId = uint_v(mId);
129  fIStation = int_v(mIStation);
130  fX1 = float_v(mX1); fX2 = float_v(mX2); fX0 = float_v(mX0);
131  fErr2X1 = float_v(mErr2X1); fErrX12 = float_v(mErrX12); fErr2X2 = float_v(mErr2X2);
132  fR = float_v(mR); fErr2R = float_v(mErr2R); fErr2A = float_v(mErr2A); fIsLeft = ( float_v(mIsLeft) == 1.f );
133  fU = float_v(mU);
134  fDR = float_v(mDR);
135  fISec = int_v(mISec);
136  fAngle = float_v(mAlpha);
137 }
float Angle() const
Definition: PndCAHits.h:51
float_v fX1
Definition: PndCAHitsV.h:70
float X0() const
Definition: PndCAHits.h:34
float X2() const
Definition: PndCAHits.h:36
float U() const
Definition: PndCAHits.h:44
float_v fErrX12
Definition: PndCAHitsV.h:71
uint_v fId
Definition: PndCAHitsV.h:68
float DR() const
Definition: PndCAHits.h:43
float Err2A() const
Definition: PndCAHits.h:46
int_v fISec
Definition: PndCAHitsV.h:78
float_v fErr2X1
Definition: PndCAHitsV.h:71
float X1() const
Definition: PndCAHits.h:35
int Id() const
Definition: PndCAHits.h:30
float_v fAngle
Definition: PndCAHitsV.h:79
float_v fErr2A
Definition: PndCAHitsV.h:75
float_v fX0
Definition: PndCAHitsV.h:70
float Err2X1() const
Definition: PndCAHits.h:38
int_v fIStation
Definition: PndCAHitsV.h:67
float Err2X2() const
Definition: PndCAHits.h:40
float_v fU
Definition: PndCAHitsV.h:76
float_v fErr2X2
Definition: PndCAHitsV.h:71
float_v fR
Definition: PndCAHitsV.h:73
int ISec() const
Definition: PndCAHits.h:49
bool IsUsed() const
Definition: PndCAHits.h:53
float_v fX2
Definition: PndCAHitsV.h:70
bool IsLeft() const
Definition: PndCAHits.h:48
float R() const
Definition: PndCAHits.h:42
float_v fDR
Definition: PndCAHitsV.h:76
float_v fErr2R
Definition: PndCAHitsV.h:74
float ErrX12() const
Definition: PndCAHits.h:39
char IStation() const
Definition: PndCAHits.h:28
float_m fIsLeft
Definition: PndCAHitsV.h:77
float Err2R() const
Definition: PndCAHits.h:45

Member Function Documentation

float_v PndCAHitV::Angle ( ) const
inline
float_v PndCAHitV::DR ( ) const
inline

Definition at line 53 of file PndCAHitsV.h.

References fDR.

53 { return fDR; }
float_v fDR
Definition: PndCAHitsV.h:76
float_v PndCAHitV::Err2A ( ) const
inline

Definition at line 56 of file PndCAHitsV.h.

References fErr2A.

56 { return fErr2A; }
float_v fErr2A
Definition: PndCAHitsV.h:75
float_v PndCAHitV::Err2R ( ) const
inline

Definition at line 55 of file PndCAHitsV.h.

References fErr2R.

Referenced by PndCATrackParamVector::Filter().

55 { return fErr2R; }
float_v fErr2R
Definition: PndCAHitsV.h:74
float_v PndCAHitV::Err2X1 ( ) const
inline

Definition at line 47 of file PndCAHitsV.h.

References fErr2X1.

Referenced by PndCATrackParamVector::Filter(), and PndCATrackParamVector::InitByHit().

47 { return fErr2X1; }
float_v fErr2X1
Definition: PndCAHitsV.h:71
float_v PndCAHitV::Err2X2 ( ) const
inline

Definition at line 49 of file PndCAHitsV.h.

References fErr2X2.

Referenced by PndCATrackParamVector::Filter(), and PndCATrackParamVector::InitByHit().

49 { return fErr2X2; }
float_v fErr2X2
Definition: PndCAHitsV.h:71
float_v PndCAHitV::ErrX12 ( ) const
inline

Definition at line 48 of file PndCAHitsV.h.

References fErrX12.

Referenced by PndCATrackParamVector::Filter().

48 { return fErrX12; }
float_v fErrX12
Definition: PndCAHitsV.h:71
void PndCAHitV::GetGlobalCoor ( int  iV,
float &  x,
float &  y,
float &  z 
) const
inline

Definition at line 61 of file PndCAHitsV.h.

References Angle(), PndCAParameters::CALocalToGlobal(), X0(), X1(), and X2().

61  {
62  PndCAParameters::CALocalToGlobal(float(X0()[iV]), float(X1()[iV]), float(X2()[iV]), float(Angle()[iV]), x, y, z);
63  }
float_v X1() const
Definition: PndCAHitsV.h:44
float_v X2() const
Definition: PndCAHitsV.h:45
Double_t z
static void CALocalToGlobal(T x0, T x1, T angle, T &x, T &y)
float_v Angle() const
Definition: PndCAHitsV.h:59
Double_t x
Double_t y
float_v X0() const
Definition: PndCAHitsV.h:43
uint_v PndCAHitV::Id ( ) const
inline

Definition at line 39 of file PndCAHitsV.h.

References fId.

39 { return fId; };
uint_v fId
Definition: PndCAHitsV.h:68
int_v PndCAHitV::ISec ( ) const
inline

Definition at line 54 of file PndCAHitsV.h.

References fISec.

Referenced by PndCAGBTracker::Create1Plets().

54 { return fISec; }
int_v fISec
Definition: PndCAHitsV.h:78
float_m PndCAHitV::IsLeft ( ) const
inline

Definition at line 57 of file PndCAHitsV.h.

References fIsLeft.

57 { return fIsLeft; }
float_m fIsLeft
Definition: PndCAHitsV.h:77
char PndCAHitV::IStation ( ) const
inline

Definition at line 32 of file PndCAHitsV.h.

References fIStation, IsValid(), and v.

32  {
33  const float_m v = IsValid();
34  assert(!v.isEmpty());
35  return fIStation[v.firstOne()];
36  }
__m128 v
Definition: P4_F32vec4.h:4
float_m IsValid() const
Definition: PndCAHitsV.h:30
int_v fIStation
Definition: PndCAHitsV.h:67
int_v PndCAHitV::IStations ( ) const
inline

Definition at line 37 of file PndCAHitsV.h.

References fIStation.

Referenced by PndCATrackParamVector::Filter().

37 { return fIStation; } // is not needed by tracker
int_v fIStation
Definition: PndCAHitsV.h:67
float_m PndCAHitV::IsValid ( ) const
inline
float_v PndCAHitV::R ( ) const
inline

Definition at line 52 of file PndCAHitsV.h.

References fR.

52 { return fR; }
float_v fR
Definition: PndCAHitsV.h:73
float_v PndCAHitV::U ( ) const
inline

Definition at line 51 of file PndCAHitsV.h.

References fU.

51 { return fU; }
float_v fU
Definition: PndCAHitsV.h:76
float_v PndCAHitV::X0 ( ) const
inline
float_v PndCAHitV::X1 ( ) const
inline
float_v PndCAHitV::X1Corrected ( const PndCATrackParamVector p) const
inline

Definition at line 82 of file PndCAHitsV.h.

References fIsLeft, fR, fX1, rsqrt(), and PndCATrackParamVector::SinPhi().

Referenced by PndCATrackParamVector::Filter().

82  {
83  float_v x1 = fX1;
84  const float_v xCorr = fR - fR*rsqrt( 1 - p.SinPhi()*p.SinPhi() );
85  // xCorr /= cos(3.f/180.f*3.141592); // currently neglect stereo angle
86  x1(fIsLeft) += xCorr;
87  x1(!fIsLeft) -= xCorr;
88  return x1;
89 }
float_v fX1
Definition: PndCAHitsV.h:70
friend F32vec4 rsqrt(const F32vec4 &a)
Definition: P4_F32vec4.h:32
float_v fR
Definition: PndCAHitsV.h:73
float_m fIsLeft
Definition: PndCAHitsV.h:77
float_v PndCAHitV::X2 ( ) const
inline

Member Data Documentation

float_v PndCAHitV::fAngle
private

Definition at line 79 of file PndCAHitsV.h.

Referenced by Angle(), and PndCAHitV().

float_v PndCAHitV::fDR
private

Definition at line 76 of file PndCAHitsV.h.

Referenced by DR(), and PndCAHitV().

float_v PndCAHitV::fErr2A
private

Definition at line 75 of file PndCAHitsV.h.

Referenced by Err2A(), and PndCAHitV().

float_v PndCAHitV::fErr2R
private

Definition at line 74 of file PndCAHitsV.h.

Referenced by Err2R(), and PndCAHitV().

float_v PndCAHitV::fErr2X1
private

Definition at line 71 of file PndCAHitsV.h.

Referenced by Err2X1(), and PndCAHitV().

float_v PndCAHitV::fErr2X2
private

Definition at line 71 of file PndCAHitsV.h.

Referenced by Err2X2(), and PndCAHitV().

float_v PndCAHitV::fErrX12
private

Definition at line 71 of file PndCAHitsV.h.

Referenced by ErrX12(), and PndCAHitV().

uint_v PndCAHitV::fId
private

Definition at line 68 of file PndCAHitsV.h.

Referenced by Id(), and PndCAHitV().

int_v PndCAHitV::fISec
private

Definition at line 78 of file PndCAHitsV.h.

Referenced by ISec(), and PndCAHitV().

float_m PndCAHitV::fIsLeft
private

Definition at line 77 of file PndCAHitsV.h.

Referenced by IsLeft(), PndCAHitV(), and X1Corrected().

int_v PndCAHitV::fIStation
private

Definition at line 67 of file PndCAHitsV.h.

Referenced by IStation(), IStations(), IsValid(), and PndCAHitV().

float_v PndCAHitV::fR
private

Definition at line 73 of file PndCAHitsV.h.

Referenced by PndCAHitV(), R(), and X1Corrected().

float_v PndCAHitV::fU
private

Definition at line 76 of file PndCAHitsV.h.

Referenced by PndCAHitV(), and U().

float_v PndCAHitV::fX0
private

Definition at line 70 of file PndCAHitsV.h.

Referenced by PndCAHitV(), and X0().

float_v PndCAHitV::fX1
private

Definition at line 70 of file PndCAHitsV.h.

Referenced by PndCAHitV(), X1(), and X1Corrected().

float_v PndCAHitV::fX2
private

Definition at line 70 of file PndCAHitsV.h.

Referenced by PndCAHitV(), and X2().


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