corrected includes from g4std
[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 <G3VolTable.hh>
14 #include <globals.hh>
15
16 #include <g4std/vector>
17
18 class AliSingleModuleConstruction;
19 class AliSDManager;
20
21 class AliMoreModulesConstruction
22 {  
23   public:
24     AliMoreModulesConstruction();
25     AliMoreModulesConstruction(const AliMoreModulesConstruction& right);
26     virtual ~AliMoreModulesConstruction();
27
28     // operators
29     AliMoreModulesConstruction& operator=(
30                                const AliMoreModulesConstruction& right);
31
32     // methods
33     void AddModule(G4String moduleName, G4int version, 
34                    AliModuleType moduleType);
35     void Construct();
36     
37     // get methods
38     G4int GetNofModules() const;
39     AliSingleModuleConstruction* GetModuleConstruction(G4int i) const;
40         
41   private:    
42     // methods
43     void CreateSensitiveDetectors(G4bool allLVSensitive);
44     void CreateSensitiveDetectors1();
45     void CreateSensitiveDetectors2();
46
47     // data members
48     vector<AliSingleModuleConstruction*>  fModuleConstructionVector;        //.
49                                 //vector of AliSingleModuleConstruction
50     AliSDManager*  fSDManager;  //AliSDManager                                             
51 };                                                 
52
53 // inline methods
54
55 inline G4int AliMoreModulesConstruction::GetNofModules() const
56 { return fModuleConstructionVector.size(); }
57
58 inline AliSingleModuleConstruction* 
59   AliMoreModulesConstruction::GetModuleConstruction(G4int i) const 
60 { return fModuleConstructionVector[i]; }
61
62 #endif //ALI_MORE_MODULES_CONSTRUCTION_H