ATLAS Offline Software
Loading...
Searching...
No Matches
LArRodBlockAccumulatedV3 Class Reference

This class provides decoding/encoding from/to ROD format. More...

#include <LArRodBlockAccumulatedV3.h>

Inheritance diagram for LArRodBlockAccumulatedV3:
Collaboration diagram for LArRodBlockAccumulatedV3:

Public Types

enum  {
  NWTot , NWTot_h , FEBID , FEBID_h ,
  FEB_SN , FEB_SN_h , ResultsOff1 , ResultsDim1 ,
  ResultsOff2 , ResultsDim2 , RawDataBlkOff , RawDataBlkDim ,
  EventStatus , EventStatus_h , NGains , NSamples ,
  FirstSampleIndex , FebConfig , InFPGAFormat , InFPGAFormat_h ,
  endtag
}
enum  { NTrigger , NTrigger_h , StepIndex , NStep }

Public Member Functions

 LArRodBlockAccumulatedV3 (IMessageSvc *msgSvc)
virtual uint8_t getTDCPhase () const
virtual int getNextRawData (int &channelNumber, std::vector< short > &samples, uint32_t &gain)
virtual int getNextAccumulatedDigit (int &channelNumber, std::vector< uint64_t > &SamplesSum, std::vector< uint64_t > &corr2Sum, uint32_t &gain)
virtual uint32_t getNumberOfSamples () const
virtual uint32_t getNumberOfGains () const
virtual uint32_t getRadd (uint32_t adc, uint32_t sample) const
virtual uint16_t getResults1Size () const
virtual uint16_t getResults2Size () const
virtual uint16_t getRawDataSize () const
virtual uint16_t getCtrl1 (uint32_t adc) const
virtual uint16_t getCtrl2 (uint32_t adc) const
virtual uint16_t getCtrl3 (uint32_t adc) const
virtual uint32_t getStatus () const
virtual int setGain (const int GainValue)
virtual uint32_t hasAccumBlock () const
virtual uint32_t hasRawDataBlock () const
virtual uint32_t hasControlWords () const
uint16_t getNTrigger () const
uint16_t getStepIndex () const
uint16_t getNStep () const
uint16_t getFebConfig () const
uint16_t getFirstSampleIndex () const
virtual bool canSetAccumulated ()
virtual void initializeFragment (std::vector< uint32_t > &fragment)
virtual void initializeFEB (const uint32_t id)
virtual void setNumberOfSamples (const uint8_t n)
virtual void setNumberOfGains (const uint8_t n)
virtual void setTDCPhase (const uint8_t n)
virtual void setNextEnergy (const int channel, const int32_t energy, const int32_t time, const int32_t quality, const uint32_t gain)
virtual void setRawData (const int channel, const std::vector< short > &samples, const uint32_t gain)
virtual void setRawDataFixed (const int channel, const std::vector< short > &samples, const uint32_t gain)
virtual void setEtQ (const int channel, const int32_t energy, const int32_t time, const int32_t quality, const uint32_t gain)
virtual void setDAC (const uint16_t DACValue)
virtual void setDelay (const uint16_t DelayValue)
virtual void setPulsed (const unsigned channelNumber)
virtual void setNTrigger (const uint16_t NTrigger)
virtual void finalizeFEB ()
virtual void setEx (double)
virtual void setEy (double)
virtual void setEz (double)
virtual void setSumE (double)
virtual void sortDataVector (std::vector< const LArRawChannel * > &)
virtual void sortDataVector (std::vector< const LArDigit * > &)
virtual void sortDataVector (std::vector< const LArCalibDigit * > &)
virtual void sortDataVector (std::vector< const LArAccumulatedCalibDigit * > &)
virtual void sortDataVector (std::vector< const LArAccumulatedDigit * > &)
virtual void concatinateFEBs ()
virtual bool canSetEnergy ()
virtual bool canSetRawData ()
virtual bool canSetRawDataFixed ()
virtual bool canSetCalibration ()
virtual bool canSetNTrigger ()
virtual bool canIncludeRawData ()
bool setFragment (const uint32_t *p, uint32_t n)
bool nextFEB ()
uint32_t getNumberOfWords () const
uint32_t getFEBID () const
uint32_t getFEBSN () const
virtual int32_t getEx () const
virtual int32_t getEy () const
virtual int32_t getEz () const
virtual int32_t getSumE () const
virtual uint32_t getVROBFebId ()
virtual int32_t getVROBEx () const
virtual int32_t getVROBEy () const
virtual int32_t getVROBEz () const
virtual int32_t getVROBSumE () const
virtual uint32_t hasCalibBlock () const
virtual uint32_t hasPhysicsBlock () const
virtual int getNextEnergy (int &channelNumber, int32_t &energy, int32_t &time, int32_t &quality, uint32_t &gain)
virtual int getNextAccumulatedCalibDigit (int &channelNumber, std::vector< uint64_t > &SamplesSum, std::vector< uint64_t > &Samples2Sum, uint32_t &nStepTriggers, uint32_t &gain)
virtual bool getPulsed (unsigned channelNumber) const
virtual uint16_t getDAC () const
virtual uint16_t getDelay () const
virtual uint16_t getNbSweetCells1 () const
virtual uint16_t getNbSweetCells2 () const
virtual uint32_t getDspCodeVersion () const
virtual int32_t getDspEventCounter () const
virtual uint32_t onlineCheckSum () const
virtual uint32_t offlineCheckSum () const
virtual int setFragmentVirtualROB (const uint32_t *p, uint32_t n)
virtual void dumpFragment ()
void setFirstSample (const int rearrangeFirstSample)
uint32_t RawToOfflineGain (const uint32_t gain) const
uint32_t OfflineToRawGain (const uint32_t gain) const
virtual int FebToRodChannel (int ch) const
bool report_error (void) const

Static Public Member Functions

static std::string BlockType ()

Protected Types

enum  {
  NWTot , NWTot_h , FEBID , FEBID_h ,
  FEBSN , FEBSN_h , endtag
}
typedef std::map< uint32_t, std::vector< uint32_t > > FEBMAPTYPE

Protected Member Functions

void setHeader16 (const unsigned n, const uint16_t w)
void setHeader32 (const unsigned n, const uint32_t w)
virtual bool setPointers ()
uint16_t getVectorHeader16 (const unsigned n) const
uint32_t getVectorHeader32 (const unsigned n) const
uint16_t getHeader16 (const unsigned n) const
uint32_t getHeader32 (const unsigned n) const
uint16_t LE_getHeader16 (const unsigned n) const
void LE_setHeader16 (const unsigned n, const uint16_t w)
uint16_t LE_getVectorHeader16 (const unsigned n) const
void setBit (uint32_t *const p, const unsigned chan)
int getBit (const uint32_t *const p, const unsigned chan) const

Protected Attributes

int32_t m_Ex
int32_t m_Ey
int32_t m_Ez
int32_t m_SumE
uint32_t m_numberOfEx
uint32_t m_numberOfEy
uint32_t m_numberOfEz
uint32_t m_numberOfSumE
unsigned short m_iHeadBlockSize
int m_channelsPerFEB
const uint32_t * m_FebBlock
const uint32_t * m_RodBlock
int32_t m_FebBlockSize
int32_t m_RodBlockSize
std::vector< uint32_t > * m_vFragment
std::vector< uint32_t > * m_pRODblock
FEBMAPTYPE m_mFebBlocks
int32_t m_MiddleHeaderSize
unsigned int m_rearrangeFirstSample
bool m_error_next_feb
uint32_t m_virtualROBJump
int32_t m_ROB_to_decode
const uint32_t * m_virtualROBPointer
const uint32_t * m_virtualROBPointerLocal
MsgStream m_logstr

Static Protected Attributes

static const uint32_t m_RawToOfflineGainMap [4] ={0, 2, 1,0}
static const uint32_t m_OfflineToRawGainMap [3] ={3,2,1}

Private Member Functions

void clearBlocks ()
virtual void resetPointers ()

Private Attributes

int m_Result1Counter = 0
int m_Result1Index = 0
int m_Result2Counter = 0
int m_Result2Index = 0
int m_RawDataCounter = 0
int m_RawDataIndex = 0
unsigned m_fixedGain

Detailed Description

This class provides decoding/encoding from/to ROD format.

Authors
W. Lampl, R. Lafaye
Version
0-0-1 , Jul 17, 2003

Modified, 04.01.2006, IWS new format with averages Modified, 25.04.2006, IWS new format with averages sub-steps

Definition at line 23 of file LArRodBlockAccumulatedV3.h.

Member Typedef Documentation

◆ FEBMAPTYPE

typedef std::map<uint32_t, std::vector<uint32_t> > LArRodBlockStructure::FEBMAPTYPE
protectedinherited

Definition at line 227 of file LArRodBlockStructure.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
NWTot 
NWTot_h 
FEBID 
FEBID_h 
FEBSN 
FEBSN_h 
endtag 

Definition at line 50 of file LArRodBlockStructure.h.

50 {
51 NWTot, // Number of words in DSP block
52 NWTot_h,
53 FEBID, // FEB ID
54 FEBID_h,
55 FEBSN, // FEB Serial Number
56 FEBSN_h,
57 endtag // This tag needs to be an odd number, see *) for constructor
58 };

◆ anonymous enum

anonymous enum
Enumerator
NWTot 
NWTot_h 
FEBID 
FEBID_h 
FEB_SN 
FEB_SN_h 
ResultsOff1 
ResultsDim1 
ResultsOff2 
ResultsDim2 
RawDataBlkOff 
RawDataBlkDim 
EventStatus 
EventStatus_h 
NGains 
NSamples 
FirstSampleIndex 
FebConfig 
InFPGAFormat 
InFPGAFormat_h 
endtag 

Definition at line 27 of file LArRodBlockAccumulatedV3.h.

27 {
28 NWTot, // First words: DSP event header
29 NWTot_h,
30 FEBID,
31 FEBID_h,
32 FEB_SN, // FEB serial number
33 FEB_SN_h, // FEB serial number
34 ResultsOff1, // Size of results (Accumulated averages in DSP)
35 ResultsDim1, // Offset to results
36 ResultsOff2, // Size of times (in physics)
37 ResultsDim2, // Offset to times (in physics)
39 RawDataBlkDim, // Raw FEB event offset
40 EventStatus, // Bits describing the event
42 NGains,
43 NSamples,
46 InFPGAFormat, // added 08.09.2005 - wrong 28.09.2005?
48 endtag //This tag needs to be an odd number, see *) for constructor
49 };

Constructor & Destructor Documentation

◆ LArRodBlockAccumulatedV3()

LArRodBlockAccumulatedV3::LArRodBlockAccumulatedV3 ( IMessageSvc * msgSvc)

Definition at line 25 of file LArRodBlockAccumulatedV3.cxx.

27{
28 m_iHeadBlockSize=endtag/2; // The implicit cast rounds down to the right size
31}
LArRodBlockStructure(IMessageSvc *msgSvc, const std::string &blockType)
@ LARNGAIN
Definition CaloGain.h:19

Member Function Documentation

◆ BlockType()

std::string LArRodBlockAccumulatedV3::BlockType ( )
inlinestatic

Definition at line 60 of file LArRodBlockAccumulatedV3.h.

60{ return std::string("RodBlockAccumulatedV3");}

◆ canIncludeRawData()

virtual bool LArRodBlockStructure::canIncludeRawData ( )
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 100 of file LArRodBlockStructure.h.

100{return false;}

◆ canSetAccumulated()

virtual bool LArRodBlockAccumulatedV3::canSetAccumulated ( )
inlinevirtual

Definition at line 109 of file LArRodBlockAccumulatedV3.h.

109{return false;}

◆ canSetCalibration()

virtual bool LArRodBlockStructure::canSetCalibration ( )
inlinevirtualinherited

◆ canSetEnergy()

virtual bool LArRodBlockStructure::canSetEnergy ( )
inlinevirtualinherited

◆ canSetNTrigger()

virtual bool LArRodBlockStructure::canSetNTrigger ( )
inlinevirtualinherited

Definition at line 99 of file LArRodBlockStructure.h.

99{return false;}

◆ canSetRawData()

virtual bool LArRodBlockStructure::canSetRawData ( )
inlinevirtualinherited

◆ canSetRawDataFixed()

virtual bool LArRodBlockStructure::canSetRawDataFixed ( )
inlinevirtualinherited

Reimplemented in LArRodBlockTransparentV0< DSPHEADER >.

Definition at line 97 of file LArRodBlockStructure.h.

97{return false;}

◆ clearBlocks()

void LArRodBlockAccumulatedV3::clearBlocks ( )
private

◆ concatinateFEBs()

void LArRodBlockStructure::concatinateFEBs ( )
virtualinherited

Reimplemented in LArRodBlockPhysicsV0, LArRodBlockPhysicsV1, LArRodBlockPhysicsV2, LArRodBlockPhysicsV3, LArRodBlockPhysicsV5, LArRodBlockPhysicsV6, and LArRodBlockTransparentV0< DSPHEADER >.

Definition at line 74 of file LArRodBlockStructure.cxx.

75{
76 m_logstr << MSG::ERROR << "Error: Function concatinateFEBs not implemented in this instance of LArRodBlockStructure!" << endmsg;
77}
#define endmsg

◆ dumpFragment()

void LArRodBlockStructure::dumpFragment ( )
virtualinherited

Definition at line 159 of file LArRodBlockStructure.cxx.

160{
161 m_logstr << MSG::ERROR << "Error: Function dumpFragment() not implemented in this instance of LArRodBlockStructure!" << endmsg;
162}

◆ FebToRodChannel()

virtual int LArRodBlockStructure::FebToRodChannel ( int ch) const
inlinevirtualinherited

◆ finalizeFEB()

void LArRodBlockStructure::finalizeFEB ( )
virtualinherited

Reimplemented in LArRodBlockPhysicsV0, LArRodBlockPhysicsV1, LArRodBlockPhysicsV2, LArRodBlockPhysicsV3, LArRodBlockPhysicsV5, LArRodBlockPhysicsV6, and LArRodBlockTransparentV0< DSPHEADER >.

Definition at line 175 of file LArRodBlockStructure.cxx.

176{
177 m_logstr << MSG::ERROR << "Error: Function finalizeFEB not implemented in this instance of LArRodBlockStructure!" << endmsg;
178}

◆ getBit()

int LArRodBlockStructure::getBit ( const uint32_t *const p,
const unsigned chan ) const
inlineprotectedinherited

Definition at line 422 of file LArRodBlockStructure.h.

423{// chan = (0,127)
424 // int a = chan/32;
425 // int r = chan%32;
426 int a = chan>>5;
427 int r = chan&0x1f;
428 // a = (0,3), r = ( 0, 31 )
429 return (*(p+a)>>r) & 0x1;
430}
static Double_t a
int r
Definition globals.cxx:22

◆ getCtrl1()

uint16_t LArRodBlockAccumulatedV3::getCtrl1 ( uint32_t adc) const
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 269 of file LArRodBlockAccumulatedV3.cxx.

270{
273 if(adc&0x1) x=x>>16;
274 else x=x&0xffff;
275 uint16_t ctrl=x;
276 return ctrl;
277}
#define x
uint16_t getHeader16(const unsigned n) const
str index
Definition DeMoScan.py:362
setWord1 uint16_t
setEventNumber uint32_t

◆ getCtrl2()

uint16_t LArRodBlockAccumulatedV3::getCtrl2 ( uint32_t adc) const
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 279 of file LArRodBlockAccumulatedV3.cxx.

280{
283 if(adc&0x1) x=x>>16;
284 else x=x&0xffff;
285 uint16_t ctrl=x;
286 return ctrl;
287}

◆ getCtrl3()

uint16_t LArRodBlockAccumulatedV3::getCtrl3 ( uint32_t adc) const
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 289 of file LArRodBlockAccumulatedV3.cxx.

290{
292 int ngains=getHeader16(NGains);
293 int offset=nsamples*(8+64*ngains)+adc/2;
296 if(adc&0x1) x=x>>16;
297 else x=x&0xffff;
298 uint16_t ctrl=x;
299 return ctrl;
300}

◆ getDAC()

uint16_t LArRodBlockStructure::getDAC ( ) const
inlinevirtualinherited

◆ getDelay()

uint16_t LArRodBlockStructure::getDelay ( ) const
inlinevirtualinherited

◆ getDspCodeVersion()

uint32_t LArRodBlockStructure::getDspCodeVersion ( ) const
virtualinherited

Definition at line 234 of file LArRodBlockStructure.cxx.

235{
236 int i=getNumberOfWords()-2;
237 return m_FebBlock[i];
238}
uint32_t getNumberOfWords() const

◆ getDspEventCounter()

int32_t LArRodBlockStructure::getDspEventCounter ( ) const
virtualinherited

Definition at line 240 of file LArRodBlockStructure.cxx.

241{
242 int i=getNumberOfWords()-1;
243 return m_FebBlock[i];
244}

◆ getEx()

int32_t LArRodBlockStructure::getEx ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV3, LArRodBlockPhysicsV4, LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 303 of file LArRodBlockStructure.h.

303 {
304 return 0;
305}

◆ getEy()

int32_t LArRodBlockStructure::getEy ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV3, LArRodBlockPhysicsV4, LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 307 of file LArRodBlockStructure.h.

307 {
308 return 0;
309}

◆ getEz()

int32_t LArRodBlockStructure::getEz ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV3, LArRodBlockPhysicsV4, LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 311 of file LArRodBlockStructure.h.

311 {
312 return 0;
313}

◆ getFebConfig()

uint16_t LArRodBlockAccumulatedV3::getFebConfig ( ) const
inline

Definition at line 121 of file LArRodBlockAccumulatedV3.h.

122{
123 return getHeader16(FebConfig);
124}

◆ getFEBID()

uint32_t LArRodBlockStructure::getFEBID ( ) const
inlineinherited

Definition at line 293 of file LArRodBlockStructure.h.

294{
295 return getHeader32(FEBID);
296}
uint32_t getHeader32(const unsigned n) const

◆ getFEBSN()

uint32_t LArRodBlockStructure::getFEBSN ( ) const
inlineinherited

Definition at line 298 of file LArRodBlockStructure.h.

299{
300 return getHeader32(FEBSN);
301}

◆ getFirstSampleIndex()

uint16_t LArRodBlockAccumulatedV3::getFirstSampleIndex ( ) const
inline

Definition at line 126 of file LArRodBlockAccumulatedV3.h.

127{
129}

◆ getHeader16()

uint16_t LArRodBlockStructure::getHeader16 ( const unsigned n) const
inlineprotectedinherited

Definition at line 345 of file LArRodBlockStructure.h.

346{
347 if (n&0x1) //n is an odd number
348 return m_FebBlock[n>>1] & 0xffff; //1,3,5... are fetched from lower bits
349 else //n is a even number
350 return m_FebBlock[n>>1] >> 16; //0,2,4... are fetched from higher bits
351}

◆ getHeader32()

uint32_t LArRodBlockStructure::getHeader32 ( const unsigned n) const
inlineprotectedinherited

Definition at line 353 of file LArRodBlockStructure.h.

354{return m_FebBlock[n>>1];}

◆ getNbSweetCells1()

uint16_t LArRodBlockStructure::getNbSweetCells1 ( ) const
virtualinherited

Reimplemented in LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 231 of file LArRodBlockStructure.cxx.

231{ return 0; }

◆ getNbSweetCells2()

uint16_t LArRodBlockStructure::getNbSweetCells2 ( ) const
virtualinherited

Reimplemented in LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 232 of file LArRodBlockStructure.cxx.

232{ return 0; }

◆ getNextAccumulatedCalibDigit()

int LArRodBlockStructure::getNextAccumulatedCalibDigit ( int & channelNumber,
std::vector< uint64_t > & SamplesSum,
std::vector< uint64_t > & Samples2Sum,
uint32_t & nStepTriggers,
uint32_t & gain )
virtualinherited

Reimplemented in LArRodBlockCalibrationV1, LArRodBlockCalibrationV2, and LArRodBlockCalibrationV3.

Definition at line 86 of file LArRodBlockStructure.cxx.

87{
88 m_logstr << MSG::ERROR << "Error: Function getNextAccumulatedCalibDigit not implemented in this instance of LArRodBlockStructure!" << endmsg;
89 return 0;
90}

◆ getNextAccumulatedDigit()

int LArRodBlockAccumulatedV3::getNextAccumulatedDigit ( int & channelNumber,
std::vector< uint64_t > & SamplesSum,
std::vector< uint64_t > & corr2Sum,
uint32_t & gain )
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 130 of file LArRodBlockAccumulatedV3.cxx.

132{
133#ifdef LARBSDBGOUTPUT
134 MsgStream logstr(Athena::getMessageSvc(), BlockType());
135#endif
136 //Debug output
137 LARBSDBG("m_Result1Counter" << m_Result1Counter << " m_Result1Index="<< m_Result1Index
138 << " m_channelsPerFEB=" << m_channelsPerFEB);
139 LARBSDBG("requested gain= " << m_fixedGain);
140 if (m_Result1Counter>=m_channelsPerFEB) { //Already beyond maximal number of channels
141 LARBSDBG("Maximum number of channels reached");
142 return 0;
143 }
144 uint16_t block = getHeader16(ResultsOff1);//Position of the AccumulatedCalibDigits FEB data block
145 uint16_t bsize = getHeader16(ResultsDim1);//Position of the AccumulatedCalibDigits FEB data block
147 if (!block) { //Block does not exist
148 LARBSDBG("No Accumulated Digit Block in this FEB");
149 return 0;
150 }
151 //The m_Result1Channel keeps track of the last read channel
152
153 // Get next channel
154 channelNumber=m_Result1Counter;
155
156 // This is just for fun; these data are not stored here but in RodBlockDecoder.cxx
157 // IWS 08.08.2005 This part is useless in fact - just for debugging
158 const unsigned int nsamples = getHeader16(NSamples);
159 const unsigned int ngains = getHeader16(NGains);
160
161 const unsigned int FebConfig = (int) getFebConfig();
162 if(ngains==0 || nsamples==0) return 0;
163 // Loop over gains to look for m_fixedGain
164 int offset;
165 uint32_t x;
166
167 if (FebConfig==0 || FebConfig>3) {
168 //Converter can currently not deal with this situation
169 LARBSDBG("Suspicious FebConfig valud" << FebConfig << ", don't know what to do for Accumulated Calib Digit - return 0");
170 return 0;
171 }
172
173 const uint32_t febgain=FebConfig&0x3; // to be done better when this is better understood
174 gain=RawToOfflineGain(febgain);
175
177 gain!=m_fixedGain) {
178 LARBSDBG("Requested gain: " << m_fixedGain << " got " << gain << " data ingored.");
179 return 0;
180 }
181
182
183 // 2 is the size of the accumulated header
184 offset=block + 2 + (channelNumber&0x7F)*(nsamples*2); // needs to be updated for loop on gains
185 if(offset+2*nsamples>size-3) return 0;
186 if((channelNumber&0x7F)*nsamples*2>bsize) return 0;
187
188
189 samplesSum.resize(nsamples);
190 corr2Sum.resize(nsamples);
191
192 for (unsigned int i=0;i<nsamples;i++)
193 {
195 samplesSum[i]=x;
196 }
198 for (unsigned int i=0;i<nsamples;i++)
199 {
201 corr2Sum[i]=x;
202 }
203
204 gain=RawToOfflineGain(febgain);
205
207 return 1;
208}
#define LARBSDBG(text)
This class provides decoding/encoding from/to ROD format.
size_t size() const
Number of registered mappings.
uint32_t RawToOfflineGain(const uint32_t gain) const
IMessageSvc * getMessageSvc(bool quiet=false)

◆ getNextEnergy()

int LArRodBlockStructure::getNextEnergy ( int & channelNumber,
int32_t & energy,
int32_t & time,
int32_t & quality,
uint32_t & gain )
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV0, LArRodBlockPhysicsV1, LArRodBlockPhysicsV2, LArRodBlockPhysicsV3, LArRodBlockPhysicsV4, LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 445 of file LArRodBlockStructure.h.

446{
447 m_logstr << MSG::ERROR << "Error: Function getNextEnergy not implemented in this instance of LArRodBlockStructure!" << endmsg;
448 return 0;
449}

◆ getNextRawData()

int LArRodBlockAccumulatedV3::getNextRawData ( int & channelNumber,
std::vector< short > & samples,
uint32_t & gain )
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 48 of file LArRodBlockAccumulatedV3.cxx.

49{
50#ifdef LARBSDBGOUTPUT
51 MsgStream logstr(Athena::getMessageSvc(), BlockType());
52#endif
53 if (m_RawDataCounter>=m_channelsPerFEB) { //Already beyond maximal number of channels
54 LARBSDBG("Maximum number of channels reached");
55 return 0;
56 }
57 const uint16_t block = getHeader16(RawDataBlkOff);
58 if (!block) { //Block does not exist
59 LARBSDBG("No Raw Data Block in this FEB");
60 return 0;
61 }
62 //The m_RawDataChannel keeps track of the last read channel
63
64 // Get next channel
65 channelNumber=m_RawDataCounter;
66 uint32_t febgain=0;
67 const unsigned int nsamples = getHeader16(NSamples) & 0xff;
68 const unsigned int ngains = getHeader16(NGains);
69 if(ngains==0 || nsamples==0) return 0;
70 // Loop over gains to look for m_fixedGain
71 unsigned int this_gain=0;
72 int offset;
73 LARBSDBG(" ===> fixedGain= " << m_fixedGain << " CaloGain = " << CaloGain::LARNGAIN);
74 if (m_fixedGain!=CaloGain::LARNGAIN) { //Fixed gain: Search for gain
75 offset=block + 8 + ((channelNumber&0x3F)>>3) + ((channelNumber & 0x7)<<3);
76 for(this_gain=0;this_gain<ngains;this_gain++) {
77 int index = offset + 64*this_gain;
79 if(channelNumber>=64)
80 x = (x & 0x3000) >> 12;
81 else
82 x = (x & 0x30000000) >> 28;
83 unsigned data_gain = RawToOfflineGain(x);
84 if(data_gain==m_fixedGain) break;
85 }
86 }
87 if (this_gain<ngains) { //Gain found in this fragment
88 int s_size = 8 + 64 * ngains; // Size of one sample block 16 RADD of 16 bit + 128 channels (16 bit data)
89 offset = block + 8 + ((channelNumber&0x3F)>>3) + ((channelNumber & 0x7)<<3) + 64*this_gain;
90 int index = offset;
92 if(channelNumber>=64) { //low channels on lower bits
93 // First decode gain
94 febgain = (x & 0x3000) >> 12; // gain on bits 12 and 13
95 // Than samples
96 for(unsigned int s=0;s<nsamples;s++) {
97 index = offset + s*s_size;
99 samples.push_back((short) (x & 0x0fff)); // sample on bits 0 to 11
100 }
101 } else { //high channels on higher bits
102 // First decode gain
103 febgain = (x & 0x30000000) >> 28; // gain on bits 12 and 13
104 // Than samples
105 for(unsigned int s=0;s<nsamples;s++) {
106 index = offset + s*s_size;
107 x = (m_FebBlock[index]) >> 16;
108 samples.push_back((short) (x & 0x0fff)); // sample on bits 0 to 11
109 }
110 }
111 gain=RawToOfflineGain(febgain);
112 }
114 unsigned rearrangeFirstSample=0;
116 rearrangeFirstSample=m_rearrangeFirstSample; //Overwrite by jobOptions
117 else
118 rearrangeFirstSample=getFirstSampleIndex();
119 if (rearrangeFirstSample && rearrangeFirstSample<samples.size()) //FIXME: Very ugly hack! See explanation in LArRodDecoder.h file
120 {//Change e.g. 3 0 1 2 4 to 0 1 2 3 4
121 short movedSample=samples[0];
122 for (unsigned i=1;i<=rearrangeFirstSample;i++)
123 samples[i-1]=samples[i];
124 samples[rearrangeFirstSample]=movedSample;
125 }
126 LARBSDBG("GetNextRawData for FEB finished 0x" << MSG::hex << (uint32_t)getHeader32(FEBID) << MSG::dec);
127 return 1;
128}

◆ getNStep()

uint16_t LArRodBlockAccumulatedV3::getNStep ( ) const
inlinevirtual

Reimplemented from LArRodBlockStructure.

Definition at line 251 of file LArRodBlockAccumulatedV3.cxx.

252{
255 return (uint16_t) x;
256}

◆ getNTrigger()

uint16_t LArRodBlockAccumulatedV3::getNTrigger ( ) const
inlinevirtual

Reimplemented from LArRodBlockStructure.

Definition at line 221 of file LArRodBlockAccumulatedV3.cxx.

222{
223
226 return (uint16_t) x;
227}

◆ getNumberOfGains()

uint32_t LArRodBlockAccumulatedV3::getNumberOfGains ( ) const
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 216 of file LArRodBlockAccumulatedV3.cxx.

217{
218 return getHeader16(NGains);
219}

◆ getNumberOfSamples()

uint32_t LArRodBlockAccumulatedV3::getNumberOfSamples ( ) const
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 211 of file LArRodBlockAccumulatedV3.cxx.

212{
213 return getHeader16(NSamples);
214}

◆ getNumberOfWords()

uint32_t LArRodBlockStructure::getNumberOfWords ( ) const
inlineinherited

Definition at line 417 of file LArRodBlockStructure.h.

418{
419 return getHeader32(NWTot);
420}

◆ getPulsed()

bool LArRodBlockStructure::getPulsed ( unsigned channelNumber) const
inlinevirtualinherited

◆ getRadd()

uint32_t LArRodBlockAccumulatedV3::getRadd ( uint32_t adc,
uint32_t sample ) const
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 258 of file LArRodBlockAccumulatedV3.cxx.

259{
262 if(index<=0) return 0;
263 index+=(8+64*ngain)*sample+adc/2;
265 if(adc&0x1) return x>>16;
266 return x&0xffff;
267}

◆ getRawDataSize()

uint16_t LArRodBlockAccumulatedV3::getRawDataSize ( ) const
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 246 of file LArRodBlockAccumulatedV3.cxx.

247{
249}

◆ getResults1Size()

uint16_t LArRodBlockAccumulatedV3::getResults1Size ( ) const
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 236 of file LArRodBlockAccumulatedV3.cxx.

237{
238 return getHeader16(ResultsDim1);
239}

◆ getResults2Size()

uint16_t LArRodBlockAccumulatedV3::getResults2Size ( ) const
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 241 of file LArRodBlockAccumulatedV3.cxx.

242{
243 return getHeader16(ResultsDim2);
244}

◆ getStatus()

uint32_t LArRodBlockAccumulatedV3::getStatus ( ) const
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 302 of file LArRodBlockAccumulatedV3.cxx.

303{
304 // Get Dsp status word
305 if(getNumberOfWords()<EventStatus/2) return 0;
307 return x;
308}

◆ getStepIndex()

uint16_t LArRodBlockAccumulatedV3::getStepIndex ( ) const
inlinevirtual

Reimplemented from LArRodBlockStructure.

Definition at line 229 of file LArRodBlockAccumulatedV3.cxx.

230{
232 uint32_t x = m_FebBlock[index+StepIndex/2]&0xffff;
233 return (uint16_t) x;
234}

◆ getSumE()

int32_t LArRodBlockStructure::getSumE ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV6.

Definition at line 315 of file LArRodBlockStructure.h.

315 {
316 return 0;
317}

◆ getTDCPhase()

uint8_t LArRodBlockAccumulatedV3::getTDCPhase ( ) const
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 43 of file LArRodBlockAccumulatedV3.cxx.

44{
45 return (getHeader16(NSamples)>>8);
46}

◆ getVectorHeader16()

uint16_t LArRodBlockStructure::getVectorHeader16 ( const unsigned n) const
inlineprotectedinherited

Definition at line 356 of file LArRodBlockStructure.h.

357{
358 if (n&0x1) //n is an odd number
359 return (std::as_const(*m_vFragment).at(n>>1) & 0xffff);
360 else //n is a even number
361 return (std::as_const(*m_vFragment).at(n>>1) >> 16);
362}

◆ getVectorHeader32()

uint32_t LArRodBlockStructure::getVectorHeader32 ( const unsigned n) const
inlineprotectedinherited

Definition at line 364 of file LArRodBlockStructure.h.

365{
366 return (*m_vFragment)[n>>1];
367}
std::vector< uint32_t > * m_vFragment

◆ getVROBEx()

int32_t LArRodBlockStructure::getVROBEx ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 323 of file LArRodBlockStructure.h.

323 {
324 return 0;
325}

◆ getVROBEy()

int32_t LArRodBlockStructure::getVROBEy ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 327 of file LArRodBlockStructure.h.

327 {
328 return 0;
329}

◆ getVROBEz()

int32_t LArRodBlockStructure::getVROBEz ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 331 of file LArRodBlockStructure.h.

331 {
332 return 0;
333}

◆ getVROBFebId()

uint32_t LArRodBlockStructure::getVROBFebId ( )
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 319 of file LArRodBlockStructure.h.

319 {
320 return 0;
321}

◆ getVROBSumE()

int32_t LArRodBlockStructure::getVROBSumE ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV6.

Definition at line 335 of file LArRodBlockStructure.h.

335 {
336 return 0;
337}

◆ hasAccumBlock()

virtual uint32_t LArRodBlockAccumulatedV3::hasAccumBlock ( ) const
inlinevirtual

Reimplemented from LArRodBlockStructure.

Definition at line 83 of file LArRodBlockAccumulatedV3.h.

83{return getHeader16(ResultsOff1);} ;

◆ hasCalibBlock()

virtual uint32_t LArRodBlockStructure::hasCalibBlock ( ) const
inlinevirtualinherited

◆ hasControlWords()

virtual uint32_t LArRodBlockAccumulatedV3::hasControlWords ( ) const
inlinevirtual

Reimplemented from LArRodBlockStructure.

Definition at line 85 of file LArRodBlockAccumulatedV3.h.

85{return getHeader16(RawDataBlkOff);} ;

◆ hasPhysicsBlock()

virtual uint32_t LArRodBlockStructure::hasPhysicsBlock ( ) const
inlinevirtualinherited

◆ hasRawDataBlock()

virtual uint32_t LArRodBlockAccumulatedV3::hasRawDataBlock ( ) const
inlinevirtual

Reimplemented from LArRodBlockStructure.

Definition at line 84 of file LArRodBlockAccumulatedV3.h.

84{return getHeader16(RawDataBlkOff);} ;

◆ initializeFEB()

void LArRodBlockStructure::initializeFEB ( const uint32_t id)
virtualinherited

Reimplemented in LArRodBlockPhysicsV0, LArRodBlockPhysicsV1, LArRodBlockPhysicsV2, LArRodBlockPhysicsV3, LArRodBlockPhysicsV5, LArRodBlockPhysicsV6, and LArRodBlockTransparentV0< DSPHEADER >.

Definition at line 165 of file LArRodBlockStructure.cxx.

166{
167 m_logstr << MSG::ERROR << "Error: Function initializeFEB not implemented in this instance of LArRodBlockStructure!" << endmsg;
168}

◆ initializeFragment()

void LArRodBlockStructure::initializeFragment ( std::vector< uint32_t > & fragment)
virtualinherited

Reimplemented in LArRodBlockPhysicsV0, LArRodBlockPhysicsV1, LArRodBlockPhysicsV2, LArRodBlockPhysicsV3, LArRodBlockPhysicsV5, LArRodBlockPhysicsV6, and LArRodBlockTransparentV0< DSPHEADER >.

Definition at line 170 of file LArRodBlockStructure.cxx.

171{
172 m_logstr << MSG::ERROR << "Error: Function initializeFragment not implemented in this instance of LArRodBlockStructure!" << endmsg;
173}

◆ LE_getHeader16()

uint16_t LArRodBlockStructure::LE_getHeader16 ( const unsigned n) const
inlineprotectedinherited

Definition at line 394 of file LArRodBlockStructure.h.

395{
396 return (reinterpret_cast<const uint16_t*>(m_FebBlock))[n];
397}

◆ LE_getVectorHeader16()

uint16_t LArRodBlockStructure::LE_getVectorHeader16 ( const unsigned n) const
inlineprotectedinherited

Definition at line 399 of file LArRodBlockStructure.h.

400{
401 const uint32_t* data32 = std::as_const(*m_vFragment).data();
402 const uint16_t* data16 = reinterpret_cast<const uint16_t*> (data32);
403 return data16[n];
404}

◆ LE_setHeader16()

void LArRodBlockStructure::LE_setHeader16 ( const unsigned n,
const uint16_t w )
inlineprotectedinherited

Definition at line 406 of file LArRodBlockStructure.h.

407{
408#ifdef LARBYTESTREAMRODBLOCK_CHCKBOUNDARIES
409 if ((unsigned)n>=m_vFragment->size()*2) {
410 m_logstr << MSG::ERROR << "LArRodBlockStructure::LE_setHeader16 Error: WRITE BEYOND ARRAY BOUNDARY!" << endmsg;
411 std::abort();
412 }
413#endif
414 reinterpret_cast<uint16_t*>(m_vFragment->data())[n] = w;
415}

◆ nextFEB()

bool LArRodBlockStructure::nextFEB ( )
inlineinherited

Definition at line 480 of file LArRodBlockStructure.h.

481{
483
484 const int32_t FebOffset = m_FebBlockSize+m_MiddleHeaderSize;
485 const int32_t LeftSize = m_RodBlockSize-FebOffset+m_RodBlock-m_FebBlock;
486 if ( LeftSize<=0 ) return false; //No next feb
487
488 m_FebBlock += FebOffset; //Jump to the next FEB fragment
489 const int32_t BlockSize = getNumberOfWords();
490 if (BlockSize>LeftSize) {
491 m_logstr << MSG::ERROR << "Error while decoding LArByteStream: Found FEB block of size " << BlockSize << " in a ROD block of size " << LeftSize << endmsg;
492 m_error_next_feb = true;
493 return false;
494 }
495
496 m_FebBlockSize=BlockSize;
497
498 setPointers();
499 return true;
500}

◆ offlineCheckSum()

uint32_t LArRodBlockStructure::offlineCheckSum ( ) const
virtualinherited

Reimplemented in LArRodBlockPhysicsV4.

Definition at line 147 of file LArRodBlockStructure.cxx.

◆ OfflineToRawGain()

uint32_t LArRodBlockStructure::OfflineToRawGain ( const uint32_t gain) const
inlineinherited

Definition at line 342 of file LArRodBlockStructure.h.

343{return m_OfflineToRawGainMap[gain];} //For efficency, don't check range
static const uint32_t m_OfflineToRawGainMap[3]

◆ onlineCheckSum()

uint32_t LArRodBlockStructure::onlineCheckSum ( ) const
virtualinherited

Reimplemented in LArRodBlockPhysicsV4.

Definition at line 139 of file LArRodBlockStructure.cxx.

140{
141 int offset = getNumberOfWords()-1;
142 if(offset>=m_FebBlockSize) return 0;
143 if(offset<0) return 0;
144 return m_FebBlock[offset];
145}

◆ RawToOfflineGain()

uint32_t LArRodBlockStructure::RawToOfflineGain ( const uint32_t gain) const
inlineinherited

Definition at line 339 of file LArRodBlockStructure.h.

340{return m_RawToOfflineGainMap[gain];} //For efficency, don't check range
static const uint32_t m_RawToOfflineGainMap[4]

◆ report_error()

bool LArRodBlockStructure::report_error ( void ) const
inlineinherited

Definition at line 173 of file LArRodBlockStructure.h.

173{ return m_error_next_feb;}

◆ resetPointers()

void LArRodBlockAccumulatedV3::resetPointers ( )
privatevirtual

◆ setBit()

void LArRodBlockStructure::setBit ( uint32_t *const p,
const unsigned chan )
inlineprotectedinherited

Definition at line 433 of file LArRodBlockStructure.h.

434{
435 // chan = (0,127)
436 // int a = chan/32;
437 // int r = chan%32;
438 int a = chan>>5;
439 int r = chan&0x1f;
440 // a = (0,3), r = ( 0, 31 )
441 *(p+a) |= (1<<r) ;
442 return;
443}

◆ setDAC()

void LArRodBlockStructure::setDAC ( const uint16_t DACValue)
virtualinherited

Reimplemented in LArRodBlockCalibrationV0< DSPHEADER >.

Definition at line 54 of file LArRodBlockStructure.cxx.

55{
56 m_logstr << MSG::ERROR << "Error: Function setDAC not implemented in this instance of LArRodBlockStructure!" << endmsg;
57}

◆ setDelay()

void LArRodBlockStructure::setDelay ( const uint16_t DelayValue)
virtualinherited

Reimplemented in LArRodBlockCalibrationV0< DSPHEADER >.

Definition at line 59 of file LArRodBlockStructure.cxx.

60{
61 m_logstr << MSG::ERROR << "Error: Function setDelay not implemented in this instance of LArRodBlockStructure!" << endmsg;
62}

◆ setEtQ()

void LArRodBlockStructure::setEtQ ( const int channel,
const int32_t energy,
const int32_t time,
const int32_t quality,
const uint32_t gain )
virtualinherited

Definition at line 110 of file LArRodBlockStructure.cxx.

111{
112 m_logstr << MSG::ERROR << "Error: Function setEtQ not implemented in this instance of LArRodBlockStructure!" << endmsg;
113}

◆ setEx()

void LArRodBlockStructure::setEx ( double )
virtualinherited

Reimplemented in LArRodBlockPhysicsV3, LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 180 of file LArRodBlockStructure.cxx.

181{
182 // Do not set anything
183}

◆ setEy()

void LArRodBlockStructure::setEy ( double )
virtualinherited

Reimplemented in LArRodBlockPhysicsV3, LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 185 of file LArRodBlockStructure.cxx.

186{
187 // Do not set anything
188}

◆ setEz()

void LArRodBlockStructure::setEz ( double )
virtualinherited

Reimplemented in LArRodBlockPhysicsV3, LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 190 of file LArRodBlockStructure.cxx.

191{
192 // Do not set anything
193}

◆ setFirstSample()

void LArRodBlockStructure::setFirstSample ( const int rearrangeFirstSample)
inlineinherited

Definition at line 166 of file LArRodBlockStructure.h.

167 {m_rearrangeFirstSample=rearrangeFirstSample;}

◆ setFragment()

bool LArRodBlockStructure::setFragment ( const uint32_t * p,
uint32_t n )
inlineinherited

Definition at line 248 of file LArRodBlockStructure.h.

249{
251 m_FebBlock = p;
254 uint32_t BlockSize = 0;
255
256 if (n==0) {
257 m_logstr << MSG::ERROR << "Error while decoding LArByteStream: Got Rod block size 0" << endmsg;
258 return false;
259 }
260
261 BlockSize = getNumberOfWords();
262 if (BlockSize>n) {
263 m_logstr << MSG::ERROR << "Error while decoding LArByteStream: Found FEB block of size " << BlockSize << " in a ROD block of size " << n << endmsg;
264 return false;
265 }
266 m_FebBlockSize = BlockSize;
267
268 m_error_next_feb = false;
269
270 return setPointers();
271}

◆ setFragmentVirtualROB()

int LArRodBlockStructure::setFragmentVirtualROB ( const uint32_t * p,
uint32_t n )
inlinevirtualinherited

Definition at line 275 of file LArRodBlockStructure.h.

277{
282 if ( n<2 ) { m_logstr << MSG::ERROR << "Error" << endmsg; return 0;}
283 m_virtualROBJump = ((*p)>>16)>>1; // Divide by two (two FEBs-1ROB)
284 m_ROB_to_decode = ( (*p) & 0xFFFF )<<1; // Multiply by two
285 if ( (n - m_virtualROBJump*m_ROB_to_decode-1) ){
286 m_logstr << MSG::ERROR << "Error AGAIN" << endmsg;
287 return 0;
288 }
290 return m_ROB_to_decode;
291}
const uint32_t * m_virtualROBPointerLocal
const uint32_t * m_virtualROBPointer

◆ setGain()

int LArRodBlockAccumulatedV3::setGain ( const int GainValue)
inlinevirtual

Reimplemented from LArRodBlockStructure.

Definition at line 113 of file LArRodBlockAccumulatedV3.h.

114{//This RodBlockStructure allows only predefined gains
115 if (GainValue<0 || GainValue>3)
116 return 0;
117 m_fixedGain=GainValue;
118 return 1;
119}

◆ setHeader16()

void LArRodBlockStructure::setHeader16 ( const unsigned n,
const uint16_t w )
inlineprotectedinherited

Definition at line 369 of file LArRodBlockStructure.h.

370{
371#ifdef LARBYTESTREAMRODBLOCK_CHCKBOUNDARIES
372 if ((unsigned)n>=m_vFragment->size()*2) {
373 m_logstr << MSG::ERROR << "Error WRITE BEYOND ARRAY BOUNDARY!" << endmsg;
374 std::abort();
375 }
376#endif
377 if (n&0x1) // n is an odd number
378 m_vFragment->at(n>>1)=((m_vFragment->at(n>>1) & 0xffff0000) | w);
379 else
380 m_vFragment->at(n>>1)=((m_vFragment->at(n>>1) & 0xffff) | (w << 16));
381}

◆ setHeader32()

void LArRodBlockStructure::setHeader32 ( const unsigned n,
const uint32_t w )
inlineprotectedinherited

Definition at line 383 of file LArRodBlockStructure.h.

384{
385#ifdef LARBYTESTREAMRODBLOCK_CHCKBOUNDARIES
386 if ((unsigned)n>=m_vFragment->size()*2) {
387 m_logstr << MSG::ERROR << "Error WRITE BEYOND ARRAY BOUNDARY!" << endmsg
388 std::abort();
389 }
390#endif
391 m_vFragment->at(n>>1) = w;
392}

◆ setNextEnergy()

void LArRodBlockStructure::setNextEnergy ( const int channel,
const int32_t energy,
const int32_t time,
const int32_t quality,
const uint32_t gain )
virtualinherited

Reimplemented in LArRodBlockPhysicsV0, LArRodBlockPhysicsV1, LArRodBlockPhysicsV2, LArRodBlockPhysicsV3, LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 98 of file LArRodBlockStructure.cxx.

99{
100 m_logstr << MSG::ERROR << "Error: Function setNextEnergy not implemented in this instance of LArRodBlockStructure!" << endmsg;
101}

◆ setNTrigger()

void LArRodBlockStructure::setNTrigger ( const uint16_t NTrigger)
virtualinherited

Definition at line 69 of file LArRodBlockStructure.cxx.

70{
71 m_logstr << MSG::ERROR << "Error: Function setNTrigger not implemented in this instance of LArRodBlockStructure!" << endmsg;
72}

◆ setNumberOfGains()

void LArRodBlockStructure::setNumberOfGains ( const uint8_t n)
virtualinherited

Reimplemented in LArRodBlockPhysicsV0, LArRodBlockPhysicsV1, LArRodBlockPhysicsV2, LArRodBlockPhysicsV3, and LArRodBlockTransparentV0< DSPHEADER >.

Definition at line 125 of file LArRodBlockStructure.cxx.

126{
127 m_logstr << MSG::ERROR << "Error: Function setNumberOfGains not implemented in this instance of LArRodBlockStructure!" << endmsg;
128}

◆ setNumberOfSamples()

void LArRodBlockStructure::setNumberOfSamples ( const uint8_t n)
virtualinherited

Reimplemented in LArRodBlockPhysicsV0, LArRodBlockPhysicsV1, LArRodBlockPhysicsV2, LArRodBlockPhysicsV3, and LArRodBlockTransparentV0< DSPHEADER >.

Definition at line 120 of file LArRodBlockStructure.cxx.

121{
122 m_logstr << MSG::ERROR << "Error: Function setNumberOfSamples not implemented in this instance of LArRodBlockStructure!" << endmsg;
123}

◆ setPointers()

virtual bool LArRodBlockStructure::setPointers ( )
inlineprotectedvirtualinherited

◆ setPulsed()

void LArRodBlockStructure::setPulsed ( const unsigned channelNumber)
virtualinherited

Reimplemented in LArRodBlockCalibrationV0< DSPHEADER >.

Definition at line 64 of file LArRodBlockStructure.cxx.

65{
66 m_logstr << MSG::ERROR << "Error: Function setPulsed not implemented in this instance of LArRodBlockStructure!" << endmsg;
67}

◆ setRawData()

void LArRodBlockStructure::setRawData ( const int channel,
const std::vector< short > & samples,
const uint32_t gain )
virtualinherited

Reimplemented in LArRodBlockPhysicsV0, LArRodBlockPhysicsV1, LArRodBlockPhysicsV2, LArRodBlockPhysicsV3, LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 104 of file LArRodBlockStructure.cxx.

105{
106 m_logstr << MSG::ERROR << "Error: Function setRawData not implemented in this instance of LArRodBlockStructure!" << endmsg;
107}

◆ setRawDataFixed()

void LArRodBlockStructure::setRawDataFixed ( const int channel,
const std::vector< short > & samples,
const uint32_t gain )
virtualinherited

Reimplemented in LArRodBlockTransparentV0< DSPHEADER >.

Definition at line 115 of file LArRodBlockStructure.cxx.

116{
117 m_logstr << MSG::ERROR << "Error: Function setRawDataFixed not implemented in this instance of LArRodBlockStructure!" << endmsg;
118}

◆ setSumE()

void LArRodBlockStructure::setSumE ( double )
virtualinherited

Reimplemented in LArRodBlockPhysicsV6.

Definition at line 195 of file LArRodBlockStructure.cxx.

196{
197 // Do not set anything
198}

◆ setTDCPhase()

void LArRodBlockStructure::setTDCPhase ( const uint8_t n)
virtualinherited

Reimplemented in LArRodBlockTransparentV0< DSPHEADER >.

Definition at line 130 of file LArRodBlockStructure.cxx.

131{
132 m_logstr << MSG::ERROR << "Error: Function setTDCPhase not implemented in this instance of LArRodBlockStructure!" << endmsg;
133}

◆ sortDataVector() [1/5]

void LArRodBlockStructure::sortDataVector ( std::vector< const LArAccumulatedCalibDigit * > & )
virtualinherited

◆ sortDataVector() [2/5]

void LArRodBlockStructure::sortDataVector ( std::vector< const LArAccumulatedDigit * > & )
virtualinherited

◆ sortDataVector() [3/5]

void LArRodBlockStructure::sortDataVector ( std::vector< const LArCalibDigit * > & )
virtualinherited

◆ sortDataVector() [4/5]

void LArRodBlockStructure::sortDataVector ( std::vector< const LArDigit * > & )
virtualinherited

◆ sortDataVector() [5/5]

void LArRodBlockStructure::sortDataVector ( std::vector< const LArRawChannel * > & )
virtualinherited

Member Data Documentation

◆ m_channelsPerFEB

int LArRodBlockStructure::m_channelsPerFEB
protectedinherited

Definition at line 219 of file LArRodBlockStructure.h.

◆ m_error_next_feb

bool LArRodBlockStructure::m_error_next_feb
protectedinherited

Definition at line 237 of file LArRodBlockStructure.h.

◆ m_Ex

int32_t LArRodBlockStructure::m_Ex
protectedinherited

Definition at line 203 of file LArRodBlockStructure.h.

◆ m_Ey

int32_t LArRodBlockStructure::m_Ey
protectedinherited

Definition at line 204 of file LArRodBlockStructure.h.

◆ m_Ez

int32_t LArRodBlockStructure::m_Ez
protectedinherited

Definition at line 205 of file LArRodBlockStructure.h.

◆ m_FebBlock

const uint32_t* LArRodBlockStructure::m_FebBlock
protectedinherited

Definition at line 221 of file LArRodBlockStructure.h.

◆ m_FebBlockSize

int32_t LArRodBlockStructure::m_FebBlockSize
protectedinherited

Definition at line 223 of file LArRodBlockStructure.h.

◆ m_fixedGain

unsigned LArRodBlockAccumulatedV3::m_fixedGain
private

Definition at line 100 of file LArRodBlockAccumulatedV3.h.

◆ m_iHeadBlockSize

unsigned short LArRodBlockStructure::m_iHeadBlockSize
protectedinherited

Definition at line 217 of file LArRodBlockStructure.h.

◆ m_logstr

MsgStream LArRodBlockStructure::m_logstr
protectedinherited

Definition at line 244 of file LArRodBlockStructure.h.

◆ m_mFebBlocks

FEBMAPTYPE LArRodBlockStructure::m_mFebBlocks
protectedinherited

Definition at line 228 of file LArRodBlockStructure.h.

◆ m_MiddleHeaderSize

int32_t LArRodBlockStructure::m_MiddleHeaderSize
protectedinherited

Definition at line 233 of file LArRodBlockStructure.h.

◆ m_numberOfEx

uint32_t LArRodBlockStructure::m_numberOfEx
protectedinherited

Definition at line 210 of file LArRodBlockStructure.h.

◆ m_numberOfEy

uint32_t LArRodBlockStructure::m_numberOfEy
protectedinherited

Definition at line 211 of file LArRodBlockStructure.h.

◆ m_numberOfEz

uint32_t LArRodBlockStructure::m_numberOfEz
protectedinherited

Definition at line 212 of file LArRodBlockStructure.h.

◆ m_numberOfSumE

uint32_t LArRodBlockStructure::m_numberOfSumE
protectedinherited

Definition at line 213 of file LArRodBlockStructure.h.

◆ m_OfflineToRawGainMap

const uint32_t LArRodBlockStructure::m_OfflineToRawGainMap ={3,2,1}
staticprotectedinherited

Definition at line 17 of file LArRodBlockStructure.h.

◆ m_pRODblock

std::vector<uint32_t>* LArRodBlockStructure::m_pRODblock
protectedinherited

Definition at line 226 of file LArRodBlockStructure.h.

◆ m_RawDataCounter

int LArRodBlockAccumulatedV3::m_RawDataCounter = 0
private

Definition at line 97 of file LArRodBlockAccumulatedV3.h.

◆ m_RawDataIndex

int LArRodBlockAccumulatedV3::m_RawDataIndex = 0
private

Definition at line 98 of file LArRodBlockAccumulatedV3.h.

◆ m_RawToOfflineGainMap

const uint32_t LArRodBlockStructure::m_RawToOfflineGainMap ={0, 2, 1,0}
staticprotectedinherited

Definition at line 16 of file LArRodBlockStructure.h.

◆ m_rearrangeFirstSample

unsigned int LArRodBlockStructure::m_rearrangeFirstSample
protectedinherited

Definition at line 235 of file LArRodBlockStructure.h.

◆ m_Result1Counter

int LArRodBlockAccumulatedV3::m_Result1Counter = 0
private

Definition at line 93 of file LArRodBlockAccumulatedV3.h.

◆ m_Result1Index

int LArRodBlockAccumulatedV3::m_Result1Index = 0
private

Definition at line 94 of file LArRodBlockAccumulatedV3.h.

◆ m_Result2Counter

int LArRodBlockAccumulatedV3::m_Result2Counter = 0
private

Definition at line 95 of file LArRodBlockAccumulatedV3.h.

◆ m_Result2Index

int LArRodBlockAccumulatedV3::m_Result2Index = 0
private

Definition at line 96 of file LArRodBlockAccumulatedV3.h.

◆ m_ROB_to_decode

int32_t LArRodBlockStructure::m_ROB_to_decode
protectedinherited

Definition at line 240 of file LArRodBlockStructure.h.

◆ m_RodBlock

const uint32_t* LArRodBlockStructure::m_RodBlock
protectedinherited

Definition at line 222 of file LArRodBlockStructure.h.

◆ m_RodBlockSize

int32_t LArRodBlockStructure::m_RodBlockSize
protectedinherited

Definition at line 224 of file LArRodBlockStructure.h.

◆ m_SumE

int32_t LArRodBlockStructure::m_SumE
protectedinherited

Definition at line 206 of file LArRodBlockStructure.h.

◆ m_vFragment

std::vector<uint32_t>* LArRodBlockStructure::m_vFragment
protectedinherited

Definition at line 225 of file LArRodBlockStructure.h.

◆ m_virtualROBJump

uint32_t LArRodBlockStructure::m_virtualROBJump
protectedinherited

Definition at line 239 of file LArRodBlockStructure.h.

◆ m_virtualROBPointer

const uint32_t* LArRodBlockStructure::m_virtualROBPointer
protectedinherited

Definition at line 241 of file LArRodBlockStructure.h.

◆ m_virtualROBPointerLocal

const uint32_t* LArRodBlockStructure::m_virtualROBPointerLocal
protectedinherited

Definition at line 242 of file LArRodBlockStructure.h.


The documentation for this class was generated from the following files: