/////////////////////////////////////////////////////////////////////
#include <TNamed.h>
-#include <TFile.h>
+
#include "AliConfig.h"
#include "AliLoader.h"
#include "AliDataLoader.h"
+#include "AliLog.h"
+class TFile;
class TString;
class TFolder;
class TObjArray;
class AliHeader;
class AliStack;
class AliRunDigitizer;
-
+class AliCDBEntry;
+class AliCentralTrigger;
class AliRunLoader: public TNamed
{
AliRunLoader();
AliRunLoader(const char* topfoldername);
AliRunLoader(TFolder* topfolder);
+ AliRunLoader(const AliRunLoader &rl);
+ AliRunLoader & operator = (const AliRunLoader &rl)
+ {rl.Copy(*this); return *this;}
virtual ~AliRunLoader();
static AliRunLoader* Open(const char* filename = "galice.root",
- const char* eventfoldername = AliConfig::fgkDefaultEventFolderName,
+ const char* eventfoldername = AliConfig::GetDefaultEventFolderName(),
Option_t* option = "READ");
Int_t GetEventNumber() const {return fCurrentEvent;}
Int_t GetNumberOfEvents();
+ AliCDBEntry* GetCDBEntry(const char* name) const;
+
void MakeTree(Option_t *option);
void MakeHeader();
+ void MakeTrigger();
void MakeStack();
Int_t LoadgAlice();
Int_t LoadHeader();
Int_t LoadKinematics(Option_t* option = "READ");
+ Int_t LoadTrigger(Option_t* option = "READ");
Int_t LoadTrackRefs(Option_t* option = "READ");
void UnloadHeader();
+ void UnloadTrigger();
void UnloadKinematics();
void UnloadgAlice();
void UnloadTrackRefs();
void SetTrackRefsFileName(const TString& fname){fTrackRefsDataLoader->SetFileName(fname);}
TTree* TreeE() const; //returns the tree from folder; shortcut method
+ TTree* TreeCT() const; //returns the tree from folder; shortcut method
AliHeader* GetHeader() const;
+ AliCentralTrigger* GetTrigger() const;
AliStack* Stack() const {return fStack;}
Int_t WriteGeometry(Option_t* opt="");
Int_t WriteHeader(Option_t* opt="");
+ Int_t WriteTrigger(Option_t* opt="");
Int_t WriteAliRun(Option_t* opt="");
Int_t WriteKinematics(Option_t* opt="");
Int_t WriteTrackRefs(Option_t* opt="");
Int_t WriteRecPoints(Option_t* opt="");
Int_t WriteTracks(Option_t* opt="");
- Int_t LoadHits(Option_t* detectors = "all",Option_t* opt = "RAED");
- Int_t LoadSDigits(Option_t* detectors = "all",Option_t* opt = "RAED");
- Int_t LoadDigits(Option_t* detectors = "all",Option_t* opt = "RAED");
- Int_t LoadRecPoints(Option_t* detectors = "all",Option_t* opt = "RAED");
- Int_t LoadTracks(Option_t* detectors = "all",Option_t* opt = "RAED");
- Int_t LoadRecParticles(Option_t* detectors = "all",Option_t* opt = "RAED");
+ Int_t LoadHits(Option_t* detectors = "all",Option_t* opt = "READ");
+ Int_t LoadSDigits(Option_t* detectors = "all",Option_t* opt = "READ");
+ Int_t LoadDigits(Option_t* detectors = "all",Option_t* opt = "READ");
+ Int_t LoadRecPoints(Option_t* detectors = "all",Option_t* opt = "READ");
+ Int_t LoadTracks(Option_t* detectors = "all",Option_t* opt = "READ");
+ Int_t LoadRecParticles(Option_t* detectors = "all",Option_t* opt = "READ");
void UnloadHits(Option_t* detectors = "all");
void UnloadSDigits(Option_t* detectors = "all");
void AddLoader(AliDetector* det);
AliLoader* GetLoader(const char* detname) const;
AliLoader* GetLoader(AliDetector* det) const;
- Int_t SetEventFolderName(const TString& name = AliConfig::fgkDefaultEventFolderName);//sets top folder name for this run; of alread
+ Int_t SetEventFolderName(const TString& name = AliConfig::GetDefaultEventFolderName());//sets top folder name for this run; of alread
void CleanFolders();//removes all abjects from folder structure
void CleanDetectors();
void CleanKinematics(){Clean(fgkKineContainerName);}
//made on Jiri Chudoba demand
TString GetFileName() const;//returns name of galice file
const TObjArray* GetArrayOfLoaders() const {return fLoaders;}
- Int_t GetDebug() const {return AliLoader::GetDebug();}
- void cd(){fgRunLoader = this;}
+ void Cd(){fgRunLoader = this;}
void Synchronize();
AliLoader* GetDetectorLoader(const char* detname);
static TTask* GetRunTracker(); //
static TTask* GetRunPIDTask(); //
static TTask* GetRunQATask(); //
+
+ static TString GetRunLoaderName () {return fgkRunLoaderName;}
+ static TString GetHeaderContainerName () {return fgkHeaderContainerName;}
+ static TString GetTriggerContainerName () {return fgkTriggerContainerName;}
+ static TString GetKineContainerName () {return fgkKineContainerName;}
+ static TString GetTrackRefsContainerName () {return fgkTrackRefsContainerName;}
+ static TString GetHeaderBranchName () {return fgkHeaderBranchName;}
+ static TString GetTriggerBranchName () {return fgkTriggerBranchName;}
+ static TString GetKineBranchName () {return fgkKineBranchName;}
+ static TString GetTriggerFileName() { return fgkDefaultTriggerFileName; }
+ static TString GetGAliceName () {return fgkGAliceName;}
- static const TString fgkRunLoaderName; //default name of the run loader
- static const TString fgkHeaderContainerName; //default name of the kinematics container (TREE) name - TreeE
- static const TString fgkKineContainerName; //default name of the kinematics container (TREE) name - TreeK
- static const TString fgkTrackRefsContainerName; //default name of the track references container (TREE) name - TreeTR
- static const TString fgkHeaderBranchName; //default name of the branch containing the header
- static const TString fgkKineBranchName; //default name of the branch with kinematics
- static const TString fgkGAliceName; //default name for gAlice file
- protected:
+protected:
/**********************************************/
/************ PROTECTED ***************/
/********* D A T A ************/
Int_t fCurrentEvent;//!Number of current event
- TFile *fGAFile;//! pointer to main file with AliRun and Run Loader -> galice.root
- AliHeader *fHeader;//! pointer to header
- AliStack *fStack; //! pointer to stack
+ TFile *fGAFile;//! pointer to main file with AliRun and Run Loader -> galice.root
+ AliHeader *fHeader;//! pointer to header
+ AliStack *fStack; //! pointer to stack
+ AliCentralTrigger *fCTrigger; //! pointer to CEntral Trigger Processor
AliDataLoader *fKineDataLoader;// kinematics data loader
AliDataLoader *fTrackRefsDataLoader;//track reference data loader
TString fUnixDirName; //! name of unix path to directory that contains event
static const TString fgkDefaultKineFileName;//default file name with kinamatics
static const TString fgkDefaultTrackRefsFileName;//default file name with kinamatics
+ static const TString fgkDefaultTriggerFileName;//default file name with trigger
/*********************************************/
void GetListOfDetectors(const char * namelist,TObjArray& pointerarray) const;
void CleanHeader(){Clean(fgkHeaderContainerName);}
+ void CleanTrigger(){Clean(fgkTriggerContainerName);}
void Clean(const TString& name);
Int_t SetEvent();
static AliRunLoader* fgRunLoader; //pointer to the AliRunLoader instance
+private:
+ void Copy(TObject &arun) const;
+
+ static const TString fgkRunLoaderName; //default name of the run loader
+ static const TString fgkHeaderContainerName; //default name of the kinematics container (TREE) name - TreeE
+ static const TString fgkTriggerContainerName; //default name of the trigger container (TREE) name - TreeCT
+ static const TString fgkKineContainerName; //default name of the kinematics container (TREE) name - TreeK
+ static const TString fgkTrackRefsContainerName; //default name of the track references container (TREE) name - TreeTR
+ static const TString fgkHeaderBranchName; //default name of the branch containing the header
+ static const TString fgkTriggerBranchName; //default name of the branch containing the trigger
+ static const TString fgkKineBranchName; //default name of the branch with kinematics
+ static const TString fgkGAliceName; //default name for gAlice file
- ClassDef(AliRunLoader,1)
+ ClassDef(AliRunLoader,2)
};
#endif