File indexing completed on 2025-01-18 09:16:53
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
0030 #include "ICRP110ScoreWriterMessenger.hh"
0031 #include "ICRP110UserScoreWriter.hh"
0032 #include "G4UIdirectory.hh"
0033 #include "G4UIcmdWithAString.hh"
0034 #include "G4UIcmdWithoutParameter.hh"
0035 #include "globals.hh"
0036 #include "G4RunManager.hh"
0037
0038 ICRP110ScoreWriterMessenger::ICRP110ScoreWriterMessenger(ICRP110UserScoreWriter* myUsrScWriter)
0039 :fUserScoreWriter(myUsrScWriter)
0040 {
0041 fPhantomDir = new G4UIdirectory("/phantom/");
0042 fPhantomDir -> SetGuidance("Set Your Phantom.");
0043
0044 fSexCmd = new G4UIcmdWithAString("/phantom/setScoreWriterSex",this);
0045 fSexCmd -> SetGuidance("Set sex of Phantom: Male or Female.");
0046 fSexCmd -> SetParameterName("ScoreWriterSex",true);
0047 fSexCmd -> SetDefaultValue("female");
0048 fSexCmd -> SetCandidates("male female");
0049 fSexCmd -> AvailableForStates(G4State_PreInit,G4State_Idle);
0050
0051 fSectionCmd = new G4UIcmdWithAString("/phantom/setScoreWriterSection",this);
0052 fSectionCmd -> SetGuidance("Set section of Phantom: Head, Trunk or Full.");
0053 fSectionCmd -> SetParameterName("ScoreWriterSection",true);
0054 fSectionCmd -> SetDefaultValue("head");
0055 fSectionCmd -> SetCandidates("head trunk full");
0056 fSectionCmd -> AvailableForStates(G4State_PreInit,G4State_Idle);
0057 }
0058
0059 ICRP110ScoreWriterMessenger::~ICRP110ScoreWriterMessenger()
0060 {
0061 delete fSexCmd;
0062 delete fSectionCmd;
0063 delete fPhantomDir;
0064 }
0065
0066 void ICRP110ScoreWriterMessenger::SetNewValue(G4UIcommand* command,G4String newValue)
0067 {
0068 if( command == fSexCmd )
0069 {
0070 fUserScoreWriter -> SetPhantomSex(newValue);
0071 }
0072 if( command == fSectionCmd )
0073 {
0074 fUserScoreWriter -> SetPhantomSection(newValue);
0075 }
0076 }
0077
0078
0079