]>
Commit | Line | Data |
---|---|---|
9e1a0ddb | 1 | #ifndef ALICONFIG_H |
2 | #define ALICONFIG_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
9e1a0ddb | 7 | |
b16a1b1e | 8 | |
9 | class TDatabasePDG; | |
10 | class TFolder; | |
11 | class TString; | |
98490ea9 | 12 | class TVirtualMC; |
b16a1b1e | 13 | |
14 | class AliConfig; | |
15 | class AliDetector; | |
9e1a0ddb | 16 | class AliGenerator; |
17 | class AliModule; | |
9e1a0ddb | 18 | class AliTasks; |
19 | ||
116cbefd | 20 | #include <TNamed.h> |
21 | ||
9e1a0ddb | 22 | class AliConfig : public TNamed { |
7e90ff59 | 23 | |
24 | public: | |
b16a1b1e | 25 | |
26 | AliConfig(); | |
7e90ff59 | 27 | virtual ~ AliConfig (); |
28 | ||
29 | void Add (AliGenerator *generator); | |
98490ea9 | 30 | void Add (TVirtualMC *mc); |
7e90ff59 | 31 | void Add (TDatabasePDG *pdg); |
32 | void Add (AliModule *module); | |
33 | void Add (AliDetector *detector); | |
34 | ||
35 | void Add (char *list); | |
36 | ||
37 | static AliConfig* Instance(); | |
38 | ||
39 | private: | |
b16a1b1e | 40 | |
41 | enum {kFolders=8, kTasks=5}; | |
42 | AliConfig(const char * name, const char * title); | |
116cbefd | 43 | AliConfig(const AliConfig& conf); |
e2afb3b6 | 44 | void AddInFolder (const char * dir, TObject *obj); |
ef92dd70 | 45 | void AddSubFolder(const char * dir[], TObject *obj); |
46 | void AddSubTask(const char * dir[], TObject *obj); | |
e2afb3b6 | 47 | TObject* FindInFolder (const char *dir, const char *name); |
b16a1b1e | 48 | AliConfig& operator = (const AliConfig&) {return *this;} |
7e90ff59 | 49 | |
116cbefd | 50 | TFolder *fTopFolder; // Pointer of the top folder |
51 | AliTasks *fTasks; // Pointer for the tasks | |
7e90ff59 | 52 | // folders |
116cbefd | 53 | const char* fPDGFolder ; // Names of the PDG folders |
54 | const char* fGeneratorFolder ; // Names of the Generator folders | |
55 | const char* fMCFolder ; // Names of MC folders | |
56 | const char* fModuleFolder ; // Names of Module folders | |
57 | const char** fDetectorFolder ; // Names of Detector folders | |
58 | const char** fDetectorTask ; // Names of Detector Task folders | |
59 | ||
60 | static AliConfig* fgInstance; // Instance of the singleton | |
9e1a0ddb | 61 | |
682a4a95 | 62 | ClassDef(AliConfig,1) //Configuration class for AliRun |
9e1a0ddb | 63 | }; // end class AliConfig |
64 | ||
65 | #endif |