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