![]() |
Precalibrated Ion Beam Identification Detector Simulation 1.0
A pilot study detector simulation, written in C++ with Geant4.
|
00001 #include "RunActionMessenger.hh" 00002 00003 RunActionMessenger::RunActionMessenger(RunAction* RunAct) 00004 :runAction(RunAct) 00005 { 00006 eventDir = new G4UIdirectory("/PIBIDS/files"); 00007 eventDir->SetGuidance("File control"); 00008 00009 SimulationResultsFileCmd = new G4UIcmdWithAString("/PIBIDS/files/resultsFile",this); 00010 SimulationResultsFileCmd->SetGuidance("File to dump the results of the current run to."); 00011 SimulationResultsFileCmd->SetParameterName("FileName",false); 00012 SimulationResultsFileCmd->SetDefaultValue("SimulationResults.txt"); 00013 RunAct->SetNewResultsFileName("SimulationResults.txt"); 00014 00015 00016 VerboseResultsFile = new G4UIcmdWithAString("/PIBIDS/files/verboseResultsFile",this); 00017 VerboseResultsFile->SetGuidance("Print verbose results to this file."); 00018 VerboseResultsFile->SetParameterName("FileName",false); 00019 VerboseResultsFile->SetDefaultValue("VerboseSimulationResults.txt"); 00020 RunAct->SetNewVerboseResultsFileName("VerboseSimulationResults.txt"); 00021 00022 UseVerboseFile = new G4UIcmdWithABool("/PIBIDS/files/useVerboseResultsFile",this); 00023 UseVerboseFile->SetGuidance("Use this to switch the usage of a verbose file on or off"); 00024 UseVerboseFile->SetParameterName("UseFile",false); 00025 RunAct->SetVerboseFileUsage(false); 00026 00027 } 00028 00029 RunActionMessenger::~RunActionMessenger() 00030 { 00031 delete SimulationResultsFileCmd; 00032 delete eventDir; 00033 } 00034 00035 void RunActionMessenger::SetNewValue(G4UIcommand* command,G4String newValue) 00036 { 00037 if(command == SimulationResultsFileCmd) 00038 runAction->SetNewResultsFileName(newValue); 00039 if(command == VerboseResultsFile) 00040 {runAction->SetNewVerboseResultsFileName(newValue);} 00041 if(command == UseVerboseFile) 00042 {runAction->SetVerboseFileUsage(UseVerboseFile->GetNewBoolValue(newValue));} 00043 00044 }