Copy arrays in assignment instead of the pointer; avoid double delete.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 13 May 2008 14:32:32 +0000 (14:32 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 13 May 2008 14:32:32 +0000 (14:32 +0000)
STEER/AliAODCaloCluster.cxx
STEER/AliAODCaloCluster.h

index 4b8a2765f65b7ac8ace381e0d3c8607110dbaf49..be5beaea2be630b15278b20fef8c11c3a6b799e2 100644 (file)
@@ -215,3 +215,22 @@ void AliAODCaloCluster::GetMomentum(TLorentzVector& p, Double_t *vertex ) {
   p.SetPxPyPzE( energy*pos[0]/r,  energy*pos[1]/r,  energy*pos[2]/r,  energy) ; 
   
 }
+
+
+void  AliAODCaloCluster::SetCellsAbsId(UShort_t *array)
+{
+    //  Set the array of cell absId numbers 
+    if (fNCells) {
+       fCellsAbsId = new  UShort_t[fNCells];
+       for (Int_t i = 0; i < fNCells; i++) fCellsAbsId[i] = array[i];
+    }
+}
+
+void  AliAODCaloCluster::SetCellsAmplitudeFraction(Double32_t *array)
+{
+    //  Set the array of cell amplitude fraction
+    if (fNCells) {
+       fCellsAmpFraction = new  Double32_t[fNCells];
+       for (Int_t i = 0; i < fNCells; i++) fCellsAmpFraction[i] = array[i];
+    }
+}
index 6a7da2922afd2f054b48b8907c1886e1d95e70bb..24d937c00435aabd31f4eaf993b4b750f57d9003 100644 (file)
@@ -61,10 +61,10 @@ class AliAODCaloCluster : public AliAODCluster {
   void SetNCells(Int_t n) { fNCells = n;}
   Double_t GetNCells() const   { return fNCells;}
   
-  void SetCellsAbsId(UShort_t *array) { fCellsAbsId = array; }
+  void SetCellsAbsId(UShort_t *array);
   UShort_t *GetCellsAbsId() {return  fCellsAbsId;}
   
-  void SetCellsAmplitudeFraction(Double32_t *array) { fCellsAmpFraction = array; }
+  void SetCellsAmplitudeFraction(Double32_t *array);
   Double32_t *GetCellsAmplitudeFraction() {return  fCellsAmpFraction;}
   
   Int_t GetCellAbsId(Int_t i) const {