Warning, file /geant4/examples/advanced/hadrontherapy/src/HadrontherapyPrimaryGeneratorMessenger.cc was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #include "HadrontherapyPrimaryGeneratorMessenger.hh"
0030 #include "HadrontherapyPrimaryGeneratorAction.hh"
0031 #include "G4UIdirectory.hh"
0032 #include "G4UIcmdWithADoubleAndUnit.hh"
0033 #include "G4UIcmdWithADouble.hh"
0034 #include "G4SystemOfUnits.hh"
0035 #include "G4UIcmdWithAString.hh"
0036 #include "G4UIcmdWithAnInteger.hh"
0037 #include "G4UIcmdWithABool.hh"
0038
0039 HadrontherapyPrimaryGeneratorMessenger::HadrontherapyPrimaryGeneratorMessenger(
0040 HadrontherapyPrimaryGeneratorAction* HadrontherapyGun)
0041 :HadrontherapyAction(HadrontherapyGun)
0042 {
0043
0044 changeTheSource = new G4UIdirectory("/primaryParticleData/");
0045 changeTheSource -> SetGuidance("Command to change the source");
0046
0047 NewSource = new G4UIcmdWithABool("/primaryParticleData/NewSource",this);
0048 NewSource -> SetParameterName("NewSource ", true);
0049 NewSource -> SetDefaultValue("false");
0050 NewSource -> SetGuidance("Set if you want read a .txt file"
0051 "\n[usage]: /primaryParticleData/NewSource [true/false]");
0052 NewSource -> AvailableForStates(G4State_Idle, G4State_PreInit);
0053
0054
0055 calculatedPhaseSpaceFileIN=new G4UIcmdWithAString("/primaryParticleData/calculatedPhaseSpaceFileIN",this);
0056 calculatedPhaseSpaceFileIN->SetDefaultValue("");
0057 calculatedPhaseSpaceFileIN->SetGuidance("full path and file name of the phase space file to be used as particle generator");
0058
0059
0060
0061 }
0062
0063 HadrontherapyPrimaryGeneratorMessenger::~HadrontherapyPrimaryGeneratorMessenger()
0064 {
0065
0066 delete NewSource;
0067 delete changeTheSource;
0068 delete calculatedPhaseSpaceFileIN;
0069
0070
0071 }
0072
0073
0074 void HadrontherapyPrimaryGeneratorMessenger::SetNewValue(G4UIcommand* command, G4String NewValue)
0075
0076 {
0077 if (command == calculatedPhaseSpaceFileIN)
0078 {
0079 HadrontherapyAction->setCalculatedPhaseSpaceFileIN(NewValue);
0080 }
0081
0082 if (command == NewSource)
0083 {
0084 HadrontherapyAction->setNewSource(NewSource->GetNewBoolValue(NewValue));
0085
0086 }
0087
0088 }
0089
0090
0091