Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
EventFilter
CastorRawToDigi
interface
CastorCTDCHeader.h
Go to the documentation of this file.
1
/* -*- C++ -*- */
2
#ifndef CastorCTDCHeader_H
3
#define CastorCTDCHeader_H
4
5
#include <iostream>
6
class
CastorCORData
;
7
class
CastorMergerData
;
8
17
class
CastorCTDCHeader
{
18
public
:
19
static
const
int
SPIGOT_COUNT
;
20
21
CastorCTDCHeader
();
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
(
commondataformat2
>>4); }
48
inline
unsigned
int
getSlink64ReservedBits
()
const
{
return
( (
commondataformat3
>>4)&0x00FFFFFF ); }
50
inline
short
BOEshouldBeZeroAlways
()
const
{
return
( (
commondataformat3
>>28) & 0x0F); }
51
53
inline
short
getDCCDataFormatVersion
()
const
{
return
(
ctdch0
& 0xFF); }
54
inline
int
getAcceptTimeTTS
()
const
{
return
((
ctdch0
>>8)& 0x0000000F); }
55
inline
int
getByte1Zeroes
()
const
{
return
((
ctdch0
>>12)& 0x00000003); }
56
inline
int
getHTRStatusBits
()
const
{
return
((
ctdch0
>>14)& 0x00007FFF); }
57
inline
int
getByte3Zeroes
()
const
{
return
((
ctdch0
>>29)& 0x00000007); }
58
inline
int
getDCCStatus
()
const
{
return
(
ctdch1
& 0x000003FF);}
59
inline
int
getByte567Zeroes
()
const
{
return
(
ctdch1
& 0xFF00FC00); }
60
62
inline
bool
getSpigotErrorFlag
(
int
nspigot)
const
{
63
return
((
ctdch0
>>(14+nspigot) )&0x0001); }
64
66
inline
bool
SawTTS_OFW
()
const
{
return
((
getDCCStatus
()>>0) & 0x00000001);}
67
inline
bool
SawTTS_BSY
()
const
{
return
((
getDCCStatus
()>>1) & 0x00000001);}
68
inline
bool
SawTTS_SYN
()
const
{
return
((
getDCCStatus
()>>2) & 0x00000001);}
69
inline
bool
SawL1A_EvN_MxMx
()
const
{
return
((
getDCCStatus
()>>3) & 0x00000001);}
70
inline
bool
SawL1A_BcN_MxMx
()
const
{
return
((
getDCCStatus
()>>4) & 0x00000001);}
71
inline
bool
SawCT_EvN_MxMx
()
const
{
return
((
getDCCStatus
()>>5) & 0x00000001);}
72
inline
bool
SawCT_BcN_MxMx
()
const
{
return
((
getDCCStatus
()>>6) & 0x00000001);}
73
inline
bool
SawOrbitLengthErr
()
const
{
return
((
getDCCStatus
()>>7) & 0x00000001);}
74
inline
bool
SawTTC_SingErr
()
const
{
return
((
getDCCStatus
()>>8) & 0x00000001);}
75
inline
bool
SawTTC_DoubErr
()
const
{
return
((
getDCCStatus
()>>9) & 0x00000001);}
76
78
inline
int
getSpigotSummary
(
int
nspigot)
const
{
return
spigotInfo
[nspigot]; }
79
84
int
getSpigotData
(
int
nspigot,
CastorCORData
& decodeTool,
int
validSize)
const
;
85
87
inline
unsigned
int
getSpigotDataLength
(
int
nspigot)
const
{
return
(nspigot>=3)?(0):(
spigotInfo
[nspigot]&0x3ff); }
88
90
inline
bool
getSpigotEnabled
(
unsigned
int
nspigot)
const
{
return
(nspigot>=3)?(
false
):(
spigotInfo
[nspigot]&0x8000); }
92
inline
bool
getSpigotPresent
(
unsigned
int
nspigot)
const
{
return
(nspigot>=3)?(
false
):(
spigotInfo
[nspigot]&0x4000); }
94
inline
bool
getBxMismatchWithDCC
(
unsigned
int
nspigot)
const
{
return
(nspigot>=3)?(
false
):(
spigotInfo
[nspigot]&0x2000); }
96
inline
bool
getSpigotValid
(
unsigned
int
nspigot)
const
{
return
(nspigot>=3)?(
false
):(
spigotInfo
[nspigot]&0x1000); }
98
inline
bool
getSpigotDataTruncated
(
unsigned
int
nspigot)
const
{
return
(nspigot>=3)?(
false
):(
spigotInfo
[nspigot]&0x0800); }
100
inline
bool
getSpigotCRCError
(
unsigned
int
nspigot)
const
{
return
(nspigot>=3)?(
false
):(
spigotInfo
[nspigot]&0x0400); }
102
inline
unsigned
char
getSpigotErrorBits
(
unsigned
int
nspigot)
const
{
return
(nspigot>=3)?(0):((
unsigned
char
)(
spigotInfo
[nspigot]>>24)); }
104
inline
unsigned
char
getLRBErrorBits
(
unsigned
int
nspigot)
const
{
return
(nspigot>=3)?(0):((
unsigned
char
)(
spigotInfo
[nspigot]>>16)); }
105
106
/* (for packing only) */
113
void
copySpigotData
(
unsigned
int
spigot_id,
const
CastorCORData
&
data
,
bool
valid
=
true
,
unsigned
char
LRB_error_word=0);
114
115
void
copyMergerData
(
const
CastorMergerData
&
data
,
bool
valid
) ;
116
118
void
clear
();
120
void
setHeader
(
int
sourceid,
int
bcn,
int
l1aN,
int
orbN);
121
122
private
:
123
// CURRENTLY VALID FOR LITTLE-ENDIAN (LINUX/x86) ONLY
124
unsigned
int
commondataformat0
;
125
unsigned
int
commondataformat1
;
126
unsigned
int
commondataformat2
;
127
unsigned
int
commondataformat3
;
128
unsigned
int
ctdch0
;
129
unsigned
int
ctdch1
;
130
unsigned
int
spigotInfo
[4];
//The last of these 32bit words should be "end header pattern"
131
132
};
133
134
std::ostream&
operator<<
(std::ostream&,
const
CastorCTDCHeader
& head);
135
136
#endif
TrackValidation_HighPurity_cff.valid
tuple valid
Definition:
TrackValidation_HighPurity_cff.py:20
CastorCTDCHeader::getSpigotData
int getSpigotData(int nspigot, CastorCORData &decodeTool, int validSize) const
Definition:
CastorCTDCHeader.cc:22
CastorCTDCHeader::SawL1A_EvN_MxMx
bool SawL1A_EvN_MxMx() const
Definition:
CastorCTDCHeader.h:69
CastorCTDCHeader::getSpigotValid
bool getSpigotValid(unsigned int nspigot) const
Read the "VALID" bit for this spigot; TTC EvN matched HTR EvN.
Definition:
CastorCTDCHeader.h:96
CastorCTDCHeader::getSpigotCRCError
bool getSpigotCRCError(unsigned int nspigot) const
Read the "CRC-Mismatch" bit for this spigot.
Definition:
CastorCTDCHeader.h:100
CastorCTDCHeader::getBunchId
int getBunchId() const
Definition:
CastorCTDCHeader.h:34
CastorCTDCHeader::getSpigotEnabled
bool getSpigotEnabled(unsigned int nspigot) const
Read the "ENABLED" bit for this spigot.
Definition:
CastorCTDCHeader.h:90
CastorCTDCHeader::getTotalLengthBytes
unsigned int getTotalLengthBytes() const
Definition:
CastorCTDCHeader.cc:15
CastorCTDCHeader::CastorCTDCHeader
CastorCTDCHeader()
Definition:
CastorCTDCHeader.cc:13
CastorMergerData
Definition:
CastorMergerData.h:14
CastorCTDCHeader::getByte3Zeroes
int getByte3Zeroes() const
Definition:
CastorCTDCHeader.h:57
CastorCTDCHeader::setHeader
void setHeader(int sourceid, int bcn, int l1aN, int orbN)
Definition:
CastorCTDCHeader.cc:48
CastorCTDCHeader::getLRBErrorBits
unsigned char getLRBErrorBits(unsigned int nspigot) const
Access the Link Receiver Board error bits (decoding tbd)
Definition:
CastorCTDCHeader.h:104
CastorCTDCHeader::getByte567Zeroes
int getByte567Zeroes() const
Definition:
CastorCTDCHeader.h:59
operator<<
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition:
ALILine.cc:187
CastorCTDCHeader::SPIGOT_COUNT
static const int SPIGOT_COUNT
Definition:
CastorCTDCHeader.h:19
CastorCTDCHeader::SawL1A_BcN_MxMx
bool SawL1A_BcN_MxMx() const
Definition:
CastorCTDCHeader.h:70
CastorCTDCHeader::commondataformat0
unsigned int commondataformat0
Definition:
CastorCTDCHeader.h:124
CastorCTDCHeader::SawTTS_OFW
bool SawTTS_OFW() const
Definition:
CastorCTDCHeader.h:66
CastorCTDCHeader::copySpigotData
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 orde...
Definition:
CastorCTDCHeader.cc:53
CastorCTDCHeader::commondataformat3
unsigned int commondataformat3
Definition:
CastorCTDCHeader.h:127
CastorCTDCHeader::getSpigotErrorFlag
bool getSpigotErrorFlag(int nspigot) const
Definition:
CastorCTDCHeader.h:62
CastorCTDCHeader::SawTTS_BSY
bool SawTTS_BSY() const
Definition:
CastorCTDCHeader.h:67
CastorCTDCHeader::thereIsAThirdCDFHeaderWord
bool thereIsAThirdCDFHeaderWord() const
Definition:
CastorCTDCHeader.h:44
CastorCTDCHeader::clear
void clear()
Definition:
CastorCTDCHeader.cc:35
CastorCTDCHeader::getSlink64ReservedBits
unsigned int getSlink64ReservedBits() const
Definition:
CastorCTDCHeader.h:48
CastorCTDCHeader::getDCCStatus
int getDCCStatus() const
Definition:
CastorCTDCHeader.h:58
CastorCTDCHeader::copyMergerData
void copyMergerData(const CastorMergerData &data, bool valid)
Definition:
CastorCTDCHeader.cc:74
CastorCTDCHeader::getDCCEventNumber
unsigned long getDCCEventNumber() const
Definition:
CastorCTDCHeader.h:36
CastorCTDCHeader::spigotInfo
unsigned int spigotInfo[4]
Definition:
CastorCTDCHeader.h:130
CastorCTDCHeader::getSpigotDataLength
unsigned int getSpigotDataLength(int nspigot) const
Definition:
CastorCTDCHeader.h:87
CastorCTDCHeader::BOEshouldBeZeroAlways
short BOEshouldBeZeroAlways() const
Definition:
CastorCTDCHeader.h:50
CastorCTDCHeader::commondataformat2
unsigned int commondataformat2
Definition:
CastorCTDCHeader.h:126
CastorCTDCHeader::SawCT_BcN_MxMx
bool SawCT_BcN_MxMx() const
Definition:
CastorCTDCHeader.h:72
CastorCTDCHeader::getCDFversionNumber
short getCDFversionNumber() const
Definition:
CastorCTDCHeader.h:30
CastorCTDCHeader::getCDFEventType
unsigned short getCDFEventType() const
Definition:
CastorCTDCHeader.h:38
CastorCTDCHeader::getOrbitNumber
unsigned int getOrbitNumber() const
Definition:
CastorCTDCHeader.h:46
CastorCTDCHeader::SawOrbitLengthErr
bool SawOrbitLengthErr() const
Definition:
CastorCTDCHeader.h:73
CastorCTDCHeader::getSpigotDataTruncated
bool getSpigotDataTruncated(unsigned int nspigot) const
Read the "TRUNCATED" bit for this spigot; LRB truncated data (took too long)
Definition:
CastorCTDCHeader.h:98
CastorCTDCHeader::commondataformat1
unsigned int commondataformat1
Definition:
CastorCTDCHeader.h:125
CastorCTDCHeader::getAcceptTimeTTS
int getAcceptTimeTTS() const
Definition:
CastorCTDCHeader.h:54
CastorCTDCHeader::getHTRStatusBits
int getHTRStatusBits() const
Definition:
CastorCTDCHeader.h:56
CastorCTDCHeader::thereIsASecondCDFHeaderWord
bool thereIsASecondCDFHeaderWord() const
Definition:
CastorCTDCHeader.h:28
CastorCTDCHeader::SawTTC_SingErr
bool SawTTC_SingErr() const
Definition:
CastorCTDCHeader.h:74
CastorCORData
Definition:
CastorCORData.h:14
CastorCTDCHeader::getBxMismatchWithDCC
bool getBxMismatchWithDCC(unsigned int nspigot) const
Read the "BxID FAILS TO MATCH WITH DCC" bit for this spigot.
Definition:
CastorCTDCHeader.h:94
CastorCTDCHeader::getSpigotPresent
bool getSpigotPresent(unsigned int nspigot) const
Read the "PRESENT" bit for this spigot.
Definition:
CastorCTDCHeader.h:92
CastorCTDCHeader::getSpigotSummary
int getSpigotSummary(int nspigot) const
Definition:
CastorCTDCHeader.h:78
CastorCTDCHeader::SawCT_EvN_MxMx
bool SawCT_EvN_MxMx() const
Definition:
CastorCTDCHeader.h:71
data
char data[epos_bytes_allocation]
Definition:
EPOS_Wrapper.h:82
CastorCTDCHeader::ctdch1
unsigned int ctdch1
Definition:
CastorCTDCHeader.h:129
CastorCTDCHeader::getByte1Zeroes
int getByte1Zeroes() const
Definition:
CastorCTDCHeader.h:55
CastorCTDCHeader::SawTTC_DoubErr
bool SawTTC_DoubErr() const
Definition:
CastorCTDCHeader.h:75
CastorCTDCHeader::getSpigotErrorBits
unsigned char getSpigotErrorBits(unsigned int nspigot) const
Access the HTR error bits (decoding tbd)
Definition:
CastorCTDCHeader.h:102
CastorCTDCHeader
Definition:
CastorCTDCHeader.h:17
CastorCTDCHeader::getDCCDataFormatVersion
short getDCCDataFormatVersion() const
Definition:
CastorCTDCHeader.h:53
CastorCTDCHeader::BOEshouldBe5Always
unsigned short BOEshouldBe5Always() const
Definition:
CastorCTDCHeader.h:40
CastorCTDCHeader::SawTTS_SYN
bool SawTTS_SYN() const
Definition:
CastorCTDCHeader.h:68
CastorCTDCHeader::ctdch0
unsigned int ctdch0
Definition:
CastorCTDCHeader.h:128
CastorCTDCHeader::getSourceId
int getSourceId() const
Definition:
CastorCTDCHeader.h:32
Generated for CMSSW Reference Manual by
1.8.5