Main Page
Namespaces
Classes
Package Documentation
EventFilter
HcalRawToDigi
interface
HcalDCCHeader.h
Go to the documentation of this file.
1
/* -*- C++ -*- */
2
#ifndef HcalDCCHeader_H
3
#define HcalDCCHeader_H
4
5
#include <iostream>
6
#include "
DataFormats/HcalDigi/interface/HcalCalibrationEventTypes.h
"
7
class
HcalHTRData
;
8
17
class
HcalDCCHeader
{
18
public
:
19
static
const
int
SPIGOT_COUNT
;
20
21
HcalDCCHeader
();
22
24
unsigned
int
getTotalLengthBytes
()
const
;
25
27
28
inline
bool
thereIsASecondCDFHeaderWord
()
const
{
return
((
commondataformat0
>>3) & 0x0001); }
30
inline
short
getCDFversionNumber
()
const
{
return
((
commondataformat0
>>4) & 0x0F); }
32
inline
int
getSourceId
()
const
{
return
(
commondataformat0
>>8)&0xFFF; }
34
inline
int
getBunchId
()
const
{
return
(
commondataformat0
>>20)&0xFFF; }
36
inline
unsigned
long
getDCCEventNumber
()
const
{
return
(
commondataformat1
& 0x00FFFFFF); }
38
inline
unsigned
short
getCDFEventType
()
const
{
return
( (
commondataformat1
>>24) & 0x0F ); }
40
inline
unsigned
short
BOEshouldBe5Always
()
const
{
return
( (
commondataformat1
>>28) & 0x0F ); }
41
43
44
inline
bool
thereIsAThirdCDFHeaderWord
()
const
{
return
((
commondataformat2
>>3) & 0x0001); }
46
inline
unsigned
int
getOrbitNumber
()
const
{
return
( ((
commondataformat3
& 0xF) << 28) + (
commondataformat2
>>4) ); }
48
inline
unsigned
int
getSlink64ReservedBits
()
const
{
return
( (
commondataformat3
>>4)&0x00FFFFFF ); }
50
inline
short
BOEshouldBeZeroAlways
()
const
{
return
( (
commondataformat3
>>28) & 0x0F); }
51
53
inline
bool
isCalibType
()
const
{
return
( 0 !=
getCalibType
());}
54
inline
HcalCalibrationEventType
getCalibType
()
const
{
return
HcalCalibrationEventType
((
commondataformat3
>>24)&0x0000000F);}
55
57
inline
short
getDCCDataFormatVersion
()
const
{
return
(
dcch0
& 0xFF); }
58
inline
int
getAcceptTimeTTS
()
const
{
return
((
dcch0
>>8)& 0x0000000F); }
59
inline
int
getByte1Zeroes
()
const
{
return
((
dcch0
>>12)& 0x00000003); }
60
inline
int
getHTRStatusBits
()
const
{
return
((
dcch0
>>14)& 0x00007FFF); }
61
inline
int
getByte3Zeroes
()
const
{
return
((
dcch0
>>29)& 0x00000007); }
62
inline
int
getDCCStatus
()
const
{
return
(
dcch1
& 0x000003FF);}
63
inline
int
getByte567Zeroes
()
const
{
return
(
dcch1
& 0xFF00FC00); }
64
66
inline
bool
getSpigotErrorFlag
(
int
nspigot)
const
{
67
return
((
dcch0
>>(14+nspigot) )&0x0001); }
68
70
inline
bool
SawTTS_OFW
()
const
{
return
((
getDCCStatus
()>>0) & 0x00000001);}
71
inline
bool
SawTTS_BSY
()
const
{
return
((
getDCCStatus
()>>1) & 0x00000001);}
72
inline
bool
SawTTS_SYN
()
const
{
return
((
getDCCStatus
()>>2) & 0x00000001);}
73
inline
bool
SawL1A_EvN_MxMx
()
const
{
return
((
getDCCStatus
()>>3) & 0x00000001);}
74
inline
bool
SawL1A_BcN_MxMx
()
const
{
return
((
getDCCStatus
()>>4) & 0x00000001);}
75
inline
bool
SawCT_EvN_MxMx
()
const
{
return
((
getDCCStatus
()>>5) & 0x00000001);}
76
inline
bool
SawCT_BcN_MxMx
()
const
{
return
((
getDCCStatus
()>>6) & 0x00000001);}
77
inline
bool
SawOrbitLengthErr
()
const
{
return
((
getDCCStatus
()>>7) & 0x00000001);}
78
inline
bool
SawTTC_SingErr
()
const
{
return
((
getDCCStatus
()>>8) & 0x00000001);}
79
inline
bool
SawTTC_DoubErr
()
const
{
return
((
getDCCStatus
()>>9) & 0x00000001);}
80
82
inline
int
getSpigotSummary
(
int
nspigot)
const
{
return
spigotInfo
[nspigot]; }
83
88
int
getSpigotData
(
int
nspigot,
HcalHTRData
& decodeTool,
int
validSize)
const
;
89
93
void
getSpigotData
(
int
nspigot,
HcalHTRData
& decodeTool)
const
;
94
96
inline
unsigned
int
getSpigotDataLength
(
int
nspigot)
const
{
return
(nspigot>=15)?(0):(
spigotInfo
[nspigot]&0x3ff); }
97
99
inline
bool
getSpigotEnabled
(
unsigned
int
nspigot)
const
{
return
(nspigot>=15)?(
false
):(
spigotInfo
[nspigot]&0x8000); }
101
inline
bool
getSpigotPresent
(
unsigned
int
nspigot)
const
{
return
(nspigot>=15)?(
false
):(
spigotInfo
[nspigot]&0x4000); }
103
inline
bool
getBxMismatchWithDCC
(
unsigned
int
nspigot)
const
{
return
(nspigot>=15)?(
false
):(
spigotInfo
[nspigot]&0x2000); }
105
inline
bool
getSpigotValid
(
unsigned
int
nspigot)
const
{
return
(nspigot>=15)?(
false
):(
spigotInfo
[nspigot]&0x1000); }
107
inline
bool
getSpigotDataTruncated
(
unsigned
int
nspigot)
const
{
return
(nspigot>=15)?(
false
):(
spigotInfo
[nspigot]&0x0800); }
109
inline
bool
getSpigotCRCError
(
unsigned
int
nspigot)
const
{
return
(nspigot>=15)?(
false
):(
spigotInfo
[nspigot]&0x0400); }
111
inline
unsigned
char
getSpigotErrorBits
(
unsigned
int
nspigot)
const
{
return
(nspigot>=15)?(0):((
unsigned
char
)(
spigotInfo
[nspigot]>>24)); }
113
inline
unsigned
char
getLRBErrorBits
(
unsigned
int
nspigot)
const
{
return
(nspigot>=15)?(0):((
unsigned
char
)(
spigotInfo
[nspigot]>>16)); }
114
115
/* (for packing only) */
122
void
copySpigotData
(
unsigned
int
spigot_id,
const
HcalHTRData
&
data
,
bool
valid=
true
,
unsigned
char
LRB_error_word=0);
123
125
void
clear
();
127
void
setHeader
(
int
sourceid,
int
bcn,
int
l1aN,
int
orbN);
128
129
private
:
130
// CURRENTLY VALID FOR LITTLE-ENDIAN (LINUX/x86) ONLY
131
uint32_t
commondataformat0
;
132
uint32_t
commondataformat1
;
133
uint32_t
commondataformat2
;
134
uint32_t
commondataformat3
;
135
uint32_t
dcch0
;
136
uint32_t
dcch1
;
137
uint32_t
spigotInfo
[18];
//The last three of these 32bit words should always be zero!
138
139
};
140
141
std::ostream&
operator<<
(std::ostream&,
const
HcalDCCHeader
& head);
142
143
#endif
HcalDCCHeader
Definition:
HcalDCCHeader.h:17
HcalDCCHeader::getSpigotSummary
int getSpigotSummary(int nspigot) const
Definition:
HcalDCCHeader.h:82
HcalDCCHeader::getDCCStatus
int getDCCStatus() const
Definition:
HcalDCCHeader.h:62
HcalDCCHeader::getSlink64ReservedBits
unsigned int getSlink64ReservedBits() const
Definition:
HcalDCCHeader.h:48
HcalDCCHeader::getSpigotErrorBits
unsigned char getSpigotErrorBits(unsigned int nspigot) const
Access the HTR error bits (decoding tbd)
Definition:
HcalDCCHeader.h:111
HcalDCCHeader::getSpigotDataLength
unsigned int getSpigotDataLength(int nspigot) const
Definition:
HcalDCCHeader.h:96
HcalDCCHeader::HcalDCCHeader
HcalDCCHeader()
Definition:
HcalDCCHeader.cc:12
HcalDCCHeader::spigotInfo
uint32_t spigotInfo[18]
Definition:
HcalDCCHeader.h:137
HcalDCCHeader::getAcceptTimeTTS
int getAcceptTimeTTS() const
Definition:
HcalDCCHeader.h:58
HcalDCCHeader::SawTTS_SYN
bool SawTTS_SYN() const
Definition:
HcalDCCHeader.h:72
HcalDCCHeader::getSpigotCRCError
bool getSpigotCRCError(unsigned int nspigot) const
Read the "CRC-Mismatch" bit for this spigot.
Definition:
HcalDCCHeader.h:109
HcalDCCHeader::getByte567Zeroes
int getByte567Zeroes() const
Definition:
HcalDCCHeader.h:63
HcalDCCHeader::SawL1A_BcN_MxMx
bool SawL1A_BcN_MxMx() const
Definition:
HcalDCCHeader.h:74
HcalDCCHeader::getCalibType
HcalCalibrationEventType getCalibType() const
Definition:
HcalDCCHeader.h:54
HcalDCCHeader::SawTTC_DoubErr
bool SawTTC_DoubErr() const
Definition:
HcalDCCHeader.h:79
HcalHTRData
Definition:
HcalHTRData.h:16
operator<<
std::ostream & operator<<(std::ostream &, const HcalDCCHeader &head)
Definition:
HcalDCCHeader.cc:79
HcalCalibrationEventType
HcalCalibrationEventType
Definition:
HcalCalibrationEventTypes.h:4
HcalDCCHeader::dcch0
uint32_t dcch0
Definition:
HcalDCCHeader.h:135
HcalDCCHeader::getByte1Zeroes
int getByte1Zeroes() const
Definition:
HcalDCCHeader.h:59
HcalDCCHeader::thereIsAThirdCDFHeaderWord
bool thereIsAThirdCDFHeaderWord() const
Definition:
HcalDCCHeader.h:44
HcalDCCHeader::getSpigotData
int getSpigotData(int nspigot, HcalHTRData &decodeTool, int validSize) const
Definition:
HcalDCCHeader.cc:27
HcalDCCHeader::getLRBErrorBits
unsigned char getLRBErrorBits(unsigned int nspigot) const
Access the Link Receiver Board error bits (decoding tbd)
Definition:
HcalDCCHeader.h:113
HcalDCCHeader::getTotalLengthBytes
unsigned int getTotalLengthBytes() const
Definition:
HcalDCCHeader.cc:14
HcalDCCHeader::getHTRStatusBits
int getHTRStatusBits() const
Definition:
HcalDCCHeader.h:60
HcalDCCHeader::isCalibType
bool isCalibType() const
Definition:
HcalDCCHeader.h:53
HcalDCCHeader::getOrbitNumber
unsigned int getOrbitNumber() const
Definition:
HcalDCCHeader.h:46
HcalDCCHeader::getBunchId
int getBunchId() const
Definition:
HcalDCCHeader.h:34
HcalDCCHeader::SawCT_BcN_MxMx
bool SawCT_BcN_MxMx() const
Definition:
HcalDCCHeader.h:76
HcalDCCHeader::copySpigotData
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!...
Definition:
HcalDCCHeader.cc:58
HcalDCCHeader::commondataformat0
uint32_t commondataformat0
Definition:
HcalDCCHeader.h:131
HcalDCCHeader::getBxMismatchWithDCC
bool getBxMismatchWithDCC(unsigned int nspigot) const
Read the "BxID FAILS TO MATCH WITH DCC" bit for this spigot.
Definition:
HcalDCCHeader.h:103
HcalCalibrationEventTypes.h
HcalDCCHeader::commondataformat3
uint32_t commondataformat3
Definition:
HcalDCCHeader.h:134
HcalDCCHeader::setHeader
void setHeader(int sourceid, int bcn, int l1aN, int orbN)
Definition:
HcalDCCHeader.cc:51
HcalDCCHeader::SawCT_EvN_MxMx
bool SawCT_EvN_MxMx() const
Definition:
HcalDCCHeader.h:75
HcalDCCHeader::getSpigotPresent
bool getSpigotPresent(unsigned int nspigot) const
Read the "PRESENT" bit for this spigot.
Definition:
HcalDCCHeader.h:101
HcalDCCHeader::SawTTS_OFW
bool SawTTS_OFW() const
Definition:
HcalDCCHeader.h:70
HcalDCCHeader::getCDFEventType
unsigned short getCDFEventType() const
Definition:
HcalDCCHeader.h:38
HcalDCCHeader::dcch1
uint32_t dcch1
Definition:
HcalDCCHeader.h:136
HcalDCCHeader::getSpigotEnabled
bool getSpigotEnabled(unsigned int nspigot) const
Read the "ENABLED" bit for this spigot.
Definition:
HcalDCCHeader.h:99
HcalDCCHeader::getSourceId
int getSourceId() const
Definition:
HcalDCCHeader.h:32
HcalDCCHeader::getByte3Zeroes
int getByte3Zeroes() const
Definition:
HcalDCCHeader.h:61
HcalDCCHeader::getSpigotErrorFlag
bool getSpigotErrorFlag(int nspigot) const
Definition:
HcalDCCHeader.h:66
HcalDCCHeader::SawTTC_SingErr
bool SawTTC_SingErr() const
Definition:
HcalDCCHeader.h:78
HcalDCCHeader::commondataformat2
uint32_t commondataformat2
Definition:
HcalDCCHeader.h:133
HcalDCCHeader::BOEshouldBeZeroAlways
short BOEshouldBeZeroAlways() const
Definition:
HcalDCCHeader.h:50
HcalDCCHeader::getSpigotValid
bool getSpigotValid(unsigned int nspigot) const
Read the "VALID" bit for this spigot; TTC EvN matched HTR EvN.
Definition:
HcalDCCHeader.h:105
HcalDCCHeader::SawOrbitLengthErr
bool SawOrbitLengthErr() const
Definition:
HcalDCCHeader.h:77
HcalDCCHeader::SPIGOT_COUNT
static const int SPIGOT_COUNT
Definition:
HcalDCCHeader.h:19
HcalDCCHeader::SawL1A_EvN_MxMx
bool SawL1A_EvN_MxMx() const
Definition:
HcalDCCHeader.h:73
HcalDCCHeader::commondataformat1
uint32_t commondataformat1
Definition:
HcalDCCHeader.h:132
data
char data[epos_bytes_allocation]
Definition:
EPOS_Wrapper.h:82
HcalDCCHeader::getSpigotDataTruncated
bool getSpigotDataTruncated(unsigned int nspigot) const
Read the "TRUNCATED" bit for this spigot; LRB truncated data (took too long)
Definition:
HcalDCCHeader.h:107
HcalDCCHeader::getCDFversionNumber
short getCDFversionNumber() const
Definition:
HcalDCCHeader.h:30
HcalDCCHeader::getDCCDataFormatVersion
short getDCCDataFormatVersion() const
Definition:
HcalDCCHeader.h:57
HcalDCCHeader::BOEshouldBe5Always
unsigned short BOEshouldBe5Always() const
Definition:
HcalDCCHeader.h:40
HcalDCCHeader::thereIsASecondCDFHeaderWord
bool thereIsASecondCDFHeaderWord() const
Definition:
HcalDCCHeader.h:28
HcalDCCHeader::getDCCEventNumber
unsigned long getDCCEventNumber() const
Definition:
HcalDCCHeader.h:36
HcalDCCHeader::clear
void clear()
Definition:
HcalDCCHeader.cc:40
HcalDCCHeader::SawTTS_BSY
bool SawTTS_BSY() const
Definition:
HcalDCCHeader.h:71
Generated for CMSSW Reference Manual by
1.8.11