]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/ESD/AliESDfriendTrack.h
move TObject from ESDfriendTravk to VfriendTrack
[u/mrichter/AliRoot.git] / STEER / ESD / AliESDfriendTrack.h
CommitLineData
1d99986f 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>
5637918c 11#include <TClonesArray.h>
ded25cc6 12#include <AliExternalTrackParam.h>
1f516476 13#include "AliVfriendTrack.h"
08f45a9c 14#include "AliTrackPointArray.h"
1d99986f 15
15e85efa 16class AliKalmanTrack;
00dce61a 17class TObjArrray;
aa883ad7 18class AliTPCseed;
08f45a9c 19
4a08929f 20
1d99986f 21//_____________________________________________________________________________
d3d72a17 22class AliESDfriendTrack : public AliVfriendTrack {
1d99986f 23public:
15e85efa 24 enum {
25 kMaxITScluster=12,
26 kMaxTPCcluster=160,
27 kMaxTRDcluster=180
28 };
1d99986f 29 AliESDfriendTrack();
7454372c 30 AliESDfriendTrack(const AliESDfriendTrack &t);
1d99986f 31 virtual ~AliESDfriendTrack();
32
15e85efa 33 void Set1P(Float_t p) {f1P=p;}
34 void SetTrackPointArray(AliTrackPointArray *points) {
35 fPoints=points;
36 }
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;}
1d99986f 41 const AliTrackPointArray *GetTrackPointArray() const {return fPoints;}
42
15e85efa 43 void SetITStrack(AliKalmanTrack *t) {fITStrack=t;}
44 void SetTRDtrack(AliKalmanTrack *t) {fTRDtrack=t;}
45 AliKalmanTrack *GetTRDtrack() {return fTRDtrack;}
46 AliKalmanTrack *GetITStrack() {return fITStrack;}
00dce61a 47 void AddCalibObject(TObject * calibObject);
a453390d 48 TObject * GetCalibObject(Int_t index) const;
6a33e0e9 49
ded25cc6 50 //
51 // parameters backup
52 void SetTPCOut(const AliExternalTrackParam &param);
53 void SetITSOut(const AliExternalTrackParam &param);
54 void SetTRDIn(const AliExternalTrackParam &param);
55 //
5637918c 56
c5060262 57 const AliExternalTrackParam * GetTPCOut() const {return fTPCOut;}
58 const AliExternalTrackParam * GetITSOut() const {return fITSOut;}
59 const AliExternalTrackParam * GetTRDIn() const {return fTRDIn;}
7454372c 60
03e1e359 61 //used in calibration
62 Int_t GetTrackParamTPCOut( AliExternalTrackParam &p ) const {
63 if(!GetTPCOut()) return -1;
64 p=*GetTPCOut();
65 return 0;}
66
67 Int_t GetTrackParamITSOut( AliExternalTrackParam &p ) const {
68 if(!GetITSOut()) return -1;
69 p=*GetITSOut();
70 return 0;}
71
6d3a7bbf 72 void SetITSIndices(Int_t* indices, Int_t n);
73 void SetTPCIndices(Int_t* indices, Int_t n);
74 void SetTRDIndices(Int_t* indices, Int_t n);
75
76 Int_t GetMaxITScluster() {return fnMaxITScluster;}
77 Int_t GetMaxTPCcluster() {return fnMaxTPCcluster;}
78 Int_t GetMaxTRDcluster() {return fnMaxTRDcluster;}
5637918c 79
3e341ccb 80 // bit manipulation for filtering
81 void SetSkipBit(Bool_t skip){SetBit(23,skip);}
48ec9ee6 82 Bool_t TestSkipBit() const {return TestBit(23);}
ddfbc51a 83
1f516476 84 // VfriendTrack interface
6a33e0e9 85
86 Int_t GetTPCseed( AliTPCseed &) const;
87
1d99986f 88protected:
15e85efa 89 Float_t f1P; // 1/P (1/(GeV/c))
6d3a7bbf 90 Int_t fnMaxITScluster; // Max number of ITS clusters
91 Int_t fnMaxTPCcluster; // Max number of TPC clusters
92 Int_t fnMaxTRDcluster; // Max number of TRD clusters
93 Int_t* fITSindex; //[fnMaxITScluster] indices of the ITS clusters
94 Int_t* fTPCindex; //[fnMaxTPCcluster] indices of the TPC clusters
95 Int_t* fTRDindex; //[fnMaxTRDcluster] indices of the TRD clusters
96
15e85efa 97 AliTrackPointArray *fPoints;//Array of track space points in the global frame
00dce61a 98 TObjArray *fCalibContainer; //Array of objects for calibration
15e85efa 99 AliKalmanTrack *fITStrack; //! pointer to the ITS track (debug purposes)
100 AliKalmanTrack *fTRDtrack; //! pointer to the TRD track (debug purposes)
ded25cc6 101 //
102 //
103 AliExternalTrackParam * fTPCOut; // tpc outer parameters
104 AliExternalTrackParam * fITSOut; // its outer parameters
105 AliExternalTrackParam * fTRDIn; // trd inner parameters
ddfbc51a 106
7454372c 107private:
42cdc768 108 AliESDfriendTrack &operator=(const AliESDfriendTrack & /* t */) {return *this;}
7454372c 109
e3d1b1e2 110 ClassDef(AliESDfriendTrack,7) //ESD friend track
1d99986f 111};
112
113#endif
114
115