Belle II Software development
BeamPipeGeo Class Reference

Geometry parameters of BeamPipe. More...

#include <BeamPipeGeo.h>

Inheritance diagram for BeamPipeGeo:
IRGeoBase

Public Member Functions

 BeamPipeGeo ()
 Default constructor.
 
void initialize (const GearDir &content)
 Initialze from the gearbox (xml file)
 
double getParameter (const std::string &name) const
 Get parameter value.
 
double getParameter (const std::string &name, double def) const
 Get parameter value with giving default value in case parameter doesn't exist in DB.
 
const std::string & getParameterStr (const std::string &name) const
 Get string parameter.
 
const std::string & getParameterStr (const std::string &name, const std::string &def) const
 Get string parameter with giving default value in case of non-existence.
 
const std::map< std::string, double > & getParameters () const
 Get map of all parameters.
 
const std::map< std::string, std::string > & getParametersStr () const
 Get map of all string parameters.
 
void addParameter (const std::string &name, double val)
 Add parameter to map of parameters.
 
void addParameter (const std::string &name, const std::string &val)
 Add string parameter to map of parameters.
 
void addParameters (const GearDir &content, const std::string &section)
 Add parameters from Gearbox.
 
void print () const
 Print all parameters.
 

Protected Member Functions

 ClassDef (IRGeoBase, 1)
 ClassDef.
 

Protected Attributes

std::map< std::string, double > m_params
 map of numeric parameters
 
std::map< std::string, std::string > m_strparams
 map of string parameters
 

Private Member Functions

 ClassDef (BeamPipeGeo, 1)
 ClassDef.
 

Detailed Description

Geometry parameters of BeamPipe.

Definition at line 23 of file BeamPipeGeo.h.

Constructor & Destructor Documentation

◆ BeamPipeGeo()

BeamPipeGeo ( )
inline

Default constructor.

Definition at line 30 of file BeamPipeGeo.h.

31 {}

Member Function Documentation

◆ addParameter() [1/2]

void addParameter ( const std::string &  name,
const std::string &  val 
)
inlineinherited

Add string parameter to map of parameters.

Parameters
nameparameter name
valparameter value

Definition at line 111 of file IRGeoBase.h.

112 {
113 if (m_strparams.insert(std::pair<std::string, std::string>(name, val)).second) return;
114 else {
115 m_strparams.find(name)->second = val;
116 }
117 }
std::map< std::string, std::string > m_strparams
map of string parameters
Definition: IRGeoBase.h:162

◆ addParameter() [2/2]

void addParameter ( const std::string &  name,
double  val 
)
inlineinherited

Add parameter to map of parameters.

Parameters
nameparameter name
valparameter value

Definition at line 98 of file IRGeoBase.h.

99 {
100 if (m_params.insert(std::pair<std::string, double>(name, val)).second) return;
101 else {
102 m_params.find(name)->second = val;
103 }
104 }
std::map< std::string, double > m_params
map of numeric parameters
Definition: IRGeoBase.h:161

◆ addParameters()

void addParameters ( const GearDir content,
const std::string &  section 
)
inlineinherited

Add parameters from Gearbox.

Parameters
contentgearbox folder
sectionname of section of parameters to add

Definition at line 124 of file IRGeoBase.h.

125 {
126
127 for (const GearDir& slot : content.getNodes("sec")) {
128 std::string name = slot.getString("@name");
129 std::string unt = slot.getString("@unit");
130 double value;
131 if (unt.find("rad") != std::string::npos) value = slot.getAngle();
132 else value = slot.getLength();
133 addParameter(section + "." + name, value);
134 }
135 if (content.exists("Material")) addParameter(section + ".Material", content.getString("Material"));
136 if (content.exists("HeadMaterial")) addParameter(section + ".HeadMaterial", content.getString("HeadMaterial"));
137 if (content.exists("Intersect")) addParameter(section + ".Intersect", content.getString("Intersect"));
138 if (content.exists("Subtract")) addParameter(section + ".Subtract", content.getString("Subtract"));
139 if (content.exists("MotherVolume")) addParameter(section + ".MotherVolume", content.getString("MotherVolume"));
140 if (content.exists("N")) addParameter(section + ".N", double(content.getInt("N")));
141 if (content.exists("@type")) addParameter(section + ".type", content.getString("@type"));
142 };
void addParameter(const std::string &name, double val)
Add parameter to map of parameters.
Definition: IRGeoBase.h:98

◆ getParameter() [1/2]

double getParameter ( const std::string &  name) const
inlineinherited

Get parameter value.

Parameters
nameparameter name

Definition at line 41 of file IRGeoBase.h.

42 {
43 std::map<std::string, double>::const_iterator it = m_params.find(name);
44 if (it != m_params.end()) return (*it).second;
45 B2FATAL("Requested parameter from IR database not found: " << name);
46 }

◆ getParameter() [2/2]

double getParameter ( const std::string &  name,
double  def 
) const
inlineinherited

Get parameter value with giving default value in case parameter doesn't exist in DB.

Parameters
nameparameter name
defdefault parameter value

Definition at line 53 of file IRGeoBase.h.

54 {
55 std::map<std::string, double>::const_iterator it = m_params.find(name);
56 if (it != m_params.end()) return (*it).second;
57 return def;
58 }

◆ getParameters()

const std::map< std::string, double > & getParameters ( ) const
inlineinherited

Get map of all parameters.

Definition at line 86 of file IRGeoBase.h.

86{ return m_params;}

◆ getParametersStr()

const std::map< std::string, std::string > & getParametersStr ( ) const
inlineinherited

Get map of all string parameters.

Definition at line 91 of file IRGeoBase.h.

91{ return m_strparams;}

◆ getParameterStr() [1/2]

const std::string & getParameterStr ( const std::string &  name) const
inlineinherited

Get string parameter.

Parameters
nameparameter name

Definition at line 64 of file IRGeoBase.h.

65 {
66 std::map<std::string, std::string>::const_iterator it = m_strparams.find(name);
67 if (it != m_strparams.end()) return (*it).second;
68 B2FATAL("Requested parameter from IR database not found: " << name);
69 }

◆ getParameterStr() [2/2]

const std::string & getParameterStr ( const std::string &  name,
const std::string &  def 
) const
inlineinherited

Get string parameter with giving default value in case of non-existence.

Parameters
nameparameter name
defdefault parameter value

Definition at line 76 of file IRGeoBase.h.

77 {
78 std::map<std::string, std::string>::const_iterator it = m_strparams.find(name);
79 if (it != m_strparams.end()) return (*it).second;
80 return def;
81 }

◆ initialize()

void initialize ( const GearDir content)

Initialze from the gearbox (xml file)

Parameters
contentgearbox folder

Definition at line 15 of file BeamPipeGeo.cc.

16{
17 //------------------------------
18 // Get BeamPipe geometry parameters from the gearbox
19 //------------------------------
20
21 GearDir cSafety(content, "Safety/");
22 addParameter("Safety.L1", cSafety.getLength("L1"));
23
24 addParameter("LimitStepLength", content.getInt("LimitStepLength"));
25
26 std::vector<std::string> names = {"Lv1SUS", "Lv2OutTi", "Lv2OutBe", "Lv2InBe", "Lv2Paraf", "Lv2Vacuum", "Lv3AuCoat", "Lv1TaFwd", "Lv2VacFwd", "Lv1TaBwd", "Lv2VacBwd", "Flange", "AreaTubeFwd", "Lv1TaLERUp", "Lv1SUSLERUp", "Lv2VacLERUp", "Lv1TaHERDwn", "Lv1SUSHERDwn", "Lv2VacHERDwn", "AreaTubeBwd", "Lv1TaHERUp", "Lv1SUSHERUp", "Lv2VacHERUp", "Lv1TaLERDwn", "Lv1SUSLERDwn", "Lv2VacLERDwn", "PXDMountFwd", "PXDMountBwd", "PXDMountFixtureFwd", "PXDMountFixtureBwd"};
27
28
29
30 for (auto name : names) {
31 GearDir sect(content, name + "/");
32 addParameters(sect, name);
33 }
34
35}
GearDir is the basic class used for accessing the parameter store.
Definition: GearDir.h:31
void addParameters(const GearDir &content, const std::string &section)
Add parameters from Gearbox.
Definition: IRGeoBase.h:124

◆ print()

void print ( ) const
inlineinherited

Print all parameters.

Definition at line 147 of file IRGeoBase.h.

148 {
149 for (std::pair<std::string, double> element : m_params) {
150 std::cout << element.first << " " << element.second << std::endl;
151 }
152
153 for (std::pair<std::string, std::string> element : m_strparams) {
154 std::cout << element.first << " " << element.second << std::endl;
155 }
156 }

Member Data Documentation

◆ m_params

std::map<std::string, double> m_params
protectedinherited

map of numeric parameters

Definition at line 161 of file IRGeoBase.h.

◆ m_strparams

std::map<std::string, std::string> m_strparams
protectedinherited

map of string parameters

Definition at line 162 of file IRGeoBase.h.


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