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 #include "G4UIcmdWithNucleusLimits.hh" 28 #include <sstream> 29 ////////////////////////////////////////////// 30 // 31 G4UIcmdWithNucleusLimits::G4UIcmdWithNucleusLi 32 (const char * theCommandPath, G4UImessenger * 33 : G4UIcommand(theCommandPath, theMessenger) 34 { 35 G4UIparameter * intParamAMin = new G4UIparam 36 SetParameter(intParamAMin); 37 G4UIparameter * intParamAMax = new G4UIparam 38 SetParameter(intParamAMax); 39 G4UIparameter * intParamZMin = new G4UIparam 40 SetParameter(intParamZMin); 41 G4UIparameter * intParamZMax = new G4UIparam 42 SetParameter(intParamZMax); 43 } 44 45 ////////////////////////////////////////////// 46 // 47 G4UIcmdWithNucleusLimits::~G4UIcmdWithNucleusL 48 { 49 ; 50 } 51 ////////////////////////////////////////////// 52 // 53 G4NucleusLimits G4UIcmdWithNucleusLimits:: 54 GetNewNucleusLimitsValue(const G4String& par 55 { 56 G4int aMin; 57 G4int aMax; 58 G4int zMin; 59 G4int zMax; 60 std::istringstream is(paramString); 61 is >> aMin >> aMax >> zMin >> zMax; 62 return G4NucleusLimits(aMin,aMax,zMin,zMax); 63 } 64 ////////////////////////////////////////////// 65 // 66 G4String G4UIcmdWithNucleusLimits::ConvertToSt 67 (G4NucleusLimits defLimits) 68 { 69 std::ostringstream os; 70 os << defLimits.GetAMin() << " " << defLimit 71 << defLimits.GetZMin() << " " << defLimit 72 G4String vl = os.str(); 73 return vl; 74 } 75 ////////////////////////////////////////////// 76 // 77 void G4UIcmdWithNucleusLimits::SetParameterNam 78 (const char * theNameAMin,const char * theName 79 const char * theNameZMax,G4bool omittable,G4bo 80 { 81 G4UIparameter * theParamAMin = GetParameter( 82 theParamAMin->SetParameterName(theNameAMin); 83 theParamAMin->SetOmittable(omittable); 84 theParamAMin->SetCurrentAsDefault(currentAsD 85 G4UIparameter * theParamAMax = GetParameter( 86 theParamAMax->SetParameterName(theNameAMax); 87 theParamAMax->SetOmittable(omittable); 88 theParamAMax->SetCurrentAsDefault(currentAsD 89 G4UIparameter * theParamZMin = GetParameter( 90 theParamZMin->SetParameterName(theNameZMin); 91 theParamZMin->SetOmittable(omittable); 92 theParamZMin->SetCurrentAsDefault(currentAsD 93 G4UIparameter * theParamZMax = GetParameter( 94 theParamZMax->SetParameterName(theNameZMax); 95 theParamZMax->SetOmittable(omittable); 96 theParamZMax->SetCurrentAsDefault(currentAsD 97 } 98 ////////////////////////////////////////////// 99 // 100 void G4UIcmdWithNucleusLimits::SetDefaultValue 101 { 102 G4UIparameter * theParamAMin = GetParameter( 103 theParamAMin->SetDefaultValue(defLimits.GetA 104 G4UIparameter * theParamAMax = GetParameter( 105 theParamAMax->SetDefaultValue(defLimits.GetA 106 G4UIparameter * theParamZMin = GetParameter( 107 theParamZMin->SetDefaultValue(defLimits.GetZ 108 G4UIparameter * theParamZMax = GetParameter( 109 theParamZMax->SetDefaultValue(defLimits.GetZ 110 } 111