CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Attributes | Private Attributes
CastorCTDCHeader Class Reference

#include <CastorCTDCHeader.h>

Public Member Functions

unsigned short BOEshouldBe5Always () const
 
short BOEshouldBeZeroAlways () const
 
 CastorCTDCHeader ()
 
void clear ()
 
void copyMergerData (const CastorMergerData &data, bool valid)
 
void copySpigotData (unsigned int spigot_id, const CastorCORData &data, bool valid=true, unsigned char LRB_error_word=0)
 Add the given CastorCORData 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
 
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, CastorCORData &decodeTool, int validSize) 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
 
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 = 2
 

Private Attributes

unsigned int commondataformat0
 
unsigned int commondataformat1
 
unsigned int commondataformat2
 
unsigned int commondataformat3
 
unsigned int ctdch0
 
unsigned int ctdch1
 
unsigned int spigotInfo [4]
 

Detailed Description

Interpretive class for an CastorCTDCHeader

Author
A. Campbell - DESY

Definition at line 17 of file CastorCTDCHeader.h.

Constructor & Destructor Documentation

CastorCTDCHeader::CastorCTDCHeader ( )

Definition at line 13 of file CastorCTDCHeader.cc.

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

13 {}

Member Function Documentation

unsigned short CastorCTDCHeader::BOEshouldBe5Always ( ) const
inline

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

Definition at line 40 of file CastorCTDCHeader.h.

References commondataformat1.

40 { return ((commondataformat1 >> 28) & 0x0F); }
unsigned int commondataformat1
short CastorCTDCHeader::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 CastorCTDCHeader.h.

References commondataformat3.

50 { return ((commondataformat3 >> 28) & 0x0F); }
unsigned int commondataformat3
void CastorCTDCHeader::clear ( void  )

clear the contents of this header

Definition at line 37 of file CastorCTDCHeader.cc.

References commondataformat0, commondataformat1, commondataformat2, commondataformat3, ctdch0, ctdch1, mps_fire::i, and spigotInfo.

Referenced by CastorCtdcPacker::pack().

37  {
39  commondataformat1 = 0x50000000u;
42  ctdch0 = 0x1; // format version 1
43  ctdch1 = 0;
44  for (int i = 0; i < 3; i++)
45  spigotInfo[i] = 0;
46  spigotInfo[3] = 0x12345678; // end DCC header pattern
47 }
unsigned int commondataformat0
unsigned int commondataformat3
unsigned int spigotInfo[4]
unsigned int commondataformat2
unsigned int commondataformat1
unsigned int ctdch1
unsigned int ctdch0
void CastorCTDCHeader::copyMergerData ( const CastorMergerData data,
bool  valid 
)

Definition at line 83 of file CastorCTDCHeader.cc.

References CastorCTDCHeader(), ctdch0, CastorMergerData::getErrorsWord(), CastorMergerData::getRawData(), CastorMergerData::getRawLength(), getSpigotDataLength(), mps_fire::i, and spigotInfo.

Referenced by CastorCtdcPacker::pack().

83  {
84  unsigned int spigot_id = 2;
85  // construct the spigot info
86  spigotInfo[spigot_id] = (data.getRawLength() / 2) | 0xc000; // Enabled & Present
87  if (valid)
88  spigotInfo[spigot_id] |= 0x2000; // Valid
89  spigotInfo[spigot_id] |= ((data.getErrorsWord() & 0xFF) << 24);
90  // status info...
91  if (valid)
92  ctdch0 |= (1 << (spigot_id + 14));
93  // copy
94  unsigned int lenSoFar = 0;
95  for (unsigned int i = 0; i < spigot_id; i++)
96  lenSoFar += getSpigotDataLength(i);
97  unsigned short* startingPoint =
98  ((unsigned short*)this) + sizeof(CastorCTDCHeader) / sizeof(unsigned short) + lenSoFar * 2;
99  memcpy(startingPoint, data.getRawData(), sizeof(unsigned short) * data.getRawLength());
100  // update the trailer...
101  lenSoFar += data.getRawLength() / 2; // 32-bit words
102  uint32_t* trailer = ((uint32_t*)this) + sizeof(CastorCTDCHeader) / sizeof(uint32_t) + lenSoFar;
103  int len64 = sizeof(CastorCTDCHeader) / 8 + lenSoFar / 2 + 1;
104  trailer[1] = 0;
105  trailer[0] = 0xA0000000u | len64;
106 }
const int getRawLength() const
Get the length of the raw data.
unsigned int getErrorsWord() const
Get the errors word.
unsigned int spigotInfo[4]
unsigned int getSpigotDataLength(int nspigot) const
const unsigned short * getRawData() const
Get a pointer to the raw data.
unsigned int ctdch0
void CastorCTDCHeader::copySpigotData ( unsigned int  spigot_id,
const CastorCORData data,
bool  valid = true,
unsigned char  LRB_error_word = 0 
)

Add the given CastorCORData 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 54 of file CastorCTDCHeader.cc.

References CastorCTDCHeader(), ctdch0, CastorCORData::getErrorsWord(), CastorCORData::getRawData(), CastorCORData::getRawLength(), getSpigotDataLength(), mps_fire::i, SPIGOT_COUNT, and spigotInfo.

Referenced by CastorCtdcPacker::pack().

57  {
58  if (spigot_id >= (unsigned int)SPIGOT_COUNT)
59  return;
60  // construct the spigot info
61  spigotInfo[spigot_id] = (data.getRawLength() / 2) | 0xc000;
62  if (valid)
63  spigotInfo[spigot_id] |= 0x2000;
64  spigotInfo[spigot_id] |= (LRB_error_word << 16) | ((data.getErrorsWord() & 0xFF) << 24);
65  // status info...
66  if (valid)
67  ctdch0 |= (1 << (spigot_id + 14));
68  // copy
69  unsigned int lenSoFar = 0;
70  for (unsigned int i = 0; i < spigot_id; i++)
71  lenSoFar += getSpigotDataLength(i);
72  unsigned short* startingPoint =
73  ((unsigned short*)this) + sizeof(CastorCTDCHeader) / sizeof(unsigned short) + lenSoFar * 2;
74  memcpy(startingPoint, data.getRawData(), sizeof(unsigned short) * data.getRawLength());
75  // update the trailer...
76  lenSoFar += data.getRawLength() / 2; // 32-bit words
77  uint32_t* trailer = ((uint32_t*)this) + sizeof(CastorCTDCHeader) / sizeof(uint32_t) + lenSoFar;
78  int len64 = sizeof(CastorCTDCHeader) / 8 + lenSoFar / 2 + 1;
79  trailer[1] = 0;
80  trailer[0] = 0xA0000000u | len64;
81 }
unsigned int getErrorsWord() const
Get the errors word.
static const int SPIGOT_COUNT
unsigned int spigotInfo[4]
unsigned int getSpigotDataLength(int nspigot) const
const int getRawLength() const
Get the length of the raw data.
Definition: CastorCORData.h:39
const unsigned short * getRawData() const
Get a pointer to the raw data.
Definition: CastorCORData.h:36
unsigned int ctdch0
int CastorCTDCHeader::getAcceptTimeTTS ( ) const
inline

Definition at line 54 of file CastorCTDCHeader.h.

References ctdch0.

54 { return ((ctdch0 >> 8) & 0x0000000F); }
unsigned int ctdch0
int CastorCTDCHeader::getBunchId ( ) const
inline

get the bunch id from the CDF header

Definition at line 34 of file CastorCTDCHeader.h.

References commondataformat0.

34 { return (commondataformat0 >> 20) & 0xFFF; }
unsigned int commondataformat0
bool CastorCTDCHeader::getBxMismatchWithDCC ( unsigned int  nspigot) const
inline

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

Definition at line 99 of file CastorCTDCHeader.h.

References spigotInfo.

99  {
100  return (nspigot >= 3) ? (false) : (spigotInfo[nspigot] & 0x2000);
101  }
unsigned int spigotInfo[4]
int CastorCTDCHeader::getByte1Zeroes ( ) const
inline

Definition at line 55 of file CastorCTDCHeader.h.

References ctdch0.

55 { return ((ctdch0 >> 12) & 0x00000003); }
unsigned int ctdch0
int CastorCTDCHeader::getByte3Zeroes ( ) const
inline

Definition at line 57 of file CastorCTDCHeader.h.

References ctdch0.

57 { return ((ctdch0 >> 29) & 0x00000007); }
unsigned int ctdch0
int CastorCTDCHeader::getByte567Zeroes ( ) const
inline

Definition at line 59 of file CastorCTDCHeader.h.

References ctdch1.

59 { return (ctdch1 & 0xFF00FC00); }
unsigned int ctdch1
unsigned short CastorCTDCHeader::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 CastorCTDCHeader.h.

References commondataformat1.

38 { return ((commondataformat1 >> 24) & 0x0F); }
unsigned int commondataformat1
short CastorCTDCHeader::getCDFversionNumber ( ) const
inline

Get the Format Version of the Common Data Format

Definition at line 30 of file CastorCTDCHeader.h.

References commondataformat0.

30 { return ((commondataformat0 >> 4) & 0x0F); }
unsigned int commondataformat0
short CastorCTDCHeader::getDCCDataFormatVersion ( ) const
inline

Definition at line 53 of file CastorCTDCHeader.h.

References ctdch0.

53 { return (ctdch0 & 0xFF); }
unsigned int ctdch0
unsigned long CastorCTDCHeader::getDCCEventNumber ( ) const
inline

get the Event Number from the CDF header

Definition at line 36 of file CastorCTDCHeader.h.

References commondataformat1.

36 { return (commondataformat1 & 0x00FFFFFF); }
unsigned int commondataformat1
int CastorCTDCHeader::getDCCStatus ( ) const
inline
int CastorCTDCHeader::getHTRStatusBits ( ) const
inline

Definition at line 56 of file CastorCTDCHeader.h.

References ctdch0.

56 { return ((ctdch0 >> 14) & 0x00007FFF); }
unsigned int ctdch0
unsigned char CastorCTDCHeader::getLRBErrorBits ( unsigned int  nspigot) const
inline

Access the Link Receiver Board error bits (decoding tbd)

Definition at line 119 of file CastorCTDCHeader.h.

References spigotInfo.

119  {
120  return (nspigot >= 3) ? (0) : ((unsigned char)(spigotInfo[nspigot] >> 16));
121  }
unsigned int spigotInfo[4]
unsigned int CastorCTDCHeader::getOrbitNumber ( ) const
inline

Get the Orbit Number from the CDF.

Definition at line 46 of file CastorCTDCHeader.h.

References commondataformat2.

46 { return (commondataformat2 >> 4); }
unsigned int commondataformat2
unsigned int CastorCTDCHeader::getSlink64ReservedBits ( ) const
inline

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

Definition at line 48 of file CastorCTDCHeader.h.

References commondataformat3.

48 { return ((commondataformat3 >> 4) & 0x00FFFFFF); }
unsigned int commondataformat3
int CastorCTDCHeader::getSourceId ( ) const
inline

get the source id from the CDF header

Definition at line 32 of file CastorCTDCHeader.h.

References commondataformat0.

Referenced by CastorCtdcUnpacker::unpack().

32 { return (commondataformat0 >> 8) & 0xFFF; }
unsigned int commondataformat0
bool CastorCTDCHeader::getSpigotCRCError ( unsigned int  nspigot) const
inline

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

Definition at line 111 of file CastorCTDCHeader.h.

References spigotInfo.

111  {
112  return (nspigot >= 3) ? (false) : (spigotInfo[nspigot] & 0x0400);
113  }
unsigned int spigotInfo[4]
int CastorCTDCHeader::getSpigotData ( int  nspigot,
CastorCORData 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 22 of file CastorCTDCHeader.cc.

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

Referenced by CastorCtdcUnpacker::unpack().

22  {
23  const uint16_t* base = ((const uint16_t*)this) + sizeof(CastorCTDCHeader) / sizeof(uint16_t);
24  int offset = 0, i, len = 0;
25  for (i = 0; i <= nspigot; i++) {
26  offset += len;
27  len = (spigotInfo[i] & 0x3FF) * 2;
28  }
29  if ((offset + len + sizeof(CastorCTDCHeader) / sizeof(uint16_t)) < (validSize / sizeof(uint16_t))) {
30  decodeTool.adoptData(base + offset, len);
31  return 0;
32  } else {
33  return -1;
34  }
35 }
tuple base
Main Program
Definition: newFWLiteAna.py:92
void adoptData(const unsigned short *data, int length)
unsigned int spigotInfo[4]
unsigned int CastorCTDCHeader::getSpigotDataLength ( int  nspigot) const
inline

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

Definition at line 86 of file CastorCTDCHeader.h.

References spigotInfo.

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

86  {
87  return (nspigot >= 3) ? (0) : (spigotInfo[nspigot] & 0x3ff);
88  }
unsigned int spigotInfo[4]
bool CastorCTDCHeader::getSpigotDataTruncated ( unsigned int  nspigot) const
inline

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

Definition at line 107 of file CastorCTDCHeader.h.

References spigotInfo.

107  {
108  return (nspigot >= 3) ? (false) : (spigotInfo[nspigot] & 0x0800);
109  }
unsigned int spigotInfo[4]
bool CastorCTDCHeader::getSpigotEnabled ( unsigned int  nspigot) const
inline

Read the "ENABLED" bit for this spigot.

Definition at line 91 of file CastorCTDCHeader.h.

References spigotInfo.

Referenced by operator<<().

91  {
92  return (nspigot >= 3) ? (false) : (spigotInfo[nspigot] & 0x8000);
93  }
unsigned int spigotInfo[4]
unsigned char CastorCTDCHeader::getSpigotErrorBits ( unsigned int  nspigot) const
inline

Access the HTR error bits (decoding tbd)

Definition at line 115 of file CastorCTDCHeader.h.

References spigotInfo.

Referenced by operator<<().

115  {
116  return (nspigot >= 3) ? (0) : ((unsigned char)(spigotInfo[nspigot] >> 24));
117  }
unsigned int spigotInfo[4]
bool CastorCTDCHeader::getSpigotErrorFlag ( int  nspigot) const
inline

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

Definition at line 62 of file CastorCTDCHeader.h.

References ctdch0.

62 { return ((ctdch0 >> (14 + nspigot)) & 0x0001); }
unsigned int ctdch0
bool CastorCTDCHeader::getSpigotPresent ( unsigned int  nspigot) const
inline

Read the "PRESENT" bit for this spigot.

Definition at line 95 of file CastorCTDCHeader.h.

References spigotInfo.

Referenced by operator<<(), and CastorCtdcUnpacker::unpack().

95  {
96  return (nspigot >= 3) ? (false) : (spigotInfo[nspigot] & 0x4000);
97  }
unsigned int spigotInfo[4]
int CastorCTDCHeader::getSpigotSummary ( int  nspigot) const
inline

Get a given spigot summary from the DCC Header

Definition at line 77 of file CastorCTDCHeader.h.

References spigotInfo.

77 { return spigotInfo[nspigot]; }
unsigned int spigotInfo[4]
bool CastorCTDCHeader::getSpigotValid ( unsigned int  nspigot) const
inline

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

Definition at line 103 of file CastorCTDCHeader.h.

References spigotInfo.

Referenced by operator<<().

103  {
104  return (nspigot >= 3) ? (false) : (spigotInfo[nspigot] & 0x1000);
105  }
unsigned int spigotInfo[4]
unsigned int CastorCTDCHeader::getTotalLengthBytes ( ) const

Determine the expected total length of this packet in bytes

Definition at line 15 of file CastorCTDCHeader.cc.

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

15  {
16  unsigned int totalSize = sizeof(CastorCTDCHeader);
17  for (int i = 0; i < SPIGOT_COUNT + 1; i++) // includes merger pay load
18  totalSize += (spigotInfo[i] & 0x3FF) * 4;
19  return totalSize; // doesn't include the trailer
20 }
static const int SPIGOT_COUNT
unsigned int spigotInfo[4]
bool CastorCTDCHeader::SawCT_BcN_MxMx ( ) const
inline

Definition at line 71 of file CastorCTDCHeader.h.

References getDCCStatus().

71 { return ((getDCCStatus() >> 6) & 0x00000001); }
int getDCCStatus() const
bool CastorCTDCHeader::SawCT_EvN_MxMx ( ) const
inline

Definition at line 70 of file CastorCTDCHeader.h.

References getDCCStatus().

70 { return ((getDCCStatus() >> 5) & 0x00000001); }
int getDCCStatus() const
bool CastorCTDCHeader::SawL1A_BcN_MxMx ( ) const
inline

Definition at line 69 of file CastorCTDCHeader.h.

References getDCCStatus().

69 { return ((getDCCStatus() >> 4) & 0x00000001); }
int getDCCStatus() const
bool CastorCTDCHeader::SawL1A_EvN_MxMx ( ) const
inline

Definition at line 68 of file CastorCTDCHeader.h.

References getDCCStatus().

68 { return ((getDCCStatus() >> 3) & 0x00000001); }
int getDCCStatus() const
bool CastorCTDCHeader::SawOrbitLengthErr ( ) const
inline

Definition at line 72 of file CastorCTDCHeader.h.

References getDCCStatus().

72 { return ((getDCCStatus() >> 7) & 0x00000001); }
int getDCCStatus() const
bool CastorCTDCHeader::SawTTC_DoubErr ( ) const
inline

Definition at line 74 of file CastorCTDCHeader.h.

References getDCCStatus().

74 { return ((getDCCStatus() >> 9) & 0x00000001); }
int getDCCStatus() const
bool CastorCTDCHeader::SawTTC_SingErr ( ) const
inline

Definition at line 73 of file CastorCTDCHeader.h.

References getDCCStatus().

73 { return ((getDCCStatus() >> 8) & 0x00000001); }
int getDCCStatus() const
bool CastorCTDCHeader::SawTTS_BSY ( ) const
inline

Definition at line 66 of file CastorCTDCHeader.h.

References getDCCStatus().

66 { return ((getDCCStatus() >> 1) & 0x00000001); }
int getDCCStatus() const
bool CastorCTDCHeader::SawTTS_OFW ( ) const
inline

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

Definition at line 65 of file CastorCTDCHeader.h.

References getDCCStatus().

65 { return ((getDCCStatus() >> 0) & 0x00000001); }
int getDCCStatus() const
bool CastorCTDCHeader::SawTTS_SYN ( ) const
inline

Definition at line 67 of file CastorCTDCHeader.h.

References getDCCStatus().

67 { return ((getDCCStatus() >> 2) & 0x00000001); }
int getDCCStatus() const
void CastorCTDCHeader::setHeader ( int  sourceid,
int  bcn,
int  l1aN,
int  orbN 
)

setup the header

Definition at line 49 of file CastorCTDCHeader.cc.

References commondataformat0, and commondataformat1.

Referenced by CastorCtdcPacker::pack().

49  {
50  commondataformat0 = 0x8 | ((sourceid & 0xFFF) << 8) | ((bcn & 0xFFF) << 20);
51  commondataformat1 = 0x50000000u | (l1aN & 0xFFFFFF);
52 }
unsigned int commondataformat0
unsigned int commondataformat1
bool CastorCTDCHeader::thereIsASecondCDFHeaderWord ( ) const
inline

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

Definition at line 28 of file CastorCTDCHeader.h.

References commondataformat0.

28 { return ((commondataformat0 >> 3) & 0x0001); }
unsigned int commondataformat0
bool CastorCTDCHeader::thereIsAThirdCDFHeaderWord ( ) const
inline

Check the third bit of second Slink64 CDF word

Definition at line 44 of file CastorCTDCHeader.h.

References commondataformat2.

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

Member Data Documentation

unsigned int CastorCTDCHeader::commondataformat0
private
unsigned int CastorCTDCHeader::commondataformat1
private
unsigned int CastorCTDCHeader::commondataformat2
private

Definition at line 146 of file CastorCTDCHeader.h.

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

unsigned int CastorCTDCHeader::commondataformat3
private

Definition at line 147 of file CastorCTDCHeader.h.

Referenced by BOEshouldBeZeroAlways(), clear(), and getSlink64ReservedBits().

unsigned int CastorCTDCHeader::ctdch0
private
unsigned int CastorCTDCHeader::ctdch1
private

Definition at line 149 of file CastorCTDCHeader.h.

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

const int CastorCTDCHeader::SPIGOT_COUNT = 2
static
unsigned int CastorCTDCHeader::spigotInfo[4]
private