]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliSingleModuleConstruction.h
corrected includes from g4std
[u/mrichter/AliRoot.git] / AliGeant4 / AliSingleModuleConstruction.h
CommitLineData
676fb573 1// $Id$
2// Category: geometry
3//
4// Class for geometry construction of a standalone
5// module (AliModule).
6
7#ifndef ALI_SINGLE_MODULE_CONSTRUCTION_H
8#define ALI_SINGLE_MODULE_CONSTRUCTION_H
9
10#include "AliModuleConstruction.h"
11#include "AliModuleType.h"
12
13#include <globals.hh>
14
15class AliSingleModuleConstructionMessenger;
16class AliSDManager;
17
18class G4VPhysicalVolume;
19class G4LogicalVolume;
20
21class AliSingleModuleConstruction : public AliModuleConstruction
22{
23 public:
24 AliSingleModuleConstruction(G4String moduleName, G4int version,
25 AliModuleType moduleType = kDetector);
26 AliSingleModuleConstruction(const AliSingleModuleConstruction& right);
27 // --> protected
28 // AliSingleModuleConstruction();
29 virtual ~AliSingleModuleConstruction();
30
31 // operators
32 AliSingleModuleConstruction& operator=(
33 const AliSingleModuleConstruction &right);
34
35 // static set/get methods
36 static void SetWorld(G4VPhysicalVolume* world);
37 static G4VPhysicalVolume* GetWorld();
38
39 // methods
40 void Configure();
41 virtual void Construct();
42
43 // set methods
44 void SetProcessConfig(G4bool processConfig);
45 void SetAllLVSensitive(G4bool allLVSensitive);
46 void SetModuleFrameName(G4String moduleFrameName);
47 void SetModuleType(AliModuleType type);
48
49 // get methods
50 G4int GetVersion() const;
51 AliModuleType GetType() const;
52 G4bool GetAllLVSensitive() const;
53 G4bool GetProcessConfig() const;
54
55 protected:
56 AliSingleModuleConstruction();
57
58 private:
59 // methods
60 void CreateSensitiveDetectors();
61 void CreateSensitiveDetectors1();
62 void CreateSensitiveDetectors2();
63
64 // static data members
65 static G4VPhysicalVolume* fgWorld; //top (world) physical volume
66
67 // data members
68 AliSDManager* fSDManager; //AliSDManager
69 G4int fVersion; //module version
70 AliModuleType fType; //module type (detector/structure)
71 G4bool fAllLVSensitive; //control for setting sensitive detectors
72 G4bool fProcessConfig; //control for processing Config.C
73 AliSingleModuleConstructionMessenger* fMessenger; //messenger
74};
75
76// inline methods
77
78inline G4VPhysicalVolume* AliSingleModuleConstruction::GetWorld()
79{ return fgWorld; }
80
81inline void AliSingleModuleConstruction::SetWorld(G4VPhysicalVolume* world)
82{ fgWorld = world; }
83
84inline void AliSingleModuleConstruction::SetProcessConfig(G4bool processConfig)
85{ fProcessConfig = processConfig; }
86
87inline void AliSingleModuleConstruction::SetAllLVSensitive(G4bool allLVSensitive)
88{ fAllLVSensitive = allLVSensitive; }
89
90inline void AliSingleModuleConstruction::SetModuleFrameName(G4String name)
91{ fModuleFrameName = name; }
92
93inline void AliSingleModuleConstruction::SetModuleType(AliModuleType type)
94{ fType = type; }
95
96inline G4int AliSingleModuleConstruction::GetVersion() const
97{ return fVersion; }
98
99inline AliModuleType AliSingleModuleConstruction::GetType() const
100{ return fType; }
101
102inline G4bool AliSingleModuleConstruction::GetAllLVSensitive() const
103{ return fAllLVSensitive; }
104
105inline G4bool AliSingleModuleConstruction::GetProcessConfig() const
106{ return fProcessConfig; }
107
108#endif //ALI_SINGLE_MODULE_CONSTRUCTION_H