4 // Author: I. Hrivnacova
6 // Class AliSingleModuleConstruction
7 // ---------------------------------
8 // Class for geometry construction of a standalone
11 #ifndef ALI_SINGLE_MODULE_CONSTRUCTION_H
12 #define ALI_SINGLE_MODULE_CONSTRUCTION_H
14 #include "AliModuleConstruction.h"
15 #include "AliModuleType.h"
21 class G4VPhysicalVolume;
22 class G4LogicalVolume;
24 class AliSingleModuleConstruction : public AliModuleConstruction
27 AliSingleModuleConstruction(G4String moduleName, G4int version,
28 AliModuleType moduleType = kDetector);
29 AliSingleModuleConstruction(const AliSingleModuleConstruction& right);
31 // AliSingleModuleConstruction();
32 virtual ~AliSingleModuleConstruction();
35 AliSingleModuleConstruction& operator=(
36 const AliSingleModuleConstruction &right);
38 // static set/get methods
39 static void SetWorld(G4VPhysicalVolume* world);
40 static G4VPhysicalVolume* GetWorld();
43 void Configure(const AliFiles& files);
44 virtual void Construct();
47 void SetProcessConfig(G4bool processConfig);
48 void SetModuleFrameName(G4String moduleFrameName);
49 void SetModuleType(AliModuleType type);
52 G4int GetVersion() const;
53 AliModuleType GetType() const;
54 G4bool GetProcessConfig() const;
57 AliSingleModuleConstruction();
60 // static data members
61 static G4VPhysicalVolume* fgWorld; //top (world) physical volume
64 G4int fVersion; //module version
65 AliModuleType fType; //module type (detector/structure)
66 G4bool fProcessConfig; //control for processing Config.C
71 inline G4VPhysicalVolume* AliSingleModuleConstruction::GetWorld()
74 inline void AliSingleModuleConstruction::SetWorld(G4VPhysicalVolume* world)
77 inline void AliSingleModuleConstruction::SetProcessConfig(G4bool processConfig)
78 { fProcessConfig = processConfig; }
80 inline void AliSingleModuleConstruction::SetModuleFrameName(G4String name)
81 { fModuleFrameName = name; }
83 inline void AliSingleModuleConstruction::SetModuleType(AliModuleType type)
86 inline G4int AliSingleModuleConstruction::GetVersion() const
89 inline AliModuleType AliSingleModuleConstruction::GetType() const
92 inline G4bool AliSingleModuleConstruction::GetProcessConfig() const
93 { return fProcessConfig; }
95 #endif //ALI_SINGLE_MODULE_CONSTRUCTION_H