X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliConfig.h;h=9812e925e77ad6088c30c5e87cbc7fff94e94749;hb=04cd9bcd360d53ac0d1772d679c603d51201ed54;hp=358a01e7d0ecce01eda198cb60a392d4233319ad;hpb=116cbefdd457541a56d5dfd1a53b09c3ccc50964;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliConfig.h b/STEER/AliConfig.h index 358a01e7d0e..9812e925e77 100644 --- a/STEER/AliConfig.h +++ b/STEER/AliConfig.h @@ -5,7 +5,19 @@ /* $Id$ */ +// +// Class to name the folders +// This class contains +// the names of the top level folders +// +// +// Class to name the folders +// This class contains +// the names of the top level folders +// + +#include class TDatabasePDG; class TFolder; class TString; @@ -17,49 +29,109 @@ class AliGenerator; class AliModule; class AliTasks; -#include - class AliConfig : public TNamed { public: - + AliConfig(); - virtual ~ AliConfig (); - void Add (AliGenerator *generator); - void Add (TVirtualMC *mc); - void Add (TDatabasePDG *pdg); - void Add (AliModule *module); - void Add (AliDetector *detector); + virtual ~ AliConfig (); + + void Add(TDatabasePDG *pdg); + void Add(char *list); + + void Add(AliGenerator *generator,const char* eventfolder = fgkDefaultEventFolderName); + void Add (TVirtualMC *mc,const char* eventfolder = fgkDefaultEventFolderName); + void Add (AliModule *module,const char* eventfolder = fgkDefaultEventFolderName); + void Add (AliDetector *detector,const char* eventfolder = fgkDefaultEventFolderName); + + Int_t AddDetector(const char* evntfoldername,const char *name, const char* title); + Int_t AddDetector(TFolder* evntfolder,const char *name, const char* title); + + Int_t CreateDetectorFolders(const char* evntfoldername,const char *name, const char* title);//Used by AliRunGetter + Int_t CreateDetectorFolders(TFolder* evntfolder,const char *name, const char* title);//Used by AliRunGetter + Int_t CreateDetectorTasks(const char *name, const char* title); + + static AliConfig* Instance(); + + TFolder* BuildEventFolder(const char* name,const char* tilte); + + TFolder* GetTopFolder(){return fTopFolder;} + TFolder* GetTaskFolder(){return fTaskFolder;} + TFolder* GetConstFolder(){return fConstFolder;} + + static const TString& GetModulesFolderName(){return fgkModuleFolderName;} + static const TString& GetDefaultEventFolderName() + {return fgkDefaultEventFolderName;} + static const TString& GetTasksFolderName() {return fgkTasksFolderName;} + + TString GetQATaskName() const; //returns path to QA tasks + TString GetDigitizerTaskName () const; + TString GetSDigitizerTaskName () const; + TString GetReconstructionerTaskName () const; + TString GetTrackerTaskName () const; + TString GetPIDTaskName () const; + + + const TString& GetQAFolderName() const; //returns path to folder with QA output + + const TString& GetDataFolderName() const;//returns name of data folder + +private: + static const TString fgkTopFolderName; //name of top AliRoot folder + + static const TString fgkDefaultEventFolderName; //name of event folder + static const TString fgkTasksFolderName; //name of task folder + static const TString fgkConstantsFolderName; //name of constants folder + + static const TString fgkDataFolderName; //name of data folde + static const TString fgkConditionsFolderName; //name of conditions folder + static const TString fgkConfigurationFolderName;//name of configuration foolder + static const TString fgkHeaderFolderName; //name of header folder - void Add (char *list); + static const TString fgkDigitizerTaskName; //name of digitizer task + static const TString fgkSDigitizerTaskName; //name of sdigitizer task + static const TString fgkQATaskName; //name of Q-A task + static const TString fgkReconstructionerTaskName;//name of reconstructioner + //task + static const TString fgkTrackerTaskName; //name of tracker task + static const TString fgkPIDTaskName; //name of PID task - static AliConfig* Instance(); + static const TString fgkCalibrationFolderName; //name of calibration folder + static const TString fgkAligmentFolderName; //name of alignment folder + static const TString fgkQAFolderName; //name of QA folder -private: + static const TString fgkFieldFolderName; //name of magn.field folder + static const TString fgkGeneratorsFolderName; //name of generator folder + static const TString fgkVirtualMCFolderName; //name of virtual MC folder - enum {kFolders=8, kTasks=5}; - AliConfig(const char * name, const char * title); - AliConfig(const AliConfig& conf); - void AddInFolder (const char * dir, TObject *obj); - void AddSubFolder(const char * dir[], TObject *obj); - void AddSubTask(const char * dir[], TObject *obj); - TObject* FindInFolder (const char *dir, const char *name); - AliConfig& operator = (const AliConfig&) {return *this;} - - TFolder *fTopFolder; // Pointer of the top folder - AliTasks *fTasks; // Pointer for the tasks + AliConfig(const char * name, const char * title ); + AliConfig(const AliConfig&); + AliConfig& operator=(const AliConfig&); + + void AddInFolder (const char * dir, TObject *obj); + Int_t AddSubTask(const char *taskname, const char* name, const char* title); + Int_t AddSubFolder(TFolder* topfolder, const char* infoler, //helper method + const char* newfoldname, const char* newfoldtitle); + TObject* FindInFolder (const char *dir, const char *name); + // folders - const char* fPDGFolder ; // Names of the PDG folders - const char* fGeneratorFolder ; // Names of the Generator folders - const char* fMCFolder ; // Names of MC folders - const char* fModuleFolder ; // Names of Module folders - const char** fDetectorFolder ; // Names of Detector folders - const char** fDetectorTask ; // Names of Detector Task folders + TFolder* fTopFolder; //pointer to top folder + TFolder* fTaskFolder; //pointer to task folder + TFolder* fConstFolder; //pointer to constants folder - static AliConfig* fgInstance; // Instance of the singleton - - ClassDef(AliConfig,1) //Configuration class for AliRun + static const TString fgkPDGFolderName; //name of PDG folder + static const TString fgkGeneratorFolderName; //name of generator name + static const TString fgkMCFolderName; //name of MC folder + static const TString fgkModuleFolderName; //name of module folder + + TString *fDetectorTask;//!array with names for detector tasks + TString *fDetectorFolder;//!array with names for detector folders (where detector is going to be put) + + static AliConfig* fgInstance; //pointer to the AliConfig instance + + + ClassDef(AliConfig,2) //Configuration class for AliRun }; // end class AliConfig #endif