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