]>
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$ */ | |
7 | /* | |
682a4a95 | 8 | * $Log$ |
ef92dd70 | 9 | * Revision 1.7 2002/10/29 14:26:49 hristov |
10 | * Code clean-up (F.Carminati) | |
11 | * | |
e2afb3b6 | 12 | * Revision 1.6 2002/10/22 15:02:15 alibrary |
13 | * Introducing Riostream.h | |
14 | * | |
b16a1b1e | 15 | * Revision 1.5 2002/10/14 14:57:32 hristov |
16 | * Merging the VirtualMC branch to the main development branch (HEAD) | |
17 | * | |
b9d0a01d | 18 | * Revision 1.4.8.1 2002/06/10 14:43:06 hristov |
19 | * Merged with v3-08-02 | |
20 | * | |
21 | * Revision 1.4 2001/10/05 12:11:40 hristov | |
22 | * iostream.h used instead of iostream (HP) | |
23 | * | |
931e9fdb | 24 | * Revision 1.3 2001/10/04 15:30:56 hristov |
25 | * Changes to accommodate the set of PHOS folders and tasks (Y.Schutz) | |
26 | * | |
7e90ff59 | 27 | * Revision 1.2 2001/05/21 17:22:51 buncic |
28 | * Fixed problem with missing AliConfig while reading galice.root | |
29 | * | |
682a4a95 | 30 | * Revision 1.1 2001/05/16 14:57:22 alibrary |
31 | * New files for folders and Stack | |
32 | * | |
9e1a0ddb | 33 | */ |
34 | ||
b9d0a01d | 35 | #include "AliMC.h" |
b16a1b1e | 36 | |
37 | class TDatabasePDG; | |
38 | class TFolder; | |
39 | class TString; | |
40 | ||
41 | class AliConfig; | |
42 | class AliDetector; | |
9e1a0ddb | 43 | class AliGenerator; |
44 | class AliModule; | |
9e1a0ddb | 45 | class AliTasks; |
46 | ||
47 | class AliConfig : public TNamed { | |
7e90ff59 | 48 | |
49 | public: | |
b16a1b1e | 50 | |
51 | AliConfig(); | |
7e90ff59 | 52 | virtual ~ AliConfig (); |
53 | ||
54 | void Add (AliGenerator *generator); | |
55 | void Add (AliMC *mc); | |
56 | void Add (TDatabasePDG *pdg); | |
57 | void Add (AliModule *module); | |
58 | void Add (AliDetector *detector); | |
59 | ||
60 | void Add (char *list); | |
61 | ||
62 | static AliConfig* Instance(); | |
63 | ||
64 | private: | |
b16a1b1e | 65 | |
66 | enum {kFolders=8, kTasks=5}; | |
67 | AliConfig(const char * name, const char * title); | |
68 | AliConfig(const AliConfig&); | |
e2afb3b6 | 69 | void AddInFolder (const char * dir, TObject *obj); |
ef92dd70 | 70 | void AddSubFolder(const char * dir[], TObject *obj); |
71 | void AddSubTask(const char * dir[], TObject *obj); | |
e2afb3b6 | 72 | TObject* FindInFolder (const char *dir, const char *name); |
b16a1b1e | 73 | AliConfig& operator = (const AliConfig&) {return *this;} |
7e90ff59 | 74 | |
75 | TFolder *fTopFolder; | |
76 | AliTasks *fTasks; | |
77 | // folders | |
e2afb3b6 | 78 | const char* fPDGFolder ; |
79 | const char* fGeneratorFolder ; | |
80 | const char* fMCFolder ; | |
81 | const char* fModuleFolder ; | |
ef92dd70 | 82 | const char** fDetectorFolder ; |
83 | const char** fDetectorTask ; | |
9e1a0ddb | 84 | |
7e90ff59 | 85 | static AliConfig* fInstance; |
9e1a0ddb | 86 | |
682a4a95 | 87 | ClassDef(AliConfig,1) //Configuration class for AliRun |
9e1a0ddb | 88 | }; // end class AliConfig |
89 | ||
90 | #endif |