HerdSoftware  0.1.1
RadiatorLogicalVolume.h
Go to the documentation of this file.
1 /*
2  * RadiatorLogicalVolume.h
3  *
4  * Created on: 6 Jul 2020
5  * Author: Nicola Mori
6  */
7 
8 #ifndef RADIATORLOGICALVOLUME_H_
9 #define RADIATORLOGICALVOLUME_H_
10 
11 // Geant4 headers
12 #include "G4LogicalVolume.hh"
13 
20 class RadiatorLogicalVolume : public G4LogicalVolume {
21 public:
22  using G4LogicalVolume::G4LogicalVolume;
23 
24  void SetRadiatorProperties(G4Material *foilMaterial, G4Material *gasMaterial, G4double foilThickness,
25  G4double gasThickness, G4int foilNumber) {
26  _foilMaterial = foilMaterial;
27  _gasMaterial = gasMaterial;
28  _foilThickness = foilThickness;
29  _gasThickness = gasThickness;
30  _foilNumber = foilNumber;
31  }
32 
33  G4Material *FoilMaterial() { return _foilMaterial; }
34  G4Material *GasMaterial() { return _gasMaterial; }
35  G4double FoilThickness() { return _foilThickness; }
36  G4double GasThickness() { return _gasThickness; }
37  G4double FoilNumber() { return _foilNumber; }
38 
39 private:
40  G4Material *_foilMaterial = nullptr;
41  G4Material *_gasMaterial = nullptr;
42  G4double _foilThickness = std::numeric_limits<decltype(_foilThickness)>::lowest();
43  G4double _gasThickness = std::numeric_limits<decltype(_gasThickness)>::lowest();
44  G4int _foilNumber = std::numeric_limits<decltype(_foilNumber)>::lowest();
45 };
46 
47 #endif /* RADIATORLOGICALVOLUME_H_ */
G4Material * _gasMaterial
Definition: RadiatorLogicalVolume.h:41
A class to define logical volumes fo TR radiators.
Definition: RadiatorLogicalVolume.h:20
G4double FoilNumber()
Definition: RadiatorLogicalVolume.h:37
G4double _gasThickness
Definition: RadiatorLogicalVolume.h:43
G4double FoilThickness()
Definition: RadiatorLogicalVolume.h:35
G4double _foilThickness
Definition: RadiatorLogicalVolume.h:42
G4Material * GasMaterial()
Definition: RadiatorLogicalVolume.h:34
G4Material * _foilMaterial
Definition: RadiatorLogicalVolume.h:40
G4Material * FoilMaterial()
Definition: RadiatorLogicalVolume.h:33
G4double GasThickness()
Definition: RadiatorLogicalVolume.h:36
void SetRadiatorProperties(G4Material *foilMaterial, G4Material *gasMaterial, G4double foilThickness, G4double gasThickness, G4int foilNumber)
Definition: RadiatorLogicalVolume.h:24
G4int _foilNumber
Definition: RadiatorLogicalVolume.h:44