Geant4-11
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
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)
 
void DumpList ()
 
G4String FindParameter (const G4String &name, G4bool exists=true)
 

Static Public Member Functions

static G4tgrParameterMgrGetInstance ()
 

Private Member Functions

 G4tgrParameterMgr ()
 
 ~G4tgrParameterMgr ()
 

Private Attributes

G4mapss theParameterList
 

Static Private Attributes

static G4ThreadLocal G4tgrParameterMgrtheInstance = nullptr
 

Detailed Description

Definition at line 44 of file G4tgrParameterMgr.hh.

Constructor & Destructor Documentation

◆ G4tgrParameterMgr()

G4tgrParameterMgr::G4tgrParameterMgr ( )
private

Definition at line 42 of file G4tgrParameterMgr.cc.

43{
44}

Referenced by GetInstance().

◆ ~G4tgrParameterMgr()

G4tgrParameterMgr::~G4tgrParameterMgr ( )
private

Definition at line 47 of file G4tgrParameterMgr.cc.

48{
49 delete theInstance;
50}
static G4ThreadLocal G4tgrParameterMgr * theInstance

References theInstance.

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]);
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:445
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

References CheckIfNewParameter(), G4UIcommand::ConvertToString(), G4cout, G4endl, G4tgrUtils::GetDouble(), G4tgrMessenger::GetVerboseLevel(), and theParameterList.

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}

References CheckIfNewParameter(), G4cout, G4endl, G4tgrMessenger::GetVerboseLevel(), and theParameterList.

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:35
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

References G4tgrUtils::CheckWLsize(), FatalException, G4Exception(), JustWarning, theParameterList, and WLSIZE_EQ.

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}

References G4cout, G4endl, and theParameterList.

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)

References DumpList(), FatalException, G4cout, G4endl, G4Exception(), G4tgrMessenger::GetVerboseLevel(), G4InuclParticleNames::name(), and theParameterList.

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 {
58 }
59 return theInstance;
60}

References G4tgrParameterMgr(), and theInstance.

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

Field Documentation

◆ theInstance

G4ThreadLocal G4tgrParameterMgr * G4tgrParameterMgr::theInstance = nullptr
staticprivate

Definition at line 77 of file G4tgrParameterMgr.hh.

Referenced by GetInstance(), and ~G4tgrParameterMgr().

◆ theParameterList

G4mapss G4tgrParameterMgr::theParameterList
private

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