X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=STEER%2FAliConfig.h;h=9812e925e77ad6088c30c5e87cbc7fff94e94749;hb=7a6c91b355d187a589f9c52e6ffaa39d1f485331;hp=4a17084aa844120cbe9dd45288f432ec3c0e0889;hpb=7e90ff59a20fbd753a5f1a97093dd97d75d37273;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliConfig.h b/STEER/AliConfig.h index 4a17084aa84..9812e925e77 100644 --- a/STEER/AliConfig.h +++ b/STEER/AliConfig.h @@ -4,74 +4,134 @@ * See cxx source for full Copyright notice */ /* $Id$ */ -/* - * $Log$ - * Revision 1.2 2001/05/21 17:22:51 buncic - * Fixed problem with missing AliConfig while reading galice.root - * - * Revision 1.1 2001/05/16 14:57:22 alibrary - * New files for folders and Stack - * - */ -#include -#include -#include -#include -#include -#include -#include -class TString ; +// +// 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; +class TVirtualMC; + +class AliConfig; +class AliDetector; class AliGenerator; class AliModule; -class AliDetector; -class AliMC; -class AliConfig; class AliTasks; class AliConfig : public TNamed { public: - AliConfig(){ - // ctor: this is a singleton, the ctor should never be called but cint needs it as public - cerr << "ERROR: AliConfig is a singleton default ctor not callable" << endl ; - abort() ; - } + AliConfig(); - virtual ~ AliConfig (); + 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); - void Add (AliGenerator *generator); - void Add (AliMC *mc); - void Add (TDatabasePDG *pdg); - void Add (AliModule *module); - void Add (AliDetector *detector); + 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;} - void Add (char *list); + TString GetQATaskName() const; //returns path to QA tasks + TString GetDigitizerTaskName () const; + TString GetSDigitizerTaskName () const; + TString GetReconstructionerTaskName () const; + TString GetTrackerTaskName () const; + TString GetPIDTaskName () const; - static AliConfig* Instance(); -private: + 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 + + 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 const TString fgkCalibrationFolderName; //name of calibration folder + static const TString fgkAligmentFolderName; //name of alignment folder + static const TString fgkQAFolderName; //name of QA folder + + 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 + AliConfig(const char * name, const char * title ); - void AddInFolder (char * dir, TObject *obj); - void AddSubFolder(char * dir[], TObject *obj); - void AddSubTask(char * dir[], TObject *obj); - TObject* FindInFolder (char *dir, const char *name); + 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); - TFolder *fTopFolder; - AliTasks *fTasks; // folders - char* fPDGFolder ; - char* fGeneratorFolder ; - char* fMCFolder ; - char* fModuleFolder ; - char** fDetectorFolder ; - char** fDetectorTask ; - + TFolder* fTopFolder; //pointer to top folder + TFolder* fTaskFolder; //pointer to task folder + TFolder* fConstFolder; //pointer to constants folder - static AliConfig* fInstance; - - 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