Geant4 VMC Version 6.6
Loading...
Searching...
No Matches
TG4RadiatorDescription.h
Go to the documentation of this file.
1#ifndef TG4_RADIATOR_DESCRIPTION_H
2#define TG4_RADIATOR_DESCRIPTION_H
3
4//-------------------------------------------------
5// The Geant4 Virtual Monte Carlo package
6// Copyright (C) 2007 - 2015 Ivana Hrivnacova
7// All rights reserved.
8//
9// For the licensing terms see geant4_vmc/LICENSE.
10// Contact: root-vmc@cern.ch
11//-------------------------------------------------
12
17
18#include <globals.hh>
19
20#include <tuple>
21#include <vector>
22
30
32{
33 public:
34 using Component = std::tuple<G4String, G4double, G4double>;
35
36 public:
37 TG4RadiatorDescription(const G4String& volumeName = "");
39
40 // methods
41 void PrintParameters() const;
42
43 // set methods
44 void SetVolumeName(const G4String& name);
45 void SetXtrModel(const G4String& name);
46 void SetFoilNumber(G4int foilNumber);
47 void SetLayer(
48 const G4String& materialName, G4double thickness, G4double fluctuation);
49 void SetStrawTube(const G4String& materialName, G4double wallThickness,
50 G4double gasThickness);
51
52 // get methods
53 G4String GetVolumeName() const;
54 G4String GetXtrModel() const;
55 G4int GetFoilNumber() const;
56 Component GetLayer(G4int i) const;
57 Component GetStrawTube() const;
58
59 private:
61 G4String fVolumeName;
62
64 G4String fXtrModel;
65
68
70 std::vector<Component> fLayers;
71
74};
75
76// inline functions
77
79inline void TG4RadiatorDescription::SetVolumeName(const G4String& name)
80{
81 fVolumeName = name;
82}
83
85inline void TG4RadiatorDescription::SetXtrModel(const G4String& name)
86{
87 fXtrModel = name;
88}
89
91inline void TG4RadiatorDescription::SetFoilNumber(G4int foilNumber)
92{
93 fFoilNumber = foilNumber;
94}
95
98{
99 return fVolumeName;
100}
101
104{
105 return fXtrModel;
106}
107
110{
111 return fFoilNumber;
112}
113
120
121#endif // TG4_RADIATOR_DESCRIPTION_H
The radiator description.
TG4RadiatorDescription(const G4String &volumeName="")
void SetVolumeName(const G4String &name)
Set the name of associated volume.
std::tuple< G4String, G4double, G4double > Component
G4String fXtrModel
The transition radiation process model.
G4int fFoilNumber
The number of foils.
G4String fVolumeName
The name of associated volume.
G4String GetVolumeName() const
Return the name of associated volume.
void SetStrawTube(const G4String &materialName, G4double wallThickness, G4double gasThickness)
Component GetStrawTube() const
Return the straw tube parameters.
Component GetLayer(G4int i) const
void SetLayer(const G4String &materialName, G4double thickness, G4double fluctuation)
G4String GetXtrModel() const
Return the transition radiation process model.
std::vector< Component > fLayers
The layer parameters.
void PrintParameters() const
G4int GetFoilNumber() const
Return the number of foils.
Component fStrawTube
The straw tube parameters.
void SetXtrModel(const G4String &name)
Set the transition radiation process model.
void SetFoilNumber(G4int foilNumber)
Set the number of foils.