]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliMoreModulesConstruction.h
Updated class description: added class title, author;
[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
676fb573 13#include <globals.hh>
14
63c8351a 15#include <g4std/vector>
676fb573 16
17class AliSingleModuleConstruction;
e4868b5c 18class AliFiles;
676fb573 19
20class AliMoreModulesConstruction
21{
5f1d09c5 22 typedef G4std::vector<AliSingleModuleConstruction*>
23 AliSingleModuleConstructionPtrVector;
24
676fb573 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);
e4868b5c 37 void Configure(const AliFiles& files);
676fb573 38 void Construct();
39
40 // get methods
41 G4int GetNofModules() const;
42 AliSingleModuleConstruction* GetModuleConstruction(G4int i) const;
43
44 private:
676fb573 45 // data members
5f1d09c5 46 AliSingleModuleConstructionPtrVector fModuleConstructionVector; //..
676fb573 47 //vector of AliSingleModuleConstruction
676fb573 48};
49
50// inline methods
51
52inline G4int AliMoreModulesConstruction::GetNofModules() const
53{ return fModuleConstructionVector.size(); }
54
55inline AliSingleModuleConstruction*
56 AliMoreModulesConstruction::GetModuleConstruction(G4int i) const
57{ return fModuleConstructionVector[i]; }
58
59#endif //ALI_MORE_MODULES_CONSTRUCTION_H