]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliConfig.h
Functions renamed to get a prefix PHOS
[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.3  2001/10/04 15:30:56  hristov
10  * Changes to accommodate the set of PHOS folders and tasks (Y.Schutz)
11  *
12  * Revision 1.2  2001/05/21 17:22:51  buncic
13  * Fixed problem with missing AliConfig while reading galice.root
14  *
15  * Revision 1.1  2001/05/16 14:57:22  alibrary
16  * New files for folders and Stack
17  * 
18  */
19
20 #include <iostream.h>
21 #include <TFolder.h>
22 #include <TList.h>
23 #include <TInterpreter.h>
24 #include <TROOT.h>
25 #include <TSystem.h>
26 #include <TDatabasePDG.h>
27 class TString ; 
28 class AliGenerator;
29 class AliModule;
30 class AliDetector;
31 class AliMC;
32 class AliConfig;
33 class AliTasks;
34
35 class AliConfig : public TNamed {
36   
37 public:
38   
39   AliConfig(){ 
40     // ctor: this is a singleton, the ctor should never be called but cint needs it as public
41     cerr << "ERROR: AliConfig is a singleton default ctor not callable" << endl ;
42     abort() ; 
43   } 
44   
45   virtual ~ AliConfig ();
46   
47   void  Add (AliGenerator *generator);
48   void  Add (AliMC *mc);
49   void  Add (TDatabasePDG *pdg);
50   void  Add (AliModule *module);
51   void  Add (AliDetector *detector);
52   
53   void  Add (char *list);
54   
55   static AliConfig* Instance();
56   
57 private:
58   AliConfig(const char * name, const char * title );
59   void  AddInFolder (char * dir, TObject *obj);
60   void  AddSubFolder(char * dir[], TObject *obj);
61   void  AddSubTask(char * dir[], TObject *obj);
62  TObject* FindInFolder (char *dir, const char *name);
63   
64   TFolder  *fTopFolder;
65   AliTasks *fTasks;
66   // folders
67   char*  fPDGFolder ; 
68   char*  fGeneratorFolder ; 
69   char*  fMCFolder ; 
70   char*  fModuleFolder ; 
71   char** fDetectorFolder ; 
72   char** fDetectorTask ; 
73
74
75   static AliConfig*  fInstance;
76     
77     ClassDef(AliConfig,1) //Configuration class for AliRun
78 };                              // end class AliConfig
79
80 #endif