]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Fixes in the assignment operators (Constantin)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 29 Jan 2012 18:03:59 +0000 (18:03 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sun, 29 Jan 2012 18:03:59 +0000 (18:03 +0000)
STEER/ESD/AliESDHeader.cxx
STEER/ESD/AliESDRun.cxx
STEER/ESD/AliTOFHeader.cxx
STEER/ESD/AliTriggerScalersRecordESD.cxx

index f64f94dd93825a46d66699cf9c28c8661baabcde..35f65c1e961643a69f856225150cb39390667366 100644 (file)
@@ -90,8 +90,6 @@ AliESDHeader::AliESDHeader(const AliESDHeader &header) :
   fIRBufferArray()
 {
   // copy constructor
-  SetName(header.fName);
-  SetTitle(header.fTitle);
   for(Int_t i = 0; i<kNMaxIR ; i++) {
     if(header.fIRArray[i])fIRArray[i] = new AliTriggerIR(*header.fIRArray[i]);
     else fIRArray[i]=0;
@@ -127,6 +125,7 @@ AliESDHeader& AliESDHeader::operator=(const AliESDHeader &header)
     fTriggerScalers = header.fTriggerScalers;
     fTriggerScalersDeltaEvent = header.fTriggerScalersDeltaEvent;
     fTriggerScalersDeltaRun = header.fTriggerScalersDeltaRun;
+    delete fCTPConfig;
     fCTPConfig = header.fCTPConfig;
 
     fTriggerInputsNames.Clear();
@@ -135,11 +134,10 @@ AliESDHeader& AliESDHeader::operator=(const AliESDHeader &header)
       if (str) fTriggerInputsNames.AddAt(new TNamed(*str),i);
     }
     for(Int_t i = 0; i<kNMaxIR ; i++) {
+      delete fIRArray[i];
        if(header.fIRArray[i])fIRArray[i] = new AliTriggerIR(*header.fIRArray[i]);
        else fIRArray[i]=0;
     }
-    SetName(header.fName);
-    SetTitle(header.fTitle);
 
     fIRBufferArray.Delete();
     for(Int_t i = 0; i < (header.fIRBufferArray).GetEntries(); ++i) {
index c5a845f03ed29d69d462890f0dbcf49f8604fd25..ddf7cc3ba5fbae9f16b0a96cc18c2de3912e0540 100644 (file)
@@ -143,18 +143,20 @@ AliESDRun& AliESDRun::operator=(const AliESDRun &esd)
     for (int ib=2;ib--;) for (int it=2;it--;) fMeanBeamInt[ib][it] = esd.fMeanBeamInt[ib][it];
 
     for(Int_t m=0; m<kNPHOSMatrix; m++){
+      delete fPHOSMatrix[m];
       if(esd.fPHOSMatrix[m])
        fPHOSMatrix[m]=new TGeoHMatrix(*(esd.fPHOSMatrix[m])) ;
       else
        fPHOSMatrix[m]=0;
     }
          
-       for(Int_t sm=0; sm<kNEMCALMatrix; sm++){
-         if(esd.fEMCALMatrix[sm])
-                 fEMCALMatrix[sm]=new TGeoHMatrix(*(esd.fEMCALMatrix[sm])) ;
-         else
-                 fEMCALMatrix[sm]=0;
-       }
+    for(Int_t sm=0; sm<kNEMCALMatrix; sm++){
+      delete fEMCALMatrix[sm];
+      if(esd.fEMCALMatrix[sm])
+        fEMCALMatrix[sm]=new TGeoHMatrix(*(esd.fEMCALMatrix[sm])) ;
+      else
+        fEMCALMatrix[sm]=0;
+    }
   } 
   for (Int_t i=0; i<kT0spreadSize;i++) fT0spread[i]=esd.fT0spread[i];
   for (Int_t it=0; it<8; it++) fCaloTriggerType[it]=esd.fCaloTriggerType[it];
index 886343cd87facf2a60ac66aa355c8824038f1ad8..c47c413256034e7f1371aff35d684c4d94158196 100644 (file)
@@ -111,8 +111,11 @@ AliTOFHeader &AliTOFHeader::operator=(const AliTOFHeader &source){
     fDefaultEventTimeValue=source.fDefaultEventTimeValue;
     fDefaultEventTimeRes=source.fDefaultEventTimeRes;
     fNbins=source.fNbins;
+    delete fEventTimeValues;
     fEventTimeValues=new TArrayF(fNbins);
+    delete fEventTimeRes;
     fEventTimeRes=new TArrayF(fNbins);
+    delete fNvalues;
     fNvalues=new TArrayI(fNbins);
     fTOFtimeResolution=source.fTOFtimeResolution;
     fT0spread=source.fT0spread;
index ec730b94ef18d39b3dd01c4354f0c00c0d5503db..f3ca5988a5e5e9829840434b5e5a58bdd03352c5 100644 (file)
@@ -61,6 +61,7 @@ AliTriggerScalersRecordESD& AliTriggerScalersRecordESD:: operator=(const AliTrig
 if(&rec == this) return *this;\r
 ((TObject *)this)->operator=(rec);\r
 fTimestamp=rec.fTimestamp;\r
+fScalers.Delete();\r
 for (Int_t i = 0; i < rec.fScalers.GetEntriesFast(); i++) {\r
     if (rec.fScalers[i]) fScalers.Add(rec.fScalers[i]->Clone());\r
   }\r