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 //-------------------------------------------------------------------------
10 #include <TClonesArray.h>
11 #include <AliExternalTrackParam.h>
12 #include "AliVfriendTrack.h"
13 #include "AliTrackPointArray.h"
20 //_____________________________________________________________________________
21 class AliESDfriendTrack : public AliVfriendTrack {
29 AliESDfriendTrack(const AliESDfriendTrack &t);
30 virtual ~AliESDfriendTrack();
32 void Set1P(Float_t p) {f1P=p;}
33 void SetTrackPointArray(AliTrackPointArray *points) {
36 Float_t Get1P() const {return f1P;}
37 Int_t *GetITSindices() {return fITSindex;}
38 Int_t *GetTPCindices() {return fTPCindex;}
39 Int_t *GetTRDindices() {return fTRDindex;}
40 const AliTrackPointArray *GetTrackPointArray() const {return fPoints;}
42 void SetITStrack(AliKalmanTrack *t) {fITStrack=t;}
43 void SetTRDtrack(AliKalmanTrack *t) {fTRDtrack=t;}
44 AliKalmanTrack *GetTRDtrack() {return fTRDtrack;}
45 AliKalmanTrack *GetITStrack() {return fITStrack;}
46 void AddCalibObject(TObject * calibObject);
47 TObject * GetCalibObject(Int_t index) const;
51 void SetTPCOut(const AliExternalTrackParam ¶m);
52 void SetITSOut(const AliExternalTrackParam ¶m);
53 void SetTRDIn(const AliExternalTrackParam ¶m);
56 const AliExternalTrackParam * GetTPCOut() const {return fTPCOut;}
57 const AliExternalTrackParam * GetITSOut() const {return fITSOut;}
58 const AliExternalTrackParam * GetTRDIn() const {return fTRDIn;}
61 Int_t GetTrackParamTPCOut( AliExternalTrackParam &p ) const {
62 if(!GetTPCOut()) return -1;
66 Int_t GetTrackParamITSOut( AliExternalTrackParam &p ) const {
67 if(!GetITSOut()) return -1;
71 void SetITSIndices(Int_t* indices, Int_t n);
72 void SetTPCIndices(Int_t* indices, Int_t n);
73 void SetTRDIndices(Int_t* indices, Int_t n);
75 Int_t GetMaxITScluster() {return fnMaxITScluster;}
76 Int_t GetMaxTPCcluster() {return fnMaxTPCcluster;}
77 Int_t GetMaxTRDcluster() {return fnMaxTRDcluster;}
79 // bit manipulation for filtering
80 void SetSkipBit(Bool_t skip){SetBit(23,skip);}
81 Bool_t TestSkipBit() const {return TestBit(23);}
83 // VfriendTrack interface
85 Int_t GetTPCseed( AliTPCseed &) const;
88 Float_t f1P; // 1/P (1/(GeV/c))
89 Int_t fnMaxITScluster; // Max number of ITS clusters
90 Int_t fnMaxTPCcluster; // Max number of TPC clusters
91 Int_t fnMaxTRDcluster; // Max number of TRD clusters
92 Int_t* fITSindex; //[fnMaxITScluster] indices of the ITS clusters
93 Int_t* fTPCindex; //[fnMaxTPCcluster] indices of the TPC clusters
94 Int_t* fTRDindex; //[fnMaxTRDcluster] indices of the TRD clusters
96 AliTrackPointArray *fPoints;//Array of track space points in the global frame
97 TObjArray *fCalibContainer; //Array of objects for calibration
98 AliKalmanTrack *fITStrack; //! pointer to the ITS track (debug purposes)
99 AliKalmanTrack *fTRDtrack; //! pointer to the TRD track (debug purposes)
102 AliExternalTrackParam * fTPCOut; // tpc outer parameters
103 AliExternalTrackParam * fITSOut; // its outer parameters
104 AliExternalTrackParam * fTRDIn; // trd inner parameters
107 AliESDfriendTrack &operator=(const AliESDfriendTrack & /* t */) {return *this;}
109 ClassDef(AliESDfriendTrack,8) //ESD friend track