AliTPCseed::AliTPCseed():
AliTPCtrack(),
fEsd(0x0),
+ fClusterOwner(kFALSE),
fPoints(0x0),
fEPoints(0x0),
fRow(0),
for (Int_t i=0;i<12;i++) fOverlapLabels[i] = -1;
}
-AliTPCseed::AliTPCseed(const AliTPCseed &s):
+AliTPCseed::AliTPCseed(const AliTPCseed &s, Bool_t clusterOwner):
AliTPCtrack(s),
fEsd(0x0),
+ fClusterOwner(clusterOwner),
fPoints(0x0),
fEPoints(0x0),
fRow(0),
//---------------------
// dummy copy constructor
//-------------------------
- for (Int_t i=0;i<160;i++) fClusterPointer[i] = s.fClusterPointer[i];
+ for (Int_t i=0;i<160;i++) {
+ fClusterPointer[i]=0;
+ if (fClusterOwner){
+ if (s.fClusterPointer[i])
+ fClusterPointer[i] = new AliTPCclusterMI(*(s.fClusterPointer[i]));
+ }else{
+ fClusterPointer[i] = s.fClusterPointer[i];
+ }
+ fTrackPoints[i] = s.fTrackPoints[i];
+ }
for (Int_t i=0;i<160;i++) fIndex[i] = s.fIndex[i];
}
AliTPCseed::AliTPCseed(const AliTPCtrack &t):
AliTPCtrack(t),
fEsd(0x0),
+ fClusterOwner(kFALSE),
fPoints(0x0),
fEPoints(0x0),
fRow(0),
Double_t xr, Double_t alpha):
AliTPCtrack(index, xx, cc, xr, alpha),
fEsd(0x0),
+ fClusterOwner(kFALSE),
fPoints(0x0),
fEPoints(0x0),
fRow(0),
if (fEPoints) delete fEPoints;
fEPoints = 0;
fNoCluster =0;
+ if (fClusterOwner){
+ for (Int_t icluster=0; icluster<160; icluster++){
+ delete fClusterPointer[icluster];
+ }
+ }
}
AliTPCTrackerPoint * AliTPCseed::GetTrackPoint(Int_t i)
AliTPCseed();
virtual ~AliTPCseed();
AliTPCseed(const AliTPCtrack &t);
- AliTPCseed(const AliTPCseed &s);
+ AliTPCseed(const AliTPCseed &s, Bool_t clusterOwner = kFALSE);
//AliTPCseed(const AliTPCseed &t, Double_t a);
AliTPCseed(UInt_t index, const Double_t xx[5],
const Double_t cc[15], Double_t xr, Double_t alpha);
// {::Fatal("= operator","Not Implemented\n");return *this;}
AliESDtrack * fEsd; //!
AliTPCclusterMI* fClusterPointer[160]; // array of cluster pointers -
+ Bool_t fClusterOwner; // indicates the track is owner of cluster
TClonesArray * fPoints; //!array with points along the track
TClonesArray * fEPoints; //! array with exact points - calculated in special macro not used in tracking
//---CURRENT VALUES
Float_t fMAngular; // mean angular factor
Char_t fCircular; // indicates curlin track
AliTPCTrackerPoint fTrackPoints[160]; //track points - array track points
-
ClassDef(AliTPCseed,1)
};