4 #include <sdet/SStationListXMLManager.h>
5 #include <utl/ErrorLogger.h>
6 #include <utl/Reader.h>
7 #include <sdet/SManagerRegister.h>
24 for (
auto cB = fBranch.GetFirstChild(); cB; cB = cB.GetNextSibling()) {
26 if (cB.GetName() !=
"station")
31 station.
fId = FindComponent<int>(
"id", cB.GetAttributes());
33 cB.GetChild(
"northing").GetData(station.
fNorthing);
34 cB.GetChild(
"easting").GetData(station.
fEasting);
35 cB.GetChild(
"altitude").GetData(station.
fAltitude);
36 station.
fName = cB.GetChild(
"name").GetDataString();
45 auto isUUBB = cB.GetChild(
"isUUB");
47 isUUBB.GetData(station.
fIsUUB);
51 auto hasSmallPMTB = cB.GetChild(
"hasSmallPMT");
57 auto hasScintillatorB = cB.GetChild(
"hasScintillator");
69 auto commissionUUBB = cB.GetChild(
"commissionUUB");
77 const auto inGrid = cB.GetChild(
"inGrid").Get<vector<int>>();
81 const int maxGrid = *max_element(inGrid.begin(), inGrid.end());
82 station.
fInGrid = vector<bool>(maxGrid);
83 for (
const auto ig : inGrid) {
91 cB.GetChild(
"groupId").GetData(station.
fGroupId);
93 const auto axes = cB.GetChild(
"axes").Get<vector<double>>();
97 station.
fEllipsoid = cB.GetChild(
"ellipsoid").GetDataString();
98 cB.GetChild(
"zone").GetData(station.
fZone);
99 station.
fBand = cB.GetChild(
"band").GetDataString();
101 const bool ok = fStationManager.ConditionalAddStationData(station);
105 err <<
"multiple instances of station id=" << station.
fId
106 <<
" found in XML configuration";
std::vector< bool > fInGrid
std::string fUUBCommissionTime
std::string fCommissionTime
void Init()
Initialise the registry.
Exception for errors encountered when parsing XML.
Manager for SD description in XML station lists.
#define REGISTER_S_MANAGER(_name_, _Type_)
std::string fDecommissionTime
#define ERROR(message)
Macro for logging error messages.