]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliConfig.h
Option to use Flugg removed.
[u/mrichter/AliRoot.git] / STEER / AliConfig.h
CommitLineData
9e1a0ddb 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$ */
9e1a0ddb 7
e191bb57 8//
9// Class to name the folders
10// This class contains
11// the names of the top level folders
12//
13
8b2d7c39 14//
15// Class to name the folders
16// This class contains
17// the names of the top level folders
18//
19
88cb7938 20#include <TNamed.h>
b16a1b1e 21class TDatabasePDG;
22class TFolder;
23class TString;
98490ea9 24class TVirtualMC;
b16a1b1e 25
26class AliConfig;
27class AliDetector;
9e1a0ddb 28class AliGenerator;
29class AliModule;
9e1a0ddb 30class AliTasks;
31
32class AliConfig : public TNamed {
7e90ff59 33
34public:
88cb7938 35
b16a1b1e 36 AliConfig();
7e90ff59 37
88cb7938 38 virtual ~ AliConfig ();
39
40 void Add(TDatabasePDG *pdg);
41 void Add(char *list);
42
43 void Add(AliGenerator *generator,const char* eventfolder = fgkDefaultEventFolderName);
44 void Add (TVirtualMC *mc,const char* eventfolder = fgkDefaultEventFolderName);
45 void Add (AliModule *module,const char* eventfolder = fgkDefaultEventFolderName);
46 void Add (AliDetector *detector,const char* eventfolder = fgkDefaultEventFolderName);
47
48 Int_t AddDetector(const char* evntfoldername,const char *name, const char* title);
49 Int_t AddDetector(TFolder* evntfolder,const char *name, const char* title);
7e90ff59 50
88cb7938 51 Int_t CreateDetectorFolders(const char* evntfoldername,const char *name, const char* title);//Used by AliRunGetter
52 Int_t CreateDetectorFolders(TFolder* evntfolder,const char *name, const char* title);//Used by AliRunGetter
53 Int_t CreateDetectorTasks(const char *name, const char* title);
7e90ff59 54
88cb7938 55 static AliConfig* Instance();
7e90ff59 56
88cb7938 57 TFolder* BuildEventFolder(const char* name,const char* tilte);
58
59 TFolder* GetTopFolder(){return fTopFolder;}
60 TFolder* GetTaskFolder(){return fTaskFolder;}
61 TFolder* GetConstFolder(){return fConstFolder;}
62
63 static const TString& GetModulesFolderName(){return fgkModuleFolderName;}
e191bb57 64 static const TString& GetDefaultEventFolderName()
65 {return fgkDefaultEventFolderName;}
66 static const TString& GetTasksFolderName() {return fgkTasksFolderName;}
88cb7938 67
68 TString GetQATaskName() const; //returns path to QA tasks
69 TString GetDigitizerTaskName () const;
70 TString GetSDigitizerTaskName () const;
71 TString GetReconstructionerTaskName () const;
72 TString GetTrackerTaskName () const;
73 TString GetPIDTaskName () const;
74
75
76 const TString& GetQAFolderName() const; //returns path to folder with QA output
77
d0d4a6b3 78 const TString& GetDataFolderName() const;//returns name of data folder
e191bb57 79
80private:
88cb7938 81 static const TString fgkTopFolderName; //name of top AliRoot folder
82
d0d4a6b3 83 static const TString fgkDefaultEventFolderName; //name of event folder
84 static const TString fgkTasksFolderName; //name of task folder
85 static const TString fgkConstantsFolderName; //name of constants folder
86
87 static const TString fgkDataFolderName; //name of data folde
88 static const TString fgkConditionsFolderName; //name of conditions folder
89 static const TString fgkConfigurationFolderName;//name of configuration foolder
90 static const TString fgkHeaderFolderName; //name of header folder
91
92 static const TString fgkDigitizerTaskName; //name of digitizer task
93 static const TString fgkSDigitizerTaskName; //name of sdigitizer task
94 static const TString fgkQATaskName; //name of Q-A task
95 static const TString fgkReconstructionerTaskName;//name of reconstructioner
96 //task
97 static const TString fgkTrackerTaskName; //name of tracker task
98 static const TString fgkPIDTaskName; //name of PID task
99
100 static const TString fgkCalibrationFolderName; //name of calibration folder
101 static const TString fgkAligmentFolderName; //name of alignment folder
102 static const TString fgkQAFolderName; //name of QA folder
103
104 static const TString fgkFieldFolderName; //name of magn.field folder
105 static const TString fgkGeneratorsFolderName; //name of generator folder
106 static const TString fgkVirtualMCFolderName; //name of virtual MC folder
107
d0d4a6b3 108 AliConfig(const char * name, const char * title );
109 AliConfig(const AliConfig&);
110 AliConfig& operator=(const AliConfig&);
111
112 void AddInFolder (const char * dir, TObject *obj);
113 Int_t AddSubTask(const char *taskname, const char* name, const char* title);
114 Int_t AddSubFolder(TFolder* topfolder, const char* infoler, //helper method
115 const char* newfoldname, const char* newfoldtitle);
116 TObject* FindInFolder (const char *dir, const char *name);
117
118 // folders
119 TFolder* fTopFolder; //pointer to top folder
120 TFolder* fTaskFolder; //pointer to task folder
121 TFolder* fConstFolder; //pointer to constants folder
122
123 static const TString fgkPDGFolderName; //name of PDG folder
124 static const TString fgkGeneratorFolderName; //name of generator name
125 static const TString fgkMCFolderName; //name of MC folder
126 static const TString fgkModuleFolderName; //name of module folder
127
128 TString *fDetectorTask;//!array with names for detector tasks
129 TString *fDetectorFolder;//!array with names for detector folders (where detector is going to be put)
130
131 static AliConfig* fgInstance; //pointer to the AliConfig instance
132
88cb7938 133
134 ClassDef(AliConfig,2) //Configuration class for AliRun
9e1a0ddb 135}; // end class AliConfig
136
137#endif