// //
//////////////////////////////////////////////////////////////////////
+#include <TBranch.h>
+#include <TError.h>
+#include <TFile.h>
+#include <TFolder.h>
+#include <TGeometry.h>
+#include <TObjArray.h>
#include <TROOT.h>
#include <TString.h>
-#include <TFolder.h>
#include <TTask.h>
-#include <TFile.h>
#include <TTree.h>
-#include <TBranch.h>
-#include <TGeometry.h>
-#include <TError.h>
-#include <TObjArray.h>
#include "AliRun.h"
#include "AliConfig.h"
fUnixDirName(".")
{
AliConfig::Instance();//force to build the folder structure
+ if (!fgRunLoader) fgRunLoader = this;
}
/**************************************************************************/
{
//ctor
SetEventFolderName(eventfoldername);
+ if (!fgRunLoader) fgRunLoader = this;
}
/**************************************************************************/
}
/**************************************************************************/
-AliRunLoader::AliRunLoader(TFolder* topfolder):TNamed(fgkRunLoaderName,fgkRunLoaderName)
+AliRunLoader::AliRunLoader(TFolder* topfolder):
+ TNamed(fgkRunLoaderName,fgkRunLoaderName),
+ fLoaders(new TObjArray()),
+ fEventFolder(topfolder),
+ fCurrentEvent(0),
+ fGAFile(0x0),
+ fHeader(0x0),
+ fStack(0x0),
+ fKineDataLoader(new AliDataLoader(fgkDefaultKineFileName,fgkKineContainerName,"Kinematics")),
+ fTrackRefsDataLoader(new AliDataLoader(fgkDefaultTrackRefsFileName,fgkTrackRefsContainerName,"Track References")),
+ fNEventsPerFile(1),
+ fUnixDirName(".")
{
//ctor
+ if (!fgRunLoader) fgRunLoader = this;
if(topfolder == 0x0)
{
Fatal("AliRunLoader(TFolder*)","Parameter is NULL");
return;
}
- fEventFolder = topfolder;
TObject* obj = fEventFolder->FindObject(fgkRunLoaderName);
if (obj)
return;//never reached
}
- fLoaders = new TObjArray();
fEventFolder->Add(this);//put myself to the folder to accessible for all
}
//in case of error returns NULL
static const TString webaddress("http://alisoft.cern.ch/people/skowron/codedoc/split/index.html");
- if (AliLoader::fgDebug)
+ if (AliLoader::GetDebug())
::Info("AliRunLoader::Open",
"\n\n\nNew I/O strcture: See more info:\n %s\n\n\n",webaddress.Data());
//else create new AliRunLoader
if ( AliLoader::TestFileOption(option) )
{
- if (AliLoader::fgDebug)
+ if (AliLoader::GetDebug())
::Info("AliRunLoader::Open","Reading RL from file");
result = dynamic_cast<AliRunLoader*>(gAliceFile->Get(fgkRunLoaderName));//get the run Loader from the file
}
else
{
- if (AliLoader::fgDebug)
+ if (AliLoader::GetDebug())
::Info("AliRunLoader::Open","Creating new AliRunLoader. Folder name is %s",eventfoldername);
result = new AliRunLoader(eventfoldername);
}
}
else dirname = fname.Remove(nsl);//slash found
- if (AliLoader::fgDebug)
+ if (AliLoader::GetDebug())
::Info("AliRunLoader::Open","Dir name is : %s",dirname.Data());
result->SetDirName(dirname);
result->SetGAliceFile(gAliceFile);//set the pointer to gAliceFile
- fgRunLoader = result; //PH get access from any place
+ if (!fgRunLoader) fgRunLoader = result; //PH get access from any place
return result;
}
/**************************************************************************/
{
//Calls CleanFolders for all detectors
TIter next(fLoaders);
- AliLoader *Loader;
- while((Loader = (AliLoader*)next()))
+ AliLoader *loader;
+ while((loader = (AliLoader*)next()))
{
- Loader->CleanFolders();
+ loader->CleanFolders();
}
}
/**************************************************************************/
{
//LoadHits in selected detectors i.e. detectors="ITS TPC TRD" or "all"
- TObjArray* Loaders;
+ TObjArray* loaders;
TObjArray arr;
const char* oAll = strstr(detectors,"all");
if (oAll)
{
- Loaders = fLoaders;
+ loaders = fLoaders;
}
else
{
GetListOfDetectors(detectors,arr);//this method looks for all Loaders corresponding to names (many) specified in detectors option
- Loaders = &arr;//get the pointer array
+ loaders = &arr;//get the pointer array
}
- TIter next(Loaders);
- AliLoader *Loader;
- while((Loader = (AliLoader*)next()))
+ TIter next(loaders);
+ AliLoader *loader;
+ while((loader = (AliLoader*)next()))
{
- Loader->LoadDigits(opt);
+ loader->LoadDigits(opt);
}
return 0;
}
{
//LoadHits in selected detectors i.e. detectors="ITS TPC TRD" or "all"
- TObjArray* Loaders;
+ TObjArray* loaders;
TObjArray arr;
const char* oAll = strstr(detectors,"all");
if (oAll)
{
- Loaders = fLoaders;
+ loaders = fLoaders;
}
else
{
GetListOfDetectors(detectors,arr);//this method looks for all Loaders corresponding to names (many) specified in detectors option
- Loaders = &arr;//get the pointer array
+ loaders = &arr;//get the pointer array
}
- TIter next(Loaders);
- AliLoader *Loader;
- while((Loader = (AliLoader*)next()))
+ TIter next(loaders);
+ AliLoader *loader;
+ while((loader = (AliLoader*)next()))
{
- Loader->LoadRecPoints(opt);
+ loader->LoadRecPoints(opt);
}
return 0;
}
{
//LoadHits in selected detectors i.e. detectors="ITS TPC TRD" or "all"
- TObjArray* Loaders;
+ TObjArray* loaders;
TObjArray arr;
const char* oAll = strstr(detectors,"all");
if (oAll)
{
- Loaders = fLoaders;
+ loaders = fLoaders;
}
else
{
GetListOfDetectors(detectors,arr);//this method looks for all Loaders corresponding to names (many) specified in detectors option
- Loaders = &arr;//get the pointer array
+ loaders = &arr;//get the pointer array
}
- TIter next(Loaders);
- AliLoader *Loader;
- while((Loader = (AliLoader*)next()))
+ TIter next(loaders);
+ AliLoader *loader;
+ while((loader = (AliLoader*)next()))
{
- Loader->LoadRecParticles(opt);
+ loader->LoadRecParticles(opt);
}
return 0;
}
{
//LoadHits in selected detectors i.e. detectors="ITS TPC TRD" or "all"
- TObjArray* Loaders;
+ TObjArray* loaders;
TObjArray arr;
const char* oAll = strstr(detectors,"all");
if (oAll)
{
- Loaders = fLoaders;
+ loaders = fLoaders;
}
else
{
GetListOfDetectors(detectors,arr);//this method looks for all Loaders corresponding to names (many) specified in detectors option
- Loaders = &arr;//get the pointer array
+ loaders = &arr;//get the pointer array
}
- TIter next(Loaders);
- AliLoader *Loader;
- while((Loader = (AliLoader*)next()))
+ TIter next(loaders);
+ AliLoader *loader;
+ while((loader = (AliLoader*)next()))
{
- Loader->LoadTracks(opt);
+ loader->LoadTracks(opt);
}
return 0;
}
//made on Jiri Chudoba demand
TIter next(fLoaders);
- AliLoader *Loader;
- while((Loader = (AliLoader*)next()))
+ AliLoader *loader;
+ while((loader = (AliLoader*)next()))
{
- Loader->SetDigitsFileNameSuffix(suffix);
+ loader->SetDigitsFileNameSuffix(suffix);
}
}
/*****************************************************************************/