Warning, file /geant4/examples/extended/persistency/gdml/G03/src/G03DetectorMessenger.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
0030
0031
0032
0033
0034
0035 #include "G03DetectorMessenger.hh"
0036
0037 #include "G03DetectorConstruction.hh"
0038
0039 #include "G4UIcmdWithAString.hh"
0040 #include "G4UIdirectory.hh"
0041 #include "globals.hh"
0042
0043
0044
0045 G03DetectorMessenger::G03DetectorMessenger(G03DetectorConstruction* myDet)
0046 : G4UImessenger(),
0047 fTheDetector(myDet),
0048 fTheDetectorDir(0),
0049 fTheReadCommand(0),
0050 fTheWriteCommand(0)
0051 {
0052 fTheDetectorDir = new G4UIdirectory("/mydet/");
0053 fTheDetectorDir->SetGuidance("Detector control.");
0054
0055 fTheReadCommand = new G4UIcmdWithAString("/mydet/readFile", this);
0056 fTheReadCommand->SetGuidance("READ GDML file with given name");
0057 fTheReadCommand->SetParameterName("FileRead", false);
0058 fTheReadCommand->SetDefaultValue("color_extension.gdml");
0059 fTheReadCommand->AvailableForStates(G4State_PreInit);
0060
0061 fTheWriteCommand = new G4UIcmdWithAString("/mydet/writeFile", this);
0062 fTheWriteCommand->SetGuidance("WRITE GDML file with given name");
0063 fTheWriteCommand->SetParameterName("FileWrite", false);
0064 fTheWriteCommand->SetDefaultValue("color_extension_test.gdml");
0065 fTheWriteCommand->AvailableForStates(G4State_PreInit);
0066 }
0067
0068
0069
0070 G03DetectorMessenger::~G03DetectorMessenger()
0071 {
0072 delete fTheReadCommand;
0073 delete fTheWriteCommand;
0074 delete fTheDetectorDir;
0075 }
0076
0077
0078
0079 void G03DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue)
0080 {
0081 if (command == fTheReadCommand) {
0082 fTheDetector->SetReadFile(newValue);
0083 }
0084 if (command == fTheWriteCommand) {
0085 fTheDetector->SetWriteFile(newValue);
0086 }
0087 }