source: trunk/source/processes/hadronic/models/radioactive_decay/src/G4UIcmdWithNucleusLimits.cc @ 1055

Last change on this file since 1055 was 819, checked in by garnier, 16 years ago

import all except CVS

File size: 4.7 KB
Line 
1//
2// ********************************************************************
3// * License and Disclaimer                                           *
4// *                                                                  *
5// * The  Geant4 software  is  copyright of the Copyright Holders  of *
6// * the Geant4 Collaboration.  It is provided  under  the terms  and *
7// * conditions of the Geant4 Software License,  included in the file *
8// * LICENSE and available at  http://cern.ch/geant4/license .  These *
9// * include a list of copyright holders.                             *
10// *                                                                  *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work  make  any representation or  warranty, express or implied, *
14// * regarding  this  software system or assume any liability for its *
15// * use.  Please see the license in the file  LICENSE  and URL above *
16// * for the full disclaimer and the limitation of liability.         *
17// *                                                                  *
18// * This  code  implementation is the result of  the  scientific and *
19// * technical work of the GEANT4 collaboration.                      *
20// * By using,  copying,  modifying or  distributing the software (or *
21// * any work based  on the software)  you  agree  to acknowledge its *
22// * use  in  resulting  scientific  publications,  and indicate your *
23// * acceptance of all terms of the Geant4 Software license.          *
24// ********************************************************************
25//
26//
27#include "G4UIcmdWithNucleusLimits.hh"
28#include <sstream>
29////////////////////////////////////////////////////////////////////////////////
30//
31G4UIcmdWithNucleusLimits::G4UIcmdWithNucleusLimits
32(const char * theCommandPath,G4UImessenger * theMessenger)
33:G4UIcommand(theCommandPath,theMessenger)
34{
35  G4UIparameter * intParamAMin = new G4UIparameter('i');
36  SetParameter(intParamAMin);
37  G4UIparameter * intParamAMax = new G4UIparameter('i');
38  SetParameter(intParamAMax);
39  G4UIparameter * intParamZMin = new G4UIparameter('i');
40  SetParameter(intParamZMin);
41  G4UIparameter * intParamZMax = new G4UIparameter('i');
42  SetParameter(intParamZMax);
43}
44
45////////////////////////////////////////////////////////////////////////////////
46//
47G4UIcmdWithNucleusLimits::~G4UIcmdWithNucleusLimits()
48{
49  ;
50}
51////////////////////////////////////////////////////////////////////////////////
52//
53G4NucleusLimits G4UIcmdWithNucleusLimits::
54  GetNewNucleusLimitsValue(G4String paramString)
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//
66G4String G4UIcmdWithNucleusLimits::ConvertToString
67(G4NucleusLimits defLimits)
68{
69  std::ostringstream os;
70  os << defLimits.GetAMin() << " " << defLimits.GetAMax()
71     << defLimits.GetZMin() << " " << defLimits.GetZMax() ;
72  G4String vl = os.str();
73  return vl;
74}                         
75////////////////////////////////////////////////////////////////////////////////
76//
77void G4UIcmdWithNucleusLimits::SetParameterName
78(const char * theNameAMin,const char * theNameAMax,const char * theNameZMin,
79const char * theNameZMax,G4bool omittable,G4bool currentAsDefault)
80{
81  G4UIparameter * theParamAMin = GetParameter(0);
82  theParamAMin->SetParameterName(theNameAMin);
83  theParamAMin->SetOmittable(omittable);
84  theParamAMin->SetCurrentAsDefault(currentAsDefault);
85  G4UIparameter * theParamAMax = GetParameter(1);
86  theParamAMax->SetParameterName(theNameAMax);
87  theParamAMax->SetOmittable(omittable);
88  theParamAMax->SetCurrentAsDefault(currentAsDefault);
89  G4UIparameter * theParamZMin = GetParameter(2);
90  theParamZMin->SetParameterName(theNameZMin);
91  theParamZMin->SetOmittable(omittable);
92  theParamZMin->SetCurrentAsDefault(currentAsDefault);
93  G4UIparameter * theParamZMax = GetParameter(3);
94  theParamZMax->SetParameterName(theNameZMax);
95  theParamZMax->SetOmittable(omittable);
96  theParamZMax->SetCurrentAsDefault(currentAsDefault);
97}
98////////////////////////////////////////////////////////////////////////////////
99//
100void G4UIcmdWithNucleusLimits::SetDefaultValue(G4NucleusLimits defLimits)
101{
102  G4UIparameter * theParamAMin = GetParameter(0);
103  theParamAMin->SetDefaultValue(defLimits.GetAMin());
104  G4UIparameter * theParamAMax = GetParameter(1);
105  theParamAMax->SetDefaultValue(defLimits.GetAMax());
106  G4UIparameter * theParamZMin = GetParameter(2);
107  theParamZMin->SetDefaultValue(defLimits.GetZMin());
108  G4UIparameter * theParamZMax = GetParameter(3);
109  theParamZMax->SetDefaultValue(defLimits.GetZMax());
110}
111
112
113
114
115
116
Note: See TracBrowser for help on using the repository browser.