9 #include <framework/gearbox/GearDir.h>
10 #include <ir/dbobjects/CryostatGeo.h>
15 void CryostatGeo::initialize(
const GearDir& content)
21 addParameter(
"LimitStepLength", content.getInt(
"LimitStepLength"));
23 std::vector<std::string> names = {
"CrossingAngle",
"TubeR",
"TubeR2",
"TubeL",
"A1spc1",
"A1spc2",
"B1spc1",
"B1spc2",
"D1spc1",
"E1spc1",
"C1wal1",
"F1wal1"};
25 for (
auto name : names) {
26 GearDir sect(content, name +
"/");
27 addParameters(sect, name);
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;
37 addParameter(
"Straight", straightSections);
40 for (
const GearDir& shield : content.getNodes(
"Shield")) {
41 std::string name = shield.getString(
"@name");
42 addParameters(shield, name);
43 if (!shields.empty()) shields +=
" ";
46 addParameter(
"Shield", shields);
49 for (
const GearDir& support : content.getNodes(
"Support")) {
50 std::string name = support.getString(
"@name");
51 addParameters(support, name);
52 if (!supports.empty()) supports +=
" ";
55 addParameter(
"Support", supports);
GearDir is the basic class used for accessing the parameter store.
Abstract base class for different kinds of events.