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