//-------------------------------------------------------------------------
#include "AliTrackPointArray.h"
#include "AliESDfriendTrack.h"
-#include "AliESD.h"
+#include "AliKalmanTrack.h"
+#include "TObjArray.h"
ClassImp(AliESDfriendTrack)
- AliESDfriendTrack::AliESDfriendTrack(): TObject(), f1P(0), fPoints(0) {
+AliESDfriendTrack::AliESDfriendTrack():
+TObject(),
+f1P(0),
+fPoints(0),
+fCalibContainer(0),
+fITStrack(0),
+fTRDtrack(0)
+{
//
// Default constructor
//
Int_t i;
- for (i=0; i<AliESDtrack::kMaxITScluster; i++) fITSindex[i]=-2;
- for (i=0; i<AliESDtrack::kMaxTPCcluster; i++) fTPCindex[i]=-2;
- for (i=0; i<AliESDtrack::kMaxTRDcluster; i++) fTRDindex[i]=-2;
+ for (i=0; i<kMaxITScluster; i++) fITSindex[i]=-2;
+ for (i=0; i<kMaxTPCcluster; i++) fTPCindex[i]=-2;
+ for (i=0; i<kMaxTRDcluster; i++) fTRDindex[i]=-2;
}
AliESDfriendTrack::AliESDfriendTrack(const AliESDfriendTrack &t):
TObject(t),
f1P(t.f1P),
-fPoints(0)
+fPoints(0),
+fCalibContainer(0),
+fITStrack(0),
+fTRDtrack(0)
{
//
// Copy constructor
//
Int_t i;
- for (i=0; i<AliESDtrack::kMaxITScluster; i++) fITSindex[i]=t.fITSindex[i];
- for (i=0; i<AliESDtrack::kMaxTPCcluster; i++) fTPCindex[i]=t.fTPCindex[i];
- for (i=0; i<AliESDtrack::kMaxTRDcluster; i++) fTRDindex[i]=t.fTRDindex[i];
+ for (i=0; i<kMaxITScluster; i++) fITSindex[i]=t.fITSindex[i];
+ 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(const AliESDtrack &t):
-TObject(t),
-f1P(t.Get1P()),
-fPoints(0)
-{
+AliESDfriendTrack::~AliESDfriendTrack() {
+ //
+ // Simple destructor
+ //
+ delete fPoints;
+ delete fCalibContainer;
+ delete fITStrack;
+ delete fTRDtrack;
+}
+
+
+void AliESDfriendTrack::AddCalibObject(TObject * calibObject){
//
- // Extracts the complementary info from the ESD track
+ // add calibration object to array -
+ // track is owner of the objects in the container
//
- t.GetITSclusters(fITSindex);
- t.GetTPCclusters(fTPCindex);
- t.GetTRDclusters(fTRDindex);
- const AliTrackPointArray *points=t.GetTrackPointArray();
- if (points) fPoints=new AliTrackPointArray(*points);
+ if (!fCalibContainer) fCalibContainer = new TObjArray(5);
+ fCalibContainer->AddLast(calibObject);
}
-AliESDfriendTrack::~AliESDfriendTrack() {delete fPoints;}
+TObject * AliESDfriendTrack::GetCalibObject(Int_t index){
+ //
+ //
+ //
+ if (!fCalibContainer) return 0;
+ if (index>=fCalibContainer->GetEntriesFast()) return 0;
+ return fCalibContainer->At(index);
+}