]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliConfig.h
New class for raw data processing (T.Kuhr)
[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
9 class TDatabasePDG;
10 class TFolder;
11 class TString;
12 class TVirtualMC;
13
14 class AliConfig;
15 class AliDetector;
16 class AliGenerator;
17 class AliModule;
18 class AliTasks;
19
20 #include <TNamed.h>
21
22 class AliConfig : public TNamed {
23   
24 public:
25
26   AliConfig();
27   virtual ~ AliConfig ();
28   
29   void  Add (AliGenerator *generator);
30   void  Add (TVirtualMC *mc);
31   void  Add (TDatabasePDG *pdg);
32   void  Add (AliModule *module);
33   void  Add (AliDetector *detector);
34   
35   void  Add (char *list);
36   
37   static AliConfig* Instance();
38   
39 private:
40
41   enum {kFolders=8, kTasks=5};
42   AliConfig(const char * name, const char * title);
43   AliConfig(const AliConfig& conf);
44   void  AddInFolder (const char * dir, TObject *obj);
45   void  AddSubFolder(const char * dir[], TObject *obj);
46   void  AddSubTask(const char * dir[], TObject *obj);
47   TObject* FindInFolder (const char *dir, const char *name);
48   AliConfig& operator = (const AliConfig&) {return *this;}
49   
50   TFolder  *fTopFolder;                // Pointer of the top folder
51   AliTasks *fTasks;                    // Pointer for the tasks
52   // folders
53   const char*  fPDGFolder ;            // Names of the PDG folders
54   const char*  fGeneratorFolder ;      // Names of the Generator folders
55   const char*  fMCFolder ;             // Names of MC folders
56   const char*  fModuleFolder ;         // Names of Module folders
57   const char** fDetectorFolder ;       // Names of Detector folders
58   const char** fDetectorTask ;         // Names of Detector Task folders
59
60   static AliConfig*  fgInstance;       // Instance of the singleton
61     
62     ClassDef(AliConfig,1) //Configuration class for AliRun
63 };                              // end class AliConfig
64
65 #endif