Geant4  10.02.p03
LXeDetectorMessenger Class Reference

#include <LXeDetectorMessenger.hh>

Inheritance diagram for LXeDetectorMessenger:
Collaboration diagram for LXeDetectorMessenger:

Public Member Functions

 LXeDetectorMessenger (LXeDetectorConstruction *)
 
virtual ~LXeDetectorMessenger ()
 
virtual void SetNewValue (G4UIcommand *, G4String)
 
- Public Member Functions inherited from G4UImessenger
 G4UImessenger ()
 
 G4UImessenger (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
virtual ~G4UImessenger ()
 
virtual G4String GetCurrentValue (G4UIcommand *command)
 
G4bool operator== (const G4UImessenger &messenger) const
 
G4bool CommandsShouldBeInMaster () const
 

Private Attributes

LXeDetectorConstructionfLXeDetector
 
G4UIdirectoryfDetectorDir
 
G4UIdirectoryfVolumesDir
 
G4UIcmdWith3VectorAndUnitfDimensionsCmd
 
G4UIcmdWithADoubleAndUnitfHousingThicknessCmd
 
G4UIcmdWithADoubleAndUnitfPmtRadiusCmd
 
G4UIcmdWithAnIntegerfNxCmd
 
G4UIcmdWithAnIntegerfNyCmd
 
G4UIcmdWithAnIntegerfNzCmd
 
G4UIcmdWithABoolfSphereCmd
 
G4UIcmdWithADoublefReflectivityCmd
 
G4UIcmdWithABoolfWlsCmd
 
G4UIcmdWithABoolfLxeCmd
 
G4UIcmdWithAnIntegerfNFibersCmd
 
G4UIcommandfDefaultsCmd
 
G4UIcmdWithADoublefMainScintYield
 
G4UIcmdWithADoublefWLSScintYield
 

Additional Inherited Members

- Protected Member Functions inherited from G4UImessenger
G4String ItoS (G4int i)
 
G4String DtoS (G4double a)
 
G4String BtoS (G4bool b)
 
G4int StoI (G4String s)
 
G4double StoD (G4String s)
 
G4bool StoB (G4String s)
 
void AddUIcommand (G4UIcommand *newCommand)
 
void CreateDirectory (const G4String &path, const G4String &dsc, G4bool commandsToBeBroadcasted=true)
 
template<typename T >
T * CreateCommand (const G4String &cname, const G4String &dsc)
 
- Protected Attributes inherited from G4UImessenger
G4UIdirectorybaseDir
 
G4String baseDirName
 
G4bool commandsShouldBeInMaster
 

Detailed Description

Definition at line 47 of file LXeDetectorMessenger.hh.

Constructor & Destructor Documentation

◆ LXeDetectorMessenger()

LXeDetectorMessenger::LXeDetectorMessenger ( LXeDetectorConstruction detector)

Definition at line 46 of file LXeDetectorMessenger.cc.

47  : fLXeDetector(detector)
48 {
49  //Setup a command directory for detector controls with guidance
50  fDetectorDir = new G4UIdirectory("/LXe/detector/");
51  fDetectorDir->SetGuidance("Detector geometry control");
52 
53  fVolumesDir = new G4UIdirectory("/LXe/detector/volumes/");
54  fVolumesDir->SetGuidance("Enable/disable volumes");
55 
56  //Various commands for modifying detector geometry
58  new G4UIcmdWith3VectorAndUnit("/LXe/detector/dimensions",this);
59  fDimensionsCmd->SetGuidance("Set the dimensions of the detector volume.");
60  fDimensionsCmd->SetParameterName("scint_x","scint_y","scint_z",false);
64 
66  ("/LXe/detector/housingThickness",this);
67  fHousingThicknessCmd->SetGuidance("Set the thickness of the housing.");
68  fHousingThicknessCmd->SetParameterName("d_mtl",false);
72 
74  ("/LXe/detector/pmtRadius",this);
75  fPmtRadiusCmd->SetGuidance("Set the radius of the PMTs.");
76  fPmtRadiusCmd->SetParameterName("radius",false);
80 
81  fNxCmd = new G4UIcmdWithAnInteger("/LXe/detector/nx",this);
82  fNxCmd->SetGuidance("Set the number of PMTs along the x-dimension.");
83  fNxCmd->SetParameterName("nx",false);
85  fNxCmd->SetToBeBroadcasted(false);
86 
87  fNyCmd = new G4UIcmdWithAnInteger("/LXe/detector/ny",this);
88  fNyCmd->SetGuidance("Set the number of PMTs along the y-dimension.");
89  fNyCmd->SetParameterName("ny",false);
91  fNyCmd->SetToBeBroadcasted(false);
92 
93  fNzCmd = new G4UIcmdWithAnInteger("/LXe/detector/nz",this);
94  fNzCmd->SetGuidance("Set the number of PMTs along the z-dimension.");
95  fNzCmd->SetParameterName("nz",false);
97  fNzCmd->SetToBeBroadcasted(false);
98 
99  fSphereCmd = new G4UIcmdWithABool("/LXe/detector/volumes/sphere",this);
100  fSphereCmd->SetGuidance("Enable/Disable the sphere.");
103 
104  fReflectivityCmd = new G4UIcmdWithADouble("/LXe/detector/reflectivity",this);
105  fReflectivityCmd->SetGuidance("Set the reflectivity of the housing.");
108 
109  fWlsCmd = new G4UIcmdWithABool("/LXe/detector/volumes/wls",this);
110  fWlsCmd->SetGuidance("Enable/Disable the WLS slab");
112  fWlsCmd->SetToBeBroadcasted(false);
113 
114  fLxeCmd = new G4UIcmdWithABool("/LXe/detector/volumes/lxe",this);
115  fLxeCmd->SetGuidance("Enable/Disable the main detector volume.");
117  fLxeCmd->SetToBeBroadcasted(false);
118 
119  fNFibersCmd = new G4UIcmdWithAnInteger("/LXe/detector/nfibers",this);
120  fNFibersCmd->SetGuidance("Set the number of WLS fibers in the WLS slab.");
123 
124  fDefaultsCmd = new G4UIcommand("/LXe/detector/defaults",this);
125  fDefaultsCmd->SetGuidance("Set all detector geometry values to defaults.");
128 
129  fMainScintYield=new G4UIcmdWithADouble("/LXe/detector/MainScintYield",this);
130  fMainScintYield->SetGuidance("Set scinitillation yield of main volume.");
131  fMainScintYield->SetGuidance("Specified in photons/MeV");
134 
135  fWLSScintYield = new G4UIcmdWithADouble("/LXe/detector/WLSScintYield",this);
136  fWLSScintYield->SetGuidance("Set scintillation yield of WLS Slab");
137  fWLSScintYield->SetGuidance("Specified in photons/MeV");
140 }
G4UIcmdWithABool * fLxeCmd
G4UIcmdWithAnInteger * fNFibersCmd
G4UIcmdWithAnInteger * fNyCmd
G4UIcmdWithADoubleAndUnit * fHousingThicknessCmd
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
G4UIcmdWithAnInteger * fNxCmd
G4UIcmdWith3VectorAndUnit * fDimensionsCmd
void SetDefaultUnit(const char *defUnit)
void SetToBeBroadcasted(G4bool val)
Definition: G4UIcommand.hh:184
void SetParameterName(const char *theNameX, const char *theNameY, const char *theNameZ, G4bool omittable, G4bool currentAsDefault=false)
G4UIcmdWithABool * fWlsCmd
G4UIcmdWithAnInteger * fNzCmd
void SetGuidance(const char *aGuidance)
Definition: G4UIcommand.hh:161
void AvailableForStates(G4ApplicationState s1)
Definition: G4UIcommand.cc:239
G4UIcmdWithADouble * fReflectivityCmd
G4UIdirectory * fDetectorDir
void SetDefaultUnit(const char *defUnit)
G4UIcmdWithABool * fSphereCmd
G4UIcmdWithADouble * fWLSScintYield
G4UIcmdWithADouble * fMainScintYield
LXeDetectorConstruction * fLXeDetector
G4UIcmdWithADoubleAndUnit * fPmtRadiusCmd
void SetParameterName(const char *theName, G4bool omittable, G4bool currentAsDefault=false)
Here is the call graph for this function:

◆ ~LXeDetectorMessenger()

LXeDetectorMessenger::~LXeDetectorMessenger ( )
virtual

Definition at line 144 of file LXeDetectorMessenger.cc.

145 {
146  delete fDimensionsCmd;
147  delete fHousingThicknessCmd;
148  delete fPmtRadiusCmd;
149  delete fNxCmd;
150  delete fNyCmd;
151  delete fNzCmd;
152  delete fDetectorDir;
153  delete fVolumesDir;
154  delete fDefaultsCmd;
155  delete fSphereCmd;
156  delete fWlsCmd;
157  delete fLxeCmd;
158  delete fNFibersCmd;
159  delete fReflectivityCmd;
160  delete fMainScintYield;
161  delete fWLSScintYield;
162 }
G4UIcmdWithABool * fLxeCmd
G4UIcmdWithAnInteger * fNFibersCmd
G4UIcmdWithAnInteger * fNyCmd
G4UIcmdWithADoubleAndUnit * fHousingThicknessCmd
G4UIcmdWithAnInteger * fNxCmd
G4UIcmdWith3VectorAndUnit * fDimensionsCmd
G4UIcmdWithABool * fWlsCmd
G4UIcmdWithAnInteger * fNzCmd
G4UIcmdWithADouble * fReflectivityCmd
G4UIdirectory * fDetectorDir
G4UIcmdWithABool * fSphereCmd
G4UIcmdWithADouble * fWLSScintYield
G4UIcmdWithADouble * fMainScintYield
G4UIcmdWithADoubleAndUnit * fPmtRadiusCmd

Member Function Documentation

◆ SetNewValue()

void LXeDetectorMessenger::SetNewValue ( G4UIcommand command,
G4String  newValue 
)
virtual

Reimplemented from G4UImessenger.

Definition at line 166 of file LXeDetectorMessenger.cc.

167 {
168  if( command == fDimensionsCmd ){
170  }
171  else if (command == fHousingThicknessCmd){
173  ->GetNewDoubleValue(newValue));
174  }
175  else if (command == fPmtRadiusCmd){
177  }
178  else if (command == fNxCmd){
180  }
181  else if (command == fNyCmd){
183  }
184  else if (command == fNzCmd){
186  }
187  else if (command == fDefaultsCmd){
189  }
190  else if (command == fSphereCmd){
192  }
193  else if (command == fReflectivityCmd){
196  }
197  else if (command == fWlsCmd){
199  }
200  else if (command == fLxeCmd){
202  }
203  else if (command == fNFibersCmd){
205  }
206  else if (command == fMainScintYield){
208  }
209  else if (command == fWLSScintYield){
211  }
212 }
G4UIcmdWithABool * fLxeCmd
G4UIcmdWithAnInteger * fNFibersCmd
G4UIcmdWithAnInteger * fNyCmd
G4UIcmdWithADoubleAndUnit * fHousingThicknessCmd
G4UIcmdWithAnInteger * fNxCmd
static G4int GetNewIntValue(const char *paramString)
G4UIcmdWith3VectorAndUnit * fDimensionsCmd
static G4ThreeVector GetNew3VectorValue(const char *paramString)
static G4double GetNewDoubleValue(const char *paramString)
static G4bool GetNewBoolValue(const char *paramString)
G4UIcmdWithABool * fWlsCmd
G4UIcmdWithAnInteger * fNzCmd
static G4double GetNewDoubleValue(const char *paramString)
G4UIcmdWithADouble * fReflectivityCmd
G4UIcmdWithABool * fSphereCmd
G4UIcmdWithADouble * fWLSScintYield
G4UIcmdWithADouble * fMainScintYield
LXeDetectorConstruction * fLXeDetector
G4UIcmdWithADoubleAndUnit * fPmtRadiusCmd
Here is the call graph for this function:

Member Data Documentation

◆ fDefaultsCmd

G4UIcommand* LXeDetectorMessenger::fDefaultsCmd
private

Definition at line 72 of file LXeDetectorMessenger.hh.

◆ fDetectorDir

G4UIdirectory* LXeDetectorMessenger::fDetectorDir
private

Definition at line 59 of file LXeDetectorMessenger.hh.

◆ fDimensionsCmd

G4UIcmdWith3VectorAndUnit* LXeDetectorMessenger::fDimensionsCmd
private

Definition at line 61 of file LXeDetectorMessenger.hh.

◆ fHousingThicknessCmd

G4UIcmdWithADoubleAndUnit* LXeDetectorMessenger::fHousingThicknessCmd
private

Definition at line 62 of file LXeDetectorMessenger.hh.

◆ fLxeCmd

G4UIcmdWithABool* LXeDetectorMessenger::fLxeCmd
private

Definition at line 70 of file LXeDetectorMessenger.hh.

◆ fLXeDetector

LXeDetectorConstruction* LXeDetectorMessenger::fLXeDetector
private

Definition at line 58 of file LXeDetectorMessenger.hh.

◆ fMainScintYield

G4UIcmdWithADouble* LXeDetectorMessenger::fMainScintYield
private

Definition at line 73 of file LXeDetectorMessenger.hh.

◆ fNFibersCmd

G4UIcmdWithAnInteger* LXeDetectorMessenger::fNFibersCmd
private

Definition at line 71 of file LXeDetectorMessenger.hh.

◆ fNxCmd

G4UIcmdWithAnInteger* LXeDetectorMessenger::fNxCmd
private

Definition at line 64 of file LXeDetectorMessenger.hh.

◆ fNyCmd

G4UIcmdWithAnInteger* LXeDetectorMessenger::fNyCmd
private

Definition at line 65 of file LXeDetectorMessenger.hh.

◆ fNzCmd

G4UIcmdWithAnInteger* LXeDetectorMessenger::fNzCmd
private

Definition at line 66 of file LXeDetectorMessenger.hh.

◆ fPmtRadiusCmd

G4UIcmdWithADoubleAndUnit* LXeDetectorMessenger::fPmtRadiusCmd
private

Definition at line 63 of file LXeDetectorMessenger.hh.

◆ fReflectivityCmd

G4UIcmdWithADouble* LXeDetectorMessenger::fReflectivityCmd
private

Definition at line 68 of file LXeDetectorMessenger.hh.

◆ fSphereCmd

G4UIcmdWithABool* LXeDetectorMessenger::fSphereCmd
private

Definition at line 67 of file LXeDetectorMessenger.hh.

◆ fVolumesDir

G4UIdirectory* LXeDetectorMessenger::fVolumesDir
private

Definition at line 60 of file LXeDetectorMessenger.hh.

◆ fWlsCmd

G4UIcmdWithABool* LXeDetectorMessenger::fWlsCmd
private

Definition at line 69 of file LXeDetectorMessenger.hh.

◆ fWLSScintYield

G4UIcmdWithADouble* LXeDetectorMessenger::fWLSScintYield
private

Definition at line 74 of file LXeDetectorMessenger.hh.


The documentation for this class was generated from the following files: