35#include "G4RunManager.hh"
36#include "G4Scintillation.hh"
37#include "G4UIcmdWithABool.hh"
38#include "G4UIcmdWithADouble.hh"
39#include "G4UIcmdWithADoubleAndUnit.hh"
40#include "G4UIcmdWithAnInteger.hh"
41#include "G4UIcmdWith3VectorAndUnit.hh"
42#include "G4UIcommand.hh"
43#include "G4UIdirectory.hh"
48 : fLXeDetector(detector)
60 fDimensionsCmd->SetGuidance(
"Set the dimensions of the detector volume.");
61 fDimensionsCmd->SetParameterName(
"scint_x",
"scint_y",
"scint_z",
false);
79 fPmtRadiusCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
83 fNxCmd->SetGuidance(
"Set the number of PMTs along the x-dimension.");
84 fNxCmd->SetParameterName(
"nx",
false);
85 fNxCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
86 fNxCmd->SetToBeBroadcasted(
false);
89 fNyCmd->SetGuidance(
"Set the number of PMTs along the y-dimension.");
90 fNyCmd->SetParameterName(
"ny",
false);
91 fNyCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
92 fNyCmd->SetToBeBroadcasted(
false);
95 fNzCmd->SetGuidance(
"Set the number of PMTs along the z-dimension.");
96 fNzCmd->SetParameterName(
"nz",
false);
97 fNzCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
98 fNzCmd->SetToBeBroadcasted(
false);
101 fSphereCmd->SetGuidance(
"Enable/Disable the sphere.");
102 fSphereCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
111 fWlsCmd->SetGuidance(
"Enable/Disable the WLS slab");
112 fWlsCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
113 fWlsCmd->SetToBeBroadcasted(
false);
116 fLxeCmd->SetGuidance(
"Enable/Disable the main detector volume.");
117 fLxeCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
118 fLxeCmd->SetToBeBroadcasted(
false);
121 fNFibersCmd->SetGuidance(
"Set the number of WLS fibers in the WLS slab.");
122 fNFibersCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
127 fMainScintYield->SetGuidance(
"Set scinitillation yield of main volume.");
133 fWLSScintYield->SetGuidance(
"Set scintillation yield of WLS Slab");
135 fWLSScintYield->AvailableForStates(G4State_PreInit, G4State_Idle);
140 "Set the photon count threshold for saving the random number seed");
146 fDefaultsCmd->SetGuidance(
"Set all detector geometry values to defaults.");
147 fDefaultsCmd->AvailableForStates(G4State_PreInit, G4State_Idle);
191 else if(command ==
fNxCmd)
195 else if(command ==
fNyCmd)
199 else if(command ==
fNzCmd)
240 G4RunManager::GetRunManager()->ReinitializeGeometry();
Definition of the LXeDetectorConstruction class.
Definition of the LXeDetectorMessenger class.
void SetWLSScintYield(G4double)
void SetWLSSlabOn(G4bool b)
void SetPMTRadius(G4double)
void SetHousingThickness(G4double)
void SetSaveThreshold(G4int)
void SetMainScintYield(G4double)
void SetMainVolumeOn(G4bool b)
void SetHousingReflectivity(G4double)
void SetDimensions(G4ThreeVector)
G4UIcmdWithAnInteger * fSaveThresholdCmd
LXeDetectorMessenger(LXeDetectorConstruction *)
G4UIcmdWithADouble * fMainScintYield
G4UIdirectory * fVolumesDir
G4UIcmdWithABool * fLxeCmd
G4UIcmdWithADoubleAndUnit * fPmtRadiusCmd
LXeDetectorConstruction * fLXeDetector
G4UIcmdWithADouble * fReflectivityCmd
G4UIcmdWithAnInteger * fNyCmd
G4UIcmdWithABool * fSphereCmd
G4UIdirectory * fDetectorDir
G4UIcmdWithADouble * fWLSScintYield
G4UIcmdWithAnInteger * fNxCmd
void SetNewValue(G4UIcommand *, G4String) override
G4UIcmdWith3VectorAndUnit * fDimensionsCmd
G4UIcmdWithAnInteger * fNFibersCmd
G4UIcmdWithADoubleAndUnit * fHousingThicknessCmd
G4UIcommand * fDefaultsCmd
G4UIcmdWithABool * fWlsCmd
G4UIcmdWithAnInteger * fNzCmd
~LXeDetectorMessenger() override