]> git.uio.no Git - u/mrichter/AliRoot.git/blame - AliGeant4/AliModuleConstruction.h
Cosmetics
[u/mrichter/AliRoot.git] / AliGeant4 / AliModuleConstruction.h
CommitLineData
676fb573 1// $Id$
2// Category: geometry
3//
4ecb3cfd 4// Author: I. Hrivnacova
5//
6// Class AliModuleConstruction
7// ---------------------------
80ed9a99 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.
12
676fb573 13
14#ifndef ALI_MODULE_CONSTRUCTION_H
15#define ALI_MODULE_CONSTRUCTION_H
16
80ed9a99 17#include "AliModuleType.h"
4ecb3cfd 18
676fb573 19#include <globals.hh>
676fb573 20
c97337f9 21class AliModule;
80ed9a99 22class AliFiles;
676fb573 23
24class AliModuleConstruction
25{
26 public:
80ed9a99 27 AliModuleConstruction(const G4String& moduleName,
28 G4int version,
29 AliModuleType moduleType = kDetector);
676fb573 30 AliModuleConstruction(const AliModuleConstruction& right);
31 // --> protected
32 // AliModuleConstruction();
33 virtual ~AliModuleConstruction();
34
35 // operators
36 AliModuleConstruction& operator=(const AliModuleConstruction &right);
37 G4int operator==(const AliModuleConstruction& right) const;
38 G4int operator!=(const AliModuleConstruction& right) const;
39
40 // methods
80ed9a99 41 void Configure();
676fb573 42
43 // set methods
80ed9a99 44 void SetModuleType(AliModuleType type);
45 void SetProcessConfig(G4bool processConfig);
676fb573 46 void SetReadGeometry(G4bool readGeometry);
47 void SetWriteGeometry(G4bool writeGeometry);
676fb573 48
49 // get methods
676fb573 50 AliModule* GetAliModule() const;
80ed9a99 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;
676fb573 58
80ed9a99 59 private:
676fb573 60 AliModuleConstruction();
61
62 // data members
80ed9a99 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
676fb573 71
72 // data members
676fb573 73};
74
75// inline methods
76
80ed9a99 77inline void AliModuleConstruction::SetModuleType(AliModuleType type)
78{ fType = type; }
79
80inline void AliModuleConstruction::SetProcessConfig(G4bool processConfig)
81{ fProcessConfig = processConfig; }
82
676fb573 83inline void AliModuleConstruction::SetReadGeometry(G4bool readGeometry)
84{ fReadGeometry = readGeometry; }
85
86inline void AliModuleConstruction::SetWriteGeometry(G4bool writeGeometry)
87{ fWriteGeometry = writeGeometry; }
88
80ed9a99 89inline AliModuleType AliModuleConstruction::GetType() const
90{ return fType; }
91
92inline AliModule* AliModuleConstruction::GetAliModule() const
93{ return fAliModule; }
94
676fb573 95inline G4String AliModuleConstruction::GetDetName() const
96{ return fModuleName; }
97
80ed9a99 98inline G4int AliModuleConstruction::GetVersion() const
99{ return fVersion; }
676fb573 100
80ed9a99 101inline G4bool AliModuleConstruction::GetProcessConfig() const
102{ return fProcessConfig; }
676fb573 103
104inline G4bool AliModuleConstruction::GetReadGeometry() const
105{ return fReadGeometry; }
106
107inline G4bool AliModuleConstruction::GetWriteGeometry() const
108{ return fWriteGeometry; }
109
110inline G4String AliModuleConstruction::GetDataFilePath() const
111{ return fDataFilePath; }
112
113#endif //ALI_MODULE_CONSTRUCTION_H
114