4 // Author: I. Hrivnacova
6 // Class AliModuleConstruction
7 // ---------------------------
8 // Composite of AliDetector and additional parameters
9 // used for optional writing/reading geometry ASCII
10 // files, interactive detector setup and processing
11 // of module related G4 macros.
14 #ifndef ALI_MODULE_CONSTRUCTION_H
15 #define ALI_MODULE_CONSTRUCTION_H
17 #include "AliModuleType.h"
24 class AliModuleConstruction
27 AliModuleConstruction(const G4String& moduleName,
29 AliModuleType moduleType = kDetector);
30 AliModuleConstruction(const AliModuleConstruction& right);
32 // AliModuleConstruction();
33 virtual ~AliModuleConstruction();
36 AliModuleConstruction& operator=(const AliModuleConstruction &right);
37 G4int operator==(const AliModuleConstruction& right) const;
38 G4int operator!=(const AliModuleConstruction& right) const;
44 void SetModuleType(AliModuleType type);
45 void SetProcessConfig(G4bool processConfig);
46 void SetReadGeometry(G4bool readGeometry);
47 void SetWriteGeometry(G4bool writeGeometry);
50 AliModule* GetAliModule() const;
51 AliModuleType GetType() const;
52 G4String GetDetName() const;
53 G4int GetVersion() const;
54 G4bool GetProcessConfig() const;
55 G4bool GetReadGeometry() const;
56 G4bool GetWriteGeometry() const;
57 G4String GetDataFilePath() const;
60 AliModuleConstruction();
63 AliModule* fAliModule; //AliModule
64 G4String fModuleName; //module name
65 AliModuleType fType; //module type (detector/structure)
66 G4int fVersion; //module version
67 G4bool fProcessConfig; //control for processing Config.C
68 G4bool fReadGeometry; //if true: geometry is read from file
69 G4bool fWriteGeometry; //if true: geometry is written to file
70 G4String fDataFilePath; //path to geometry data file
77 inline void AliModuleConstruction::SetModuleType(AliModuleType type)
80 inline void AliModuleConstruction::SetProcessConfig(G4bool processConfig)
81 { fProcessConfig = processConfig; }
83 inline void AliModuleConstruction::SetReadGeometry(G4bool readGeometry)
84 { fReadGeometry = readGeometry; }
86 inline void AliModuleConstruction::SetWriteGeometry(G4bool writeGeometry)
87 { fWriteGeometry = writeGeometry; }
89 inline AliModuleType AliModuleConstruction::GetType() const
92 inline AliModule* AliModuleConstruction::GetAliModule() const
93 { return fAliModule; }
95 inline G4String AliModuleConstruction::GetDetName() const
96 { return fModuleName; }
98 inline G4int AliModuleConstruction::GetVersion() const
101 inline G4bool AliModuleConstruction::GetProcessConfig() const
102 { return fProcessConfig; }
104 inline G4bool AliModuleConstruction::GetReadGeometry() const
105 { return fReadGeometry; }
107 inline G4bool AliModuleConstruction::GetWriteGeometry() const
108 { return fWriteGeometry; }
110 inline G4String AliModuleConstruction::GetDataFilePath() const
111 { return fDataFilePath; }
113 #endif //ALI_MODULE_CONSTRUCTION_H