]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliAODCluster.cxx
Fixes
[u/mrichter/AliRoot.git] / STEER / AliAODCluster.cxx
index 8c49de0a482a1c374dea20d23a12b106fda34d9b..def99eaa0c5f98ef4a0206700b4b3548025ba0da 100644 (file)
@@ -60,6 +60,8 @@ AliAODCluster::AliAODCluster(Int_t id,
   fType(ttype)
 {
   // constructor
+  for (Int_t i = 0; i <  3; i++) fPosition[i] = 0.;
+  for (Int_t i = 0; i < 13; i++) fPID[i]      = 0;
  
   if(x)   {for (Int_t i = 0; i < 3  ; i++) SetPositionAt(x[i]  ,i);}
   if(pid) {for (Int_t i = 0; i < 13 ; i++) SetPIDAt     (pid[i],i);}
@@ -85,6 +87,9 @@ AliAODCluster::AliAODCluster(Int_t id,
   fType(ttype)
 {
   // constructor
+  for (Int_t i = 0; i <  3; i++) fPosition[i] = 0.;
+  for (Int_t i = 0; i < 13; i++) fPID[i]      = 0;
+
   if(x)   {for (Int_t i = 0; i < 3  ; i++) SetPositionAt(x[i]  ,i);}
   if(pid) {for (Int_t i = 0; i < 13 ; i++) SetPIDAt     (pid[i],i);}
   SetLabel(label, nLabel);
@@ -99,6 +104,14 @@ AliAODCluster::~AliAODCluster()
   RemoveLabel();
 }
 
+//______________________________________________________________________________
+void AliAODCluster::Clear(const Option_t*) 
+{
+  // Clear
+  
+  RemoveLabel();
+}
+
 
 //______________________________________________________________________________
 AliAODCluster::AliAODCluster(const AliAODCluster& clus) :
@@ -113,8 +126,8 @@ AliAODCluster::AliAODCluster(const AliAODCluster& clus) :
 {
   // Copy constructor
 
-  if(fPosition) {for(Int_t i = 0; i < 3  ; i++) fPosition[i] = clus.fPosition[i];}
-  if(fPID)      {for(Int_t i = 0; i < 13 ; i++) fPID[i]      = clus.fPID[i];}
+  for(Int_t i = 0; i < 3  ; i++) fPosition[i]  = clus.fPosition[i];
+  for(Int_t i = 0; i < 13 ; i++)  fPID[i]      = clus.fPID[i];
 
   SetLabel(clus.fLabel, clus.fNLabel);
 }
@@ -125,8 +138,8 @@ AliAODCluster& AliAODCluster::operator=(const AliAODCluster& clus)
   // Assignment operator
   if(this!=&clus) {
     
-       if(fPosition) {for(Int_t i = 0; i < 3 ;  i++) fPosition[i] = clus.fPosition[i];}
-       if(fPID)      {for(Int_t i = 0; i < 13 ; i++) fPID[i]      = clus.fPID[i];}
+       for(Int_t i = 0; i < 3 ;  i++) fPosition[i] = clus.fPosition[i];
+       for(Int_t i = 0; i < 13 ; i++) fPID[i]      = clus.fPID[i];
     
     fEnergy = clus.fEnergy;
     fChi2 = clus.fChi2;
@@ -165,27 +178,22 @@ UShort_t AliAODCluster::GetMostProbablePID() const
   Int_t nPID = 13;
   UShort_t unknown = AliVCluster::kUnknown;
   
-  if (fPID) {
-    UShort_t loc = unknown;
-    Double_t max = 0.;
-    Bool_t allTheSame = kTRUE;
-    
-    for (Int_t iPID = 0; iPID < nPID; iPID++) {
-      if (fPID[iPID] >= max) {
-        if (fPID[iPID] > max) {
-          allTheSame = kFALSE;
-          max = fPID[iPID];
-          loc = (UShort_t)iPID;
-        } else {
-          allTheSame = kTRUE;
-        }
+  UShort_t loc = unknown;
+  Double_t max = 0.;
+  Bool_t allTheSame = kTRUE;
+  
+  for (Int_t iPID = 0; iPID < nPID; iPID++) {
+    if (fPID[iPID] >= max) {
+      if (fPID[iPID] > max) {
+       allTheSame = kFALSE;
+       max = fPID[iPID];
+       loc = (UShort_t)iPID;
+      } else {
+       allTheSame = kTRUE;
       }
     }
-    
-    return allTheSame ? unknown : loc;
-  } else {
-    return unknown;
   }
+  return allTheSame ? unknown : loc;
 }
 
 //______________________________________________________________________________