]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliConfig.h
New files for folders and Stack
[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  * $Log$ 
9  */
10
11 #include <TFolder.h>
12 #include <TList.h>
13 #include <TInterpreter.h>
14 #include <TROOT.h>
15 #include <TSystem.h>
16 #include <TDatabasePDG.h>
17
18 class AliGenerator;
19 class AliModule;
20 class AliDetector;
21 class AliMC;
22 class AliConfig;
23 class AliTasks;
24
25 class AliConfig : public TNamed {
26
27   public:
28
29     AliConfig(const char *name="gAlice", 
30                   const char *title = "Alice simulation and reconstruction framework");
31     virtual ~ AliConfig ();
32
33     void  Add (AliGenerator *generator);
34     void  Add (AliMC *mc);
35     void  Add (TDatabasePDG *pdg);
36     void  Add (AliModule *module);
37     void  Add (AliDetector *detector);
38    
39     void  Add (const char *list);
40     
41     static AliConfig* Instance();
42
43   private:
44      void  AddInFolder (char *dir, TObject *obj);
45      void  AddSubFolder(char *dir[], TObject *obj);
46      TObject* FindInFolder (char *dir, const char *name);
47
48     TFolder  *fTopFolder;
49     AliTasks *fTasks;
50
51     static AliConfig*  fInstance;
52     
53     ClassDef(AliConfig,1) 
54
55 };                              // end class AliConfig
56
57 #endif