AliRoot Core  ee782a0 (ee782a0)
AliESDfriendTrack.h
Go to the documentation of this file.
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 <TClonesArray.h>
11 #include <AliExternalTrackParam.h>
12 #include "AliVfriendTrack.h"
13 #include "AliTrackPointArray.h"
14 
15 class AliKalmanTrack;
16 class TObjArrray;
17 class AliTPCseed;
18 class AliVTPCseed;
19 
20 //_____________________________________________________________________________
22 public:
23  enum {
27  };
29  AliESDfriendTrack(const AliESDfriendTrack &t, Bool_t shallow=kFALSE);
30  virtual ~AliESDfriendTrack();
31  virtual void Clear(Option_t* opt="");
32  // This function will set the ownership
33  // needed to read old ESDfriends
34  void SetOwner(){if(fCalibContainer)fCalibContainer->SetOwner();}
35  void SetESDtrackID(int i) {SetUniqueID(i);}
36  Int_t GetESDtrackID() const {return GetUniqueID();}
37  void Set1P(Float_t p) {f1P=p;}
39  fPoints=points;
40  }
41  Float_t Get1P() const {return f1P;}
42  Int_t *GetITSindices() {return fITSindex;}
43  Int_t *GetTPCindices() {return fTPCindex;}
44  Int_t *GetTRDindices() {return fTRDindex;}
46 
51  void AddCalibObject(TObject * calibObject);
52  void RemoveCalibObject(TObject * calibObject);
53  TObject * GetCalibObject(Int_t index) const;
54 
55  //
56  // parameters backup
57  void SetTPCOut(const AliExternalTrackParam &param);
58  void SetITSOut(const AliExternalTrackParam &param);
59  void SetTRDIn(const AliExternalTrackParam &param);
60  //
61 
62  const AliExternalTrackParam * GetTPCOut() const {return fTPCOut;}
63  const AliExternalTrackParam * GetITSOut() const {return fITSOut;}
64  const AliExternalTrackParam * GetTRDIn() const {return fTRDIn;}
65 
66  //used in calibration
68  if(!GetTPCOut()) return -1;
69  p=*GetTPCOut();
70  return 0;}
71 
73  if(!GetITSOut()) return -1;
74  p=*GetITSOut();
75  return 0;}
76 
78  if (fTPCOut) delete fTPCOut;
80  }
81 
82  void SetITSIndices(Int_t* indices, Int_t n);
83  void SetTPCIndices(Int_t* indices, Int_t n);
84  void SetTRDIndices(Int_t* indices, Int_t n);
85 
89 
90  // bit manipulation for filtering
91  void SetSkipBit(Bool_t skip){SetBit(23,skip);}
92  Bool_t TestSkipBit() const {return TestBit(23);}
93 
94  // VfriendTrack interface
95 
96  Int_t GetTPCseed( AliTPCseed &) const;
97  const TObject* GetTPCseed() const;
98  void ResetTPCseed( const AliTPCseed* s );
100 protected:
101  Float_t f1P; // 1/P (1/(GeV/c))
102  Int_t fnMaxITScluster; // Max number of ITS clusters
103  Int_t fnMaxTPCcluster; // Max number of TPC clusters
104  Int_t fnMaxTRDcluster; // Max number of TRD clusters
105  Int_t* fITSindex; //[fnMaxITScluster] indices of the ITS clusters
106  Int_t* fTPCindex; //[fnMaxTPCcluster] indices of the TPC clusters
107  Int_t* fTRDindex; //[fnMaxTRDcluster] indices of the TRD clusters
108 
109  AliTrackPointArray *fPoints;//Array of track space points in the global frame
110  TObjArray *fCalibContainer; //Array of objects for calibration
113  //
114  //
115  AliExternalTrackParam * fTPCOut; // tpc outer parameters
116  AliExternalTrackParam * fITSOut; // its outer parameters
117  AliExternalTrackParam * fTRDIn; // trd inner parameters
118 
119 private:
120  AliESDfriendTrack &operator=(const AliESDfriendTrack & /* t */) {return *this;}
121 
122  ClassDef(AliESDfriendTrack,8) //ESD friend track
123 };
124 
125 #endif
126 
127 
AliKalmanTrack * fTRDtrack
pointer to the ITS track (debug purposes)
#define TObjArray
void TagSuppressSharedObjectsBeforeDeletion()
void SetITSOut(const AliExternalTrackParam &param)
void SetTRDtrack(AliKalmanTrack *t)
void SetTrackPointArray(AliTrackPointArray *points)
Int_t GetTrackParamITSOut(AliExternalTrackParam &p) const
Int_t GetTrackParamTPCOut(AliExternalTrackParam &p) const
AliTrackPointArray * fPoints
AliExternalTrackParam * fTRDIn
Float_t p[]
Definition: kNNTest.C:133
Bool_t TestSkipBit() const
void SetSkipBit(Bool_t skip)
AliExternalTrackParam * fTPCOut
pointer to the TRD track (debug purposes)
void SetTPCIndices(Int_t *indices, Int_t n)
Float_t Get1P() const
virtual void Clear(Option_t *opt="")
AliESDfriendTrack & operator=(const AliESDfriendTrack &)
void Set1P(Float_t p)
Int_t GetESDtrackID() const
AliKalmanTrack * fITStrack
void SetTPCOut(const AliExternalTrackParam &param)
const AliExternalTrackParam * GetTPCOut() const
void RemoveCalibObject(TObject *calibObject)
AliExternalTrackParam * fITSOut
void SetITSIndices(Int_t *indices, Int_t n)
void AddCalibObject(TObject *calibObject)
void ResetTrackParamTPCOut(const AliExternalTrackParam *p)
const AliTrackPointArray * GetTrackPointArray() const
void SetESDtrackID(int i)
void SetTRDIn(const AliExternalTrackParam &param)
const AliExternalTrackParam * GetTRDIn() const
AliKalmanTrack * GetITStrack()
TObject * GetCalibObject(Int_t index) const
void SetTRDIndices(Int_t *indices, Int_t n)
AliKalmanTrack * GetTRDtrack()
TObjArray * fCalibContainer
const AliExternalTrackParam * GetITSOut() const
void SetITStrack(AliKalmanTrack *t)
const TObject * GetTPCseed() const
void ResetTPCseed(const AliTPCseed *s)