]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Attach optional calibration object to the track (M.Ivanov)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 16 May 2006 17:22:52 +0000 (17:22 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 16 May 2006 17:22:52 +0000 (17:22 +0000)
STEER/AliESDfriendTrack.cxx
STEER/AliESDfriendTrack.h
STEER/AliESDtrack.cxx
STEER/AliESDtrack.h

index 79ec33d8cf2c09f214428ce6d6a64c2720a953de..87937fc8aee6c70e378698717568bafd1efefd4f 100644 (file)
 #include "AliTrackPointArray.h"
 #include "AliESDfriendTrack.h"
 #include "AliKalmanTrack.h"
+#include "TObjArray.h"
 
 ClassImp(AliESDfriendTrack)
 
 AliESDfriendTrack::AliESDfriendTrack(): 
 TObject(), 
 f1P(0), 
-fPoints(0), 
+fPoints(0),
+fCalibContainer(0),
 fITStrack(0),
 fTRDtrack(0)
 {
@@ -44,6 +46,7 @@ AliESDfriendTrack::AliESDfriendTrack(const AliESDfriendTrack &t):
 TObject(t),
 f1P(t.f1P),
 fPoints(0),
+fCalibContainer(0),
 fITStrack(0),
 fTRDtrack(0)
 {
@@ -55,6 +58,7 @@ fTRDtrack(0)
   for (i=0; i<kMaxTPCcluster; i++) fTPCindex[i]=t.fTPCindex[i];
   for (i=0; i<kMaxTRDcluster; i++) fTRDindex[i]=t.fTRDindex[i];
   if (t.fPoints) fPoints=new AliTrackPointArray(*t.fPoints);
+  if (t.fCalibContainer) fCalibContainer = new TObjArray(*(t.fCalibContainer));
 }
 
 AliESDfriendTrack::~AliESDfriendTrack() {
@@ -62,6 +66,26 @@ AliESDfriendTrack::~AliESDfriendTrack() {
   // Simple destructor
   //
    delete fPoints;
+   delete fCalibContainer;
    delete fITStrack;
    delete fTRDtrack;
 }
+
+
+void AliESDfriendTrack::AddCalibObject(TObject * calibObject){
+  //
+  // add calibration object to array -
+  // track is owner of the objects in the container 
+  //
+  if (!fCalibContainer) fCalibContainer = new TObjArray(5);
+  fCalibContainer->AddLast(calibObject);
+}
+
+TObject * AliESDfriendTrack::GetCalibObject(Int_t index){
+  //
+  //
+  //
+  if (!fCalibContainer) return 0;
+  if (index>=fCalibContainer->GetEntriesFast()) return 0;
+  return fCalibContainer->At(index);
+}
index b86a455315d259607a8170875b49b06223821670..ba874ad214cb4218b9ae032fb712bbb31b5bcd09 100644 (file)
@@ -11,7 +11,7 @@
 
 class AliTrackPointArray;
 class AliKalmanTrack;
-
+class TObjArrray;
 //_____________________________________________________________________________
 class AliESDfriendTrack : public TObject {
 public:
@@ -38,18 +38,19 @@ public:
   void SetTRDtrack(AliKalmanTrack *t) {fTRDtrack=t;}
   AliKalmanTrack *GetTRDtrack() {return fTRDtrack;}
   AliKalmanTrack *GetITStrack() {return fITStrack;}
-
+  void AddCalibObject(TObject * calibObject); 
+  TObject * GetCalibObject(Int_t index);
 protected:
   Float_t f1P;                     // 1/P (1/(GeV/c))
   Int_t fITSindex[kMaxITScluster]; // indices of the ITS clusters 
   Int_t fTPCindex[kMaxTPCcluster]; // indices of the TPC clusters
   Int_t fTRDindex[kMaxTRDcluster]; // indices of the TRD clusters
   AliTrackPointArray *fPoints;//Array of track space points in the global frame
-
+  TObjArray      *fCalibContainer; //Array of objects for calibration    
   AliKalmanTrack *fITStrack; //! pointer to the ITS track (debug purposes) 
   AliKalmanTrack *fTRDtrack; //! pointer to the TRD track (debug purposes) 
 
-  ClassDef(AliESDfriendTrack,1) //ESD friend track
+  ClassDef(AliESDfriendTrack,2) //ESD friend track
 };
 
 #endif
index dbb51329bda836129ae2d483983e5f4a6897fb74..75a9d6faf74b159f0a6e9f7385b913199f05a8cd 100644 (file)
@@ -233,6 +233,23 @@ AliESDtrack::~AliESDtrack(){
   delete fPoints;
 }
 
+void AliESDtrack::AddCalibObject(TObject * object){
+  //
+  // add calib object to the list
+  //
+  if (!fFriendTrack) fFriendTrack  = new AliESDfriendTrack;
+  fFriendTrack->AddCalibObject(object);
+}
+
+TObject *  AliESDtrack::GetCalibObject(Int_t index){
+  //
+  // return calib objct at given position
+  //
+  if (!fFriendTrack) return 0;
+  return fFriendTrack->GetCalibObject(index);
+}
+
+
 //_______________________________________________________________________
 void AliESDtrack::MakeMiniESDtrack(){
   // Resets everything except
index f7ad46c9300da44f88e7f2bcd8180486a5bbfc1c..96cc539c8ebb7ce9a544a81cf223c1a3bbb2811c 100644 (file)
@@ -40,6 +40,8 @@ public:
   void SetFriendTrack(const AliESDfriendTrack *t) {
     delete fFriendTrack; fFriendTrack=new AliESDfriendTrack(*t);
   }
+  void AddCalibObject(TObject * object);     // add calib object to the list
+  TObject *  GetCalibObject(Int_t index);    // return calib objct at given position
   void MakeMiniESDtrack();
   void SetID(Int_t id) { fID =id;}
   Int_t GetID() const { return fID;}
@@ -128,6 +130,8 @@ public:
      for (Int_t i=0;i<4;i++) fTPCPoints[i]=points[i];
   }
   void    SetTPCPointsF(UChar_t  findable){fTPCnclsF = findable;}
+  Int_t   GetTPCNcls() const { return fTPCncls;}
+  Int_t   GetTPCNclsF() const { return fTPCnclsF;}
   Float_t GetTPCPoints(Int_t i) const {return fTPCPoints[i];}
   void    SetKinkIndexes(Int_t points[3]) {
      for (Int_t i=0;i<3;i++) fKinkIndexes[i] = points[i];
@@ -139,6 +143,8 @@ public:
      fTPCsignal = signal; fTPCsignalS = sigma; fTPCsignalN = npoints;
   }
   Float_t GetTPCsignal() const {return fTPCsignal;}
+  Float_t GetTPCsignalSigma() const {return fTPCsignalS;}
+  Float_t GetTPCsignalN() const {return fTPCsignalN;}
   Float_t GetTPCchi2() const {return fTPCchi2;}
   Int_t   GetTPCclusters(Int_t *idx) const;
   Float_t GetTPCdensity(Int_t row0, Int_t row1) const;
@@ -337,7 +343,7 @@ protected:
 
   AliESDtrack & operator=(const AliESDtrack & ) {return *this;}
 
-  ClassDef(AliESDtrack,28)  //ESDtrack 
+  ClassDef(AliESDtrack,29)  //ESDtrack 
 };
 
 #endif