GGS(GenericGEANT4Simulation)Software  2.6.0
 All Data Structures Namespaces Files Functions Variables Typedefs Macros
GGSTGeoParams.cpp
Go to the documentation of this file.
1 /*
2  * GGSTGeoParams.cpp
3  *
4  * Created on: 28 Dec 2017
5  * Author: Nicola Mori
6  */
7 
11 
12 void GGSTGeoParams::SetIntGeoParams(const std::map<std::string, int> &intGeoParams) {
13  _intGeoParams = intGeoParams;
14 }
15 
16 void GGSTGeoParams::SetBoolGeoParams(const std::map<std::string, bool> &boolGeoParams) {
17  _boolGeoParams = boolGeoParams;
18 }
19 
20 void GGSTGeoParams::SetRealGeoParams(const std::map<std::string, double> &realGeoParams) {
21  _realGeoParams = realGeoParams;
22 }
23 
24 void GGSTGeoParams::SetStringGeoParams(const std::map<std::string, std::string> &stringGeoParams) {
25  _stringGeoParams = stringGeoParams;
26 }
27 
28 int GGSTGeoParams::GetIntGeoParam(const std::string &name) const {
29  auto valueIter = _intGeoParams.find(name);
30  if (valueIter == _intGeoParams.end()) {
31  throw(std::runtime_error(std::string("Can't find integer geometry parameter \"").append(name).append("\"")));
32  }
33  return valueIter->second;
34 }
35 
36 bool GGSTGeoParams::GetBoolGeoParam(const std::string &name) const {
37  auto valueIter = _boolGeoParams.find(name);
38  if (valueIter == _boolGeoParams.end()) {
39  throw(std::runtime_error(std::string("Can't find boolean geometry parameter \"").append(name).append("\"")));
40  }
41  return valueIter->second;
42 }
43 
44 double GGSTGeoParams::GetRealGeoParam(const std::string &name) const {
45  auto valueIter = _realGeoParams.find(name);
46  if (valueIter == _realGeoParams.end()) {
47  throw(std::runtime_error(std::string("Can't find real geometry parameter \"").append(name).append("\"")));
48  }
49  return valueIter->second;
50 }
51 
52 std::string GGSTGeoParams::GetStringGeoParam(const std::string &name) const {
53  auto valueIter = _stringGeoParams.find(name);
54  if (valueIter == _stringGeoParams.end()) {
55  throw(std::runtime_error(std::string("Can't find string geometry parameter \"").append(name).append("\"")));
56  }
57  return valueIter->second;
58 }
59 
60 bool GGSTGeoParams::AreSameParamsAs(const GGSTGeoParams &params) const {
61  if (&params == this)
62  return true;
63  return ((_intGeoParams == params._intGeoParams) && (_realGeoParams == params._realGeoParams)
64  && (_stringGeoParams == params._stringGeoParams));
65 }
bool GetBoolGeoParam(const std::string &name) const
Gets a boolean geometry parameter.
void SetStringGeoParams(const std::map< std::string, std::string > &stringGeoParams)
Sets the string geometry parameters.
bool AreSameParamsAs(const GGSTGeoParams &params) const
Compares two geometry parameter objects.
int GetIntGeoParam(const std::string &name) const
Gets an integer geometry parameter.
void SetRealGeoParams(const std::map< std::string, double > &realGeoParams)
Sets the real geometry parameters.
std::string GetStringGeoParam(const std::string &name) const
Gets a string geometry parameter.
Class for storing the geometry parameters on Root output file.
Definition: GGSTGeoParams.h:18
double GetRealGeoParam(const std::string &name) const
Gets a real geometry parameter.
void SetBoolGeoParams(const std::map< std::string, bool > &boolGeoParams)
Sets the boolean geometry parameters.
void SetIntGeoParams(const std::map< std::string, int > &intGeoParams)
Sets the integer geometry parameters.