]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDtrackletGTU.cxx
update comments, add some possible TODOs
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackletGTU.cxx
index cb43782e23b5b020767776f5739802211b5561b6..95522e33edd7b0d947b6ef3eee6cb0d174368884 100644 (file)
 
 ClassImp(AliTRDtrackletGTU)
 
-AliTRDtrackletBase* AliTRDtrackletGTU::fgkDummyTracklet = new AliTRDtrackletWord(0);
+AliTRDtrackletBase* AliTRDtrackletGTU::fgkDummyTracklet = 0x0;
 
 AliTRDtrackletGTU::AliTRDtrackletGTU() :
   AliTRDtrackletBase(),
   fGtuParam(AliTRDgtuParam::Instance()),
-  fTracklet(fgkDummyTracklet),
+  fTracklet(0x0),
   fTrackletESD(0x0),
+  fMCMtrackletIndex(-1),
   fAssignedZ(kFALSE),
   fAlpha(0),
   fYProj(0),
@@ -51,6 +52,10 @@ AliTRDtrackletGTU::AliTRDtrackletGTU() :
 {
   // ctor for any tracklet deriving from AliTRDtrackletBase
 
+  if (!fgkDummyTracklet)
+    fgkDummyTracklet = new AliTRDtrackletWord(0);
+  fTracklet = fgkDummyTracklet;
+
   for (Int_t zch = 0; zch < fGtuParam->GetNZChannels(); zch++)
     fSubChannel[zch] = 0;
 }
@@ -58,8 +63,9 @@ AliTRDtrackletGTU::AliTRDtrackletGTU() :
 AliTRDtrackletGTU::AliTRDtrackletGTU(AliTRDtrackletBase *tracklet) :
   AliTRDtrackletBase(*tracklet),
   fGtuParam(AliTRDgtuParam::Instance()),
-  fTracklet(fgkDummyTracklet),
+  fTracklet(0x0),
   fTrackletESD(0x0),
+  fMCMtrackletIndex(-1),
   fAssignedZ(kFALSE),
   fAlpha(0),
   fYProj(0),
@@ -68,6 +74,9 @@ AliTRDtrackletGTU::AliTRDtrackletGTU(AliTRDtrackletBase *tracklet) :
 {
   // ctor for any tracklet deriving from AliTRDtrackletBase
 
+  if (!fgkDummyTracklet) fgkDummyTracklet = new AliTRDtrackletWord(0);
+  fTracklet = fgkDummyTracklet;
+
   for (Int_t zch = 0; zch < fGtuParam->GetNZChannels(); zch++)
     fSubChannel[zch] = 0;
   fTracklet = tracklet;
@@ -79,8 +88,9 @@ AliTRDtrackletGTU::AliTRDtrackletGTU(AliTRDtrackletBase *tracklet) :
 AliTRDtrackletGTU::AliTRDtrackletGTU(AliESDTrdTracklet *tracklet) :
   AliTRDtrackletBase(),
   fGtuParam(AliTRDgtuParam::Instance()),
-  fTracklet(fgkDummyTracklet),
+  fTracklet(0x0),
   fTrackletESD(tracklet),
+  fMCMtrackletIndex(-1),  // has to be set via SetMCMtrackletIndex() separately
   fAssignedZ(kFALSE),
   fAlpha(0),
   fYProj(0),
@@ -89,6 +99,9 @@ AliTRDtrackletGTU::AliTRDtrackletGTU(AliESDTrdTracklet *tracklet) :
 {
   // ctor for an AliESDTrdTracklet
 
+  if (!fgkDummyTracklet) fgkDummyTracklet = new AliTRDtrackletWord(0);
+  fTracklet = fgkDummyTracklet;
+
   for (Int_t zch = 0; zch < fGtuParam->GetNZChannels(); zch++)
     fSubChannel[zch] = 0;
 }
@@ -98,6 +111,7 @@ AliTRDtrackletGTU::AliTRDtrackletGTU(const AliTRDtrackletGTU& tracklet) :
   fGtuParam(AliTRDgtuParam::Instance()),
   fTracklet(tracklet.fTracklet),
   fTrackletESD(tracklet.fTrackletESD),
+  fMCMtrackletIndex(tracklet.fMCMtrackletIndex),
   fAssignedZ(tracklet.fAssignedZ),
   fAlpha(tracklet.fAlpha),
   fYProj(tracklet.fYProj),
@@ -117,6 +131,7 @@ AliTRDtrackletGTU& AliTRDtrackletGTU::operator=(const AliTRDtrackletGTU &rhs)
   if (&rhs != this) {
     fTracklet = rhs.fTracklet;
     fTrackletESD = rhs.fTrackletESD;
+    fMCMtrackletIndex = rhs.fMCMtrackletIndex;
     for (Int_t zch = 0; zch < fGtuParam->GetNZChannels(); zch++)
       fSubChannel[zch] = rhs.fSubChannel[zch];
     fIndex = rhs.fIndex;