Belle II Software  release-08-01-10
CryostatGeo Class Reference

Geometry parameters of Cryostat. More...

#include <CryostatGeo.h>

Inheritance diagram for CryostatGeo:
Collaboration diagram for CryostatGeo:

Public Member Functions

 CryostatGeo ()
 Default constructor.
 
void initialize (const GearDir &content)
 Initialize from gearbox (xml file) More...
 
double getParameter (const std::string &name) const
 Get parameter value. More...
 
double getParameter (const std::string &name, double def) const
 Get parameter value with giving default value in case parameter doesn't exist in DB. More...
 
const std::string & getParameterStr (const std::string &name) const
 Get string parameter. More...
 
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. More...
 
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. More...
 
void addParameter (const std::string &name, const std::string &val)
 Add string parameter to map of parameters. More...
 
void addParameters (const GearDir &content, const std::string &section)
 Add parameters from Gearbox. More...
 
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 (CryostatGeo, 1)
 ClassDef.
 

Detailed Description

Geometry parameters of Cryostat.

Definition at line 23 of file CryostatGeo.h.

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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ initialize()

void initialize ( const GearDir content)

Initialize from gearbox (xml file)

Parameters
contentgearbox folder

Definition at line 15 of file CryostatGeo.cc.

16 {
17  //------------------------------
18  // Get Cryostat geometry parameters from the gearbox
19  //------------------------------
20 
21  addParameter("LimitStepLength", content.getInt("LimitStepLength"));
22 
23  std::vector<std::string> names = {"CrossingAngle", "TubeR", "TubeR2", "TubeL", "A1spc1", "A1spc2", "B1spc1", "B1spc2", "D1spc1", "E1spc1", "C1wal1", "F1wal1"};
24 
25  for (auto name : names) {
26  GearDir sect(content, name + "/");
27  addParameters(sect, name);
28  }
29 
30  std::string straightSections;
31  for (const GearDir& straight : content.getNodes("Straight")) {
32  std::string name = straight.getString("@name");
33  addParameters(straight, name);
34  if (!straightSections.empty()) straightSections += " ";
35  straightSections += name;
36  }
37  addParameter("Straight", straightSections);
38 
39  std::string shields;
40  for (const GearDir& shield : content.getNodes("Shield")) {
41  std::string name = shield.getString("@name");
42  addParameters(shield, name);
43  if (!shields.empty()) shields += " ";
44  shields += name;
45  }
46  addParameter("Shield", shields);
47 
48  std::string supports;
49  for (const GearDir& support : content.getNodes("Support")) {
50  std::string name = support.getString("@name");
51  addParameters(support, name);
52  if (!supports.empty()) supports += " ";
53  supports += name;
54  }
55  addParameter("Support", supports);
56 }
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
void addParameter(const std::string &name, double val)
Add parameter to map of parameters.
Definition: IRGeoBase.h:98

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