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