]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Reset method added in AliBin in order to avoid multiple delete/new calls (F. Prino)
authormasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 27 Sep 2007 13:55:31 +0000 (13:55 +0000)
committermasera <masera@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 27 Sep 2007 13:55:31 +0000 (13:55 +0000)
ITS/AliITSClusterFinderV2.h
ITS/AliITSClusterFinderV2SDD.cxx
ITS/AliITSclustererV2.h

index d4c74c025feca11e978e7c4ae50bc01a8f386b8e..f669cd339408ebd923f8af710b505cea3c9aba83 100644 (file)
@@ -44,6 +44,7 @@ protected:
     void SetIndex(UInt_t idx) {fIndex=idx;}
     void SetQ(UShort_t q)  {fQ=q;}
     void SetMask(UInt_t m) {fMask=m;}
+    void Reset() {fIndex=0; fMask=0xFFFFFFFE; fQ=0;}
 
     void Use() {fMask&=0xFFFFFFFE;}
     Bool_t IsNotUsed() const {return (fMask&1);}
index 25c61666f74fe7b529e78df29286abf43af33a3b..edb15ab1178801e6623015048c2cdd1900451465 100644 (file)
@@ -283,11 +283,11 @@ void AliITSClusterFinderV2SDD::FindClustersSDD(AliITSRawStream* input,
       FindClustersSDD(bins, kMaxBin, kNzBins, NULL, clusters[iModule]);
       Int_t nClusters = clusters[iModule]->GetEntriesFast();
       nClustersSDD += nClusters;
-      delete [] bins[0];
-      delete [] bins[1];
+      for(Int_t iBin=0;iBin<kMaxBin; iBin++){
+       bins[0][iBin].Reset();
+       bins[1][iBin].Reset();
+      }
       if (!next) break;
-      bins[0]=new AliBin[kMaxBin];
-      bins[1]=new AliBin[kMaxBin];
     }else{
     // fill the current digit into the bins array
       AliITSCalibrationSDD* cal = (AliITSCalibrationSDD*)GetResp(input->GetModuleID());    
@@ -311,6 +311,8 @@ void AliITSClusterFinderV2SDD::FindClustersSDD(AliITSRawStream* input,
       }
     }
   }
+  delete [] bins[0];
+  delete [] bins[1];
 
   Info("FindClustersSDD", "found clusters in ITS SDD: %d", nClustersSDD);
 }
index 7c54b16854510f6df808a348b4c9f8c3c71be3a6..62617b326a0ae92b7b29f1ab7c82374f20396ab7 100644 (file)
@@ -59,6 +59,7 @@ private:
     void SetIndex(UInt_t idx) {fIndex=idx;}
     void SetQ(UShort_t q)  {fQ=q;}
     void SetMask(UInt_t m) {fMask=m;}
+    void Reset() {fIndex=0; fMask=0xFFFFFFFE; fQ=0;}
 
     void Use() {fMask&=0xFFFFFFFE;}
     Bool_t IsNotUsed() const {return (fMask&1);}