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