|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef LARBYTESTREAM_LARRODBLOCKPYSICSV3_H
8 #define LARBYTESTREAM_LARRODBLOCKPYSICSV3_H
42 #define LARBSDBG(text) m_logstr<<MSG::DEBUG<<text<<endmsg
44 #define LARBSDBG(text)
47 #define MYLEVEL (MSG::VERBOSE)
81 std::string
BlockType() {
return std::string(
"RodBlockPhysicsV3");}
91 virtual void setEx(
double Ex);
92 virtual void setEy(
double Ey);
93 virtual void setEz(
double Ez);
105 template<
class RAWDATA>
115 virtual inline int setGain(
const int ) {
return 1; };
132 virtual inline int32_t
getEx()
const;
133 virtual inline int32_t
getEy()
const;
134 virtual inline int32_t
getEz()
const;
213 {
return (
ch>>3) + ((
ch&0x7)<<4);
219 LARBSDBG(
"in LArRodBlockPhysicsV3::getNextEnergy.");
229 channelNumber=(rodChannelNumber>>4) + ((rodChannelNumber&0xf)<<3);
239 LARBSDBG(
"-------->>>> in LArRodBlockPhysicsV3::getNextEnergy : decode energy.....");
244 if (encodedEnergy&0x8000)
sign=-1;
245 range = ((encodedEnergy)>>13)&0x0003;
247 aux = (int32_t) (encodedEnergy&0x1FFF);
248 if (
range==1) aux=(aux<<3)+4;
249 else if (
range==2) aux=(aux<<6)+32;
250 else if (
range==3) aux=(aux<<9)+256;
263 #ifdef LARBSDBGOUTPUT
271 quality = (int32_t) (tQ & 0x003f);
283 #ifdef LARBSDBGOUTPUT
290 <<
" channel Number=" << channelNumber
359 return (aux&0x01FFFFFF);
364 #ifdef LARBSDBGOUTPUT
365 #undef LARBSDBGOUTPUT
const LArOnlineID * m_onlineHelper
bool operator()()(const RAWDATA *ch1
const uint32_t * m_RawDataFlagsPtr
virtual void setEThreshold(uint16_t thres)
virtual bool canSetEnergy()
singleton-like access to IMessageSvc via open function and helper
static const uint32_t m_DummyBitMap[4]
virtual void setEy(double Ey)
virtual void sortDataVector(std::vector< const LArRawChannel * > &)
virtual uint16_t getNumberOfHotCellsInTime() const
virtual void setOffTimeCut(uint16_t TimeCut)
virtual int getNextEnergy(int &channelNumber, int32_t &energy, int32_t &time, int32_t &quality, uint32_t &gain)
virtual void setNumberOfGains(const uint8_t n)
int FebToRodChannel(int ch) const
std::vector< uint32_t > m_TimeQualityBlock
std::vector< uint32_t > m_RawDataBlock
virtual uint16_t getHottestCellIndex()
bool const RAWDATA *ch2 const
virtual uint32_t getRadd(uint32_t adc, uint32_t sample) const
virtual void initializeFragment(std::vector< uint32_t > &fragment)
setScaleOne setStatusOne setSaturated int16_t
virtual uint32_t getNumberOfSamples() const
virtual void setNumberOfSamples(const uint8_t n)
virtual void concatinateFEBs()
virtual uint16_t getCtrl2(uint32_t adc) const
virtual void finalizeFEB()
virtual int32_t getEx() const
virtual int32_t getEy() const
virtual void initializeFEB(const uint32_t id)
const uint16_t * m_CounterPtr
virtual void setEx(double Ex)
uint16_t m_numberHotCellOffTime
const int16_t * m_TimeQualityPtr
const uint32_t * m_GainPtr
virtual void setNextEnergy(const int channel, const int32_t energy, const int32_t time, const int32_t quality, const uint32_t gain)
virtual uint32_t getStatus() const
std::vector< uint32_t > m_EnergyBlock
virtual uint16_t getCtrl3(uint32_t adc) const
std::vector< uint32_t > m_SumBlkBlock
std::vector< uint32_t > m_FebInfoBlock
virtual uint32_t getNumberOfGains() const
virtual uint32_t hasPhysicsBlock() const
int getBit(const uint32_t *const p, const unsigned chan) const
#define LARBSDBG(text)
This class provides decoding/encoding from/to ROD format.
virtual void resetPointers()
std::vector< uint32_t > m_GainBlock
std::vector< uint32_t > m_CounterBlkBlock
virtual void setEz(double Ez)
virtual int32_t getEz() const
const uint32_t * m_SumBlkPtr
uint16_t m_EnergyThreshold
virtual uint32_t hasRawDataBlock() const
virtual uint16_t getOfftimeThreshold() const
virtual void sortDataVector(std::vector< const LArRawChannel * > &)
uint16_t LE_getHeader16(const unsigned n) const
virtual uint16_t getHotCellThreshold() const
virtual uint32_t getHottestCellEnergy() const
virtual bool setPointers()
def time(flags, cells_name, *args, **kw)
virtual void setRawData(const int channel, const std::vector< short > &samples, const uint32_t gain)
virtual int getNextRawData(int &channelNumber, std::vector< short > &samples, uint32_t &gain)
virtual uint16_t getCtrl1(uint32_t adc) const
virtual void sortDataVector(std::vector< const LArDigit * > &)
virtual uint32_t hasControlWordBlock() const
uint16_t m_HottestCellIndex
virtual bool canSetRawData()
virtual uint16_t getNumberOfHotCells() const
virtual int setGain(const int)
uint32_t m_HottestCellEnergy
const int16_t * m_FebInfoDataPtr
const uint16_t * m_EnergyPtr
const int16_t * m_RawDataPtr