CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Attributes | Private Attributes
HcalDCCHeader Class Reference

#include <HcalDCCHeader.h>

Public Member Functions

unsigned short BOEshouldBe5Always () const
 
short BOEshouldBeZeroAlways () const
 
void clear ()
 
void copySpigotData (unsigned int spigot_id, const HcalHTRData &data, bool valid=true, unsigned char LRB_error_word=0)
 Add the given HcalHTRData as the given spigot's data. This should be done in increasing spigot order! More...
 
int getAcceptTimeTTS () const
 
int getBunchId () const
 
bool getBxMismatchWithDCC (unsigned int nspigot) const
 Read the "BxID FAILS TO MATCH WITH DCC" bit for this spigot. More...
 
int getByte1Zeroes () const
 
int getByte3Zeroes () const
 
int getByte567Zeroes () const
 
HcalCalibrationEventType getCalibType () const
 
unsigned short getCDFEventType () const
 
short getCDFversionNumber () const
 
short getDCCDataFormatVersion () const
 
unsigned long getDCCEventNumber () const
 
int getDCCStatus () const
 
int getHTRStatusBits () const
 
unsigned char getLRBErrorBits (unsigned int nspigot) const
 Access the Link Receiver Board error bits (decoding tbd) More...
 
unsigned int getOrbitNumber () const
 
unsigned int getSlink64ReservedBits () const
 
int getSourceId () const
 
bool getSpigotCRCError (unsigned int nspigot) const
 Read the "CRC-Mismatch" bit for this spigot. More...
 
int getSpigotData (int nspigot, HcalHTRData &decodeTool, int validSize) const
 
void getSpigotData (int nspigot, HcalHTRData &decodeTool) const
 
unsigned int getSpigotDataLength (int nspigot) const
 
bool getSpigotDataTruncated (unsigned int nspigot) const
 Read the "TRUNCATED" bit for this spigot; LRB truncated data (took too long) More...
 
bool getSpigotEnabled (unsigned int nspigot) const
 Read the "ENABLED" bit for this spigot. More...
 
unsigned char getSpigotErrorBits (unsigned int nspigot) const
 Access the HTR error bits (decoding tbd) More...
 
bool getSpigotErrorFlag (int nspigot) const
 
bool getSpigotPresent (unsigned int nspigot) const
 Read the "PRESENT" bit for this spigot. More...
 
int getSpigotSummary (int nspigot) const
 
bool getSpigotValid (unsigned int nspigot) const
 Read the "VALID" bit for this spigot; TTC EvN matched HTR EvN. More...
 
unsigned int getTotalLengthBytes () const
 
 HcalDCCHeader ()
 
bool isCalibType () const
 
bool SawCT_BcN_MxMx () const
 
bool SawCT_EvN_MxMx () const
 
bool SawL1A_BcN_MxMx () const
 
bool SawL1A_EvN_MxMx () const
 
bool SawOrbitLengthErr () const
 
bool SawTTC_DoubErr () const
 
bool SawTTC_SingErr () const
 
bool SawTTS_BSY () const
 
bool SawTTS_OFW () const
 
bool SawTTS_SYN () const
 
void setHeader (int sourceid, int bcn, int l1aN, int orbN)
 
bool thereIsASecondCDFHeaderWord () const
 
bool thereIsAThirdCDFHeaderWord () const
 

Static Public Attributes

static const int SPIGOT_COUNT = 15
 

Private Attributes

uint32_t commondataformat0
 
uint32_t commondataformat1
 
uint32_t commondataformat2
 
uint32_t commondataformat3
 
uint32_t dcch0
 
uint32_t dcch1
 
uint32_t spigotInfo [18]
 

Detailed Description

Interpretive class for an HcalDCCHeader

Author
J. Mans - UMD

Definition at line 17 of file HcalDCCHeader.h.

Constructor & Destructor Documentation

◆ HcalDCCHeader()

HcalDCCHeader::HcalDCCHeader ( )

Definition at line 12 of file HcalDCCHeader.cc.

Referenced by copySpigotData(), getSpigotData(), and getTotalLengthBytes().

12 {}

Member Function Documentation

◆ BOEshouldBe5Always()

unsigned short HcalDCCHeader::BOEshouldBe5Always ( ) const
inline

Get the inviolable '5' in the highest 4 bits of the CDF header.

Definition at line 40 of file HcalDCCHeader.h.

References commondataformat1.

40 { return ((commondataformat1 >> 28) & 0x0F); }
uint32_t commondataformat1

◆ BOEshouldBeZeroAlways()

short HcalDCCHeader::BOEshouldBeZeroAlways ( ) const
inline

Get the Beginning Of Event bits. If it's not the first or last CDF Slink64 word, the high 4 bits must be zero.

Definition at line 50 of file HcalDCCHeader.h.

References commondataformat3.

Referenced by HcalUnpacker::unpack().

50 { return ((commondataformat3 >> 28) & 0x0F); }
uint32_t commondataformat3

◆ clear()

void HcalDCCHeader::clear ( void  )

clear the contents of this header

Definition at line 42 of file HcalDCCHeader.cc.

References commondataformat0, commondataformat1, commondataformat2, commondataformat3, dcch0, dcch1, mps_fire::i, and spigotInfo.

Referenced by CastorPacker::pack(), and HcalPacker::pack().

42  {
44  commondataformat1 = 0x50000000u;
47  dcch0 = 0x1; // format version 1
48  dcch1 = 0;
49  for (int i = 0; i < 18; i++)
50  spigotInfo[i] = 0;
51 }
uint32_t spigotInfo[18]
uint32_t dcch0
uint32_t commondataformat0
uint32_t commondataformat3
uint32_t dcch1
uint32_t commondataformat2
uint32_t commondataformat1

◆ copySpigotData()

void HcalDCCHeader::copySpigotData ( unsigned int  spigot_id,
const HcalHTRData data,
bool  valid = true,
unsigned char  LRB_error_word = 0 
)

Add the given HcalHTRData as the given spigot's data. This should be done in increasing spigot order!

Parameters
spigot_id
spigot_data
validflag
LRB_error_word

Definition at line 60 of file HcalDCCHeader.cc.

References data, dcch0, getSpigotDataLength(), HcalDCCHeader(), mps_fire::i, SPIGOT_COUNT, spigotInfo, and validateGeometry_cfg::valid.

Referenced by CastorPacker::pack(), and HcalPacker::pack().

63  {
64  if (spigot_id >= (unsigned int)SPIGOT_COUNT)
65  return;
66  // construct the spigot info
67  spigotInfo[spigot_id] = (data.getRawLength() / 2) | 0xc000;
68  if (valid)
69  spigotInfo[spigot_id] |= 0x2000;
70  spigotInfo[spigot_id] |= (LRB_error_word << 16) | ((data.getErrorsWord() & 0xFF) << 24);
71  // status info...
72  if (valid)
73  dcch0 |= (1 << (spigot_id + 14));
74  // copy
75  unsigned int lenSoFar = 0;
76  for (unsigned int i = 0; i < spigot_id; i++)
77  lenSoFar += getSpigotDataLength(i);
78  unsigned short* startingPoint =
79  ((unsigned short*)this) + sizeof(HcalDCCHeader) / sizeof(unsigned short) + lenSoFar * 2;
80  memcpy(startingPoint, data.getRawData(), sizeof(unsigned short) * data.getRawLength());
81  // update the trailer...
82  lenSoFar += data.getRawLength() / 2; // 32-bit words
83  uint32_t* trailer = ((uint32_t*)this) + sizeof(HcalDCCHeader) / sizeof(uint32_t) + lenSoFar;
84  int len64 = sizeof(HcalDCCHeader) / 8 + lenSoFar / 2 + 1;
85  trailer[1] = 0;
86  trailer[0] = 0xA0000000u | len64;
87 }
uint32_t spigotInfo[18]
uint32_t dcch0
static const int SPIGOT_COUNT
Definition: HcalDCCHeader.h:19
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
unsigned int getSpigotDataLength(int nspigot) const
Definition: HcalDCCHeader.h:97

◆ getAcceptTimeTTS()

int HcalDCCHeader::getAcceptTimeTTS ( ) const
inline

Definition at line 60 of file HcalDCCHeader.h.

References dcch0.

60 { return ((dcch0 >> 8) & 0x0000000F); }
uint32_t dcch0

◆ getBunchId()

int HcalDCCHeader::getBunchId ( ) const
inline

get the bunch id from the CDF header

Definition at line 34 of file HcalDCCHeader.h.

References commondataformat0.

Referenced by RawTask::_process().

34 { return (commondataformat0 >> 20) & 0xFFF; }
uint32_t commondataformat0

◆ getBxMismatchWithDCC()

bool HcalDCCHeader::getBxMismatchWithDCC ( unsigned int  nspigot) const
inline

Read the "BxID FAILS TO MATCH WITH DCC" bit for this spigot.

Definition at line 110 of file HcalDCCHeader.h.

References spigotInfo.

110  {
111  return (nspigot >= 15) ? (false) : (spigotInfo[nspigot] & 0x2000);
112  }
uint32_t spigotInfo[18]

◆ getByte1Zeroes()

int HcalDCCHeader::getByte1Zeroes ( ) const
inline

Definition at line 61 of file HcalDCCHeader.h.

References dcch0.

61 { return ((dcch0 >> 12) & 0x00000003); }
uint32_t dcch0

◆ getByte3Zeroes()

int HcalDCCHeader::getByte3Zeroes ( ) const
inline

Definition at line 63 of file HcalDCCHeader.h.

References dcch0.

63 { return ((dcch0 >> 29) & 0x00000007); }
uint32_t dcch0

◆ getByte567Zeroes()

int HcalDCCHeader::getByte567Zeroes ( ) const
inline

Definition at line 65 of file HcalDCCHeader.h.

References dcch1.

65 { return (dcch1 & 0xFF00FC00); }
uint32_t dcch1

◆ getCalibType()

HcalCalibrationEventType HcalDCCHeader::getCalibType ( ) const
inline

Definition at line 54 of file HcalDCCHeader.h.

References commondataformat3.

Referenced by isCalibType().

54  {
55  return HcalCalibrationEventType((commondataformat3 >> 24) & 0x0000000F);
56  }
HcalCalibrationEventType
uint32_t commondataformat3

◆ getCDFEventType()

unsigned short HcalDCCHeader::getCDFEventType ( ) const
inline

Get the Event Type value (2007.11.03 - Not defined, but should stay consistent among events.)

Definition at line 38 of file HcalDCCHeader.h.

References commondataformat1.

38 { return ((commondataformat1 >> 24) & 0x0F); }
uint32_t commondataformat1

◆ getCDFversionNumber()

short HcalDCCHeader::getCDFversionNumber ( ) const
inline

Get the Format Version of the Common Data Format

Definition at line 30 of file HcalDCCHeader.h.

References commondataformat0.

30 { return ((commondataformat0 >> 4) & 0x0F); }
uint32_t commondataformat0

◆ getDCCDataFormatVersion()

short HcalDCCHeader::getDCCDataFormatVersion ( ) const
inline

Definition at line 59 of file HcalDCCHeader.h.

References dcch0.

Referenced by HcalUnpacker::unpackVME().

59 { return (dcch0 & 0xFF); }
uint32_t dcch0

◆ getDCCEventNumber()

unsigned long HcalDCCHeader::getDCCEventNumber ( ) const
inline

get the Event Number from the CDF header

Definition at line 36 of file HcalDCCHeader.h.

References commondataformat1.

Referenced by RawTask::_process().

36 { return (commondataformat1 & 0x00FFFFFF); }
uint32_t commondataformat1

◆ getDCCStatus()

int HcalDCCHeader::getDCCStatus ( ) const
inline

◆ getHTRStatusBits()

int HcalDCCHeader::getHTRStatusBits ( ) const
inline

Definition at line 62 of file HcalDCCHeader.h.

References dcch0.

62 { return ((dcch0 >> 14) & 0x00007FFF); }
uint32_t dcch0

◆ getLRBErrorBits()

unsigned char HcalDCCHeader::getLRBErrorBits ( unsigned int  nspigot) const
inline

Access the Link Receiver Board error bits (decoding tbd)

Definition at line 130 of file HcalDCCHeader.h.

References spigotInfo.

Referenced by operator<<().

130  {
131  return (nspigot >= 15) ? (0) : ((unsigned char)(spigotInfo[nspigot] >> 16));
132  }
uint32_t spigotInfo[18]

◆ getOrbitNumber()

unsigned int HcalDCCHeader::getOrbitNumber ( ) const
inline

Get the Orbit Number from the CDF.

Definition at line 46 of file HcalDCCHeader.h.

References commondataformat2, and commondataformat3.

Referenced by RawTask::_process().

46 { return (((commondataformat3 & 0xF) << 28) + (commondataformat2 >> 4)); }
uint32_t commondataformat3
uint32_t commondataformat2

◆ getSlink64ReservedBits()

unsigned int HcalDCCHeader::getSlink64ReservedBits ( ) const
inline

get the (undefined) 'Reserved' part of the second Slink64 CDF word

Definition at line 48 of file HcalDCCHeader.h.

References commondataformat3.

48 { return ((commondataformat3 >> 4) & 0x00FFFFFF); }
uint32_t commondataformat3

◆ getSourceId()

int HcalDCCHeader::getSourceId ( ) const
inline

get the source id from the CDF header

Definition at line 32 of file HcalDCCHeader.h.

References commondataformat0.

Referenced by RawTask::_process(), HcalTriggerPrimitiveAlgo::runFEFormatError(), CastorUnpacker::unpack(), ZdcUnpacker::unpack(), HcalUnpacker::unpack(), and HcalUnpacker::unpackVME().

32 { return (commondataformat0 >> 8) & 0xFFF; }
uint32_t commondataformat0

◆ getSpigotCRCError()

bool HcalDCCHeader::getSpigotCRCError ( unsigned int  nspigot) const
inline

Read the "CRC-Mismatch" bit for this spigot.

Definition at line 122 of file HcalDCCHeader.h.

References spigotInfo.

Referenced by CastorUnpacker::unpack(), ZdcUnpacker::unpack(), and HcalUnpacker::unpackVME().

122  {
123  return (nspigot >= 15) ? (false) : (spigotInfo[nspigot] & 0x0400);
124  }
uint32_t spigotInfo[18]

◆ getSpigotData() [1/2]

int HcalDCCHeader::getSpigotData ( int  nspigot,
HcalHTRData decodeTool,
int  validSize 
) const

Load the given decoder with the pointer and length from this spigot Returns 0 on success Returns -1 if spigot points to data area beyond validSize

Definition at line 27 of file HcalDCCHeader.cc.

References HcalHTRData::adoptData(), newFWLiteAna::base, HcalDCCHeader(), mps_fire::i, hltrates_dqm_sourceclient-live_cfg::offset, and spigotInfo.

Referenced by RawTask::_process(), DQMHcalPhiSymAlCaReco::analyze(), HcalEmptyEventFilter::filter(), getSpigotData(), HLTHcalNZSFilter::hltFilter(), HcalTriggerPrimitiveAlgo::runFEFormatError(), CastorUnpacker::unpack(), ZdcUnpacker::unpack(), HcalUnpacker::unpack(), and HcalUnpacker::unpackVME().

27  {
28  const uint16_t* base = ((const uint16_t*)this) + sizeof(HcalDCCHeader) / sizeof(uint16_t);
29  int offset = 0, i, len = 0;
30  for (i = 0; i <= nspigot; i++) {
31  offset += len;
32  len = (spigotInfo[i] & 0x3FF) * 2;
33  }
34  if ((offset + len + sizeof(HcalDCCHeader) / sizeof(uint16_t)) < (validSize / sizeof(uint16_t))) {
35  decodeTool.adoptData(base + offset, len);
36  return 0;
37  } else {
38  return -1;
39  }
40 }
uint32_t spigotInfo[18]
base
Main Program
Definition: newFWLiteAna.py:92
void adoptData(const unsigned short *data, int length)
Definition: HcalHTRData.cc:46

◆ getSpigotData() [2/2]

void HcalDCCHeader::getSpigotData ( int  nspigot,
HcalHTRData decodeTool 
) const

Old (unsafe) getSpigotData. All calls should be replaced by the new call. This call will generate WARN log messages.

Definition at line 21 of file HcalDCCHeader.cc.

References getSpigotData().

21  {
22  edm::LogWarning("HCAL-Unpacker")
23  << "Using unsafe getSpigotData without length controls. Not recommended! Replace with new getSpigotData call";
24  getSpigotData(nspigot, decodeTool, 10000000);
25 }
int getSpigotData(int nspigot, HcalHTRData &decodeTool, int validSize) const
Log< level::Warning, false > LogWarning

◆ getSpigotDataLength()

unsigned int HcalDCCHeader::getSpigotDataLength ( int  nspigot) const
inline

Get the size (in 32-bit words) of the data from this spigot

Definition at line 97 of file HcalDCCHeader.h.

References spigotInfo.

Referenced by copySpigotData(), and operator<<().

97  {
98  return (nspigot >= 15) ? (0) : (spigotInfo[nspigot] & 0x3ff);
99  }
uint32_t spigotInfo[18]

◆ getSpigotDataTruncated()

bool HcalDCCHeader::getSpigotDataTruncated ( unsigned int  nspigot) const
inline

Read the "TRUNCATED" bit for this spigot; LRB truncated data (took too long)

Definition at line 118 of file HcalDCCHeader.h.

References spigotInfo.

118  {
119  return (nspigot >= 15) ? (false) : (spigotInfo[nspigot] & 0x0800);
120  }
uint32_t spigotInfo[18]

◆ getSpigotEnabled()

bool HcalDCCHeader::getSpigotEnabled ( unsigned int  nspigot) const
inline

Read the "ENABLED" bit for this spigot.

Definition at line 102 of file HcalDCCHeader.h.

References spigotInfo.

Referenced by operator<<().

102  {
103  return (nspigot >= 15) ? (false) : (spigotInfo[nspigot] & 0x8000);
104  }
uint32_t spigotInfo[18]

◆ getSpigotErrorBits()

unsigned char HcalDCCHeader::getSpigotErrorBits ( unsigned int  nspigot) const
inline

Access the HTR error bits (decoding tbd)

Definition at line 126 of file HcalDCCHeader.h.

References spigotInfo.

Referenced by operator<<().

126  {
127  return (nspigot >= 15) ? (0) : ((unsigned char)(spigotInfo[nspigot] >> 24));
128  }
uint32_t spigotInfo[18]

◆ getSpigotErrorFlag()

bool HcalDCCHeader::getSpigotErrorFlag ( int  nspigot) const
inline

Get the value flagging a spigot's summary of error flags.

Definition at line 68 of file HcalDCCHeader.h.

References dcch0.

68 { return ((dcch0 >> (14 + nspigot)) & 0x0001); }
uint32_t dcch0

◆ getSpigotPresent()

bool HcalDCCHeader::getSpigotPresent ( unsigned int  nspigot) const
inline

Read the "PRESENT" bit for this spigot.

Definition at line 106 of file HcalDCCHeader.h.

References spigotInfo.

Referenced by DQMHcalPhiSymAlCaReco::analyze(), HcalEmptyEventFilter::filter(), HLTHcalNZSFilter::hltFilter(), operator<<(), HcalTriggerPrimitiveAlgo::runFEFormatError(), CastorUnpacker::unpack(), ZdcUnpacker::unpack(), HcalUnpacker::unpack(), and HcalUnpacker::unpackVME().

106  {
107  return (nspigot >= 15) ? (false) : (spigotInfo[nspigot] & 0x4000);
108  }
uint32_t spigotInfo[18]

◆ getSpigotSummary()

int HcalDCCHeader::getSpigotSummary ( int  nspigot) const
inline

Get a given spigot summary from the DCC Header

Definition at line 83 of file HcalDCCHeader.h.

References spigotInfo.

83 { return spigotInfo[nspigot]; }
uint32_t spigotInfo[18]

◆ getSpigotValid()

bool HcalDCCHeader::getSpigotValid ( unsigned int  nspigot) const
inline

Read the "VALID" bit for this spigot; TTC EvN matched HTR EvN.

Definition at line 114 of file HcalDCCHeader.h.

References spigotInfo.

Referenced by operator<<().

114  {
115  return (nspigot >= 15) ? (false) : (spigotInfo[nspigot] & 0x1000);
116  }
uint32_t spigotInfo[18]

◆ getTotalLengthBytes()

unsigned int HcalDCCHeader::getTotalLengthBytes ( ) const

Determine the expected total length of this packet in bytes

Definition at line 14 of file HcalDCCHeader.cc.

References HcalDCCHeader(), mps_fire::i, SPIGOT_COUNT, and spigotInfo.

14  {
15  unsigned int totalSize = sizeof(HcalDCCHeader);
16  for (int i = 0; i < SPIGOT_COUNT; i++)
17  totalSize += (spigotInfo[i] & 0x3FF) * 4;
18  return totalSize;
19 }
uint32_t spigotInfo[18]
static const int SPIGOT_COUNT
Definition: HcalDCCHeader.h:19

◆ isCalibType()

bool HcalDCCHeader::isCalibType ( ) const
inline

Get the Calibration Type

Definition at line 53 of file HcalDCCHeader.h.

References getCalibType().

53 { return (0 != getCalibType()); }
HcalCalibrationEventType getCalibType() const
Definition: HcalDCCHeader.h:54

◆ SawCT_BcN_MxMx()

bool HcalDCCHeader::SawCT_BcN_MxMx ( ) const
inline

Definition at line 77 of file HcalDCCHeader.h.

References getDCCStatus().

77 { return ((getDCCStatus() >> 6) & 0x00000001); }
int getDCCStatus() const
Definition: HcalDCCHeader.h:64

◆ SawCT_EvN_MxMx()

bool HcalDCCHeader::SawCT_EvN_MxMx ( ) const
inline

Definition at line 76 of file HcalDCCHeader.h.

References getDCCStatus().

76 { return ((getDCCStatus() >> 5) & 0x00000001); }
int getDCCStatus() const
Definition: HcalDCCHeader.h:64

◆ SawL1A_BcN_MxMx()

bool HcalDCCHeader::SawL1A_BcN_MxMx ( ) const
inline

Definition at line 75 of file HcalDCCHeader.h.

References getDCCStatus().

75 { return ((getDCCStatus() >> 4) & 0x00000001); }
int getDCCStatus() const
Definition: HcalDCCHeader.h:64

◆ SawL1A_EvN_MxMx()

bool HcalDCCHeader::SawL1A_EvN_MxMx ( ) const
inline

Definition at line 74 of file HcalDCCHeader.h.

References getDCCStatus().

74 { return ((getDCCStatus() >> 3) & 0x00000001); }
int getDCCStatus() const
Definition: HcalDCCHeader.h:64

◆ SawOrbitLengthErr()

bool HcalDCCHeader::SawOrbitLengthErr ( ) const
inline

Definition at line 78 of file HcalDCCHeader.h.

References getDCCStatus().

78 { return ((getDCCStatus() >> 7) & 0x00000001); }
int getDCCStatus() const
Definition: HcalDCCHeader.h:64

◆ SawTTC_DoubErr()

bool HcalDCCHeader::SawTTC_DoubErr ( ) const
inline

Definition at line 80 of file HcalDCCHeader.h.

References getDCCStatus().

80 { return ((getDCCStatus() >> 9) & 0x00000001); }
int getDCCStatus() const
Definition: HcalDCCHeader.h:64

◆ SawTTC_SingErr()

bool HcalDCCHeader::SawTTC_SingErr ( ) const
inline

Definition at line 79 of file HcalDCCHeader.h.

References getDCCStatus().

79 { return ((getDCCStatus() >> 8) & 0x00000001); }
int getDCCStatus() const
Definition: HcalDCCHeader.h:64

◆ SawTTS_BSY()

bool HcalDCCHeader::SawTTS_BSY ( ) const
inline

Definition at line 72 of file HcalDCCHeader.h.

References getDCCStatus().

72 { return ((getDCCStatus() >> 1) & 0x00000001); }
int getDCCStatus() const
Definition: HcalDCCHeader.h:64

◆ SawTTS_OFW()

bool HcalDCCHeader::SawTTS_OFW ( ) const
inline

Get the status of these error counters in the DCC motherboard.

Definition at line 71 of file HcalDCCHeader.h.

References getDCCStatus().

71 { return ((getDCCStatus() >> 0) & 0x00000001); }
int getDCCStatus() const
Definition: HcalDCCHeader.h:64

◆ SawTTS_SYN()

bool HcalDCCHeader::SawTTS_SYN ( ) const
inline

Definition at line 73 of file HcalDCCHeader.h.

References getDCCStatus().

73 { return ((getDCCStatus() >> 2) & 0x00000001); }
int getDCCStatus() const
Definition: HcalDCCHeader.h:64

◆ setHeader()

void HcalDCCHeader::setHeader ( int  sourceid,
int  bcn,
int  l1aN,
int  orbN 
)

setup the header

Definition at line 53 of file HcalDCCHeader.cc.

References commondataformat0, commondataformat1, commondataformat2, and commondataformat3.

Referenced by CastorPacker::pack(), and HcalPacker::pack().

53  {
54  commondataformat0 = 0x8 | ((sourceid & 0xFFF) << 8) | ((bcn & 0xFFF) << 20);
55  commondataformat1 = 0x50000000u | (l1aN & 0xFFFFFF);
56  commondataformat2 = ((orbN & 0xFFFFFFF) << 4);
57  commondataformat3 = ((orbN >> 28) & 0xF);
58 }
uint32_t commondataformat0
uint32_t commondataformat3
uint32_t commondataformat2
uint32_t commondataformat1

◆ thereIsASecondCDFHeaderWord()

bool HcalDCCHeader::thereIsASecondCDFHeaderWord ( ) const
inline

get the bit indicating that another CDF header Slink64 word follows the first one.

Definition at line 28 of file HcalDCCHeader.h.

References commondataformat0.

28 { return ((commondataformat0 >> 3) & 0x0001); }
uint32_t commondataformat0

◆ thereIsAThirdCDFHeaderWord()

bool HcalDCCHeader::thereIsAThirdCDFHeaderWord ( ) const
inline

Check the third bit of second Slink64 CDF word

Definition at line 44 of file HcalDCCHeader.h.

References commondataformat2.

44 { return ((commondataformat2 >> 3) & 0x0001); }
uint32_t commondataformat2

Member Data Documentation

◆ commondataformat0

uint32_t HcalDCCHeader::commondataformat0
private

◆ commondataformat1

uint32_t HcalDCCHeader::commondataformat1
private

◆ commondataformat2

uint32_t HcalDCCHeader::commondataformat2
private

Definition at line 155 of file HcalDCCHeader.h.

Referenced by clear(), getOrbitNumber(), setHeader(), and thereIsAThirdCDFHeaderWord().

◆ commondataformat3

uint32_t HcalDCCHeader::commondataformat3
private

◆ dcch0

uint32_t HcalDCCHeader::dcch0
private

◆ dcch1

uint32_t HcalDCCHeader::dcch1
private

Definition at line 158 of file HcalDCCHeader.h.

Referenced by clear(), getByte567Zeroes(), and getDCCStatus().

◆ SPIGOT_COUNT

const int HcalDCCHeader::SPIGOT_COUNT = 15
static

◆ spigotInfo

uint32_t HcalDCCHeader::spigotInfo[18]
private