Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 // 27 ////////////////////////////////////////////// 28 29 #include "FlashDetectorMessenger.hh" 30 #include "FlashDetectorConstruction.hh" 31 #include "G4UIdirectory.hh" 32 #include "G4UIcmdWith3VectorAndUnit.hh" 33 #include "G4UIcmdWithoutParameter.hh" 34 #include "G4UIcmdWithAString.hh" 35 #include "G4UIcmdWithADoubleAndUnit.hh" 36 #include "G4UIcmdWithABool.hh" 37 38 #include "G4SystemOfUnits.hh" 39 40 ////////////////////////////////////////////// 41 FlashDetectorMessenger::FlashDetectorMessenger 42 :flashDetector(detector) 43 { 44 // fChange Phantom size 45 fChangeThePhantomDir = new G4UIdirectory(" 46 fChangeThePhantomDir -> SetGuidance("Comma 47 48 // fChange Phantom material 49 fChangeThePhantomMaterialCmd = new G4UIcmd 50 fChangeThePhantomMaterialCmd -> SetGuidanc 51 fChangeThePhantomMaterialCmd -> SetParamet 52 fChangeThePhantomMaterialCmd -> SetDefault 53 fChangeThePhantomMaterialCmd -> AvailableF 54 55 // fChange Detector size 56 fChangeTheDetectorDir = new G4UIdirectory( 57 fChangeTheDetectorDir -> SetGuidance("Comm 58 59 // fChange Detector material 60 fChangeTheDetectorMaterialCmd = new G4UIcm 61 fChangeTheDetectorMaterialCmd -> SetGuida 62 fChangeTheDetectorMaterialCmd -> SetParam 63 fChangeTheDetectorMaterialCmd -> Availabl 64 65 66 fUpdateCmd = new G4UIcmdWithoutParameter(" 67 fUpdateCmd->SetGuidance("Update Phantom/De 68 fUpdateCmd->SetGuidance("This command MUST 69 fUpdateCmd->SetGuidance("if you fChanged g 70 fUpdateCmd->AvailableForStates(G4State_Idl 71 72 fUpdateCmd_d = new G4UIcmdWithoutParameter 73 fUpdateCmd_d->SetGuidance("Update Detector 74 fUpdateCmd_d->SetGuidance("This command MU 75 fUpdateCmd_d->SetGuidance("if you fChanged 76 fUpdateCmd_d->AvailableForStates(G4State_I 77 78 fActivateDetArrayCmd = new G4UIcmdWithABoo 79 fActivateDetArrayCmd -> SetParameterName(" 80 fActivateDetArrayCmd -> SetGuidance("Activ 81 fActivateDetArrayCmd -> SetGuidance("This 82 fActivateDetArrayCmd -> AvailableForStates 83 } 84 85 ////////////////////////////////////////////// 86 FlashDetectorMessenger::~FlashDetectorMessenge 87 { 88 89 90 delete fChangeThePhantomDir; 91 delete fChangeTheDetectorDir; 92 93 delete fChangeThePhantomMaterialCmd; 94 delete fChangeTheDetectorMaterialCmd; 95 96 delete fActivateDetArrayCmd; 97 98 } 99 100 ////////////////////////////////////////////// 101 void FlashDetectorMessenger::SetNewValue(G4UIc 102 { 103 104 105 if (command == fChangeThePhantomMaterialCmd) 106 { 107 flashDetector -> SetPhantomMaterial(newV 108 } 109 110 else if (command == fChangeTheDetectorMate 111 { 112 flashDetector -> SetDetectorMaterial(new 113 } 114 115 else if (command == fActivateDetArrayCmd){ 116 G4bool fbool = fActivateDetArrayCmd -> Get 117 flashDetector -> ActivateDetArray(fbool); 118 } 119 120 } 121