55 for (
int iLocIndex = 0; iLocIndex <
m_rdb->fwdFSILocationSize(); iLocIndex++) {
56 std::string locType =
m_rdb->fwdFSILocation(iLocIndex)->getString(
"LOCTYPE");
57 double radius =
m_rdb->fwdFSILocation(iLocIndex)->getDouble(
"LOCR") * Gaudi::Units::mm;
58 double rphi =
m_rdb->fwdFSILocation(iLocIndex)->getDouble(
"LOCPHI") * Gaudi::Units::deg;
59 int side =
m_rdb->fwdFSILocation(iLocIndex)->getInt(
"SIDE");
60 m_locationTypes[locType] = std::make_unique<FSILocation>(locType, radius, rphi, side);
65 unsigned int iWheel =
m_rdb->fwdFSI(
index)->getInt(
"WHEEL") - 1;
66 int simType =
m_rdb->fwdFSI(
index)->getInt(
"SIMTYPE");
67 std::string simTypeString =
m_rdb->fwdFSIType(simType)->getString(
"TYPENAME");
68 int simTypeCheck =
m_rdb->fwdFSIType(simType)->getInt(
"SIMTYPE");
69 std::string locationType =
m_rdb->fwdFSI(
index)->getString(
"LOCTYPE");
70 std::string actualType =
m_rdb->fwdFSI(
index)->getString(
"ACTUALTYPE");
72 if (simTypeCheck != simType) std::cout <<
"Error in simType to index match in table SctFwdFSIType" << std::endl;
75 if (!location) std::cout <<
"Error filling FSI information. No FSI of type " << locationType <<
" found" << std::endl;
76 std::unique_ptr<FSIDetails> fsi = std::make_unique<FSIDetails>(location, simType, simTypeString, locationType, actualType);
79 std::cout <<
"Error in FSIHelper: wheel number is out of range: " << iWheel << std::endl;