]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliAODTracklets.cxx
Removal of printf and cout messages (Per Thomas)
[u/mrichter/AliRoot.git] / STEER / AliAODTracklets.cxx
index 00b490d351b42de75f75892c2c7d5131428dba06..e9a89e4d3d70a9c8f819960b3de07b368ce4f072 100644 (file)
 
 ClassImp(AliAODTracklets)
 
-AliAODTracklets::AliAODTracklets() : TNamed(), fNTracks(0), fTheta(0), fPhi(0), fDeltaPhi(0), fLabels(0)
+AliAODTracklets::AliAODTracklets() : TNamed(), fNTracks(0), fTheta(0), fPhi(0), fDeltaPhi(0), fLabels(0), fLabelsL2(0)
 {
   // default constructor
 }
 
-AliAODTracklets::AliAODTracklets(const char* name, const char* title) : TNamed(name, title), fNTracks(0), fTheta(0), fPhi(0), fDeltaPhi(0), fLabels(0)
+AliAODTracklets::AliAODTracklets(const char* name, const char* title) : TNamed(name, title), fNTracks(0), fTheta(0), fPhi(0), fDeltaPhi(0), fLabels(0), fLabelsL2(0)
 {
   // TNamed constructor
 }
 
+AliAODTracklets::AliAODTracklets(const AliAODTracklets& tracklet) :
+    TNamed(tracklet),
+    fNTracks(tracklet.fNTracks),
+    fTheta(0),
+    fPhi(0),
+    fDeltaPhi(0),
+    fLabels(0), 
+    fLabelsL2(0)
+{
+// Copy constructor
+    fTheta = new Double32_t[fNTracks];
+    fPhi = new Double32_t[fNTracks];
+    fDeltaPhi = new Double32_t[fNTracks];
+    fLabels = new Int_t[fNTracks];
+    fLabelsL2 = new Int_t[fNTracks];
+    for (Int_t i = 0; i < fNTracks; i++) {
+       fTheta[i]    = tracklet.fTheta[i];
+       fPhi[i]      = tracklet.fPhi[i];
+       fDeltaPhi[i] = tracklet.fDeltaPhi[i];
+       fLabels[i]   = tracklet.fLabels[i];
+       fLabelsL2[i]   = tracklet.fLabelsL2[i];
+    }
+}
+
+AliAODTracklets& AliAODTracklets::operator=(const AliAODTracklets& tracklet)
+{
+// Assignment operator
+    if(&tracklet == this) return *this;
+    TNamed::operator=(tracklet);
+    fNTracks = tracklet.fNTracks;
+    for (Int_t i = 0; i < fNTracks; i++) {
+       fTheta[i]    = tracklet.fTheta[i];
+       fPhi[i]      = tracklet.fPhi[i];
+       fDeltaPhi[i] = tracklet.fDeltaPhi[i];
+       fLabels[i]   = tracklet.fLabels[i];
+       fLabelsL2[i]   = tracklet.fLabelsL2[i];
+    }
+    return *this;
+}
+
 void AliAODTracklets::CreateContainer(Int_t nTracks)
 {
   // function that creates container to store tracklets
@@ -43,15 +83,19 @@ void AliAODTracklets::CreateContainer(Int_t nTracks)
   
   fNTracks = nTracks;
 
-  if (fNTracks <= 0)
+  if (fNTracks <= 0) {
+    fNTracks = 0;
     return;
+  }
 
-  fTheta = new Float_t[fNTracks];
-  fPhi = new Float_t[fNTracks];
-  fDeltaPhi = new Float_t[fNTracks];
+  fTheta = new Double32_t[fNTracks];
+  fPhi = new Double32_t[fNTracks];
+  fDeltaPhi = new Double32_t[fNTracks];
   fLabels = new Int_t[fNTracks];
+  fLabelsL2 = new Int_t[fNTracks];
 }
 
+
 AliAODTracklets::~AliAODTracklets()
 {
   // destructor
@@ -87,10 +131,16 @@ void AliAODTracklets::DeleteContainer()
     fLabels = 0;
   }
 
+  if (fLabelsL2)
+  {
+    delete[] fLabelsL2;
+    fLabelsL2 = 0;
+  }
+
   fNTracks = 0;
 }
 
-Bool_t AliAODTracklets::SetTracklet(Int_t pos, Float_t theta, Float_t phi, Float_t deltaPhi, Int_t label)
+Bool_t AliAODTracklets::SetTracklet(Int_t pos, Double32_t theta, Double32_t phi, Double32_t deltaPhi, Int_t labelL1, Int_t labelL2)
 {
   // Sets a tracklet at the given position
 
@@ -100,7 +150,9 @@ Bool_t AliAODTracklets::SetTracklet(Int_t pos, Float_t theta, Float_t phi, Float
   fTheta[pos] = theta;
   fPhi[pos] = phi;
   fDeltaPhi[pos] = deltaPhi;
-  fLabels[pos] = label;
+  fLabels[pos] = labelL1;
+  fLabelsL2[pos] = labelL2;
 
   return kTRUE;
 }
+