]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDfriendTrack.cxx
For embedding: use AliESDEvent instead of AliESD (obsolete)
[u/mrichter/AliRoot.git] / STEER / AliESDfriendTrack.cxx
index e2ce7bb766dca7354623b622a41142af071dce0f..2373b868566b6378ffca75b6c0504d36da7a5aff 100644 (file)
@@ -31,7 +31,10 @@ f1P(0),
 fPoints(0),
 fCalibContainer(0),
 fITStrack(0),
-fTRDtrack(0)
+fTRDtrack(0),
+fTPCOut(0),
+fITSOut(0),
+fTRDIn(0)
 {
   //
   // Default constructor
@@ -48,7 +51,10 @@ f1P(t.f1P),
 fPoints(0),
 fCalibContainer(0),
 fITStrack(0),
-fTRDtrack(0)
+fTRDtrack(0),
+fTPCOut(0),
+fITSOut(0),
+fTRDIn(0)
 {
   //
   // Copy constructor
@@ -58,7 +64,18 @@ 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));
+  if (t.fCalibContainer) {
+     fCalibContainer = new TObjArray(5);
+     Int_t no=t.fCalibContainer->GetEntriesFast();
+     for (i=0; i<no; i++) {
+       TObject *o=t.fCalibContainer->At(i);
+       fCalibContainer->AddLast(o->Clone());
+     }  
+  }
+
+  if (t.fTPCOut) fTPCOut = new AliExternalTrackParam(*(t.fTPCOut));
+  if (t.fITSOut) fITSOut = new AliExternalTrackParam(*(t.fITSOut));
+  if (t.fTRDIn)  fTRDIn = new AliExternalTrackParam(*(t.fTRDIn));
 }
 
 AliESDfriendTrack::~AliESDfriendTrack() {
@@ -66,9 +83,13 @@ AliESDfriendTrack::~AliESDfriendTrack() {
   // Simple destructor
   //
    delete fPoints;
+   if (fCalibContainer) fCalibContainer->Delete();
    delete fCalibContainer;
    delete fITStrack;
    delete fTRDtrack;
+   delete fTPCOut;
+   delete fITSOut;
+   delete fTRDIn;
 }
 
 
@@ -89,3 +110,27 @@ TObject * AliESDfriendTrack::GetCalibObject(Int_t index){
   if (index>=fCalibContainer->GetEntriesFast()) return 0;
   return fCalibContainer->At(index);
 }
+
+
+void AliESDfriendTrack::SetTPCOut(const AliExternalTrackParam &param) {
+  // 
+  // backup TPC out track
+  //
+  delete fTPCOut;
+  fTPCOut=new AliExternalTrackParam(param);
+} 
+void AliESDfriendTrack::SetITSOut(const AliExternalTrackParam &param) {
+  //
+  // backup ITS out track
+  //
+  delete fITSOut;
+  fITSOut=new AliExternalTrackParam(param);
+} 
+void AliESDfriendTrack::SetTRDIn(const AliExternalTrackParam  &param)  {
+  //
+  // backup TRD in track
+  //
+  delete fTRDIn;
+  fTRDIn=new AliExternalTrackParam(param);
+} 
+