1 #ifndef ALIESDFRIENDTRACK_H
2 #define ALIESDFRIENDTRACK_H
4 //-------------------------------------------------------------------------
5 // Class AliESDfriendTrack
6 // This class contains ESD track additions
7 // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch
8 //-------------------------------------------------------------------------
11 #include <TClonesArray.h>
12 #include <AliExternalTrackParam.h>
13 #include "AliVfriendTrack.h"
14 #include "AliTrackPointArray.h"
21 //_____________________________________________________________________________
22 class AliESDfriendTrack : public TObject, public AliVfriendTrack {
30 AliESDfriendTrack(const AliESDfriendTrack &t);
31 virtual ~AliESDfriendTrack();
33 void Set1P(Float_t p) {f1P=p;}
34 void SetTrackPointArray(AliTrackPointArray *points) {
37 Float_t Get1P() const {return f1P;}
38 Int_t *GetITSindices() {return fITSindex;}
39 Int_t *GetTPCindices() {return fTPCindex;}
40 Int_t *GetTRDindices() {return fTRDindex;}
41 const AliTrackPointArray *GetTrackPointArray() const {return fPoints;}
43 void SetITStrack(AliKalmanTrack *t) {fITStrack=t;}
44 void SetTRDtrack(AliKalmanTrack *t) {fTRDtrack=t;}
45 AliKalmanTrack *GetTRDtrack() {return fTRDtrack;}
46 AliKalmanTrack *GetITStrack() {return fITStrack;}
47 void AddCalibObject(TObject * calibObject);
48 TObject * GetCalibObject(Int_t index) const;
52 void SetTPCOut(const AliExternalTrackParam ¶m);
53 void SetITSOut(const AliExternalTrackParam ¶m);
54 void SetTRDIn(const AliExternalTrackParam ¶m);
57 const AliExternalTrackParam * GetTPCOut() const {return fTPCOut;}
58 const AliExternalTrackParam * GetITSOut() const {return fITSOut;}
59 const AliExternalTrackParam * GetTRDIn() const {return fTRDIn;}
61 void SetITSIndices(Int_t* indices, Int_t n);
62 void SetTPCIndices(Int_t* indices, Int_t n);
63 void SetTRDIndices(Int_t* indices, Int_t n);
65 Int_t GetMaxITScluster() {return fnMaxITScluster;}
66 Int_t GetMaxTPCcluster() {return fnMaxTPCcluster;}
67 Int_t GetMaxTRDcluster() {return fnMaxTRDcluster;}
69 // bit manipulation for filtering
70 void SetSkipBit(Bool_t skip){SetBit(23,skip);}
71 Bool_t TestSkipBit() const {return TestBit(23);}
73 // VfriendTrack interface
75 Int_t GetTPCseed( AliTPCseed &) const;
78 Float_t f1P; // 1/P (1/(GeV/c))
79 Int_t fnMaxITScluster; // Max number of ITS clusters
80 Int_t fnMaxTPCcluster; // Max number of TPC clusters
81 Int_t fnMaxTRDcluster; // Max number of TRD clusters
82 Int_t* fITSindex; //[fnMaxITScluster] indices of the ITS clusters
83 Int_t* fTPCindex; //[fnMaxTPCcluster] indices of the TPC clusters
84 Int_t* fTRDindex; //[fnMaxTRDcluster] indices of the TRD clusters
86 AliTrackPointArray *fPoints;//Array of track space points in the global frame
87 TObjArray *fCalibContainer; //Array of objects for calibration
88 AliKalmanTrack *fITStrack; //! pointer to the ITS track (debug purposes)
89 AliKalmanTrack *fTRDtrack; //! pointer to the TRD track (debug purposes)
92 AliExternalTrackParam * fTPCOut; // tpc outer parameters
93 AliExternalTrackParam * fITSOut; // its outer parameters
94 AliExternalTrackParam * fTRDIn; // trd inner parameters
97 AliESDfriendTrack &operator=(const AliESDfriendTrack & /* t */) {return *this;}
99 ClassDef(AliESDfriendTrack,7) //ESD friend track