]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant4/AliMoreModulesConstruction.h
attribute fSDManager removed; methods CreateSensitiveDetectors/1/2() moved to AliSDCo...
[u/mrichter/AliRoot.git] / AliGeant4 / AliMoreModulesConstruction.h
1 // $Id$
2 // Category: geometry
3 //
4 // Class for geometry construction of a set of dependent
5 // modules (AliModule). 
6
7
8 #ifndef ALI_MORE_MODULES_CONSTRUCTION_H
9 #define ALI_MORE_MODULES_CONSTRUCTION_H
10
11 #include "AliModuleType.h"
12
13 #include <globals.hh>
14
15 #include <g4std/vector>
16
17 class AliSingleModuleConstruction;
18 class AliFiles;
19
20 class AliMoreModulesConstruction
21 {  
22   typedef G4std::vector<AliSingleModuleConstruction*>  
23                                    AliSingleModuleConstructionPtrVector;
24
25   public:
26     AliMoreModulesConstruction();
27     AliMoreModulesConstruction(const AliMoreModulesConstruction& right);
28     virtual ~AliMoreModulesConstruction();
29
30     // operators
31     AliMoreModulesConstruction& operator=(
32                                const AliMoreModulesConstruction& right);
33
34     // methods
35     void AddModule(G4String moduleName, G4int version, 
36                    AliModuleType moduleType);
37     void Configure(const AliFiles& files);
38     void Construct();
39     
40     // get methods
41     G4int GetNofModules() const;
42     AliSingleModuleConstruction* GetModuleConstruction(G4int i) const;
43         
44   private:    
45     // data members
46     AliSingleModuleConstructionPtrVector  fModuleConstructionVector; //..
47                                 //vector of AliSingleModuleConstruction
48 };                                                 
49
50 // inline methods
51
52 inline G4int AliMoreModulesConstruction::GetNofModules() const
53 { return fModuleConstructionVector.size(); }
54
55 inline AliSingleModuleConstruction* 
56   AliMoreModulesConstruction::GetModuleConstruction(G4int i) const 
57 { return fModuleConstructionVector[i]; }
58
59 #endif //ALI_MORE_MODULES_CONSTRUCTION_H