]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliConfig.h
c55ca1b11a5477be30b75edfd042395d07601696
[u/mrichter/AliRoot.git] / STEER / AliConfig.h
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
8
9 class TDatabasePDG;
10 class TFolder;
11 class TString;
12 class TVirtualMC;
13
14 class AliConfig;
15 class AliDetector;
16 class AliGenerator;
17 class AliModule;
18 class AliTasks;
19
20 class AliConfig : public TNamed {
21   
22 public:
23
24   AliConfig();
25   virtual ~ AliConfig ();
26   
27   void  Add (AliGenerator *generator);
28   void  Add (TVirtualMC *mc);
29   void  Add (TDatabasePDG *pdg);
30   void  Add (AliModule *module);
31   void  Add (AliDetector *detector);
32   
33   void  Add (char *list);
34   
35   static AliConfig* Instance();
36   
37 private:
38
39   enum {kFolders=8, kTasks=5};
40   AliConfig(const char * name, const char * title);
41   AliConfig(const AliConfig&);
42   void  AddInFolder (const char * dir, TObject *obj);
43   void  AddSubFolder(const char * dir[], TObject *obj);
44   void  AddSubTask(const char * dir[], TObject *obj);
45   TObject* FindInFolder (const char *dir, const char *name);
46   AliConfig& operator = (const AliConfig&) {return *this;}
47   
48   TFolder  *fTopFolder;
49   AliTasks *fTasks;
50   // folders
51   const char*  fPDGFolder ; 
52   const char*  fGeneratorFolder ; 
53   const char*  fMCFolder ; 
54   const char*  fModuleFolder ; 
55   const char** fDetectorFolder ; 
56   const char** fDetectorTask ; 
57
58   static AliConfig*  fInstance;
59     
60     ClassDef(AliConfig,1) //Configuration class for AliRun
61 };                              // end class AliConfig
62
63 #endif