fPoints(0),
fCalibContainer(0),
fITStrack(0),
-fTRDtrack(0)
+fTRDtrack(0),
+fTPCOut(0),
+fITSOut(0),
+fTRDIn(0)
{
//
// Default constructor
fPoints(0),
fCalibContainer(0),
fITStrack(0),
-fTRDtrack(0)
+fTRDtrack(0),
+fTPCOut(0),
+fITSOut(0),
+fTRDIn(0)
{
//
// Copy constructor
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() {
// Simple destructor
//
delete fPoints;
+ if (fCalibContainer) fCalibContainer->Delete();
delete fCalibContainer;
delete fITStrack;
delete fTRDtrack;
+ delete fTPCOut;
+ delete fITSOut;
+ delete fTRDIn;
}
if (index>=fCalibContainer->GetEntriesFast()) return 0;
return fCalibContainer->At(index);
}
+
+
+void AliESDfriendTrack::SetTPCOut(const AliExternalTrackParam ¶m) {
+ //
+ // backup TPC out track
+ //
+ delete fTPCOut;
+ fTPCOut=new AliExternalTrackParam(param);
+}
+void AliESDfriendTrack::SetITSOut(const AliExternalTrackParam ¶m) {
+ //
+ // backup ITS out track
+ //
+ delete fITSOut;
+ fITSOut=new AliExternalTrackParam(param);
+}
+void AliESDfriendTrack::SetTRDIn(const AliExternalTrackParam ¶m) {
+ //
+ // backup TRD in track
+ //
+ delete fTRDIn;
+ fTRDIn=new AliExternalTrackParam(param);
+}
+