]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TRD/AliTRDtrackletGTU.cxx
Coverity
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackletGTU.cxx
index 675a954606765779bc76c52ba2fedc59c014093d..070cc443c405d7c148c67ce6cbff8a95b3e9c3de 100644 (file)
 ////////////////////////////////////////////////////////////////////////////
 
 #include "TMath.h"
+#include "TClass.h"
 
 #include "AliTRDtrackletGTU.h"
 #include "AliTRDtrackletWord.h"
-#include "AliTRDmcmTracklet.h"
+#include "AliTRDtrackletMCM.h"
 #include "AliLog.h"
 #include "AliTRDgtuParam.h"
 #include "AliTRDgeometry.h"
@@ -40,7 +41,7 @@ AliTRDtrackletBase* AliTRDtrackletGTU::fgkDummyTracklet = new AliTRDtrackletWord
 AliTRDtrackletGTU::AliTRDtrackletGTU() :
   AliTRDtrackletBase(),
   fGtuParam(AliTRDgtuParam::Instance()),
-  fTracklet(fgkDummyTracklet), 
+  fTracklet(0x0), //fgkDummyTracklet), 
   fSubChannel(0x0),
   fAssignedZ(kFALSE),
   fAlpha(0),
@@ -72,6 +73,9 @@ AliTRDtrackletGTU::AliTRDtrackletGTU(AliTRDtrackletBase *tracklet) :
   for (Int_t zch = 0; zch < fGtuParam->GetNZChannels(); zch++) 
     fSubChannel[zch] = 0;
   fTracklet = tracklet;
+  if ( fTracklet->IsA() == TClass::GetClass("AliTRDtrackletMCM")) {
+      AliDebug(5,Form("label from mcm tracklet: %i", ((AliTRDtrackletMCM*) fTracklet)->GetLabel()));
+  }
 }
 
 AliTRDtrackletGTU::AliTRDtrackletGTU(const AliTRDtrackletGTU& tracklet) :
@@ -94,6 +98,8 @@ AliTRDtrackletGTU::AliTRDtrackletGTU(const AliTRDtrackletGTU& tracklet) :
 
 AliTRDtrackletGTU& AliTRDtrackletGTU::operator=(const AliTRDtrackletGTU &rhs)
 {
+  // assignment operator
+
   if (&rhs != this) {
     fTracklet = rhs.fTracklet;
     for (Int_t zch = 0; zch < fGtuParam->GetNZChannels(); zch++) 
@@ -113,6 +119,7 @@ AliTRDtrackletGTU::~AliTRDtrackletGTU()
   // dtor
   if (fSubChannel)
     delete [] fSubChannel; 
+  fTracklet = 0x0;
 }
 
 Int_t AliTRDtrackletGTU::Compare(const TObject *o) const {
@@ -166,12 +173,22 @@ void AliTRDtrackletGTU::SetSubChannel(Int_t zch, Int_t subch)
   fSubChannel[zch] = subch;
 }
 
-Int_t AliTRDtrackletGTU::GetSubChannel(Int_t zch) 
+Int_t AliTRDtrackletGTU::GetSubChannel(Int_t zch) const
 {
   // get the subchannel in the given z-channel
   return fSubChannel[zch];
 }
 
+Int_t AliTRDtrackletGTU::GetLabel() const
+{
+  // get the MC label for the tracklet, -1 if none
+
+    if ( fTracklet->IsA() == TClass::GetClass("AliTRDtrackletMCM"))
+       return ((AliTRDtrackletMCM*) fTracklet)->GetLabel();
+    else
+       return -1;
+}
+
 /*
 Float_t AliTRDtrackletGTU::GetPhysX(Int_t layer) 
 {