StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StPicoTrackCovMatrix.cxx
1 // PicoDst headers
2 #include "StPicoMessMgr.h"
3 #include "StPicoTrackCovMatrix.h"
4 
5 ClassImp(StPicoTrackCovMatrix)
6 
7 //_________________
9  mImp(0), mZ(0), mPsi(0), mPti(0), mTan(0), mCurv(0),
10  mSigma{}, mCorr{} {
11  /* empty */
12 }
13 
14 //_________________
16  mImp = mtx.mImp;
17  mZ = mtx.mZ;
18  mPsi = mtx.mPsi;
19  mPti = mtx.mPti;
20  mTan = mtx.mTan;
21  mCurv = mtx.mCurv;
22  for(Int_t iIter=0; iIter<5; iIter++) {
23  mSigma[iIter] = mtx.mSigma[iIter];
24  }
25  for(Int_t iIter=0; iIter<10; iIter++) {
26  mCorr[iIter] = mtx.mCorr[iIter];
27  }
28 }
29 
30 //_________________
32  /* empty */
33 }
34 
35 //_________________
36 void StPicoTrackCovMatrix::Print(Char_t const* option __attribute__((unused)) ) const {
37  const Float_t *lSigma = sigmas();
38  const Float_t *lCorr = correlations();
39  LOG_INFO << "imp: " << imp()
40  << "z: " << z()
41  << "psi: " << psi()
42  << "pti: " << pti()
43  << "tan: " << tan()
44  << "curv: " << curv()
45  << "sigmas: \n"
46  << lSigma[0] << "/" << lSigma[1] << "/"
47  << lSigma[2] << "/" << lSigma[3] << "/"
48  << lSigma[4] << "\n"
49  << "correlations: \n"
50  << lCorr[0] << "/" << lCorr[1] << "/"
51  << lCorr[2] << "/" << lCorr[3] << "/"
52  << lCorr[4] << "/" << lCorr[5] << "/"
53  << lCorr[6] << "/" << lCorr[7] << "/"
54  << lCorr[8] << "/" << lCorr[9] << endm;
55 }
56 
57 //_________________
59  return( mImp == 0 &&
60  mZ == 0 &&
61  mPsi == 0 &&
62  mPti == 0 &&
63  mTan == 0 &&
64  mCurv == 0 &&
65  mSigma[0]==0 && mSigma[1]==0 && mSigma[2]==0 && mSigma[3]==0 && mSigma[4]==0 &&
66  mCorr[0]==0 && mCorr[1]==0 && mCorr[2]==0 && mCorr[3]==0 && mCorr[4]==0 &&
67  mCorr[5]==0 && mCorr[6]==0 && mCorr[7]==0 && mCorr[8]==0 && mCorr[9]==0 );
68 }
69 
70 #if defined (__TFG__VERSION__)
71 //_________________
72 StDcaGeometry &StPicoTrackCovMatrix::dcaGeometry() const {
73  static StDcaGeometry a;
74  Float_t errMatrix[15];
75  Int_t ii = 0;
76  for (int i = 0; i < 5; i++) {
77  errMatrix[ii] = mSigma[i]*mSigma[i];
78  for (int j = 0; j < i; j++) {
79  Int_t ij = ii - i - 1 + j + 1;
80  Int_t ij1 = ij - i;
81  errMatrix[ij] = mCorr[ij1]*mSigma[i]*mSigma[j];
82  }
83  ii += i+2;
84  }
85  a.set(params(), errMatrix);
86  return *&a;
87 }
88 #endif /* __TFG__VERSION__ */
const Float_t * correlations() const
Return pointer to the correlation array.
const Float_t * sigmas() const
Return pointer to the sigma array.
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.
Float_t imp() const
Return impact.
virtual ~StPicoTrackCovMatrix()
Destructor.
Float_t curv() const
Return curvature.
StPicoTrackCovMatrix()
Default constructor.
Float_t * params()
Return address to the first parameter.