Possibility to not write syswatch info to file (default)
[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>
1d99986f 13
14class AliTrackPointArray;
15e85efa 15class AliKalmanTrack;
00dce61a 16class TObjArrray;
1d99986f 17//_____________________________________________________________________________
18class AliESDfriendTrack : public TObject {
19public:
15e85efa 20 enum {
21 kMaxITScluster=12,
22 kMaxTPCcluster=160,
23 kMaxTRDcluster=180
24 };
1d99986f 25 AliESDfriendTrack();
7454372c 26 AliESDfriendTrack(const AliESDfriendTrack &t);
1d99986f 27 virtual ~AliESDfriendTrack();
28
15e85efa 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;}
1d99986f 37 const AliTrackPointArray *GetTrackPointArray() const {return fPoints;}
38
15e85efa 39 void SetITStrack(AliKalmanTrack *t) {fITStrack=t;}
40 void SetTRDtrack(AliKalmanTrack *t) {fTRDtrack=t;}
41 AliKalmanTrack *GetTRDtrack() {return fTRDtrack;}
42 AliKalmanTrack *GetITStrack() {return fITStrack;}
00dce61a 43 void AddCalibObject(TObject * calibObject);
44 TObject * GetCalibObject(Int_t index);
ded25cc6 45 //
46 // parameters backup
47 void SetTPCOut(const AliExternalTrackParam &param);
48 void SetITSOut(const AliExternalTrackParam &param);
49 void SetTRDIn(const AliExternalTrackParam &param);
50 //
5637918c 51
c5060262 52 const AliExternalTrackParam * GetTPCOut() const {return fTPCOut;}
53 const AliExternalTrackParam * GetITSOut() const {return fITSOut;}
54 const AliExternalTrackParam * GetTRDIn() const {return fTRDIn;}
7454372c 55
6d3a7bbf 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;}
5637918c 63
3e341ccb 64 // bit manipulation for filtering
65 void SetSkipBit(Bool_t skip){SetBit(23,skip);}
66 Bool_t TestSkipBit() {return TestBit(23);}
ddfbc51a 67
1d99986f 68protected:
15e85efa 69 Float_t f1P; // 1/P (1/(GeV/c))
6d3a7bbf 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
15e85efa 77 AliTrackPointArray *fPoints;//Array of track space points in the global frame
00dce61a 78 TObjArray *fCalibContainer; //Array of objects for calibration
15e85efa 79 AliKalmanTrack *fITStrack; //! pointer to the ITS track (debug purposes)
80 AliKalmanTrack *fTRDtrack; //! pointer to the TRD track (debug purposes)
ded25cc6 81 //
82 //
83 AliExternalTrackParam * fTPCOut; // tpc outer parameters
84 AliExternalTrackParam * fITSOut; // its outer parameters
85 AliExternalTrackParam * fTRDIn; // trd inner parameters
ddfbc51a 86
7454372c 87private:
42cdc768 88 AliESDfriendTrack &operator=(const AliESDfriendTrack & /* t */) {return *this;}
7454372c 89
ddfbc51a 90 ClassDef(AliESDfriendTrack,6) //ESD friend track
1d99986f 91};
92
93#endif
94
95