1 |
/** |
2 |
* \file ExtTrack.h |
3 |
* \author Elena Vannuccini |
4 |
*/ |
5 |
#ifndef exttrack_h |
6 |
#define exttrack_h |
7 |
|
8 |
#include <TrkLevel2.h> |
9 |
|
10 |
class ExtTrack : public TObject { |
11 |
|
12 |
private: |
13 |
|
14 |
public: |
15 |
|
16 |
|
17 |
Float_t al[5]; ///<TRACK STATE VECTOR |
18 |
Float_t coval[5][5]; ///<covariance matrix |
19 |
Float_t chi2; |
20 |
Int_t nstep; |
21 |
Int_t nplanes; |
22 |
Int_t* xgood ; //[nplanes] |
23 |
Int_t* ygood ; //[nplanes] |
24 |
Float_t* xm ; //[nplanes] |
25 |
Float_t* ym ; //[nplanes] |
26 |
Float_t* zm ; //[nplanes] |
27 |
Float_t* resx ; //[nplanes] |
28 |
Float_t* resy ; //[nplanes] |
29 |
Float_t* xv ; //[nplanes] |
30 |
Float_t* yv ; //[nplanes] |
31 |
Float_t* zv ; //[nplanes] |
32 |
Float_t* axv ; //[nplanes] |
33 |
Float_t* ayv ; //[nplanes] |
34 |
Float_t* dedx_x ; //[nplanes] |
35 |
Float_t* dedx_y ; //[nplanes] |
36 |
|
37 |
|
38 |
ExtTrack(); |
39 |
ExtTrack(Int_t dim); |
40 |
ExtTrack(const ExtTrack&); |
41 |
|
42 |
~ExtTrack(){ Delete(); }; |
43 |
|
44 |
void Clear(Option_t* option=""); |
45 |
void Delete(); |
46 |
void Dump(); |
47 |
|
48 |
void FitReset(); |
49 |
void SetDimension(Int_t dim); |
50 |
void SetMeasure(double *xmeas, double *ymeas, double *zmeas); |
51 |
void SetResolution(double *rx, double *ry); |
52 |
void SetGood(Int_t *xg, Int_t *yg); |
53 |
|
54 |
void FillMiniStruct(cMini2track& track); |
55 |
void SetFromMiniStruct(cMini2track *track); |
56 |
|
57 |
|
58 |
Bool_t XGood(int ip){ return xgood[ip]; }; |
59 |
Bool_t YGood(int ip){ return ygood[ip]; }; |
60 |
|
61 |
Int_t GetNX(){Int_t n=0; for(Int_t i=0; i<nplanes; i++)n+=(Int_t)XGood(i); return n;}; |
62 |
Int_t GetNY(){Int_t n=0; for(Int_t i=0; i<nplanes; i++)n+=(Int_t)YGood(i); return n;}; |
63 |
Int_t GetNXY(){Int_t n=0; for(Int_t i=0; i<nplanes; i++)n+=(Int_t)YGood(i)*XGood(i); return n;}; |
64 |
Int_t GetNtot(){return GetNX()+GetNY();}; |
65 |
|
66 |
ClassDef(ExtTrack,1); |
67 |
|
68 |
}; |
69 |
|
70 |
#endif |