delete fReferences;
}
SetBit(kIsOwner, kFALSE);
- }
+ } else if(fReferences) delete fReferences;
fReferences = ref.fReferences;
- Int_t size = (AliPID::kSPECIES+1)*(kNPBins+1);
+ Int_t size = (AliPID::kSPECIES+1)*(kNPBins+1);
memcpy(fMapRefHists, ref.fMapRefHists, sizeof(Double_t) * size);
fPIDmethod = ref.fPIDmethod;
//
// Destructor
//
- if(fReferences && IsOwner()){
- fReferences->Delete();
- delete fReferences;
+ if(IsOwner()){
+ // Destroy histos
+ if(fReferences) fReferences->Delete();
}
+ if(fReferences) delete fReferences;
}
//____________________________________________________________
in->Close();
AliDebug(2, Form("Successfully loaded %d Reference Histograms", arrayPos));
+ SetBit(kIsOwner, kTRUE);
delete in;
return kTRUE;
}
TObjArray *ctmp = new TObjArray();
for(Int_t ien = 0; ien < fReferences->GetEntriesFast(); ien++)
ctmp->AddAt(fReferences->UncheckedAt(ien)->Clone(), ien);
+ delete fReferences;
fReferences = ctmp;
SetBit(kIsOwner, kTRUE);
}