StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StPicoTrackCovMatrix.h
1 #ifndef StPicoTrackCovMatrix_h
2 #define StPicoTrackCovMatrix_h
3 
4 // ROOT headers
5 #include "TObject.h"
6 
7 #if defined (__TFG__VERSION__)
8 #include "StEvent/StDcaGeometry.h"
9 #endif /* __TFG__VERSION__ */
10 
11 //_________________
12 class StPicoTrackCovMatrix : public TObject {
13 
14  public:
15 
21  virtual ~StPicoTrackCovMatrix();
23  virtual void Print(Char_t const* option = "") const;
24 
25  //
26  // Getters
27  //
28 
30  Float_t* params() { return &mImp; }
32  const Float_t* params() const { return &mImp; }
34  const Float_t* sigmas() const { return mSigma; }
36  const Float_t* correlations() const { return mCorr; }
38  Float_t imp() const { return mImp; }
40  Float_t z() const { return mZ; }
42  Float_t psi() const { return mPsi; }
44  Float_t pti() const { return mPti; }
46  Float_t tan() const { return mTan; }
48  Float_t curv() const { return mCurv; }
49 
53  Bool_t isBadCovMatrix();
54 
55 #if defined (__TFG__VERSION__)
56  StDcaGeometry &dcaGeometry() const;
58 #endif /* __TFG__VERSION__ */
59 
60  //
61  // Setters
62  //
63 
65  void setParams(Float_t params[6])
66  { mImp = params[0]; mZ = params[1]; mPsi = params[2]; mPti = params[3]; mTan = params[4]; mCurv = params[5]; }
68  void setSigmas(Float_t sigmas[5]) { for(Int_t iIter=0; iIter<5; iIter++) { mSigma[iIter] = sigmas[iIter]; } }
70  void setCorrelations(Float_t corr[10]) { for(Int_t iIter=0; iIter<10; iIter++) { mCorr[iIter] = corr[iIter]; } }
71 
73  void setImp(Float_t imp) { mImp = (Float16_t)imp; }
75  void setZ(Float_t z) { mZ = (Float16_t)z; }
77  void setPsi(Float_t psi) { mPsi = (Float16_t)psi; }
79  void setPti(Float_t pti) { mPti = (Float16_t)pti; }
81  void setTan(Float_t tan) { mTan = (Float16_t)tan; }
83  void setCurv(Float_t curv) { mCurv = (Float16_t)curv; }
84 
85  private:
86 
87  /* j 0 1 2 3 4
88  Float_t mImpImp; i 0 0(0)
89  Float_t mZImp, mZZ; 1 1(0) 2(1)
90  Float_t mPsiImp, mPsiZ, mPsiPsi; 2 3(1) 4(2) 5(2)
91  Float_t mPtiImp, mPtiZ, mPtiPsi, mPtiPti; 3 6(3) 7(4) 8(5) 9(3)
92  Float_t mTanImp, mTanZ, mTanPsi, mTanPti, mTanTan; 4 10(6) 11(7) 12(8) 13(9) 14(4)
93  */
94 
97  Float16_t mImp;
99  Float16_t mZ;
101  Float16_t mPsi; //[-pi,pi,20]
103  Float16_t mPti;
105  Float16_t mTan; //[-10,10,20]
107  Float16_t mCurv;
109  Float16_t mSigma[5];
111  Float16_t mCorr[10]; //[-1,1,20]
112 
113  ClassDef(StPicoTrackCovMatrix, 1)
114 };
115 
116 #endif
const Float_t * correlations() const
Return pointer to the correlation array.
const Float_t * sigmas() const
Return pointer to the sigma array.
void setImp(Float_t imp)
Set impact.
void setPti(Float_t pti)
Set pti.
Float_t tan() const
Return tangent.
Float_t pti() const
Return pti.
Float_t z() const
Return z.
Float_t psi() const
Return psi.
virtual void Print(Char_t const *option="") const
Print option.
void setSigmas(Float_t sigmas[5])
Set 5 sigma parameters.
Float_t imp() const
Return impact.
void setCorrelations(Float_t corr[10])
Set 10 correlation parameters.
const Float_t * params() const
Return address to the first parameter.
void setParams(Float_t params[6])
Set 6 values (main values)
virtual ~StPicoTrackCovMatrix()
Destructor.
void setZ(Float_t z)
Set z.
Float_t curv() const
Return curvature.
void setTan(Float_t tan)
Set tangent.
void setPsi(Float_t psi)
Set psi.
void setCurv(Float_t curv)
Set curvature.
StPicoTrackCovMatrix()
Default constructor.
Float_t * params()
Return address to the first parameter.