ATLAS Offline Software
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
LArRodBlockPhysicsV2 Class Reference

#include <LArRodBlockPhysicsV2.h>

Inheritance diagram for LArRodBlockPhysicsV2:
Collaboration diagram for LArRodBlockPhysicsV2:

Public Member Functions

 LArRodBlockPhysicsV2 ()
 
std::string BlockType ()
 
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 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 finalizeFEB ()
 
virtual void concatinateFEBs ()
 
virtual void sortDataVector (std::vector< const LArRawChannel * > &)
 
virtual void sortDataVector (std::vector< const LArDigit * > &)
 
virtual bool canSetEnergy ()
 
virtual bool canSetRawData ()
 
template<class RAWDATA >
bool operator() (const RAWDATA *ch1, const RAWDATA *ch2) const
 
virtual int setGain (const int)
 
virtual bool setPointers ()
 
virtual int getNextEnergy (int &channelNumber, int32_t &energy, int32_t &time, int32_t &quality, uint32_t &gain)
 
virtual int getNextRawData (int &channelNumber, std::vector< short > &samples, 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 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 uint32_t hasPhysicsBlock () const
 
virtual uint32_t hasRawDataBlock () const
 
template<class RAWDATA >
bool operator() ()(const RAWDATA *ch1
 
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 setTDCPhase (const uint8_t n)
 
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 setEx (double)
 
virtual void setEy (double)
 
virtual void setEz (double)
 
virtual void setSumE (double)
 
virtual void sortDataVector (std::vector< const LArCalibDigit * > &)
 
virtual void sortDataVector (std::vector< const LArAccumulatedCalibDigit * > &)
 
virtual void sortDataVector (std::vector< const LArAccumulatedDigit * > &)
 
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 hasAccumBlock () const
 
virtual uint32_t hasControlWords () const
 
virtual int getNextAccumulatedCalibDigit (int &channelNumber, std::vector< uint64_t > &SamplesSum, std::vector< uint64_t > &Samples2Sum, uint32_t &nStepTriggers, uint32_t &gain)
 
virtual int getNextAccumulatedDigit (int &channelNumber, std::vector< uint64_t > &SamplesSum, std::vector< uint64_t > &corr2Sum, uint32_t &gain)
 
virtual bool getPulsed (unsigned channelNumber) const
 
virtual uint16_t getDAC () const
 
virtual uint16_t getDelay () const
 
virtual uint16_t getNTrigger () const
 
virtual uint16_t getStepIndex () const
 
virtual uint16_t getNStep () const
 
virtual uint8_t getTDCPhase () const
 
virtual uint16_t getResults1Size () const
 
virtual uint16_t getResults2Size () const
 
virtual uint16_t getRawDataSize () 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
 
bool report_error (void) const
 

Protected Types

enum  {
  NWTot, NWTot_h, FEBID, FEBID_h,
  FEB_SN, FEB_SN_h, HighEBlkOffset, LowEBlkOffset,
  NGainNSamples, RawDataBlkOffset, Status2, Status1,
  BCID, EventID, endtag
}
 
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)
 
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
 

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 ()
 
int FebToRodChannel (int ch) const
 
void setNextEnergy (const int32_t energy, const int32_t time, const int32_t quality, const uint32_t gain)
 

Private Attributes

std::vector< uint32_t > m_LowEnergyBlock
 
std::vector< uint32_t > m_HighEnergyBlock
 
std::vector< uint32_t > m_RawDataBlock
 
int m_ECounter = 0
 
int m_RawDataCounter = 0
 
int m_LowEIndex = 0
 
int m_RawDataIndex = 0
 
int m_HighEIndex = 0
 
int m_EIndex = 0
 
const uint16_t * m_RawDataPtr
 
const uint32_t * m_RawDataFlagsPtr
 
const uint32_t * m_GainPtr
 
const int32_t * m_HighEPtr
 
const uint32_t * m_FlagPtr
 
const int16_t * m_LowEPtr
 
unsigned short m_NFlaggingWords
 
const LArOnlineIDm_onlineHelper
 
MsgStream m_logstr
 

Static Private Attributes

static const uint32_t m_DummyBitMap [4] ={0,0,0,0}
 

Detailed Description

Definition at line 47 of file LArRodBlockPhysicsV2.h.

Member Typedef Documentation

◆ FEBMAPTYPE

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

Definition at line 233 of file LArRodBlockStructure.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
NWTot 
NWTot_h 
FEBID 
FEBID_h 
FEB_SN 
FEB_SN_h 
HighEBlkOffset 
LowEBlkOffset 
NGainNSamples 
RawDataBlkOffset 
Status2 
Status1 
BCID 
EventID 
endtag 

Definition at line 55 of file LArRodBlockPhysicsV2.h.

55  {
56  NWTot,
57  NWTot_h,
58  FEBID,
59  FEBID_h,
60  FEB_SN,
61  FEB_SN_h,
65  RawDataBlkOffset, //Elements below this are not used by the converter
66  Status2,
67  Status1,
68  BCID,
69  EventID,
70  endtag
71  };

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
NWTot 
NWTot_h 
FEBID 
FEBID_h 
FEBSN 
FEBSN_h 
endtag 

Definition at line 51 of file LArRodBlockStructure.h.

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

Constructor & Destructor Documentation

◆ LArRodBlockPhysicsV2()

LArRodBlockPhysicsV2::LArRodBlockPhysicsV2 ( )

Definition at line 38 of file LArRodBlockPhysicsV2.cxx.

40 {
41  // retrieve onlineHelper
42  const LArOnlineID* online_id;
43  SmartIF<StoreGateSvc> detStore{Gaudi::svcLocator()->service("DetectorStore")};
44  if (!detStore) {
45  m_logstr << MSG::ERROR << "Unable to locate DetectorStore" << endmsg;
46  std::abort();
47  }
48  StatusCode sc = detStore->retrieve(online_id, "LArOnlineID");
49  if (sc.isFailure()) {
50  m_logstr << MSG::FATAL << "Could not get LArOnlineID helper !" << endmsg;
51  std::abort();
52  }
53  else {
54  m_onlineHelper=online_id;
55  m_logstr << MSG::DEBUG << " Found the LArOnlineID helper. " << endmsg;
56  }
57 
58  m_iHeadBlockSize=endtag/2; // The implicit cast rounds down to the right size
61  m_vFragment=NULL;
62  m_FebBlock=NULL;
63  m_pRODblock=NULL;
64  m_FlagPtr=NULL;
65  m_GainPtr=NULL;
66  m_HighEPtr=NULL;
67  m_LowEPtr=NULL;
68  m_RawDataFlagsPtr=NULL;
69  m_RawDataPtr=NULL;
70 }

Member Function Documentation

◆ BlockType()

std::string LArRodBlockPhysicsV2::BlockType ( )
inline

Definition at line 74 of file LArRodBlockPhysicsV2.h.

74 { return std::string("RodBlockPhysicsV2");}

◆ canIncludeRawData()

virtual bool LArRodBlockStructure::canIncludeRawData ( )
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV6, and LArRodBlockPhysicsV5.

Definition at line 101 of file LArRodBlockStructure.h.

101 {return false;}

◆ canSetCalibration()

virtual bool LArRodBlockStructure::canSetCalibration ( )
inlinevirtualinherited

◆ canSetEnergy()

virtual bool LArRodBlockPhysicsV2::canSetEnergy ( )
inlinevirtual

Reimplemented from LArRodBlockStructure.

Definition at line 92 of file LArRodBlockPhysicsV2.h.

92 { return true;}

◆ canSetNTrigger()

virtual bool LArRodBlockStructure::canSetNTrigger ( )
inlinevirtualinherited

Definition at line 100 of file LArRodBlockStructure.h.

100 {return false;}

◆ canSetRawData()

virtual bool LArRodBlockPhysicsV2::canSetRawData ( )
inlinevirtual

Reimplemented from LArRodBlockStructure.

Definition at line 93 of file LArRodBlockPhysicsV2.h.

93 {return true;}

◆ canSetRawDataFixed()

virtual bool LArRodBlockStructure::canSetRawDataFixed ( )
inlinevirtualinherited

Reimplemented in LArRodBlockTransparentV0< DSPHEADER >.

Definition at line 98 of file LArRodBlockStructure.h.

98 {return false;}

◆ clearBlocks()

void LArRodBlockPhysicsV2::clearBlocks ( )
private

Definition at line 73 of file LArRodBlockPhysicsV2.cxx.

74 { m_HighEnergyBlock.clear();
75  m_LowEnergyBlock.clear();
76  m_RawDataBlock.clear();
77 }

◆ concatinateFEBs()

void LArRodBlockPhysicsV2::concatinateFEBs ( )
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 370 of file LArRodBlockPhysicsV2.cxx.

371 {
372  //std::cout << "Concatinating FEBs. Have "<< m_mFebBlocks.size() <<" febs." << std::endl;
373  FEBMAPTYPE::const_iterator feb_it_b=m_mFebBlocks.begin();
374  FEBMAPTYPE::const_iterator feb_it_e=m_mFebBlocks.end();
375  FEBMAPTYPE::const_iterator feb_it;
376  for (feb_it=feb_it_b;feb_it!=feb_it_e;++feb_it) {
377  if (feb_it!=feb_it_b) //Not first Feb
378 /*
379  if (fullHeader) {//Add middle header
380  m_pRODblock->push_back(fullHeader->version().full());//Format Version number
381  m_pRODblock->push_back(fullHeader->source_id()); //Source identifer
382  m_pRODblock->push_back(fullHeader->run_no());
383  m_pRODblock->push_back(fullHeader->lvl1_id()); //Level 1 identifer
384  m_pRODblock->push_back(fullHeader->bc_id()); //Bunch Crossing identifer
385  m_pRODblock->push_back(fullHeader->lvl1_type()); //Level 1 trigger type
386  m_pRODblock->push_back(fullHeader->detev_type()); //Detector event type
387  }
388  else //No ROD-Header
389 */
390  m_pRODblock->resize( m_pRODblock->size()+m_MiddleHeaderSize);
391 
392  //Add feb data to rod data block
393  m_pRODblock->insert (m_pRODblock->end(),
394  feb_it->second.begin(), feb_it->second.end());
395  } //end for feb_it
396 
397  m_mFebBlocks.clear();
398  return;
399 }

◆ dumpFragment()

void LArRodBlockStructure::dumpFragment ( )
virtualinherited

Definition at line 175 of file LArRodBlockStructure.cxx.

176 {
177  std::cout << "Error: Function dumpFragment() not implemented in this instance of LArRodBlockStructure!\n";
178  return;
179 }

◆ FebToRodChannel()

int LArRodBlockPhysicsV2::FebToRodChannel ( int  ch) const
inlineprivatevirtual

Reimplemented from LArRodBlockStructure.

Definition at line 156 of file LArRodBlockPhysicsV2.h.

158 {return (ch>>3) + ((ch&0x7)<<4);}

◆ finalizeFEB()

void LArRodBlockPhysicsV2::finalizeFEB ( )
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 318 of file LArRodBlockPhysicsV2.cxx.

319 {
320 //Complete non-complete Energy block
321  while (m_EIndex<m_channelsPerFEB)
322  setNextEnergy(0,0,-1,0);//E=0,t=0,q=-1,G=0
323  // Energies
324  unsigned int n;
325  uint16_t BlockOffset;
326  //Low energy block....
327  n = m_LowEnergyBlock.size();
328  BlockOffset=LE_getVectorHeader16(LowEBlkOffset);
329  //Check if Low Energy Block exists and is not yet part of the fragment
330  LARBSDBG("Checking Low Energy Block n=" << n << "BlockOffset=" << BlockOffset);
331  if (n>m_NFlaggingWords && !BlockOffset)
333  for (unsigned i=0;i<n;i++)
334  m_vFragment->push_back(m_LowEnergyBlock[i]);
335  }
336  //High energy block...
337  n = m_HighEnergyBlock.size();
339  LARBSDBG("Checking High Energy Block n=" << n << "BlockOffset=" << BlockOffset);
340  //Check if High Energy-Block exists and is not yet part of the fragment
341  if (n && !BlockOffset)
343  for(unsigned int i=0;i<n;i++)
344  m_vFragment->push_back(m_HighEnergyBlock[i]);
345  }
346 
347  // Raw data
348  LARBSDBG("Checking Raw Data Block");
349  n = m_RawDataBlock.size();
351  LARBSDBG("Checking Raw Data Block. n=" << n << "BlockOffset=" << BlockOffset);
352  //Check if Raw Data block exists and is not yet part of the fragment
353  if (n>m_NFlaggingWords && !BlockOffset)
355  for(unsigned int i=0;i<n;i++)
356  m_vFragment->push_back(m_RawDataBlock[i]);
357  }
358  setHeader32(NWTot,m_vFragment->size());
359  LARBSDBG("Offsets:" << std::endl
360  << "Raw Data: " << LE_getVectorHeader16(RawDataBlkOffset) << std::endl
361  <<"Low Energy: " << LE_getVectorHeader16(LowEBlkOffset)<< std::endl
362  << "High Energy: " << LE_getVectorHeader16(HighEBlkOffset)<< std::endl
363  << "Energy-index:" << m_EIndex << std::endl
364  << "Filled channels: " << m_ECounter << std::endl);
365  clearBlocks();
366  return;
367 }

◆ getBit()

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

Definition at line 433 of file LArRodBlockStructure.h.

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

◆ getCtrl1()

uint16_t LArRodBlockPhysicsV2::getCtrl1 ( uint32_t  adc) const
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 638 of file LArRodBlockPhysicsV2.cxx.

639 {
642  x=x>>16;
643  uint16_t ctrl=x;
644  return ctrl;
645 }

◆ getCtrl2()

uint16_t LArRodBlockPhysicsV2::getCtrl2 ( uint32_t  adc) const
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 647 of file LArRodBlockPhysicsV2.cxx.

648 {
651  x=x&0xffff;
652  uint16_t ctrl=x;
653  return ctrl;
654 }

◆ getCtrl3()

uint16_t LArRodBlockPhysicsV2::getCtrl3 ( uint32_t  adc) const
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 656 of file LArRodBlockPhysicsV2.cxx.

657 {
660  x=x>>16;
661  uint16_t ctrl=x;
662  return ctrl;
663 }

◆ getDAC()

uint16_t LArRodBlockStructure::getDAC ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockCalibrationV3, LArRodBlockCalibrationV2, LArRodBlockCalibrationV1, and LArRodBlockCalibrationV0< DSPHEADER >.

Definition at line 468 of file LArRodBlockStructure.h.

469 {
470  std::cout << "Error: Function getDAC not implemented in this instance of LArRodBlockStructure!\n";
471  return 0;
472 }

◆ getDelay()

uint16_t LArRodBlockStructure::getDelay ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockCalibrationV3, LArRodBlockCalibrationV2, LArRodBlockCalibrationV1, and LArRodBlockCalibrationV0< DSPHEADER >.

Definition at line 474 of file LArRodBlockStructure.h.

475 {
476  std::cout << "Error: Function getDelay not implemented in this instance of LArRodBlockStructure!\n";
477  return 0;
478 }

◆ getDspCodeVersion()

uint32_t LArRodBlockStructure::getDspCodeVersion ( ) const
virtualinherited

Definition at line 258 of file LArRodBlockStructure.cxx.

259 {
260  int i=getNumberOfWords()-2;
261  return m_FebBlock[i];
262 }

◆ getDspEventCounter()

int32_t LArRodBlockStructure::getDspEventCounter ( ) const
virtualinherited

Definition at line 264 of file LArRodBlockStructure.cxx.

265 {
266  int i=getNumberOfWords()-1;
267  return m_FebBlock[i];
268 }

◆ getEx()

int32_t LArRodBlockStructure::getEx ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV3, LArRodBlockPhysicsV5, LArRodBlockPhysicsV6, and LArRodBlockPhysicsV4.

Definition at line 303 of file LArRodBlockStructure.h.

303  {
304  return 0;
305 }

◆ getEy()

int32_t LArRodBlockStructure::getEy ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV3, LArRodBlockPhysicsV5, LArRodBlockPhysicsV6, and LArRodBlockPhysicsV4.

Definition at line 307 of file LArRodBlockStructure.h.

307  {
308  return 0;
309 }

◆ getEz()

int32_t LArRodBlockStructure::getEz ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV3, LArRodBlockPhysicsV5, LArRodBlockPhysicsV6, and LArRodBlockPhysicsV4.

Definition at line 311 of file LArRodBlockStructure.h.

311  {
312  return 0;
313 }

◆ getFEBID()

uint32_t LArRodBlockStructure::getFEBID ( ) const
inlineinherited

Definition at line 297 of file LArRodBlockStructure.h.

298 {return getHeader32(FEBID);}

◆ getFEBSN()

uint32_t LArRodBlockStructure::getFEBSN ( ) const
inlineinherited

Definition at line 300 of file LArRodBlockStructure.h.

301 {return getHeader32(FEBSN);}

◆ getHeader16()

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

Definition at line 355 of file LArRodBlockStructure.h.

356 {
357  // std::cout << "getHeader16: " << m_FebBlock << " " << m_FebBlock[5] << " "
358  // << n << " " << (n>>1) << " " << (m_FebBlock[5]&0xffff) << std::endl;
359  if (n&0x1) //n is a odd number
360  return m_FebBlock[n>>1] & 0xffff; //1,3,5... are fetched from lower bits
361  else //n is a even number
362  return m_FebBlock[n>>1] >> 16; //0,2,4... are fetched from higher bits
363 }

◆ getHeader32()

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

Definition at line 365 of file LArRodBlockStructure.h.

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

◆ getNbSweetCells1()

uint16_t LArRodBlockStructure::getNbSweetCells1 ( ) const
virtualinherited

Reimplemented in LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 255 of file LArRodBlockStructure.cxx.

255 { return 0; }

◆ getNbSweetCells2()

uint16_t LArRodBlockStructure::getNbSweetCells2 ( ) const
virtualinherited

Reimplemented in LArRodBlockPhysicsV5, and LArRodBlockPhysicsV6.

Definition at line 256 of file LArRodBlockStructure.cxx.

256 { 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 LArRodBlockCalibrationV3.

Definition at line 94 of file LArRodBlockStructure.cxx.

95 {
96  std::cout << "Error: Function getNextAccumulatedCalibDigit not implemented in this instance of LArRodBlockStructure!\n";
97  return 0;
98 }

◆ getNextAccumulatedDigit()

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

Reimplemented in LArRodBlockAccumulatedV3.

Definition at line 100 of file LArRodBlockStructure.cxx.

101 {
102  std::cout << "Error: Function getNextAccumulatedDigit not implemented in this instance of LArRodBlockStructure!\n";
103  return 0;
104 }

◆ getNextEnergy()

int LArRodBlockPhysicsV2::getNextEnergy ( int &  channelNumber,
int32_t &  energy,
int32_t &  time,
int32_t &  quality,
uint32_t &  gain 
)
inlinevirtual

Reimplemented from LArRodBlockStructure.

Definition at line 160 of file LArRodBlockPhysicsV2.h.

161 {
162  LARBSDBG("in LArRodBlockPhysicsV2::getEnergy.");
163  LARBSDBG("m_ECounter=" << m_ECounter << " m_RawDataIndex="<< m_EIndex);
164  LARBSDBG("m_channelsPerFEB=" << m_channelsPerFEB);
165  if (m_LowEIndex+m_HighEIndex>=m_channelsPerFEB) //Already beyond maximal number of channels
166  return 0;
167  if (!m_FlagPtr || !m_LowEPtr) //No data block present
168  return 0;
169  uint32_t gtQ;
170  int rodChannelNumber=m_LowEIndex+m_HighEIndex; //Index of Channel in ROD-Block
171  channelNumber=rodChannelNumber; // Arno claims he is using FEB numbering
172  //channelNumber=(rodChannelNumber>>4) + ((rodChannelNumber&0xf)<<3); //channel number of the FEB
173  if (getBit(m_FlagPtr,rodChannelNumber)) //Data in high energy block
175  gtQ=m_HighEPtr[m_HighEIndex*2+1];
176  // Q in bits 0-15
177  // t in bits 16-29
178  // gain in bits 30-31
179  quality = gtQ & 0xffff;
180  gtQ = gtQ >> 16;
181  //time = gtQ & 0x3fff;
182  time = gtQ & 0x7fff;
183  if (gtQ & 0x8000)
184  time*=-1;
185  gain=3-((m_GainPtr[channelNumber/16] >> (channelNumber%16)*2) & 0x3);
186  m_HighEIndex++;
187  LARBSDBG("Reading Raw data form High E block. E=" << energy << " Q=" << quality);
188  }
189  else //Data in low energy block
190  {
191  if (!m_LowEPtr)
192  return 0; //Block does not exist;
193  if(m_LowEIndex%2==0)
195  else
197 
198  gain=3-((m_GainPtr[channelNumber/16] >> (channelNumber%16)*2) & 0x3);
199  time=0;
200  quality=-1;
201  m_LowEIndex++;
202  LARBSDBG("*** Reading Raw data form Low E block. E=" << energy);
203  }
204  /*
205  if (energy>10000000)
206  std::cout << " Read: Large E found. E=" << energy
207  << " t=" << time
208  << " Q=" << quality
209  << " G=" << gain
210  << " channel Number=" << channelNumber
211  << " LowEIndex=" << m_LowEIndex
212  << " HighEIndex="<<m_HighEIndex << std::endl;
213  else
214  std::cout << "Read energy" << std::endl;
215  */
216  return 1;
217 }

◆ getNextRawData()

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

Reimplemented from LArRodBlockStructure.

Definition at line 401 of file LArRodBlockPhysicsV2.cxx.

402 {
403  LARBSDBG("in LArRodBlockPhysicsV2::getNextRawData.");
404  LARBSDBG("m_RawDataCounter=" << m_RawDataCounter << " m_RawDataIndex="<< m_RawDataIndex);
405  LARBSDBG("m_channelsPerFEB=" << m_channelsPerFEB);
406  if(m_FebBlockSize<=m_iHeadBlockSize) return 0;
408 
410  if (!flags)
411  return 0; //Block not existing
412  if (m_RawDataCounter>=m_channelsPerFEB) //Already beyond maximal number of channels
413  return 0;
414 
415  LARBSDBG("Flags="<<flags);
416 
417  while (!getBit(m_RawDataFlagsPtr,m_RawDataCounter)) //Look for next filled channel
418  {++m_RawDataCounter;
419  LARBSDBG("RawDataCounter ist now " << m_RawDataCounter);
420  if (m_RawDataCounter>=m_channelsPerFEB) //No more channel available
421  return 0;
422  }
423  LARBSDBG("Found filled channel at positon " << m_RawDataCounter);
424  //Found next filled channel
425  channelNumber=m_RawDataCounter;
426  //channelNumber=(m_RawDataCounter>>4) + ((m_RawDataCounter&0xf)<<3); //Convert ROD to FEB channel ordering
427  unsigned int nsamples = LE_getHeader16(NGainNSamples) & 0x00FF;
428  LARBSDBG("This run has " << nsamples << " samples");
430  LARBSDBG( "index="<<index);
431  ++m_RawDataIndex;
432  LARBSDBG("In getnextRawData(). index= " << index);
433  gain=3-((m_GainPtr[channelNumber/16] >> (channelNumber%16)*2) & 0x3);
434  if(gain>=CaloGain::LARNGAIN) return 0;
435  for(unsigned int i=0;i<nsamples;i++) {
436  uint16_t x;
437  if((index+i)%2==0)
438  x=m_RawDataPtr[index+i+1];
439  else
440  x=m_RawDataPtr[index+i-1];
441  samples.push_back((short) (x & 0xfff));
442  }
444 
445  if (m_rearrangeFirstSample && m_rearrangeFirstSample<samples.size()) //FIXME: Very ugly hack! See explanation in LArRodDecoder.h file
446  {//Change e.g. 3 0 1 2 4 to 0 1 2 3 4
447  short movedSample=samples[0];
448  for (unsigned i=1;i<=m_rearrangeFirstSample;i++)
449  samples[i-1]=samples[i];
450  samples[m_rearrangeFirstSample]=movedSample;
451  }
452 
453  return 1;
454 }

◆ getNStep()

uint16_t LArRodBlockStructure::getNStep ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockCalibrationV3, and LArRodBlockAccumulatedV3.

Definition at line 491 of file LArRodBlockStructure.h.

492 {
493  std::cout << "Error: Function getNStep not implemented in this instance of LArRodBlockStructure!\n";
494  return 0;
495 }

◆ getNTrigger()

uint16_t LArRodBlockStructure::getNTrigger ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockCalibrationV3, LArRodBlockCalibrationV2, LArRodBlockCalibrationV1, and LArRodBlockAccumulatedV3.

Definition at line 480 of file LArRodBlockStructure.h.

481 {
482  std::cout << "Error: Function getNTrigger not implemented in this instance of LArRodBlockStructure!\n";
483  return 0;
484 }

◆ getNumberOfGains()

virtual uint32_t LArRodBlockPhysicsV2::getNumberOfGains ( ) const
virtual

Reimplemented from LArRodBlockStructure.

◆ getNumberOfSamples()

virtual uint32_t LArRodBlockPhysicsV2::getNumberOfSamples ( ) const
virtual

Reimplemented from LArRodBlockStructure.

◆ getNumberOfWords()

uint32_t LArRodBlockStructure::getNumberOfWords ( ) const
inlineinherited

Definition at line 428 of file LArRodBlockStructure.h.

429 {
430  return getHeader32(NWTot);
431 }

◆ getPulsed()

bool LArRodBlockStructure::getPulsed ( unsigned  channelNumber) const
inlinevirtualinherited

Reimplemented in LArRodBlockCalibrationV3, LArRodBlockCalibrationV2, LArRodBlockCalibrationV1, and LArRodBlockCalibrationV0< DSPHEADER >.

Definition at line 462 of file LArRodBlockStructure.h.

463 {
464  std::cout << "Error: Function getPulsed not implemented in this instance of LArRodBlockStructure!\n";
465  return 0;
466 }

◆ getRadd()

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

Reimplemented from LArRodBlockStructure.

Definition at line 628 of file LArRodBlockPhysicsV2.cxx.

629 {
632  //if(sample&0x1) x=x&0xffff;
633  //else
634  x=x&0xffff;
635  return x;
636 }

◆ getRawDataSize()

uint16_t LArRodBlockStructure::getRawDataSize ( ) const
virtualinherited

◆ getResults1Size()

uint16_t LArRodBlockStructure::getResults1Size ( ) const
virtualinherited

◆ getResults2Size()

uint16_t LArRodBlockStructure::getResults2Size ( ) const
virtualinherited

◆ getStatus()

uint32_t LArRodBlockPhysicsV2::getStatus ( ) const
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 665 of file LArRodBlockPhysicsV2.cxx.

666 {
668  return x;
669 }

◆ getStepIndex()

uint16_t LArRodBlockStructure::getStepIndex ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockCalibrationV3, and LArRodBlockAccumulatedV3.

Definition at line 486 of file LArRodBlockStructure.h.

487 {
488  std::cout << "Error: Function getStepIndex not implemented in this instance of LArRodBlockStructure!\n";
489  return 0;
490 }

◆ 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 LArRodBlockStructure::getTDCPhase ( ) const
virtualinherited

Reimplemented in LArRodBlockCalibrationV2, LArRodBlockCalibrationV3, LArRodBlockCalibrationV1, LArRodBlockTransparentV0< DSPHEADER >, and LArRodBlockAccumulatedV3.

Definition at line 149 of file LArRodBlockStructure.cxx.

150 {
151  std::cout << "Error: Function getTDCPhase not implemented in this instance of LArRodBlockStructure!\n";
152  return 0;
153 }

◆ getVectorHeader16()

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

Definition at line 368 of file LArRodBlockStructure.h.

369 { if (n&0x1) //n is a odd number
370  return (std::as_const(*m_vFragment).at(n>>1) & 0xffff);
371  else //n is a even number
372  return (std::as_const(*m_vFragment).at(n>>1) >> 16);
373 }

◆ getVectorHeader32()

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

Definition at line 375 of file LArRodBlockStructure.h.

376 {
377  return (*m_vFragment)[n>>1];
378 }

◆ getVROBEx()

int32_t LArRodBlockStructure::getVROBEx ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV6, and LArRodBlockPhysicsV5.

Definition at line 323 of file LArRodBlockStructure.h.

323  {
324 return 0;
325 }

◆ getVROBEy()

int32_t LArRodBlockStructure::getVROBEy ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV6, and LArRodBlockPhysicsV5.

Definition at line 327 of file LArRodBlockStructure.h.

327  {
328 return 0;
329 }

◆ getVROBEz()

int32_t LArRodBlockStructure::getVROBEz ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV6, and LArRodBlockPhysicsV5.

Definition at line 331 of file LArRodBlockStructure.h.

331  {
332 return 0;
333 }

◆ getVROBFebId()

uint32_t LArRodBlockStructure::getVROBFebId ( )
inlinevirtualinherited

Reimplemented in LArRodBlockPhysicsV6, and LArRodBlockPhysicsV5.

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 LArRodBlockStructure::hasAccumBlock ( ) const
inlinevirtualinherited

Reimplemented in LArRodBlockAccumulatedV3.

Definition at line 123 of file LArRodBlockStructure.h.

123 {return 0;} ;

◆ hasCalibBlock()

virtual uint32_t LArRodBlockStructure::hasCalibBlock ( ) const
inlinevirtualinherited

◆ hasControlWords()

virtual uint32_t LArRodBlockStructure::hasControlWords ( ) const
inlinevirtualinherited

◆ hasPhysicsBlock()

virtual uint32_t LArRodBlockPhysicsV2::hasPhysicsBlock ( ) const
inlinevirtual

Reimplemented from LArRodBlockStructure.

Definition at line 117 of file LArRodBlockPhysicsV2.h.

117 {return LE_getHeader16(LowEBlkOffset);} ;

◆ hasRawDataBlock()

virtual uint32_t LArRodBlockPhysicsV2::hasRawDataBlock ( ) const
inlinevirtual

Reimplemented from LArRodBlockStructure.

Definition at line 118 of file LArRodBlockPhysicsV2.h.

118 {return LE_getHeader16(RawDataBlkOffset);} ;

◆ initializeFEB()

void LArRodBlockPhysicsV2::initializeFEB ( const uint32_t  id)
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 306 of file LArRodBlockPhysicsV2.cxx.

308  if (m_vFragment->size()<m_iHeadBlockSize) //Got empty or spoiled fragment
309  {m_vFragment->resize(m_iHeadBlockSize,0); //Initialize FEB-Header
310  setHeader32(FEBID,id); //Set Feb ID
311  }
312 
315  resetPointers();
316 }

◆ initializeFragment()

void LArRodBlockPhysicsV2::initializeFragment ( std::vector< uint32_t > &  fragment)
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 278 of file LArRodBlockPhysicsV2.cxx.

279 {
280  m_pRODblock=&fragment; //remember pointer to fragment
281  if (fragment.size()>m_iHeadBlockSize) { //Got filled fragment
282  unsigned int sizeRead=0;
283  //Store existing data in the FEB-Map
284  while (sizeRead<fragment.size()) {
286  FebIter=fragment.begin()+sizeRead; //Store pointer to current Feb-Header
287  m_FebBlock=&(*FebIter); //Set m_FebBlock in order to use getHeader-functions.
288  uint32_t currFEBid=getHeader32(FEBID); //Get this FEB-ID
289  uint16_t currFebSize=getNumberOfWords(); //Size of this FEB-Block
290  //std::cout << "FebID=" << currFEBid << " FEBSize=" << currFebSize << " Vector size=" << fragment.size() << std::endl;
291  if (FebIter+currFebSize>fragment.end()) {
292  fragment.clear(); //Clear existing vector
293  m_logstr << MSG::ERROR << "Got inconsistent ROD-Fragment!" << endmsg;
294  return;
295  }
296  m_mFebBlocks[currFEBid].assign(FebIter,FebIter+currFebSize); //Copy data from ROD-fragment into FEB-Block
297  sizeRead+=currFebSize+m_MiddleHeaderSize;//6 is the middle header size
298  LARBSDBG("Found FEB-id " << currFEBid << " in existing ROD-Fragment");
299  } // end while
300  }
301  fragment.clear(); //Clear existing vector
302  return;
303 }

◆ LE_getHeader16()

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

Definition at line 405 of file LArRodBlockStructure.h.

406 {
407  return (reinterpret_cast<const uint16_t*>(m_FebBlock))[n];
408 }

◆ LE_getVectorHeader16()

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

Definition at line 410 of file LArRodBlockStructure.h.

411 {
412  const uint32_t* data32 = std::as_const(*m_vFragment).data();
413  const uint16_t* data16 = reinterpret_cast<const uint16_t*> (data32);
414  return data16[n];
415 }

◆ LE_setHeader16()

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

Definition at line 417 of file LArRodBlockStructure.h.

418 {
419 #ifdef LARBYTESTREAMRODBLOCK_CHCKBOUNDARIES
420  if ((unsigned)n>=m_vFragment->size()*2) {
421  std::cout << "LArRodBlockStructure::LE_setHeader16 Error: WRITE BEYOND ARRAY BONDARY!" << std::endl;
422  std::abort();
423  }
424 #endif
425  ((uint16_t*)(&(m_vFragment->front())))[n] = w;
426 }

◆ nextFEB()

bool LArRodBlockStructure::nextFEB ( )
inlineinherited

Definition at line 497 of file LArRodBlockStructure.h.

498 {
499  resetPointers();
500 
501  const int32_t FebOffset = m_FebBlockSize+m_MiddleHeaderSize;
502  const int32_t LeftSize = m_RodBlockSize-FebOffset+m_RodBlock-m_FebBlock;
503  if ( LeftSize<=0 ) return false; //No next feb
504 
505  m_FebBlock += FebOffset; //Jump to the next FEB fragment
506  const int32_t BlockSize = getNumberOfWords();
507  //std::cout << "LeftSize=" << LeftSize << " BlockSize=" << BlockSize << std::endl;
508  if (BlockSize>LeftSize) {
509  std::cout << "Error while decoding LArByteStream: Found FEB block of size " << BlockSize << " in a ROD block of size " << LeftSize << std::endl;
510  m_error_next_feb = true;
511  return false;
512  }
513  //std::cout << "Second FEB ok, size= " << LeftSize <<std::endl;
514 
515  //m_FebBlockSize = LeftSize; //should be =BlockSize;
516  m_FebBlockSize=BlockSize;
517 
518  //std::cout << "2: FEB found with size " << m_FebBlockSize << std::endl;
519  setPointers();
520  return true;
521 }

◆ offlineCheckSum()

uint32_t LArRodBlockStructure::offlineCheckSum ( ) const
virtualinherited

Reimplemented in LArRodBlockPhysicsV4.

Definition at line 163 of file LArRodBlockStructure.cxx.

164 {
165  int end = getNumberOfWords()-3;
166  int start = 1;
167  uint32_t sum = 0;
169  for(int i=start;i<end;i++) {
170  sum += m_FebBlock[i];
171  }
172  return sum & 0x7fffffff;
173 }

◆ OfflineToRawGain()

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

Definition at line 352 of file LArRodBlockStructure.h.

353 {return m_OfflineToRawGainMap[gain];} //For efficency, don't check range

◆ onlineCheckSum()

uint32_t LArRodBlockStructure::onlineCheckSum ( ) const
virtualinherited

Reimplemented in LArRodBlockPhysicsV4.

Definition at line 155 of file LArRodBlockStructure.cxx.

156 {
157  int offset = getNumberOfWords()-1;
158  if(offset>=m_FebBlockSize) return 0;
159  if(offset<0) return 0;
160  return m_FebBlock[offset];
161 }

◆ operator()() [1/2]

template<class RAWDATA >
bool LArRodBlockPhysicsV2::operator() ( ) const

◆ operator()() [2/2]

template<class RAWDATA >
bool LArRodBlockPhysicsV2::operator() ( const RAWDATA *  ch1,
const RAWDATA *  ch2 
) const

◆ RawToOfflineGain()

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

Definition at line 349 of file LArRodBlockStructure.h.

350 {return m_RawToOfflineGainMap[gain];} //For efficency, don't check range

◆ report_error()

bool LArRodBlockStructure::report_error ( void  ) const
inlineinherited

Definition at line 177 of file LArRodBlockStructure.h.

177 { return m_error_next_feb;}

◆ resetPointers()

void LArRodBlockPhysicsV2::resetPointers ( )
inlineprivatevirtual

Reimplemented from LArRodBlockStructure.

Definition at line 79 of file LArRodBlockPhysicsV2.cxx.

80 {m_ECounter=0;
82  m_LowEIndex=0;
84  m_HighEIndex=0;
85  m_EIndex=0;
86 }

◆ setBit()

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

Definition at line 444 of file LArRodBlockStructure.h.

445 {
446  // chan = (0,127)
447  // int a = chan/32;
448  // int r = chan%32;
449  int a = chan>>5;
450  int r = chan&0x1f;
451  // a = (0,3), r = ( 0, 31 )
452  *(p+a) |= (1<<r) ;
453  return;
454 }

◆ setDAC()

void LArRodBlockStructure::setDAC ( const uint16_t  DACValue)
virtualinherited

Reimplemented in LArRodBlockCalibrationV0< DSPHEADER >.

Definition at line 57 of file LArRodBlockStructure.cxx.

58 {
59  std::cout << "Error: Function setDAC not implemented in this instance of LArRodBlockStructure!\n";
60  return;
61 }

◆ setDelay()

void LArRodBlockStructure::setDelay ( const uint16_t  DelayValue)
virtualinherited

Reimplemented in LArRodBlockCalibrationV0< DSPHEADER >.

Definition at line 63 of file LArRodBlockStructure.cxx.

64 {
65  std::cout << "Error: Function setDelay not implemented in this instance of LArRodBlockStructure!\n";
66  return;
67 }

◆ 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 120 of file LArRodBlockStructure.cxx.

121 {
122  std::cout << "Error: Function setEtQ not implemented in this instance of LArRodBlockStructure!\n";
123  return;
124 }

◆ setEx()

void LArRodBlockStructure::setEx ( double  )
virtualinherited

Reimplemented in LArRodBlockPhysicsV6, LArRodBlockPhysicsV5, and LArRodBlockPhysicsV3.

Definition at line 200 of file LArRodBlockStructure.cxx.

201 {
202  // Do not set anything
203  return;
204 }

◆ setEy()

void LArRodBlockStructure::setEy ( double  )
virtualinherited

Reimplemented in LArRodBlockPhysicsV6, LArRodBlockPhysicsV5, and LArRodBlockPhysicsV3.

Definition at line 206 of file LArRodBlockStructure.cxx.

207 {
208  // Do not set anything
209  return;
210 }

◆ setEz()

void LArRodBlockStructure::setEz ( double  )
virtualinherited

Reimplemented in LArRodBlockPhysicsV6, LArRodBlockPhysicsV5, and LArRodBlockPhysicsV3.

Definition at line 212 of file LArRodBlockStructure.cxx.

213 {
214  // Do not set anything
215  return;
216 }

◆ setFirstSample()

void LArRodBlockStructure::setFirstSample ( const int  rearrangeFirstSample)
inlineinherited

Definition at line 168 of file LArRodBlockStructure.h.

169  {m_rearrangeFirstSample=rearrangeFirstSample;}

◆ setFragment()

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

Definition at line 252 of file LArRodBlockStructure.h.

253 {
254  resetPointers();
255  m_FebBlock = p;
257  m_RodBlockSize = n;
258  uint32_t BlockSize = 0;
259 
260  if (n==0) {
261  std::cout << "Error while decoding LArByteStream: Got Rod block size 0" << std::endl;
262  return false;
263  }
264 
265  BlockSize = getNumberOfWords();
266  if (BlockSize>n) {
267  std::cout << "Error while decoding LArByteStream: Found FEB block of size " << BlockSize << " in a ROD block of size " << n << std::endl;
268  return false;
269  }
270  m_FebBlockSize = BlockSize;
271 
272  m_error_next_feb = false;
273  //std::cout << "1: FEB found with size " << m_FebBlockSize << std::endl;
274 
275  return setPointers();
276 }

◆ setFragmentVirtualROB()

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

Definition at line 280 of file LArRodBlockStructure.h.

281  {
282  m_ROB_to_decode=0;
286  if ( n<2 ) { std::cout << "Error" << std::endl; return 0;}
287  m_virtualROBJump = ((*p)>>16)>>1; // Divide by two (two FEBs-1ROB)
288  m_ROB_to_decode = ( (*p) & 0xFFFF )<<1; // Multiply by two
289  if ( (n - m_virtualROBJump*m_ROB_to_decode-1) ){
290  std::cout << "Error AGAIN" << std::endl;
291  return 0;
292  }
294  return m_ROB_to_decode;
295 }

◆ setGain()

virtual int LArRodBlockPhysicsV2::setGain ( const int  )
inlinevirtual

Reimplemented from LArRodBlockStructure.

Definition at line 102 of file LArRodBlockPhysicsV2.h.

102 { return 1; };

◆ setHeader16()

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

Definition at line 380 of file LArRodBlockStructure.h.

381 {
382 #ifdef LARBYTESTREAMRODBLOCK_CHCKBOUNDARIES
383  if ((unsigned)n>=m_vFragment->size()*2) {
384  std::cout << "Error WRITE BEYOND ARRAY BONDARY!" << std::endl;
385  std::abort();
386  }
387 #endif
388  if (n&0x1) // n is a odd number
389  m_vFragment->at(n>>1)=((m_vFragment->at(n>>1) & 0xffff0000) | w);
390  else
391  m_vFragment->at(n>>1)=((m_vFragment->at(n>>1) & 0xffff) | (w << 16));
392 }

◆ setHeader32()

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

Definition at line 394 of file LArRodBlockStructure.h.

395 {
396 #ifdef LARBYTESTREAMRODBLOCK_CHCKBOUNDARIES
397  if ((unsigned)n>=m_vFragment->size()*2) {
398  std::cout << "Error WRITE BEYOND ARRAY BONDARY!" << std::endl;
399  std::abort();
400  }
401 #endif
402  m_vFragment->at(n>>1) = w;
403 }

◆ setNextEnergy() [1/2]

void LArRodBlockPhysicsV2::setNextEnergy ( const int  channel,
const int32_t  energy,
const int32_t  time,
const int32_t  quality,
const uint32_t  gain 
)
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 177 of file LArRodBlockPhysicsV2.cxx.

178  {
179  int rcNb=FebToRodChannel(channel);
180  //rcNb ist supposed to equal or bigger than m_EIndex.
181  //In the latter case, we fill up the missing channels with zero
182  if (rcNb<m_EIndex) {
183  m_logstr << MSG::ERROR << "LArRODBlockStructure Error: Internal error. Channels not ordered correctly. rcNb=" << rcNb
184  << " m_EIndex=" << m_EIndex << endmsg;
185  return;
186  }
187  //Fill up missing channels with zeros:
188  while (m_EIndex<rcNb)
189  setNextEnergy(0,0,-1,0);
190  //Add data...
191  setNextEnergy(energy,time,quality,gain);
192  return;
193 }

◆ setNextEnergy() [2/2]

void LArRodBlockPhysicsV2::setNextEnergy ( const int32_t  energy,
const int32_t  time,
const int32_t  quality,
const uint32_t  gain 
)
private

Definition at line 195 of file LArRodBlockPhysicsV2.cxx.

196 {
197  if (m_EIndex>=m_channelsPerFEB) //Use m_EIndex to count total number of channels
198  {m_logstr << MSG::ERROR << "LArRodBlockStructure Error: Attempt to write Energy for channel "
199  << m_EIndex << " channels into a FEB!" <<endmsg;
200  return;
201  }
202  LARBSDBG("LArRodBlockStructure: Setting Energy for channel " << m_EIndex << ". E=" << energy);
203  if (quality<0 && energy<0x7FFE && gain==0) { //Write into Low Energy block
204  m_LowEIndex++; //Use m_LowEIndex to count the channels in the Low Energy block
205  ShortLong twoValues{};
206  twoValues.s[0]=0;
207  twoValues.s[1]=0;
208  if (m_LowEIndex%2==1) { //This is an odd number, simply add data at the bottom of the block
209  twoValues.s[0]=(int16_t)energy;
210  }
211  else { //Even number: Merging with previous block
212  uint32_t oneValue=m_LowEnergyBlock[m_LowEnergyBlock.size()-1]; //Take last element of vector
213  m_LowEnergyBlock.pop_back();
214  int16_t* valptr=reinterpret_cast<int16_t*>(&oneValue);
215  twoValues.s[0]=valptr[0];
216  twoValues.s[1]=(int16_t)energy;
217  }
218  LARBSDBG("Writing words: val0= " << twoValues.s[0] << " val1= " << twoValues.s[1]);
219  m_LowEnergyBlock.push_back(twoValues.l);
220  LARBSDBG("Writing Raw data to Low E block. E=" << energy);
221  }
222  else //Write into High Energy block
224  m_HighEnergyBlock.push_back(energy);
225  uint32_t t_sign;
226  uint32_t abs_time;
227  if (time<0)
228  t_sign=1;
229  else
230  t_sign=0;
231  abs_time=abs(time);
232  if (abs_time>0x1fff)
233  abs_time=0x1fff;
234  //uint32_t gtQ = (gain << 30) | ((time & 0x3fff)<<16) | (0xffff & quality);
235  uint32_t gtQ = (gain << 30) | (t_sign<<29) | ((abs_time & 0x1fff)<<16) | (0xffff & quality);
236  m_HighEnergyBlock.push_back(gtQ);
237  LARBSDBG("Writing Raw data to High E block. E=" << energy << " Q=" << quality);
238  }
239  m_EIndex++;
240  // if (energy>0)
241  //m_ECounter++;
242 }

◆ setNTrigger()

void LArRodBlockStructure::setNTrigger ( const uint16_t  NTrigger)
virtualinherited

Definition at line 75 of file LArRodBlockStructure.cxx.

76 {
77  std::cout << "Error: Function setNTrigger not implemented in this instance of LArRodBlockStructure!\n";
78  return;
79 }

◆ setNumberOfGains()

void LArRodBlockPhysicsV2::setNumberOfGains ( const uint8_t  n)
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 171 of file LArRodBlockPhysicsV2.cxx.

173  LE_setHeader16(NGainNSamples,(oldword & 0x00FF) | (n<<8));
174 }

◆ setNumberOfSamples()

void LArRodBlockPhysicsV2::setNumberOfSamples ( const uint8_t  n)
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 166 of file LArRodBlockPhysicsV2.cxx.

168  LE_setHeader16(NGainNSamples,(oldword & 0xFF00) | n);
169 }

◆ setPointers()

bool LArRodBlockPhysicsV2::setPointers ( )
virtual

Reimplemented from LArRodBlockStructure.

Definition at line 89 of file LArRodBlockPhysicsV2.cxx.

90 {//Set pointers to data blocks (pesuming, they exist)
92  {
94  {
98  }
99  else
100  {
104  }
106  {
109  }
110  else
111  { //Bugfix, 9.8.2004, WL: Set pointer to dummy map to read FEB with only high energy block
113  m_LowEPtr=(const int16_t*)m_FlagPtr;
114  }
117  else
118  m_HighEPtr=NULL;
119  }
120  else
121  {
122  m_RawDataPtr=NULL;
123  m_RawDataFlagsPtr=NULL;
124  m_GainPtr=NULL;
125  m_FlagPtr=NULL;
126  m_LowEPtr=NULL;
127  m_HighEPtr=NULL;
128  }
129 #ifdef LARBSDBGOUTPUT
130  std::cout << "Fragment offsets: (m_NFlaggingWords=" << m_NFlaggingWords << ")" << std::endl;
131 
132  if (m_GainPtr)
133  std::cout << "Gains: " << LE_getHeader16(RawDataBlkOffset)-2*m_NFlaggingWords<< std::endl;
134  else
135  std::cout << "Gains: not present" << std::endl;
136 
137  if (m_RawDataFlagsPtr)
138  std::cout << "Raw Data Flags: " << LE_getHeader16(RawDataBlkOffset)<< std::endl;
139  else
140  std::cout << "Raw Data Flags: not present" << std::endl;
141 
142  if (m_RawDataPtr)
143  std::cout << "Raw Data: " << LE_getHeader16(RawDataBlkOffset)+m_NFlaggingWords<< std::endl;
144  else
145  std::cout << "Raw Data: not present" << std::endl;
146 
147  if (m_FlagPtr)
148  std::cout << "Flags: " << LE_getHeader16(LowEBlkOffset)<< std::endl;
149  else
150  std::cout << "Flags: not present" << std::endl;
151 
152  if (m_LowEPtr)
153  std::cout << "Low Energy: " << LE_getHeader16(LowEBlkOffset)+m_NFlaggingWords << std::endl;
154  else
155  std::cout << "Low Energy: not present" << std::endl;
156 
157  if (m_HighEPtr)
158  std::cout << "High Energy: " << LE_getHeader16(HighEBlkOffset)<< std::endl;
159  else
160  std::cout << "High Energy: not present" << std::endl;
161 #endif
162  return true;
163 }

◆ setPulsed()

void LArRodBlockStructure::setPulsed ( const unsigned  channelNumber)
virtualinherited

Reimplemented in LArRodBlockCalibrationV0< DSPHEADER >.

Definition at line 69 of file LArRodBlockStructure.cxx.

70 {
71  std::cout << "Error: Function setPulsed not implemented in this instance of LArRodBlockStructure!\n";
72  return;
73 }

◆ setRawData()

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

Reimplemented from LArRodBlockStructure.

Definition at line 245 of file LArRodBlockPhysicsV2.cxx.

245  {
246  //Convert Feb to Rod Channel Number:
247  //int rcNb=(channel>>3) + ((channel&0x7)<<4);
248  int rcNb=FebToRodChannel(channel);
249  if (rcNb>=m_channelsPerFEB)
250  {m_logstr << MSG::ERROR << "Attempt to write Energy for channel " << rcNb << " channels into a FEB!" << endmsg;
251  return;
252  }
253  unsigned int nsamples = LE_getVectorHeader16(NGainNSamples) & 0x00FF;
254  if(samples.size() != nsamples) {
255  m_logstr << MSG::ERROR << "Number of samples mismatch!\n";
256  m_logstr << " nsamples =" << nsamples;
257  m_logstr << " samples.size() =" << samples.size() << endmsg;
258  std::abort();
259  }
260 
261  setBit(&m_RawDataBlock[0],rcNb);
262  //Samples have 12 bit and are shifted to the left by 2 bits.
263  // odd samples in high bits, even samples in low bits
264  if((nsamples/2)*2!=nsamples) { //odd number of samples - gain is alone
265  m_RawDataBlock.push_back((gain<<30) | samples[0]<<2);
266  for (unsigned int i=1;i<nsamples;i+=2)
267  m_RawDataBlock.push_back((samples[i+1]<<18) | samples[i]<<2);
268  }
269  else { //even number of samples - gain is packed with sample 0
270  m_RawDataBlock.push_back((gain<<30) | (samples[1]<<18) | samples[0]<<2);
271  for (unsigned int i=2;i<nsamples;i+=2)
272  m_RawDataBlock.push_back((samples[i+1]<<18) | samples[i]<<2);
273  }
274 }

◆ setRawDataFixed()

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

Reimplemented in LArRodBlockTransparentV0< DSPHEADER >.

Definition at line 126 of file LArRodBlockStructure.cxx.

127 {
128  std::cout << "Error: Function setRawDataFixed not implemented in this instance of LArRodBlockStructure!\n";
129  return;
130 }

◆ setSumE()

void LArRodBlockStructure::setSumE ( double  )
virtualinherited

Reimplemented in LArRodBlockPhysicsV6.

Definition at line 218 of file LArRodBlockStructure.cxx.

219 {
220  // Do not set anything
221  return;
222 }

◆ setTDCPhase()

void LArRodBlockStructure::setTDCPhase ( const uint8_t  n)
virtualinherited

Reimplemented in LArRodBlockTransparentV0< DSPHEADER >.

Definition at line 144 of file LArRodBlockStructure.cxx.

145 {
146  std::cout << "Error: Function setTDCPhase not implemented in this instance of LArRodBlockStructure!\n";
147  return;
148 }

◆ sortDataVector() [1/10]

void LArRodBlockStructure::sortDataVector

Definition at line 90 of file LArRodBlockStructure.cxx.

240 {return;}

◆ sortDataVector() [2/10]

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

Definition at line 239 of file LArRodBlockStructure.cxx.

240 {return;}

◆ sortDataVector() [3/10]

void LArRodBlockStructure::sortDataVector

Definition at line 91 of file LArRodBlockStructure.cxx.

243 {return;}

◆ sortDataVector() [4/10]

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

Definition at line 242 of file LArRodBlockStructure.cxx.

243 {return;}

◆ sortDataVector() [5/10]

void LArRodBlockStructure::sortDataVector

Definition at line 89 of file LArRodBlockStructure.cxx.

237 {return;}

◆ sortDataVector() [6/10]

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

Definition at line 236 of file LArRodBlockStructure.cxx.

237 {return;}

◆ sortDataVector() [7/10]

void LArRodBlockStructure::sortDataVector

Definition at line 88 of file LArRodBlockStructure.cxx.

234 {return;}

◆ sortDataVector() [8/10]

virtual void LArRodBlockPhysicsV2::sortDataVector ( std::vector< const LArDigit * > &  )
virtual

Reimplemented from LArRodBlockStructure.

◆ sortDataVector() [9/10]

void LArRodBlockStructure::sortDataVector

Definition at line 87 of file LArRodBlockStructure.cxx.

231 {return;}

◆ sortDataVector() [10/10]

virtual void LArRodBlockPhysicsV2::sortDataVector ( std::vector< const LArRawChannel * > &  )
virtual

Reimplemented from LArRodBlockStructure.

Member Data Documentation

◆ m_channelsPerFEB

int LArRodBlockStructure::m_channelsPerFEB
protectedinherited

Definition at line 225 of file LArRodBlockStructure.h.

◆ m_DummyBitMap

const uint32_t LArRodBlockPhysicsV2::m_DummyBitMap ={0,0,0,0}
staticprivate

Definition at line 145 of file LArRodBlockPhysicsV2.h.

◆ m_ECounter

int LArRodBlockPhysicsV2::m_ECounter = 0
private

Definition at line 128 of file LArRodBlockPhysicsV2.h.

◆ m_EIndex

int LArRodBlockPhysicsV2::m_EIndex = 0
private

Definition at line 133 of file LArRodBlockPhysicsV2.h.

◆ m_error_next_feb

bool LArRodBlockStructure::m_error_next_feb
protectedinherited

Definition at line 243 of file LArRodBlockStructure.h.

◆ m_Ex

int32_t LArRodBlockStructure::m_Ex
protectedinherited

Definition at line 207 of file LArRodBlockStructure.h.

◆ m_Ey

int32_t LArRodBlockStructure::m_Ey
protectedinherited

Definition at line 208 of file LArRodBlockStructure.h.

◆ m_Ez

int32_t LArRodBlockStructure::m_Ez
protectedinherited

Definition at line 209 of file LArRodBlockStructure.h.

◆ m_FebBlock

const uint32_t* LArRodBlockStructure::m_FebBlock
protectedinherited

Definition at line 227 of file LArRodBlockStructure.h.

◆ m_FebBlockSize

int32_t LArRodBlockStructure::m_FebBlockSize
protectedinherited

Definition at line 229 of file LArRodBlockStructure.h.

◆ m_FlagPtr

const uint32_t* LArRodBlockPhysicsV2::m_FlagPtr
private

Definition at line 138 of file LArRodBlockPhysicsV2.h.

◆ m_GainPtr

const uint32_t* LArRodBlockPhysicsV2::m_GainPtr
private

Definition at line 136 of file LArRodBlockPhysicsV2.h.

◆ m_HighEIndex

int LArRodBlockPhysicsV2::m_HighEIndex = 0
private

Definition at line 132 of file LArRodBlockPhysicsV2.h.

◆ m_HighEnergyBlock

std::vector<uint32_t> LArRodBlockPhysicsV2::m_HighEnergyBlock
private

Definition at line 125 of file LArRodBlockPhysicsV2.h.

◆ m_HighEPtr

const int32_t* LArRodBlockPhysicsV2::m_HighEPtr
private

Definition at line 137 of file LArRodBlockPhysicsV2.h.

◆ m_iHeadBlockSize

unsigned short LArRodBlockStructure::m_iHeadBlockSize
protectedinherited

Definition at line 221 of file LArRodBlockStructure.h.

◆ m_logstr

MsgStream LArRodBlockPhysicsV2::m_logstr
private

Definition at line 151 of file LArRodBlockPhysicsV2.h.

◆ m_LowEIndex

int LArRodBlockPhysicsV2::m_LowEIndex = 0
private

Definition at line 130 of file LArRodBlockPhysicsV2.h.

◆ m_LowEnergyBlock

std::vector<uint32_t> LArRodBlockPhysicsV2::m_LowEnergyBlock
private

Definition at line 124 of file LArRodBlockPhysicsV2.h.

◆ m_LowEPtr

const int16_t* LArRodBlockPhysicsV2::m_LowEPtr
private

Definition at line 139 of file LArRodBlockPhysicsV2.h.

◆ m_mFebBlocks

FEBMAPTYPE LArRodBlockStructure::m_mFebBlocks
protectedinherited

Definition at line 234 of file LArRodBlockStructure.h.

◆ m_MiddleHeaderSize

int32_t LArRodBlockStructure::m_MiddleHeaderSize
protectedinherited

Definition at line 239 of file LArRodBlockStructure.h.

◆ m_NFlaggingWords

unsigned short LArRodBlockPhysicsV2::m_NFlaggingWords
private

Definition at line 141 of file LArRodBlockPhysicsV2.h.

◆ m_numberOfEx

uint32_t LArRodBlockStructure::m_numberOfEx
protectedinherited

Definition at line 214 of file LArRodBlockStructure.h.

◆ m_numberOfEy

uint32_t LArRodBlockStructure::m_numberOfEy
protectedinherited

Definition at line 215 of file LArRodBlockStructure.h.

◆ m_numberOfEz

uint32_t LArRodBlockStructure::m_numberOfEz
protectedinherited

Definition at line 216 of file LArRodBlockStructure.h.

◆ m_numberOfSumE

uint32_t LArRodBlockStructure::m_numberOfSumE
protectedinherited

Definition at line 217 of file LArRodBlockStructure.h.

◆ m_OfflineToRawGainMap

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

Definition at line 238 of file LArRodBlockStructure.h.

◆ m_onlineHelper

const LArOnlineID* LArRodBlockPhysicsV2::m_onlineHelper
private

Definition at line 144 of file LArRodBlockPhysicsV2.h.

◆ m_pRODblock

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

Definition at line 232 of file LArRodBlockStructure.h.

◆ m_RawDataBlock

std::vector<uint32_t> LArRodBlockPhysicsV2::m_RawDataBlock
private

Definition at line 126 of file LArRodBlockPhysicsV2.h.

◆ m_RawDataCounter

int LArRodBlockPhysicsV2::m_RawDataCounter = 0
private

Definition at line 129 of file LArRodBlockPhysicsV2.h.

◆ m_RawDataFlagsPtr

const uint32_t* LArRodBlockPhysicsV2::m_RawDataFlagsPtr
private

Definition at line 135 of file LArRodBlockPhysicsV2.h.

◆ m_RawDataIndex

int LArRodBlockPhysicsV2::m_RawDataIndex = 0
private

Definition at line 131 of file LArRodBlockPhysicsV2.h.

◆ m_RawDataPtr

const uint16_t* LArRodBlockPhysicsV2::m_RawDataPtr
private

Definition at line 134 of file LArRodBlockPhysicsV2.h.

◆ m_RawToOfflineGainMap

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

Definition at line 237 of file LArRodBlockStructure.h.

◆ m_rearrangeFirstSample

unsigned int LArRodBlockStructure::m_rearrangeFirstSample
protectedinherited

Definition at line 241 of file LArRodBlockStructure.h.

◆ m_ROB_to_decode

int32_t LArRodBlockStructure::m_ROB_to_decode
protectedinherited

Definition at line 246 of file LArRodBlockStructure.h.

◆ m_RodBlock

const uint32_t* LArRodBlockStructure::m_RodBlock
protectedinherited

Definition at line 228 of file LArRodBlockStructure.h.

◆ m_RodBlockSize

int32_t LArRodBlockStructure::m_RodBlockSize
protectedinherited

Definition at line 230 of file LArRodBlockStructure.h.

◆ m_SumE

int32_t LArRodBlockStructure::m_SumE
protectedinherited

Definition at line 210 of file LArRodBlockStructure.h.

◆ m_vFragment

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

Definition at line 231 of file LArRodBlockStructure.h.

◆ m_virtualROBJump

uint32_t LArRodBlockStructure::m_virtualROBJump
protectedinherited

Definition at line 245 of file LArRodBlockStructure.h.

◆ m_virtualROBPointer

const uint32_t* LArRodBlockStructure::m_virtualROBPointer
protectedinherited

Definition at line 247 of file LArRodBlockStructure.h.

◆ m_virtualROBPointerLocal

const uint32_t* LArRodBlockStructure::m_virtualROBPointerLocal
protectedinherited

Definition at line 248 of file LArRodBlockStructure.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
LArRodBlockPhysicsV2::NWTot
@ NWTot
Definition: LArRodBlockPhysicsV2.h:56
beamspotman.r
def r
Definition: beamspotman.py:676
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:216
LArRodBlockPhysicsV2::BlockType
std::string BlockType()
Definition: LArRodBlockPhysicsV2.h:74
LArRodBlockStructure::m_vFragment
std::vector< uint32_t > * m_vFragment
Definition: LArRodBlockStructure.h:231
LArRodBlockPhysicsV2::m_ECounter
int m_ECounter
Definition: LArRodBlockPhysicsV2.h:128
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
LArRodBlockPhysicsV2::m_onlineHelper
const LArOnlineID * m_onlineHelper
Definition: LArRodBlockPhysicsV2.h:144
LArRodBlockPhysicsV2::FebToRodChannel
int FebToRodChannel(int ch) const
Definition: LArRodBlockPhysicsV2.h:156
LArRodBlockPhysicsV2::m_RawDataCounter
int m_RawDataCounter
Definition: LArRodBlockPhysicsV2.h:129
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:24
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
LArRodBlockPhysicsV2::m_RawDataBlock
std::vector< uint32_t > m_RawDataBlock
Definition: LArRodBlockPhysicsV2.h:126
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
LArRodBlockPhysicsV2::clearBlocks
void clearBlocks()
Definition: LArRodBlockPhysicsV2.cxx:73
LArRodBlockPhysicsV2::FEBID
@ FEBID
Definition: LArRodBlockPhysicsV2.h:58
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
LArRodBlockStructure::LArRodBlockStructure
LArRodBlockStructure()
Definition: LArRodBlockStructure.cxx:22
LArRodBlockStructure::getNumberOfWords
uint32_t getNumberOfWords() const
Definition: LArRodBlockStructure.h:428
index
Definition: index.py:1
AthenaPoolTestRead.flags
flags
Definition: AthenaPoolTestRead.py:8
LArRodBlockStructure::m_FebBlockSize
int32_t m_FebBlockSize
Definition: LArRodBlockStructure.h:229
LArRodBlockPhysicsV2::setNextEnergy
virtual void setNextEnergy(const int channel, const int32_t energy, const int32_t time, const int32_t quality, const uint32_t gain)
Definition: LArRodBlockPhysicsV2.cxx:177
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
LArRodBlockStructure::LE_getVectorHeader16
uint16_t LE_getVectorHeader16(const unsigned n) const
Definition: LArRodBlockStructure.h:410
LArRodBlockPhysicsV2::m_RawDataIndex
int m_RawDataIndex
Definition: LArRodBlockPhysicsV2.h:131
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
LArRodBlockPhysicsV2::m_NFlaggingWords
unsigned short m_NFlaggingWords
Definition: LArRodBlockPhysicsV2.h:141
LArRodBlockPhysicsV2::FEB_SN
@ FEB_SN
Definition: LArRodBlockPhysicsV2.h:60
LArRodBlockStructure::m_error_next_feb
bool m_error_next_feb
Definition: LArRodBlockStructure.h:243
LArRodBlockStructure::m_FebBlock
const uint32_t * m_FebBlock
Definition: LArRodBlockStructure.h:227
LArRodBlockPhysicsV2::FEBID_h
@ FEBID_h
Definition: LArRodBlockPhysicsV2.h:59
LArRodBlockPhysicsV2::Status2
@ Status2
Definition: LArRodBlockPhysicsV2.h:66
CaloGain::LARNGAIN
@ LARNGAIN
Definition: CaloGain.h:19
x
#define x
xAOD::int16_t
setScaleOne setStatusOne setSaturated int16_t
Definition: gFexGlobalRoI_v1.cxx:55
LArRodBlockStructure::m_pRODblock
std::vector< uint32_t > * m_pRODblock
Definition: LArRodBlockStructure.h:232
LArRodBlockPhysicsV2::EventID
@ EventID
Definition: LArRodBlockPhysicsV2.h:69
LARBSDBG
#define LARBSDBG(text)
Definition: LArRodBlockPhysicsV2.cxx:26
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
LArRodBlockPhysicsV2::m_logstr
MsgStream m_logstr
Definition: LArRodBlockPhysicsV2.h:151
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
LArRodBlockStructure::setPointers
virtual bool setPointers()
Definition: LArRodBlockStructure.h:189
LArRodBlockStructure::m_iHeadBlockSize
unsigned short m_iHeadBlockSize
Definition: LArRodBlockStructure.h:221
LArRodBlockStructure::m_rearrangeFirstSample
unsigned int m_rearrangeFirstSample
Definition: LArRodBlockStructure.h:241
LArRodBlockStructure::getHeader32
uint32_t getHeader32(const unsigned n) const
Definition: LArRodBlockStructure.h:365
LArRodBlockPhysicsV2::BCID
@ BCID
Definition: LArRodBlockPhysicsV2.h:68
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
LArRodBlockPhysicsV2::m_HighEIndex
int m_HighEIndex
Definition: LArRodBlockPhysicsV2.h:132
convertTimingResiduals.sum
sum
Definition: convertTimingResiduals.py:55
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:116
LArRodBlockStructure::FEBID
@ FEBID
Definition: LArRodBlockStructure.h:54
lumiFormat.i
int i
Definition: lumiFormat.py:85
ReadCellNoiseFromCool.chan
chan
Definition: ReadCellNoiseFromCool.py:52
beamspotman.n
n
Definition: beamspotman.py:731
LArRodBlockPhysicsV2::m_GainPtr
const uint32_t * m_GainPtr
Definition: LArRodBlockPhysicsV2.h:136
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArRodBlockPhysicsV2::m_LowEnergyBlock
std::vector< uint32_t > m_LowEnergyBlock
Definition: LArRodBlockPhysicsV2.h:124
LArRodBlockStructure::FEBSN_h
@ FEBSN_h
Definition: LArRodBlockStructure.h:57
LArRodBlockPhysicsV2::FEB_SN_h
@ FEB_SN_h
Definition: LArRodBlockPhysicsV2.h:61
LArRodBlockStructure::endtag
@ endtag
Definition: LArRodBlockStructure.h:58
LArRodBlockPhysicsV2::endtag
@ endtag
Definition: LArRodBlockPhysicsV2.h:70
LArRodBlockStructure::NWTot
@ NWTot
Definition: LArRodBlockStructure.h:52
LArRodBlockStructure::m_virtualROBPointerLocal
const uint32_t * m_virtualROBPointerLocal
Definition: LArRodBlockStructure.h:248
LArRodBlockStructure::resetPointers
virtual void resetPointers()
Definition: LArRodBlockStructure.h:187
LArRodBlockStructure::NWTot_h
@ NWTot_h
Definition: LArRodBlockStructure.h:53
LArRodBlockStructure::m_RawToOfflineGainMap
static const uint32_t m_RawToOfflineGainMap[4]
Definition: LArRodBlockStructure.h:237
LArRodBlockStructure::getBit
int getBit(const uint32_t *const p, const unsigned chan) const
Definition: LArRodBlockStructure.h:433
LArRodBlockStructure::m_ROB_to_decode
int32_t m_ROB_to_decode
Definition: LArRodBlockStructure.h:246
LArRodBlockStructure::LE_setHeader16
void LE_setHeader16(const unsigned n, const uint16_t w)
Definition: LArRodBlockStructure.h:417
LArRodBlockPhysicsV2::LowEBlkOffset
@ LowEBlkOffset
Definition: LArRodBlockPhysicsV2.h:63
LArRodBlockPhysicsV2::Status1
@ Status1
Definition: LArRodBlockPhysicsV2.h:67
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
LArRodBlockPhysicsV2::m_RawDataPtr
const uint16_t * m_RawDataPtr
Definition: LArRodBlockPhysicsV2.h:134
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:220
LArRodBlockPhysicsV2::m_DummyBitMap
static const uint32_t m_DummyBitMap[4]
Definition: LArRodBlockPhysicsV2.h:145
LArRodBlockStructure::m_virtualROBPointer
const uint32_t * m_virtualROBPointer
Definition: LArRodBlockStructure.h:247
LArOnlineID
Definition: LArOnlineID.h:20
LArRodBlockPhysicsV2::m_LowEPtr
const int16_t * m_LowEPtr
Definition: LArRodBlockPhysicsV2.h:139
LArRodBlockStructure::FEBID_h
@ FEBID_h
Definition: LArRodBlockStructure.h:55
LArRodBlockStructure::LE_getHeader16
uint16_t LE_getHeader16(const unsigned n) const
Definition: LArRodBlockStructure.h:405
ReadOfcFromCool.nsamples
nsamples
Definition: ReadOfcFromCool.py:115
LArRodBlockPhysicsV2::m_EIndex
int m_EIndex
Definition: LArRodBlockPhysicsV2.h:133
LArRodBlockStructure::m_MiddleHeaderSize
int32_t m_MiddleHeaderSize
Definition: LArRodBlockStructure.h:239
LArRodBlockPhysicsV2::RawDataBlkOffset
@ RawDataBlkOffset
Definition: LArRodBlockPhysicsV2.h:65
DeMoScan.index
string index
Definition: DeMoScan.py:364
a
TList * a
Definition: liststreamerinfos.cxx:10
LArRodBlockPhysicsV2::resetPointers
virtual void resetPointers()
Definition: LArRodBlockPhysicsV2.cxx:79
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
LArRodBlockPhysicsV2::NWTot_h
@ NWTot_h
Definition: LArRodBlockPhysicsV2.h:57
LArRodBlockPhysicsV2::HighEBlkOffset
@ HighEBlkOffset
Definition: LArRodBlockPhysicsV2.h:62
DEBUG
#define DEBUG
Definition: page_access.h:11
LArRodBlockPhysicsV2::m_FlagPtr
const uint32_t * m_FlagPtr
Definition: LArRodBlockPhysicsV2.h:138
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
LArRodBlockStructure::setBit
void setBit(uint32_t *const p, const unsigned chan)
Definition: LArRodBlockStructure.h:444
LArRodBlockPhysicsV2::m_HighEnergyBlock
std::vector< uint32_t > m_HighEnergyBlock
Definition: LArRodBlockPhysicsV2.h:125
LArRodBlockStructure::m_OfflineToRawGainMap
static const uint32_t m_OfflineToRawGainMap[3]
Definition: LArRodBlockStructure.h:238
LARBSDBG
#define LARBSDBG(text)
This class provides decoding/encoding from/to ROD format.
Definition: LArRodBlockPhysicsV2.h:44
LArRodBlockPhysicsV2::NGainNSamples
@ NGainNSamples
Definition: LArRodBlockPhysicsV2.h:64
LArRodBlockStructure::m_RodBlockSize
int32_t m_RodBlockSize
Definition: LArRodBlockStructure.h:230
LArRodBlockStructure::m_RodBlock
const uint32_t * m_RodBlock
Definition: LArRodBlockStructure.h:228
LArRodBlockPhysicsV2::m_LowEIndex
int m_LowEIndex
Definition: LArRodBlockPhysicsV2.h:130
LArRodBlockStructure::FEBSN
@ FEBSN
Definition: LArRodBlockStructure.h:56
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200
LArRodBlockPhysicsV2::m_RawDataFlagsPtr
const uint32_t * m_RawDataFlagsPtr
Definition: LArRodBlockPhysicsV2.h:135
LArRodBlockPhysicsV2::m_HighEPtr
const int32_t * m_HighEPtr
Definition: LArRodBlockPhysicsV2.h:137
LArRodBlockStructure::m_channelsPerFEB
int m_channelsPerFEB
Definition: LArRodBlockStructure.h:225
LArRodBlockStructure::m_virtualROBJump
uint32_t m_virtualROBJump
Definition: LArRodBlockStructure.h:245
LArRodBlockStructure::m_mFebBlocks
FEBMAPTYPE m_mFebBlocks
Definition: LArRodBlockStructure.h:234
LArRodBlockStructure::setHeader32
void setHeader32(const unsigned n, const uint32_t w)
Definition: LArRodBlockStructure.h:394