]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOFAlignment.cxx
Improved memory leaks in AliTOFtracker* classes: additional solution for bug #66136
[u/mrichter/AliRoot.git] / TOF / AliTOFAlignment.cxx
index b0b519b62b1ba5ad0c4b483e6d493dae5342abad..a6780a36cd977ed090c82e2d88d71ab8dde4d983 100644 (file)
@@ -134,15 +134,13 @@ AliTOFAlignment::AliTOFAlignment():
 }
 //_____________________________________________________________________________
 AliTOFAlignment::AliTOFAlignment(const AliTOFAlignment &t):
-  TTask("AliTOFAlignment",""),
-  fNTOFAlignObj(0),
+  TTask(t),
+  fNTOFAlignObj(t.fNTOFAlignObj),
   fTOFmgr(0x0),
-  fTOFAlignObjArray(0x0)
+  fTOFAlignObjArray(t.fTOFAlignObjArray)
 { 
   //AliTOFAlignment copy Ctor
 
-  fNTOFAlignObj=t.fNTOFAlignObj;
-  fTOFAlignObjArray=t.fTOFAlignObjArray;
   //AliTOFalignment main Ctor
   for(Int_t i=0; i<18;i++)
      for(Int_t j=0; j<5; j++)
@@ -155,9 +153,13 @@ AliTOFAlignment::AliTOFAlignment(const AliTOFAlignment &t):
 AliTOFAlignment& AliTOFAlignment::operator=(const AliTOFAlignment &t){ 
   //AliTOFAlignment assignment operator
 
-  this->fNTOFAlignObj=t.fNTOFAlignObj;
-  this->fTOFmgr=t.fTOFmgr;
-  this->fTOFAlignObjArray=t.fTOFAlignObjArray;
+  if (&t == this)
+    return *this;
+
+  TTask::operator=(t);
+  fNTOFAlignObj=t.fNTOFAlignObj;
+  fTOFmgr=t.fTOFmgr;
+  fTOFAlignObjArray=t.fTOFAlignObjArray;
   return *this;
 
 }
@@ -168,7 +170,7 @@ AliTOFAlignment::~AliTOFAlignment() {
 }
 
 //_____________________________________________________________________________
-void AliTOFAlignment::Smear( Float_t *tr, Float_t *rot)
+void AliTOFAlignment::Smear(Float_t * const tr, Float_t * const rot)
 {
   //Introduce Random Offset/Tilts
   fTOFAlignObjArray = new TObjArray(kMaxAlignObj);
@@ -203,7 +205,7 @@ void AliTOFAlignment::Smear( Float_t *tr, Float_t *rot)
 }
 
 //_____________________________________________________________________________
-void AliTOFAlignment::Align( Float_t *tr, Float_t *rot)
+void AliTOFAlignment::Align(Float_t * const tr, Float_t * const rot)
 {
   //Introduce Offset/Tilts
 
@@ -235,11 +237,11 @@ void AliTOFAlignment::Align( Float_t *tr, Float_t *rot)
   AliInfo(Form("Number of Alignable Volumes: %d",fNTOFAlignObj));
 }
 //_____________________________________________________________________________
-void AliTOFAlignment::WriteParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun)
+void AliTOFAlignment::WriteParOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun)
 {
   //Write Align Par on CDB
   AliCDBManager *man = AliCDBManager::Instance();
-  Char_t *sel1 = "AlignPar" ;
+  const Char_t *sel1 = "AlignPar" ;
   Char_t  out[100];
   sprintf(out,"%s/%s",sel,sel1); 
   AliCDBId idTOFAlign(out,minrun,maxrun);
@@ -249,11 +251,11 @@ void AliTOFAlignment::WriteParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun)
   man->Put(fTOFAlignObjArray,idTOFAlign,mdTOFAlign);
 }
 //_____________________________________________________________________________
-void AliTOFAlignment::ReadParFromCDB(Char_t *sel, Int_t nrun)
+void AliTOFAlignment::ReadParFromCDB(const Char_t *sel, Int_t nrun)
 {
   //Read Align Par from CDB
   AliCDBManager *man = AliCDBManager::Instance();
-  Char_t *sel1 = "AlignPar" ;
+  const Char_t *sel1 = "AlignPar" ;
   Char_t  out[100];
   sprintf(out,"%s/%s",sel,sel1); 
   AliCDBEntry *entry = man->Get(out,nrun);
@@ -267,11 +269,11 @@ void AliTOFAlignment::ReadParFromCDB(Char_t *sel, Int_t nrun)
 
 }
 //_____________________________________________________________________________
-void AliTOFAlignment::WriteSimParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun)
+void AliTOFAlignment::WriteSimParOnCDB(const Char_t *sel, Int_t minrun, Int_t maxrun)
 {
   //Write Sim Align Par on CDB
   AliCDBManager *man = AliCDBManager::Instance();
-  Char_t *sel1 = "AlignSimPar" ;
+  const Char_t *sel1 = "AlignSimPar" ;
   Char_t  out[100];
   sprintf(out,"%s/%s",sel,sel1); 
   AliCDBId idTOFAlign(out,minrun,maxrun);
@@ -281,10 +283,10 @@ void AliTOFAlignment::WriteSimParOnCDB(Char_t *sel, Int_t minrun, Int_t maxrun)
   man->Put(fTOFAlignObjArray,idTOFAlign,mdTOFAlign);
 }
 //_____________________________________________________________________________
-void AliTOFAlignment::ReadSimParFromCDB(Char_t *sel, Int_t nrun){
+void AliTOFAlignment::ReadSimParFromCDB(const Char_t *sel, Int_t nrun){
   //Read Sim Align Par from CDB
   AliCDBManager *man = AliCDBManager::Instance();
-  Char_t *sel1 = "AlignSimPar" ;
+  const Char_t *sel1 = "AlignSimPar" ;
   Char_t  out[100];
   sprintf(out,"%s/%s",sel,sel1); 
   AliCDBEntry *entry = man->Get(out,nrun);
@@ -401,7 +403,7 @@ void AliTOFAlignment::BuildGeomForSurvey()
 }
 
 //_____________________________________________________________________________
-void AliTOFAlignment::InsertMisAlignment(Float_t *mis)
+void AliTOFAlignment::InsertMisAlignment(Float_t * const mis)
 {
   // Now Apply the Displacements and store the misaligned FM positions...
   //