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