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