]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliLoader.cxx
Allowing coding conventions to be checked
[u/mrichter/AliRoot.git] / STEER / AliLoader.cxx
index f9b0b87761f14c82b4349942b91986b3b68b2058..dadc3ed9b6de474629cf126110d66d23d4a71e74 100644 (file)
@@ -190,6 +190,26 @@ AliDataLoader* AliLoader::GetDataLoader(const char* name)
   return dynamic_cast<AliDataLoader*>(fDataLoaders->FindObject(name));
 }
 /*****************************************************************************/ 
+void AliLoader::AddDataLoader(AliDataLoader* dl)
+{
+  //
+  // Adds a data loader
+  //
+  if (dl == 0x0)
+   {
+     Error("AddDataLoader","Pointer is NULL");
+     return;
+   }
+  if (fDataLoaders->FindObject(dl->GetName()))
+   {
+     Error("AddDataLoader","Such a loader exists");
+     return;
+   }
+  fDataLoaders->AddLast(dl);
+  dl->SetEventFolder(fEventFolder);
+  dl->SetFolder(GetDetectorDataFolder()); //Must exists - ensure register is called before
+}
+/*****************************************************************************/ 
 
 Int_t AliLoader::SetEvent()
 {
@@ -264,7 +284,7 @@ TFolder* AliLoader::GetDataFolder()
 //returns the folder speciofic to given detector e.g. /Folders/Event/Data/
  if (!fDataFolder)
   {
-   fDataFolder =  dynamic_cast<TFolder*>(GetEventFolder()->FindObject(AliConfig::fgkDataFolderName));
+   fDataFolder =  dynamic_cast<TFolder*>(GetEventFolder()->FindObject(AliConfig::Instance()->GetDataFolderName()));
    
    if (!fDataFolder)
     {
@@ -282,7 +302,7 @@ TFolder* AliLoader::GetTasksFolder()
 //Returns pointer to Folder with Alice Tasks
  if (!fTasksFolder)
   {
-   fTasksFolder =  dynamic_cast<TFolder*>(GetTopFolder()->FindObject(AliConfig::fgkTasksFolderName));
+   fTasksFolder =  dynamic_cast<TFolder*>(GetTopFolder()->FindObject(AliConfig::GetTasksFolderName()));
    
    if (!fTasksFolder)
     {
@@ -504,7 +524,7 @@ void AliLoader::MakeTree(Option_t *option)
  }
 
 /*****************************************************************************/ 
-Int_t  AliLoader::WriteHits(Option_t* opt)
+Int_t  AliLoader::WriteHits(Option_t* opt) const
  {
    // Writes hits
    AliDataLoader* dl = GetHitsDataLoader();
@@ -513,7 +533,7 @@ Int_t  AliLoader::WriteHits(Option_t* opt)
  }
 /*****************************************************************************/ 
 
-Int_t AliLoader::WriteSDigits(Option_t* opt)
+Int_t AliLoader::WriteSDigits(Option_t* opt) const
  {
    // Writes summable digits
    AliDataLoader* dl = GetSDigitsDataLoader();
@@ -523,35 +543,35 @@ Int_t AliLoader::WriteSDigits(Option_t* opt)
  
 /*****************************************************************************/ 
 
-Int_t AliLoader::PostSDigitizer(TTask* sdzer)
+Int_t AliLoader::PostSDigitizer(TTask* sdzer) const
 {
   // Posts sdigitizer
   return GetSDigitsDataLoader()->GetBaseTaskLoader()->Post(sdzer);
 }
 /*****************************************************************************/ 
 
-Int_t AliLoader::PostDigitizer(AliDigitizer* task)
+Int_t AliLoader::PostDigitizer(AliDigitizer* task) const
  {
    // Posts digitizer
   return GetDigitsDataLoader()->GetBaseTaskLoader()->Post(task);
  }
 /*****************************************************************************/ 
 
-Int_t AliLoader::PostReconstructioner(TTask* task)
+Int_t AliLoader::PostReconstructioner(TTask* task) const
  {
    // Posts Reconstructioner
   return GetRecPointsDataLoader()->GetBaseTaskLoader()->Post(task);
  }
 /*****************************************************************************/ 
 
-Int_t AliLoader::PostTracker(TTask* task)
+Int_t AliLoader::PostTracker(TTask* task) const
  {
    // Posts a tracker
   return GetTracksDataLoader()->GetBaseTaskLoader()->Post(task);
  }
 /*****************************************************************************/ 
 
-Int_t AliLoader::PostPIDTask(TTask* task)
+Int_t AliLoader::PostPIDTask(TTask* task) const
  {
   // Posts particle identification task
   return GetRecParticlesDataLoader()->GetBaseTaskLoader()->Post(task);
@@ -647,81 +667,61 @@ void AliLoader::CleanFolders()
 void AliLoader::CleanSDigitizer()
 {
 //removes and deletes detector task from Run Task
-  TTask* task = AliRunLoader::GetRunSDigitizer();
-  if (task == 0x0)
-   {
-     Error("CleanSDigitizer","Can not get RunSDigitizer from folder. Can not clean");
-     return;
-   }
-
-  if (GetDebug()) Info("CleanSDigitizer","Attempting to delete S Digitizer");
-  delete task->GetListOfTasks()->Remove(SDigitizer()); //TTList::Remove does not delete object
+ if ( GetSDigitsDataLoader()->GetBaseTaskLoader() == 0x0 )
+  {
+    Warning("CleanSDigitizer","Task Loader for SDigits does not exist");
+    return;
+  }
+ GetSDigitsDataLoader()->GetBaseTaskLoader()->Clean();
 }
 /*****************************************************************************/ 
 
 void AliLoader::CleanDigitizer()
 {
 //removes and deletes detector task from Run Task
-  TTask* task = AliRunLoader::GetRunDigitizer();
-  if (task == 0x0)
-   {
-     Error("CleanDigitizer","Can not get RunDigitizer from folder. Can not clean");
-     return;
-   }
-
-  if (GetDebug()) 
-   Info("CleanDigitizer","Attempting to delete Digitizer %X",
-         task->GetListOfTasks()->Remove(Digitizer()));
-  delete task->GetListOfTasks()->Remove(Digitizer()); //TTList::Remove does not delete object
+ if ( GetDigitsDataLoader()->GetBaseTaskLoader() == 0x0 )
+  {
+    Warning("CleanDigitizer","Task Loader for Digits does not exist");
+    return;
+  }
+ GetDigitsDataLoader()->GetBaseTaskLoader()->Clean();
 }
 /*****************************************************************************/ 
 
 void AliLoader::CleanReconstructioner()
 {
 //removes and deletes detector Reconstructioner from Run Reconstructioner
-  TTask* task = AliRunLoader::GetRunReconstructioner();
-  if (task == 0x0)
-   {
-     Error("CleanReconstructioner","Can not get RunReconstructioner from folder. Can not clean");
-     return;
-   }
-
-  if (GetDebug()) 
-   Info("CleanReconstructioner","Attempting to delete Reconstructioner");
-  delete task->GetListOfTasks()->Remove(Reconstructioner()); //TTList::Remove does not delete object
+ if ( GetRecPointsDataLoader()->GetBaseTaskLoader() == 0x0 )
+  {
+    Warning("CleanSDigitizer","Task Loader for SDigits does not exist");
+    return;
+  }
+ GetRecPointsDataLoader()->GetBaseTaskLoader()->Clean();
 }
 /*****************************************************************************/ 
 
 void AliLoader::CleanTracker()
 {
-//removes and deletes detector tracker from Run Tracker
-  TTask* task = AliRunLoader::GetRunTracker();
-  if (task == 0x0)
-   {
-     Error("CleanTracker","Can not get RunTracker from folder. Can not clean");
-     return;
-   }
-
-  if (GetDebug()) 
-   Info("CleanTracker","Attempting to delete Tracker %X",
-         task->GetListOfTasks()->Remove(Tracker()));
-  delete task->GetListOfTasks()->Remove(Tracker()); //TTList::Remove does not delete object
+//removes and deletes detector task from Run Task
+ if ( GetTracksDataLoader()->GetBaseTaskLoader() == 0x0 )
+  {
+    Warning("CleanTracker","Task Loader for Tracks does not exist");
+    return;
+  }
+ GetTracksDataLoader()->GetBaseTaskLoader()->Clean();
 }
 /*****************************************************************************/ 
 
 void AliLoader::CleanPIDTask()
 {
 //removes and deletes detector Reconstructioner from Run Reconstructioner
-  TTask* task = AliRunLoader::GetRunPIDTask();
-  if (task == 0x0)
-   {
-     Error("CleanPIDTask","Can not get Run PID Task from folder. Can not clean");
-     return;
-   }
 
-  if (GetDebug()) 
-   Info("CleanPIDTask","Attempting to delete PID Task");
-  delete task->GetListOfTasks()->Remove(PIDTask()); //TTList::Remove does not delete object
+ if (  GetRecParticlesDataLoader()->GetBaseTaskLoader() == 0x0 )
+  {
+    Warning("CleanPIDTask","Task Loader for Reconstructed Particles does not exist");
+    return;
+  }
+  GetRecParticlesDataLoader()->GetBaseTaskLoader()->Clean();
 }
 /*****************************************************************************/ 
 
@@ -809,7 +809,7 @@ AliRunLoader* AliLoader::GetRunLoader()
 {
 //gets the run-loader from event folder
   AliRunLoader* rg = 0x0;
-  TObject * obj = GetEventFolder()->FindObject(AliRunLoader::fgkRunLoaderName);
+  TObject * obj = GetEventFolder()->FindObject(AliRunLoader::GetRunLoaderName());
   if (obj) rg = dynamic_cast<AliRunLoader*>(obj);
   return rg;
 }
@@ -839,7 +839,7 @@ void  AliLoader::SetDirName(TString& dirname)
 
 /*****************************************************************************/ 
 
-void AliLoader::SetDigitsFileNameSuffix(const TString& suffix)
+void AliLoader::SetDigitsFileNameSuffix(const TString& suffix) const
 {
   //adds the suffix before ".root", 
   //e.g. TPC.Digits.root -> TPC.DigitsMerged.root