6 #include "GaudiKernel/Bootstrap.h"
7 #include "GaudiKernel/ISvcLocator.h"
13 m_onlineHelper(nullptr),
20 ISvcLocator* svcLoc = Gaudi::svcLocator( );
27 log << MSG::ERROR <<
"LArCalibParams: Can't get LArOnlineID" <<
endmsg;
28 return (StatusCode::FAILURE);
32 log << MSG::ERROR <<
"LArCalibParams: Can't get DetectorStore" <<
endmsg;
33 return (StatusCode::FAILURE);
36 return (StatusCode::SUCCESS);
47 const std::vector<unsigned>&
Pattern,
const std::vector<unsigned>& DAC,
const std::vector<unsigned>& Delay)
54 for (
unsigned i=0;
i<
DAC.size();
i++)
56 for (
unsigned i=0;
i<
Delay.size();
i++)
66 const std::vector<unsigned>& DAC,
const std::vector<unsigned>& Delay)
72 for (
unsigned i=0;
i<
DAC.size();
i++)
74 for (
unsigned i=0;
i<
Delay.size();
i++)
93 unsigned iPattern=(
event/PatternStepSize)%(
m_Pattern.size()/4);
95 const unsigned nWord=lineNumber>>5;
97 const unsigned nBit=lineNumber&0x1f;
104 const unsigned DelayStepSize=m_nTrigger*m_Pattern.size()/4;
105 const unsigned iDelay=(
event/DelayStepSize)%m_Delay.size();
106 return m_Delay[iDelay];
112 const unsigned DACStepSize=m_nTrigger*m_Delay.size()*m_Pattern.size()/4;
113 const unsigned iDAC=
event/DACStepSize;
114 if (iDAC<m_DAC.size()) {
120 log << MSG::ERROR <<
"Event #" <<
event <<
": DAC index out of range! ("
121 << iDAC <<
"max=" << m_DAC.size() <<
"). Return kmaxDAC" <<
endmsg;
135 log << MSG::ERROR <<
"LArOnlineID not defined! Can't determine Delay value." <<
endmsg;
139 const std::map<HWIdentifier, CalibBoard>::const_iterator map_it=
m_mCalibBoards.find(calibModuleID);
143 return map_it->second.Delay(
event);
154 log << MSG::ERROR <<
"LArOnlineID not defined! Can't determine DAC value." <<
endmsg;
158 const std::map<HWIdentifier, CalibBoard>::const_iterator map_it=
m_mCalibBoards.find(calibModuleID);
162 return map_it->second.DAC(
event);
172 log << MSG::ERROR <<
"LArOnlineID not defined! Can't determine isPulsed value." <<
endmsg;
180 const std::map<HWIdentifier, CalibBoard>::const_iterator map_it=
m_mCalibBoards.find(calibModuleID);
185 return map_it->second.isPulsed(
event,
line);
193 const unsigned nConfig=
m_mCalibBoards.begin()->second.m_DAC.size()*
198 const std::map<HWIdentifier, CalibBoard>::const_iterator map_it=
m_mCalibBoards.find(calibModuleID);
202 const unsigned nConfig=map_it->second.m_DAC.size()*
203 map_it->second.m_Delay.size()*map_it->second.m_Pattern.size()/4;
216 const std::map<HWIdentifier, CalibBoard>::const_iterator map_it=
m_mCalibBoards.find(calibModuleID);
220 return map_it->second.m_nTrigger;
237 const unsigned nPatt =
m_mCalibBoards.begin()->second.m_Pattern.size()/4;
241 const std::map<HWIdentifier, CalibBoard>::const_iterator map_it=
m_mCalibBoards.find(calibModuleID);
245 const unsigned nPatt = map_it->second.m_Pattern.size()/4;