4 // Class for geometry construction of a standalone
7 #ifndef ALI_SINGLE_MODULE_CONSTRUCTION_H
8 #define ALI_SINGLE_MODULE_CONSTRUCTION_H
10 #include "AliModuleConstruction.h"
11 #include "AliModuleType.h"
17 class G4VPhysicalVolume;
18 class G4LogicalVolume;
20 class AliSingleModuleConstruction : public AliModuleConstruction
23 AliSingleModuleConstruction(G4String moduleName, G4int version,
24 AliModuleType moduleType = kDetector);
25 AliSingleModuleConstruction(const AliSingleModuleConstruction& right);
27 // AliSingleModuleConstruction();
28 virtual ~AliSingleModuleConstruction();
31 AliSingleModuleConstruction& operator=(
32 const AliSingleModuleConstruction &right);
34 // static set/get methods
35 static void SetWorld(G4VPhysicalVolume* world);
36 static G4VPhysicalVolume* GetWorld();
39 void Configure(const AliFiles& files);
40 virtual void Construct();
43 void SetProcessConfig(G4bool processConfig);
44 void SetModuleFrameName(G4String moduleFrameName);
45 void SetModuleType(AliModuleType type);
48 G4int GetVersion() const;
49 AliModuleType GetType() const;
50 G4bool GetProcessConfig() const;
53 AliSingleModuleConstruction();
56 // static data members
57 static G4VPhysicalVolume* fgWorld; //top (world) physical volume
60 G4int fVersion; //module version
61 AliModuleType fType; //module type (detector/structure)
62 G4bool fProcessConfig; //control for processing Config.C
67 inline G4VPhysicalVolume* AliSingleModuleConstruction::GetWorld()
70 inline void AliSingleModuleConstruction::SetWorld(G4VPhysicalVolume* world)
73 inline void AliSingleModuleConstruction::SetProcessConfig(G4bool processConfig)
74 { fProcessConfig = processConfig; }
76 inline void AliSingleModuleConstruction::SetModuleFrameName(G4String name)
77 { fModuleFrameName = name; }
79 inline void AliSingleModuleConstruction::SetModuleType(AliModuleType type)
82 inline G4int AliSingleModuleConstruction::GetVersion() const
85 inline AliModuleType AliSingleModuleConstruction::GetType() const
88 inline G4bool AliSingleModuleConstruction::GetProcessConfig() const
89 { return fProcessConfig; }
91 #endif //ALI_SINGLE_MODULE_CONSTRUCTION_H