13 constexpr int M_MAX_RTS = 100000;
23 is >> version >> rts_str;
25 unsigned long int pos = 0;
26 std::string::size_type start = rts_str.find_first_not_of(
' ', pos);
27 if (start == std::string::npos)
28 throw std::runtime_error(
29 Form(
"File: %s, Line: %d\nRtDataFromFile::read() - problems extracting m_rts, exiting", __FILE__, __LINE__));
31 std::string::size_type stop = rts_str.find_first_of(
' ', start + 1);
32 if (stop == std::string::npos) stop = rts_str.size();
33 m_rts = std::stoi(rts_str.substr(start, stop - start),
nullptr);
36 for (
unsigned int i = 0; i <
m_rts; ++i) {
37 if (version !=
"v0.0") {
58 log << MSG::WARNING <<
"write() <inconsistent rt count>" <<
endmsg;
60 if (region >=
static_cast<int>(
m_rts)) {
62 log << MSG::WARNING <<
"write() <requested not existent region>" <<
endmsg;
74 log << MSG::WARNING <<
"write() <inconsistent rt count>" <<
endmsg;
77 os <<
"v1.0 " <<
m_rts;
89 log << MSG::WARNING <<
"write_forDB() <inconsistent rt count>" <<
endmsg;
91 if (region >=
static_cast<int>(
m_rts)) {
93 log << MSG::WARNING <<
"write_forDB() <requested not existent region>" <<
endmsg;
103 log << MSG::WARNING <<
"write_forDB() <inconsistent rt count>" <<
endmsg;
char data[hepevt_bytes_allocation_ATLAS]
std::ostream & operator<<(std::ostream &os, const MuonCalib::RtDataFromFile &data)
std::istream & operator>>(std::istream &is, MuonCalib::RtDataFromFile &data)
Manages the I/O of the Rt realtions from/to file.
RtData_t_r_reso RtRelation
void write_forDB(FILE *frt, FILE *frtt, FILE *frtr, FILE *frts, int region) const
std::ostream & write(std::ostream &os, int region) const
std::vector< const RtFullInfo * > m_fullInfo
int m_major_version
format version
std::istream & read(std::istream &is)
RtRelations m_rtRelations
rt relations
unsigned int m_rts
total number of regions
addiitonal information used in validation of a rt-relation
IMessageSvc * getMessageSvc(bool quiet=false)
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.