Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4tgrParameterMgr Class Reference

#include <G4tgrParameterMgr.hh>

Public Member Functions

void AddParameterNumber (const std::vector< G4String > &wl, G4bool mustBeNew=false)
 
void AddParameterString (const std::vector< G4String > &wl, G4bool mustBeNew=false)
 
void CheckIfNewParameter (const std::vector< G4String > &wl, G4bool mustBeNew)
 
G4String FindParameter (const G4String &name, G4bool exists=true)
 
void DumpList ()
 

Static Public Member Functions

static G4tgrParameterMgrGetInstance ()
 

Detailed Description

Definition at line 44 of file G4tgrParameterMgr.hh.

Member Function Documentation

◆ AddParameterNumber()

void G4tgrParameterMgr::AddParameterNumber ( const std::vector< G4String > &  wl,
G4bool  mustBeNew = false 
)

Definition at line 63 of file G4tgrParameterMgr.cc.

65{
66 CheckIfNewParameter(wl, mustBeNew);
67
68 //----- Convert third argument to double, but then store it as string
69 // for later use in CLHEP evaluator
70 G4float val = G4tgrUtils::GetDouble(wl[2]);
71 theParameterList[wl[1]] = G4UIcommand::ConvertToString(val);
72
73#ifdef G4VERBOSE
75 {
76 G4cout << " G4tgrParameterMgr::AddParameterNumber() -"
77 << " parameter added " << wl[1] << " = " << theParameterList[wl[1]]
78 << G4endl;
79 }
80#endif
81}
float G4float
Definition: G4Types.hh:84
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
static G4String ConvertToString(G4bool boolVal)
Definition: G4UIcommand.cc:446
static G4int GetVerboseLevel()
void CheckIfNewParameter(const std::vector< G4String > &wl, G4bool mustBeNew)
static G4double GetDouble(const G4String &str, G4double unitval=1.)
Definition: G4tgrUtils.cc:198

Referenced by G4tgrLineProcessor::ProcessLine().

◆ AddParameterString()

void G4tgrParameterMgr::AddParameterString ( const std::vector< G4String > &  wl,
G4bool  mustBeNew = false 
)

Definition at line 84 of file G4tgrParameterMgr.cc.

86{
87 CheckIfNewParameter(wl, mustBeNew);
88
89 //----- Store parameter as string
90 theParameterList[wl[1]] = wl[2];
91
92#ifdef G4VERBOSE
94 {
95 G4cout << " G4tgrParameterMgr::AddParameterString() -"
96 << " parameter added " << wl[1] << " = " << theParameterList[wl[1]]
97 << G4endl;
98 }
99#endif
100}

Referenced by G4tgrLineProcessor::ProcessLine().

◆ CheckIfNewParameter()

void G4tgrParameterMgr::CheckIfNewParameter ( const std::vector< G4String > &  wl,
G4bool  mustBeNew 
)

Definition at line 103 of file G4tgrParameterMgr.cc.

105{
106 //---------- Find first if it exists already
107 G4bool existsAlready;
108 G4mapss::const_iterator sdite = theParameterList.find(wl[1]);
109 if(sdite == theParameterList.cend())
110 {
111 existsAlready = false;
112 }
113 else
114 {
115 existsAlready = true;
116 }
117
118 if(existsAlready)
119 {
120 if(mustBeNew)
121 {
122 G4String ErrMessage = "Parameter already exists... " + wl[1];
123 G4Exception("G4tgrParameterMgr::CheckParameter()", "IllegalConstruct",
124 FatalException, ErrMessage);
125 }
126 else
127 {
128 G4String WarMessage = "Parameter already exists... " + wl[1];
129 G4Exception("G4tgrParameterMgr::CheckParameter()", "NotRecommended",
130 JustWarning, WarMessage);
131 }
132 }
133
134 //---------- Check for miminum number of words read
135 G4tgrUtils::CheckWLsize(wl, 3, WLSIZE_EQ, "Parameter::AddParameter");
136}
@ JustWarning
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:59
bool G4bool
Definition: G4Types.hh:86
@ WLSIZE_EQ
Definition: G4tgrUtils.hh:47
static void CheckWLsize(const std::vector< G4String > &wl, unsigned int nWCheck, WLSIZEtype st, const G4String &methodName)
Definition: G4tgrUtils.cc:490

Referenced by AddParameterNumber(), and AddParameterString().

◆ DumpList()

void G4tgrParameterMgr::DumpList ( )

Definition at line 171 of file G4tgrParameterMgr.cc.

172{
173 //---------- Dump number of objects of each class
174 G4cout << " @@@@@@@@@@@@@@@@@@ Dumping parameter list " << G4endl;
175 for(auto cite = theParameterList.cbegin();
176 cite != theParameterList.cend(); ++cite)
177 {
178 G4cout << (*cite).first << " = " << (*cite).second << G4endl;
179 }
180}

Referenced by FindParameter().

◆ FindParameter()

G4String G4tgrParameterMgr::FindParameter ( const G4String name,
G4bool  exists = true 
)

Definition at line 139 of file G4tgrParameterMgr.cc.

140{
141 G4String par = "";
142
143 G4mapss::const_iterator sdite = theParameterList.find(name);
144 if(sdite == theParameterList.cend())
145 {
146 if(exists)
147 {
148 DumpList();
149 G4String ErrMessage = "Parameter not found in list: " + name;
150 G4Exception("G4tgrParameterMgr::FindParameter()", "InvalidSetup",
151 FatalException, ErrMessage);
152 }
153 }
154 else
155 {
156 exists = 1;
157 par = ((*sdite).second);
158#ifdef G4VERBOSE
160 {
161 G4cout << " G4tgrParameterMgr::FindParameter() -"
162 << " parameter found " << name << " = " << par << G4endl;
163 }
164#endif
165 }
166
167 return par;
168}
const char * name(G4int ptype)

Referenced by G4tgrUtils::GetDouble(), and G4tgrUtils::GetString().

◆ GetInstance()

G4tgrParameterMgr * G4tgrParameterMgr::GetInstance ( )
static

Definition at line 53 of file G4tgrParameterMgr.cc.

54{
55 if(theInstance == nullptr)
56 {
57 theInstance = new G4tgrParameterMgr;
58 }
59 return theInstance;
60}

Referenced by G4tgrUtils::GetDouble(), G4tgrUtils::GetString(), and G4tgrLineProcessor::ProcessLine().


The documentation for this class was generated from the following files: