X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliConfig.h;h=9812e925e77ad6088c30c5e87cbc7fff94e94749;hb=cc545eb95f8b954e34fd3bada0e76ad3180c2cf6;hp=5beddc15a347ebc8695f6fee45162fdd11ad5aa7;hpb=98490ea95568eabdaccce53289622d9dccd257eb;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliConfig.h b/STEER/AliConfig.h index 5beddc15a34..9812e925e77 100644 --- a/STEER/AliConfig.h +++ b/STEER/AliConfig.h @@ -4,38 +4,20 @@ * See cxx source for full Copyright notice */ /* $Id$ */ -/* - * $Log$ - * Revision 1.8 2002/10/29 14:59:45 alibrary - * Some more code cleanup - * - * Revision 1.7 2002/10/29 14:26:49 hristov - * Code clean-up (F.Carminati) - * - * Revision 1.6 2002/10/22 15:02:15 alibrary - * Introducing Riostream.h - * - * Revision 1.5 2002/10/14 14:57:32 hristov - * Merging the VirtualMC branch to the main development branch (HEAD) - * - * Revision 1.4.8.1 2002/06/10 14:43:06 hristov - * Merged with v3-08-02 - * - * Revision 1.4 2001/10/05 12:11:40 hristov - * iostream.h used instead of iostream (HP) - * - * Revision 1.3 2001/10/04 15:30:56 hristov - * Changes to accommodate the set of PHOS folders and tasks (Y.Schutz) - * - * 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 - * - */ +// +// 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; @@ -50,44 +32,106 @@ class AliTasks; 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; - void Add (char *list); - static AliConfig* Instance(); + const TString& GetQAFolderName() const; //returns path to folder with QA output -private: + const TString& GetDataFolderName() const;//returns name of data folder - enum {kFolders=8, kTasks=5}; - AliConfig(const char * name, const char * title); +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 ); AliConfig(const AliConfig&); - 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; - AliTasks *fTasks; + 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 ; - const char* fGeneratorFolder ; - const char* fMCFolder ; - const char* fModuleFolder ; - const char** fDetectorFolder ; - const 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