]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliMoreModulesConstruction.h
removed rule for dummy arguments; added rule for virtual member functions (no.5)
[u/mrichter/AliRoot.git] / AliGeant4 / AliMoreModulesConstruction.h
CommitLineData
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
13#include <G3VolTable.hh>
14#include <globals.hh>
15
16#include <vector.h>
17
18class AliSingleModuleConstruction;
19class AliSDManager;
20
21class 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
55inline G4int AliMoreModulesConstruction::GetNofModules() const
56{ return fModuleConstructionVector.size(); }
57
58inline AliSingleModuleConstruction*
59 AliMoreModulesConstruction::GetModuleConstruction(G4int i) const
60{ return fModuleConstructionVector[i]; }
61
62#endif //ALI_MORE_MODULES_CONSTRUCTION_H