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()
{
//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)
{
//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)
{
}
/*****************************************************************************/
-Int_t AliLoader::WriteHits(Option_t* opt)
+Int_t AliLoader::WriteHits(Option_t* opt) const
{
// Writes hits
AliDataLoader* dl = GetHitsDataLoader();
}
/*****************************************************************************/
-Int_t AliLoader::WriteSDigits(Option_t* opt)
+Int_t AliLoader::WriteSDigits(Option_t* opt) const
{
// Writes summable digits
AliDataLoader* dl = GetSDigitsDataLoader();
/*****************************************************************************/
-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);
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();
}
/*****************************************************************************/
{
//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;
}
/*****************************************************************************/
-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