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