]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TOF/AliTOF.cxx
fix for valgrind reports, mem leak and invalid read
[u/mrichter/AliRoot.git] / TOF / AliTOF.cxx
index 94634a99f8f089cb5de1ee04464375b33a1e1da5..1048be2909226e7420991cf9cdfbe8389499ce13 100644 (file)
@@ -42,7 +42,6 @@
 #include <TFile.h>
 #include <TFolder.h>
 #include <TROOT.h>
-#include <TTask.h>
 #include <TTree.h>
 #include <TVirtualMC.h>
 #include <TStopwatch.h>
@@ -69,9 +68,7 @@
 
 class AliTOFcluster;
 
-extern TFile *gFile;
 extern TROOT *gROOT;
-extern TVirtualMC *gMC;
 
 extern AliRun *gAlice;
 
@@ -80,8 +77,6 @@ ClassImp(AliTOF)
 //_____________________________________________________________________________
 AliTOF::AliTOF():
   fFGeom(0x0),
-  fDTask(0x0),
-  fReTask(0x0),
   fSDigits(0x0),
   fNSDigits(0),
   fReconParticles(0x0),
@@ -109,8 +104,6 @@ AliTOF::AliTOF(const char *name, const char *title, Option_t *option)
        : 
   AliDetector(name,title),
   fFGeom(0x0),
-  fDTask(0x0),
-  fReTask(0x0),
   fSDigits(0x0),
   fNSDigits(0),
   fReconParticles(0x0),
@@ -176,7 +169,7 @@ AliTOF::AliTOF(const char *name, const char *title, Option_t *option)
 }
 
 //____________________________________________________________________________
-void AliTOF::SetTOFSectors(Int_t *sectors)
+void AliTOF::SetTOFSectors(Int_t * const sectors)
 {
   // Setter for partial/full TOF configuration
 
@@ -198,7 +191,6 @@ void AliTOF::GetTOFSectors(Int_t *sectors) const
 void AliTOF::CreateTOFFolders()
 {
   // create the ALICE TFolder
-  // create the ALICE TTasks
   // create the ALICE main TFolder
   // to be done by AliRun
 
@@ -211,29 +203,6 @@ void AliTOF::CreateTOFFolders()
   aliceF->SetOwner() ;
   // geometry folder
   TFolder * geomF = aliceF->AddFolder("Geometry", "Geometry objects") ;
-  TFolder * aliceT  = alice->AddFolder("tasks", "Alice tasks Folder") ;   
-  //  make it the owner of the objects that it contains
-  aliceT->SetOwner() ;
-
-  TTask * aliceDi = new TTask("(S)Digitizer", "Alice SDigitizer & Digitizer") ;
-  aliceT->Add(aliceDi);
-
-  TTask * aliceRe = new TTask("Reconstructioner", "Alice Reconstructioner") ;
-  aliceT->Add(aliceRe);
-
-  char * tempo = new char[80] ;
-
-  // creates the TOF Digitizer and adds it to alice main (S)Digitizer task
-  sprintf(tempo, "%sDigitizers container",GetName() ) ;
-  fDTask = new TTask(GetName(), tempo);
-  aliceDi->Add(fDTask) ;
-
-  // creates the TOF reconstructioner and adds it to alice main Reconstructioner task
-  sprintf(tempo, "%sReconstructioner container",GetName() ) ;
-  fReTask = new TTask(GetName(), tempo);
-  aliceRe->Add(fReTask) ;
-
-  delete [] tempo ;
  
   // creates the TOF geometry  folder
   geomF->AddFolder("TOF", "Geometry for TOF") ;
@@ -244,7 +213,6 @@ AliTOF::~AliTOF()
 {
   // dtor:
   // it remove also the alice folder 
-  // and task that TOF creates instead of AliRun
   /* PH Temporarily commented because of problems
   TFolder * alice = (TFolder*)gROOT->GetListOfBrowsables()->FindObject("FPAlice") ;
   delete alice;
@@ -418,40 +386,6 @@ void AliTOF::CreateGeometry()
 
 }
 
-//_____________________________________________________________________________
-void AliTOF::DrawModule() const
-{
-  //
-  // Draw a shaded view of the common part of the TOF geometry
-  //
-
-  AliInfo(" Drawing of AliTOF"); 
-  // Set everything unseen
-  gMC->Gsatt("*", "seen", -1);
-  // 
-  // Set ALIC mother transparent
-  gMC->Gsatt("ALIC","SEEN",0);
-  //
-  // Set the volumes visible
-  gMC->Gsatt("FTOA","SEEN",1);
-  gMC->Gsatt("FTOB","SEEN",1);
-  gMC->Gsatt("FTOC","SEEN",1);
-  gMC->Gsatt("FLTA","SEEN",1);
-  gMC->Gsatt("FLTB","SEEN",1);
-  gMC->Gsatt("FLTC","SEEN",1);
-  gMC->Gsatt("FSTR","SEEN",1);
-  //
-  gMC->Gdopt("hide", "on");
-  gMC->Gdopt("shad", "on");
-  gMC->Gsatt("*", "fill", 7);
-  gMC->SetClipBox(".");
-  gMC->SetClipBox("*", 0, 1000, -1000, 1000, -1000, 1000);
-  gMC->DefaultRange();
-  gMC->Gdraw("alic", 40, 30, 0, 12, 9.5, .02, .02);
-  gMC->Gdhead(1111, "Time Of Flight");
-  gMC->Gdman(18, 4, "MAN");
-  gMC->Gdopt("hide","off");
-}
 
 //___________________________________________
 void AliTOF::ResetHits ()
@@ -518,8 +452,9 @@ void AliTOF::MakeBranch(Option_t* option)
   AliDetector::MakeBranch(option);
 
   Int_t buffersize = 4000;
-  Char_t branchname[10];
-  sprintf(branchname,"%s",GetName());
+  const Int_t kSize=10;
+  Char_t branchname[kSize];
+  snprintf(branchname,kSize,"%s",GetName());
   
   const char *oD = strstr(option,"D");
   const char *oS = strstr(option,"S");
@@ -584,8 +519,8 @@ void AliTOF::Hits2SDigits()
   //ToAliDebug(1, sd.Print(""));
   //AliInfo("ToAliDebug");
 
-  //sd.Exec("all") ;
-  sd.Exec("partial") ;
+  //sd.Digitize("all") ;
+  sd.Digitize("partial") ;
 
   AliDebug(2,"I am sorting from AliTOF class");
 
@@ -607,19 +542,20 @@ void AliTOF::Hits2SDigits(Int_t evNumber1, Int_t evNumber2)
   AliTOFSDigitizer sd((rl->GetFileName()).Data(),evNumber1,evNumber2) ;
   ToAliDebug(1, sd.Print(""));
 
-  sd.Exec("") ;
+  sd.Digitize("") ;
 
 }
 
 //___________________________________________________________________________
-AliDigitizer* AliTOF::CreateDigitizer(AliRunDigitizer* manager) const
+AliDigitizer* AliTOF::CreateDigitizer(AliDigitizationInput* digInput) const
 {
   AliDebug(2,"I am creating the TOF digitizer");
-  return new AliTOFDigitizer(manager);
+  return new AliTOFDigitizer(digInput);
 }
 
 //___________________________________________________________________________
-Bool_t AliTOF::CheckOverlap(Int_t* vol, Int_t* digit,Int_t Track)
+Bool_t AliTOF::CheckOverlap(const Int_t * const vol,
+                           Int_t* digit,Int_t Track)
 {
 //
 // Checks if 2 or more hits belong to the same pad.