]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIESDFRIENDTRACK_H | |
2 | #define ALIESDFRIENDTRACK_H | |
3 | ||
4 | //------------------------------------------------------------------------- | |
5 | // Class AliESDfriendTrack | |
6 | // This class contains ESD track additions | |
7 | // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch | |
8 | //------------------------------------------------------------------------- | |
9 | ||
10 | #include <TObject.h> | |
11 | #include <TClonesArray.h> | |
12 | #include <AliExternalTrackParam.h> | |
13 | ||
14 | class AliTrackPointArray; | |
15 | class AliKalmanTrack; | |
16 | class TObjArrray; | |
17 | //_____________________________________________________________________________ | |
18 | class AliESDfriendTrack : public TObject { | |
19 | public: | |
20 | enum { | |
21 | kMaxITScluster=12, | |
22 | kMaxTPCcluster=160, | |
23 | kMaxTRDcluster=180 | |
24 | }; | |
25 | AliESDfriendTrack(); | |
26 | AliESDfriendTrack(const AliESDfriendTrack &t); | |
27 | virtual ~AliESDfriendTrack(); | |
28 | ||
29 | void Set1P(Float_t p) {f1P=p;} | |
30 | void SetTrackPointArray(AliTrackPointArray *points) { | |
31 | fPoints=points; | |
32 | } | |
33 | Float_t Get1P() const {return f1P;} | |
34 | Int_t *GetITSindices() {return fITSindex;} | |
35 | Int_t *GetTPCindices() {return fTPCindex;} | |
36 | Int_t *GetTRDindices() {return fTRDindex;} | |
37 | const AliTrackPointArray *GetTrackPointArray() const {return fPoints;} | |
38 | ||
39 | void SetITStrack(AliKalmanTrack *t) {fITStrack=t;} | |
40 | void SetTRDtrack(AliKalmanTrack *t) {fTRDtrack=t;} | |
41 | AliKalmanTrack *GetTRDtrack() {return fTRDtrack;} | |
42 | AliKalmanTrack *GetITStrack() {return fITStrack;} | |
43 | void AddCalibObject(TObject * calibObject); | |
44 | TObject * GetCalibObject(Int_t index); | |
45 | // | |
46 | // parameters backup | |
47 | void SetTPCOut(const AliExternalTrackParam ¶m); | |
48 | void SetITSOut(const AliExternalTrackParam ¶m); | |
49 | void SetTRDIn(const AliExternalTrackParam ¶m); | |
50 | // | |
51 | ||
52 | const AliExternalTrackParam * GetTPCOut() const {return fTPCOut;} | |
53 | const AliExternalTrackParam * GetITSOut() const {return fITSOut;} | |
54 | const AliExternalTrackParam * GetTRDIn() const {return fTRDIn;} | |
55 | ||
56 | void SetITSIndices(Int_t* indices, Int_t n); | |
57 | void SetTPCIndices(Int_t* indices, Int_t n); | |
58 | void SetTRDIndices(Int_t* indices, Int_t n); | |
59 | ||
60 | Int_t GetMaxITScluster() {return fnMaxITScluster;} | |
61 | Int_t GetMaxTPCcluster() {return fnMaxTPCcluster;} | |
62 | Int_t GetMaxTRDcluster() {return fnMaxTRDcluster;} | |
63 | ||
64 | // bit manipulation for filtering | |
65 | void SetSkipBit(Bool_t skip){SetBit(23,skip);} | |
66 | Bool_t TestSkipBit() {return TestBit(23);} | |
67 | ||
68 | protected: | |
69 | Float_t f1P; // 1/P (1/(GeV/c)) | |
70 | Int_t fnMaxITScluster; // Max number of ITS clusters | |
71 | Int_t fnMaxTPCcluster; // Max number of TPC clusters | |
72 | Int_t fnMaxTRDcluster; // Max number of TRD clusters | |
73 | Int_t* fITSindex; //[fnMaxITScluster] indices of the ITS clusters | |
74 | Int_t* fTPCindex; //[fnMaxTPCcluster] indices of the TPC clusters | |
75 | Int_t* fTRDindex; //[fnMaxTRDcluster] indices of the TRD clusters | |
76 | ||
77 | AliTrackPointArray *fPoints;//Array of track space points in the global frame | |
78 | TObjArray *fCalibContainer; //Array of objects for calibration | |
79 | AliKalmanTrack *fITStrack; //! pointer to the ITS track (debug purposes) | |
80 | AliKalmanTrack *fTRDtrack; //! pointer to the TRD track (debug purposes) | |
81 | // | |
82 | // | |
83 | AliExternalTrackParam * fTPCOut; // tpc outer parameters | |
84 | AliExternalTrackParam * fITSOut; // its outer parameters | |
85 | AliExternalTrackParam * fTRDIn; // trd inner parameters | |
86 | ||
87 | private: | |
88 | AliESDfriendTrack &operator=(const AliESDfriendTrack & /* t */) {return *this;} | |
89 | ||
90 | ClassDef(AliESDfriendTrack,6) //ESD friend track | |
91 | }; | |
92 | ||
93 | #endif | |
94 | ||
95 |