]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliConfig.h
Some more code cleanup
[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$ */
7/*
682a4a95 8 * $Log$
ef92dd70 9 * Revision 1.7 2002/10/29 14:26:49 hristov
10 * Code clean-up (F.Carminati)
11 *
e2afb3b6 12 * Revision 1.6 2002/10/22 15:02:15 alibrary
13 * Introducing Riostream.h
14 *
b16a1b1e 15 * Revision 1.5 2002/10/14 14:57:32 hristov
16 * Merging the VirtualMC branch to the main development branch (HEAD)
17 *
b9d0a01d 18 * Revision 1.4.8.1 2002/06/10 14:43:06 hristov
19 * Merged with v3-08-02
20 *
21 * Revision 1.4 2001/10/05 12:11:40 hristov
22 * iostream.h used instead of iostream (HP)
23 *
931e9fdb 24 * Revision 1.3 2001/10/04 15:30:56 hristov
25 * Changes to accommodate the set of PHOS folders and tasks (Y.Schutz)
26 *
7e90ff59 27 * Revision 1.2 2001/05/21 17:22:51 buncic
28 * Fixed problem with missing AliConfig while reading galice.root
29 *
682a4a95 30 * Revision 1.1 2001/05/16 14:57:22 alibrary
31 * New files for folders and Stack
32 *
9e1a0ddb 33 */
34
b9d0a01d 35#include "AliMC.h"
b16a1b1e 36
37class TDatabasePDG;
38class TFolder;
39class TString;
40
41class AliConfig;
42class AliDetector;
9e1a0ddb 43class AliGenerator;
44class AliModule;
9e1a0ddb 45class AliTasks;
46
47class AliConfig : public TNamed {
7e90ff59 48
49public:
b16a1b1e 50
51 AliConfig();
7e90ff59 52 virtual ~ AliConfig ();
53
54 void Add (AliGenerator *generator);
55 void Add (AliMC *mc);
56 void Add (TDatabasePDG *pdg);
57 void Add (AliModule *module);
58 void Add (AliDetector *detector);
59
60 void Add (char *list);
61
62 static AliConfig* Instance();
63
64private:
b16a1b1e 65
66 enum {kFolders=8, kTasks=5};
67 AliConfig(const char * name, const char * title);
68 AliConfig(const AliConfig&);
e2afb3b6 69 void AddInFolder (const char * dir, TObject *obj);
ef92dd70 70 void AddSubFolder(const char * dir[], TObject *obj);
71 void AddSubTask(const char * dir[], TObject *obj);
e2afb3b6 72 TObject* FindInFolder (const char *dir, const char *name);
b16a1b1e 73 AliConfig& operator = (const AliConfig&) {return *this;}
7e90ff59 74
75 TFolder *fTopFolder;
76 AliTasks *fTasks;
77 // folders
e2afb3b6 78 const char* fPDGFolder ;
79 const char* fGeneratorFolder ;
80 const char* fMCFolder ;
81 const char* fModuleFolder ;
ef92dd70 82 const char** fDetectorFolder ;
83 const char** fDetectorTask ;
9e1a0ddb 84
7e90ff59 85 static AliConfig* fInstance;
9e1a0ddb 86
682a4a95 87 ClassDef(AliConfig,1) //Configuration class for AliRun
9e1a0ddb 88}; // end class AliConfig
89
90#endif