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 /// \file hadronic/Hadr00/src/HistoManagerMess 27 /// \brief Implementation of the HistoManagerM 28 // 29 // 30 // 31 // 32 ////////////////////////////////////////////// 33 // 34 // HistoManagerMessenger 35 // 36 // Created: 20.06.08 V.Ivanchenko 37 // 38 // Modified: 39 // 40 ////////////////////////////////////////////// 41 // 42 43 #include "HistoManagerMessenger.hh" 44 45 #include "HistoManager.hh" 46 47 #include "G4UIcmdWith3Vector.hh" 48 #include "G4UIcmdWithABool.hh" 49 #include "G4UIcmdWithADoubleAndUnit.hh" 50 #include "G4UIcmdWithAString.hh" 51 #include "G4UIcmdWithAnInteger.hh" 52 #include "G4UIcmdWithoutParameter.hh" 53 #include "G4UIdirectory.hh" 54 55 //....oooOO0OOooo........oooOO0OOooo........oo 56 57 HistoManagerMessenger::HistoManagerMessenger(H 58 { 59 fbinCmd = new G4UIcmdWithAnInteger("/testhad 60 fbinCmd->SetGuidance("Set number of bins for 61 fbinCmd->SetParameterName("NEbins", false); 62 fbinCmd->AvailableForStates(G4State_PreInit, 63 64 fnOfAbsCmd = new G4UIcmdWithAnInteger("/test 65 fnOfAbsCmd->SetGuidance("Set number of bins 66 fnOfAbsCmd->SetParameterName("NPbins", false 67 fnOfAbsCmd->AvailableForStates(G4State_PreIn 68 69 fpartCmd = new G4UIcmdWithAString("/testhadr 70 fpartCmd->SetGuidance("Set particle name"); 71 fpartCmd->SetParameterName("Particle", false 72 fpartCmd->AvailableForStates(G4State_PreInit 73 74 fcsCmd = new G4UIcmdWithAString("/testhadr/t 75 fcsCmd->SetGuidance("Set element name"); 76 fcsCmd->SetParameterName("Elm", false); 77 fcsCmd->AvailableForStates(G4State_PreInit, 78 79 fe1Cmd = new G4UIcmdWithADoubleAndUnit("/tes 80 fe1Cmd->SetGuidance("Set min kinetic energy" 81 fe1Cmd->SetParameterName("eMin", false); 82 fe1Cmd->SetUnitCategory("Energy"); 83 fe1Cmd->AvailableForStates(G4State_PreInit, 84 85 fe2Cmd = new G4UIcmdWithADoubleAndUnit("/tes 86 fe2Cmd->SetGuidance("Set max kinetic energy" 87 fe2Cmd->SetParameterName("eMax", false); 88 fe2Cmd->SetUnitCategory("Energy"); 89 fe2Cmd->AvailableForStates(G4State_PreInit, 90 91 fp1Cmd = new G4UIcmdWithADoubleAndUnit("/tes 92 fp1Cmd->SetGuidance("Set min momentum"); 93 fp1Cmd->SetParameterName("pMin", false); 94 fp1Cmd->SetUnitCategory("Energy"); 95 fp1Cmd->AvailableForStates(G4State_PreInit, 96 97 fp2Cmd = new G4UIcmdWithADoubleAndUnit("/tes 98 fp2Cmd->SetGuidance("Set max momentum"); 99 fp2Cmd->SetParameterName("pMax", false); 100 fp2Cmd->SetUnitCategory("Energy"); 101 fp2Cmd->AvailableForStates(G4State_PreInit, 102 103 fverbCmd = new G4UIcmdWithAnInteger("/testha 104 fverbCmd->SetGuidance("Set verbose for "); 105 fverbCmd->SetParameterName("verb", false); 106 fverbCmd->AvailableForStates(G4State_PreInit 107 108 fFCmd = new G4UIcmdWithAString("/testhadr/fi 109 fFCmd->SetGuidance("set name for the histogr 110 } 111 112 //....oooOO0OOooo........oooOO0OOooo........oo 113 114 HistoManagerMessenger::~HistoManagerMessenger( 115 { 116 delete fbinCmd; 117 delete fnOfAbsCmd; 118 delete fpartCmd; 119 delete fcsCmd; 120 delete fe1Cmd; 121 delete fe2Cmd; 122 delete fp1Cmd; 123 delete fp2Cmd; 124 delete fverbCmd; 125 delete fFCmd; 126 } 127 128 //....oooOO0OOooo........oooOO0OOooo........oo 129 130 void HistoManagerMessenger::SetNewValue(G4UIco 131 { 132 if (command == fbinCmd) { 133 fHisto->SetNumberOfBinsE(fbinCmd->GetNewIn 134 } 135 else if (command == fnOfAbsCmd) { 136 fHisto->SetNumberOfBinsP(fnOfAbsCmd->GetNe 137 } 138 else if (command == fverbCmd) { 139 fHisto->SetVerbose(fverbCmd->GetNewIntValu 140 } 141 else if (command == fpartCmd) { 142 fHisto->SetParticleName(newValue); 143 } 144 else if (command == fcsCmd) { 145 fHisto->SetElementName(newValue); 146 } 147 else if (command == fe1Cmd) { 148 fHisto->SetMinKinEnergy(fe1Cmd->GetNewDoub 149 } 150 else if (command == fe2Cmd) { 151 fHisto->SetMaxKinEnergy(fe2Cmd->GetNewDoub 152 } 153 else if (command == fp1Cmd) { 154 fHisto->SetMinMomentum(fp1Cmd->GetNewDoubl 155 } 156 else if (command == fp2Cmd) { 157 fHisto->SetMaxMomentum(fp2Cmd->GetNewDoubl 158 } 159 else if (command == fFCmd) { 160 fHisto->SetHistoName(newValue); 161 } 162 } 163 164 //....oooOO0OOooo........oooOO0OOooo........oo 165