|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef LARBYTESTREAM_LARRODBLOCKPHYSICSV4_H
8 #define LARBYTESTREAM_LARRODBLOCKPHYSICSV4_H
25 #define MYLEVEL (MSG::FATAL)
26 #define LARBSDBG(text) logstr<<MYLEVEL<<text<<endmsg
28 #define LARBSDBG(text)
62 std::string
BlockType() {
return std::string(
"RodBlockPhysicsV4");}
91 virtual inline int32_t
getEx()
const;
92 virtual inline int32_t
getEy()
const;
93 virtual inline int32_t
getEz()
const;
97 virtual inline int setGain(
const int ) {
return 1; };
138 #ifdef LARBSDBGOUTPUT
142 LARBSDBG(
"in LArRodBlockPhysicsV4::getNextEnergy.");
150 channelNumber=((rodChannelNumber&0xe)<<2) + ((rodChannelNumber&0x1)<<6) + (rodChannelNumber>>4);
160 LARBSDBG(
"-------->>>> in LArRodBlockPhysicsV4::getNextEnergy : decode energy.....");
165 aux = (int32_t) (encodedEnergy&0x1fff);
166 range = (encodedEnergy & 0xc000) >> 14;
167 sign = encodedEnergy & 0x2000;
185 #ifdef LARBSDBGOUTPUT
186 logstr <<
MYLEVEL <<
"This cell has time and Quality information "<<
endmsg;
196 #ifdef LARBSDBGOUTPUT
199 logstr <<
MYLEVEL <<
" Encoded Energy ="<< MSG::hex << encodedEnergy << MSG::dec <<
" E=" <<
energy
203 <<
" channel Number=" << channelNumber
250 if (encodedEnergy&0x8000)
sign=-1;
251 range = ((encodedEnergy)>>13)&0x0003;
253 aux = (int32_t) (encodedEnergy&0x1FFF);
254 if (
range==1) aux=(aux<<3)+4;
255 else if (
range==2) aux=(aux<<6)+32;
256 else if (
range==3) aux=(aux<<9)+256;
261 #ifdef LARBSDBGOUTPUT
262 #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)
virtual int16_t getHottestCellIndex()
virtual uint16_t getRawDataSize() const
const uint16_t * m_TimeQualityPointer
virtual uint16_t getResults2Size() const
virtual uint16_t getCtrl1(uint32_t adc) const
virtual uint16_t getResults1Size() const
virtual uint32_t hasRawDataBlock() const
const uint32_t * m_MaskPointer
bool const RAWDATA *ch2 const
virtual uint32_t getStatus() const
setScaleOne setStatusOne setSaturated int16_t
IMessageSvc * getMessageSvc(bool quiet=false)
const uint16_t * m_RawDataPointer
virtual uint32_t hasControlWords() const
virtual bool setPointers()
const uint32_t * m_GainPointer
const uint8_t * m_TowerPointer
uint32_t RawToOfflineGain(const uint32_t gain) const
virtual bool canSetCalibration()
uint16_t getFirstSampleIndex() const
virtual int32_t getEy() const
const int32_t * m_SumPointer
virtual uint32_t hasCalibBlock() const
virtual int getNextRawData(int &channelNumber, std::vector< short > &samples, uint32_t &gain)
virtual int32_t getEz() const
virtual uint16_t getNumberOfHotCells() const
def time(flags, cells_name, *args, **kw)
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
virtual int setGain(const int)
virtual int32_t getEx() const
virtual int32_t getHottestCellEnergy() const
uint16_t getFebConfig() const
uint16_t getHeader16(const unsigned n) const
#define LARBSDBG(text)
This class provides decoding/encoding from/to ROD format.
virtual uint32_t hasPhysicsBlock() const
virtual uint32_t offlineCheckSum() const
virtual uint32_t onlineCheckSum() const
virtual uint16_t getCtrl2(uint32_t adc) const