|
ATLAS Offline Software
|
Go to the documentation of this file.
11 #include "GaudiKernel/MsgStream.h"
19 #define MYLEVEL (MSG::FATAL)
20 #define LARBSDBG(text) logstr<<MYLEVEL<<text<<endmsg
22 #define LARBSDBG(text)
82 logstr <<
MYLEVEL <<
"***********************************************************************"<<
endmsg;
84 logstr <<
MYLEVEL <<
"************************************************************************"<<
endmsg;
95 logstr <<
MYLEVEL <<
"************************************************************************"<< MSG::dec <<
endmsg;
118 #ifdef LARBSDBGOUTPUT
121 logstr <<
MYLEVEL <<
"Let s go in getNextRawData..." <<
endmsg;
128 #ifdef LARBSDBGOUTPUT
129 logstr <<
MYLEVEL <<
"Maximum number of channels reached" <<
endmsg;
135 #ifdef LARBSDBGOUTPUT
136 logstr <<
MYLEVEL <<
"No Raw Data Block in this FEB" <<
endmsg;
143 channelNumber=((rodChannelNumber&0xe)<<2) + ((rodChannelNumber&0x1)<<6) + (rodChannelNumber>>4);
149 #ifdef LARBSDBGOUTPUT
151 logstr <<
MYLEVEL <<
"This FEB has " << ngains <<
" gains" <<
endmsg;
154 if(ngains==0 ||
nsamples==0)
return 0;
162 samples.push_back(
s[0]);
166 samples.push_back(
s[0]);
167 samples.push_back(
s[1]);
171 #ifdef LARBSDBGOUTPUT
173 logstr <<
MYLEVEL <<
" ===> FEB Channel = " << channelNumber <<
endmsg;
176 logstr <<
MYLEVEL <<
" ===> sample " <<
i <<
" = " << samples[
i] <<
endmsg;
184 unsigned rearrangeFirstSample=0;
190 if (rearrangeFirstSample && rearrangeFirstSample<samples.size())
192 short movedSample=samples[0];
193 for (
unsigned i=1;
i<=rearrangeFirstSample;
i++)
194 samples[
i-1]=samples[
i];
195 samples[rearrangeFirstSample]=movedSample;
197 #ifdef LARBSDBGOUTPUT
236 if(
adc>=8)
return x>>8;
292 return sum & 0x7fffffff;
295 #ifdef LARBSDBGOUTPUT
296 #undef LARBSDBGOUTPUT
virtual void resetPointers()
const uint16_t * m_EnergyPointer
virtual uint32_t getNumberOfGains() const
virtual int getNextEnergy(int &channelNumber, int32_t &energy, int32_t &time, int32_t &quality, uint32_t &gain)
singleton-like access to IMessageSvc via open function and helper
virtual uint16_t getRawDataSize() const
uint32_t getNumberOfWords() const
const uint16_t * m_TimeQualityPointer
virtual uint16_t getResults2Size() const
virtual uint16_t getCtrl1(uint32_t adc) const
const uint32_t * m_FebBlock
virtual uint16_t getResults1Size() const
const uint32_t * m_MaskPointer
virtual uint32_t getStatus() const
IMessageSvc * getMessageSvc(bool quiet=false)
const uint16_t * m_RawDataPointer
virtual bool setPointers()
const uint32_t * m_GainPointer
unsigned short m_iHeadBlockSize
unsigned int m_rearrangeFirstSample
const uint8_t * m_TowerPointer
uint32_t getHeader32(const unsigned n) const
uint32_t RawToOfflineGain(const uint32_t gain) const
uint16_t getFirstSampleIndex() const
const int32_t * m_SumPointer
virtual int getNextRawData(int &channelNumber, std::vector< short > &samples, uint32_t &gain)
virtual uint32_t getRadd(uint32_t adc, uint32_t sample) const
virtual uint16_t getCtrl3(uint32_t adc) const
virtual uint32_t getNumberOfSamples() const
const uint16_t * m_HotCellsPointer
uint16_t getHeader16(const unsigned n) const
virtual uint32_t offlineCheckSum() const
virtual uint32_t onlineCheckSum() const
virtual uint16_t getCtrl2(uint32_t adc) const