Main Page
Namespaces
Classes
Package Documentation
EventFilter
RPCRawToDigi
interface
RPCAMCRecord.h
Go to the documentation of this file.
1
#ifndef EventFilter_RPCRawToDigi_RPCAMCRecord_h
2
#define EventFilter_RPCRawToDigi_RPCAMCRecord_h
3
4
#include <cstdint>
5
6
namespace
rpcamc
{
7
8
class
Header
9
{
// http://joule.bu.edu/~hazen/CMS/AMC13/UpdatedDAQPath.pdf
10
protected
:
11
// First Word
12
static
std::uint64_t
const
amc_number_mask_
= 0x0f00000000000000;
13
static
std::uint64_t
const
event_counter_mask_
= 0x00ffffff00000000;
14
static
std::uint64_t
const
bx_counter_mask_
= 0x00000000fff00000;
15
static
std::uint64_t
const
data_length_mask_
= 0x00000000000fffff;
16
17
static
unsigned
int
const
amc_number_offset_
= 56;
18
static
unsigned
int
const
event_counter_offset_
= 32;
19
static
unsigned
int
const
bx_counter_offset_
= 20;
20
static
unsigned
int
const
data_length_offset_
= 0;
21
22
// Second word
23
static
std::uint64_t
const
orbit_counter_mask_
= 0x00000000ffff0000;
24
static
std::uint64_t
const
board_id_mask_
= 0x000000000000ffff;
25
26
static
unsigned
int
const
orbit_counter_offset_
= 16;
27
static
unsigned
int
const
board_id_offset_
= 0;
28
29
public
:
30
Header
();
31
Header
(
std::uint64_t
const
record
[2]);
32
Header
(
unsigned
int
amc_number
33
,
unsigned
int
event_counter
34
,
unsigned
int
bx_counter
35
,
unsigned
int
data_length
36
,
unsigned
int
orbit_counter
37
,
unsigned
int
board_id);
38
virtual
~Header
();
39
40
void
set
(
unsigned
int
nword,
std::uint64_t
const
word);
41
virtual
void
reset
();
42
43
std::uint64_t
const
*
getRecord
()
const
;
44
45
unsigned
int
getAMCNumber
()
const
;
46
unsigned
int
getEventCounter
()
const
;
47
unsigned
int
getBXCounter
()
const
;
48
unsigned
int
getDataLength
()
const
;
49
bool
hasDataLength
()
const
;
// derived
50
51
unsigned
int
getOrbitCounter
()
const
;
52
unsigned
int
getBoardId
()
const
;
53
54
void
setAMCNumber
(
unsigned
int
amc_number);
55
void
setEventCounter
(
unsigned
int
event_counter);
56
void
setBXCounter
(
unsigned
int
bx_counter);
57
void
setDataLength
(
unsigned
int
data_length);
58
59
void
setOrbitCounter
(
unsigned
int
orbit_counter);
60
void
setBoardId
(
unsigned
int
board_id);
61
62
protected
:
63
std::uint64_t
record_
[2];
64
};
65
66
class
Trailer
67
{
// http://joule.bu.edu/~hazen/CMS/AMC13/UpdatedDAQPath.pdf
68
protected
:
69
static
std::uint64_t
const
crc_mask_ = 0xffffffff00000000;
70
static
std::uint64_t
const
event_counter_mask_
= 0x00000000ff000000;
71
static
std::uint64_t
const
data_length_mask_
= 0x00000000000fffff;
72
73
static
unsigned
int
const
crc_offset_ = 32;
74
static
unsigned
int
const
event_counter_offset_
= 24;
75
static
unsigned
int
const
data_length_offset_
= 0;
76
77
public
:
78
Trailer
(
std::uint64_t
const
record
= 0x0);
79
Trailer
(std::uint32_t crc
80
,
unsigned
int
event_counter
81
,
unsigned
int
data_length);
82
83
void
set
(
std::uint64_t
const
record
);
84
void
reset
();
85
86
std::uint64_t
const
&
getRecord
()
const
;
87
88
std::uint32_t getCRC()
const
;
89
unsigned
int
getEventCounter
()
const
;
90
unsigned
int
getDataLength
()
const
;
91
92
void
setCRC(std::uint32_t crc);
93
void
setEventCounter
(
unsigned
int
event_counter);
94
void
setDataLength
(
unsigned
int
data_length);
95
96
protected
:
97
std::uint64_t
record_
;
98
};
99
100
}
// namespace rpcamc
101
102
#include "EventFilter/RPCRawToDigi/interface/RPCAMCRecord.icc"
103
104
#endif // EventFilter_RPCRawToDigi_RPCAMCRecord_h
rpcamc::Header::getDataLength
unsigned int getDataLength() const
rpcamc::Header::bx_counter_mask_
static std::uint64_t const bx_counter_mask_
Definition:
RPCAMCRecord.h:14
rpcamc::Header::amc_number_offset_
static unsigned int const amc_number_offset_
Definition:
RPCAMCRecord.h:17
record
JetCorrectorParameters::Record record
Definition:
classes.h:7
rpcamc::Header::board_id_mask_
static std::uint64_t const board_id_mask_
Definition:
RPCAMCRecord.h:24
rpcamc::Header::reset
virtual void reset()
rpcamc::Header::setDataLength
void setDataLength(unsigned int data_length)
rpcamc::Header::data_length_offset_
static unsigned int const data_length_offset_
Definition:
RPCAMCRecord.h:20
rpcamc::Header::getBXCounter
unsigned int getBXCounter() const
rpcamc::Header::getEventCounter
unsigned int getEventCounter() const
rpcamc::Header::orbit_counter_offset_
static unsigned int const orbit_counter_offset_
Definition:
RPCAMCRecord.h:26
rpcamc::Header::bx_counter_offset_
static unsigned int const bx_counter_offset_
Definition:
RPCAMCRecord.h:19
rpcamc::Header::setBXCounter
void setBXCounter(unsigned int bx_counter)
rpcamc::Header::orbit_counter_mask_
static std::uint64_t const orbit_counter_mask_
Definition:
RPCAMCRecord.h:23
rpcamc::Trailer
Definition:
RPCAMCRecord.h:66
rpcamc::Header::hasDataLength
bool hasDataLength() const
rpcamc::Header
Definition:
RPCAMCRecord.h:8
rpcamc::Header::record_
std::uint64_t record_[2]
Definition:
RPCAMCRecord.h:63
rpcamc::Trailer::record_
std::uint64_t record_
Definition:
RPCAMCRecord.h:97
rpcamc::Header::getOrbitCounter
unsigned int getOrbitCounter() const
rpcamc::Header::setAMCNumber
void setAMCNumber(unsigned int amc_number)
rpcamc::Header::getAMCNumber
unsigned int getAMCNumber() const
rpcamc::Header::Header
Header()
Definition:
RPCAMCRecord.cc:5
rpcamc::Header::setOrbitCounter
void setOrbitCounter(unsigned int orbit_counter)
rpcamc::Header::amc_number_mask_
static std::uint64_t const amc_number_mask_
Definition:
RPCAMCRecord.h:12
rpcamc::Header::board_id_offset_
static unsigned int const board_id_offset_
Definition:
RPCAMCRecord.h:27
cond::uint64_t
unsigned long long uint64_t
Definition:
Time.h:15
rpcamc
Definition:
RPCAMCRecord.h:6
rpcamc::Header::setEventCounter
void setEventCounter(unsigned int event_counter)
rpcamc::Header::event_counter_offset_
static unsigned int const event_counter_offset_
Definition:
RPCAMCRecord.h:18
rpcamc::Header::setBoardId
void setBoardId(unsigned int board_id)
rpcamc::Header::event_counter_mask_
static std::uint64_t const event_counter_mask_
Definition:
RPCAMCRecord.h:13
rpcamc::Header::data_length_mask_
static std::uint64_t const data_length_mask_
Definition:
RPCAMCRecord.h:15
rpcamc::Header::getBoardId
unsigned int getBoardId() const
rpcamc::Header::getRecord
std::uint64_t const * getRecord() const
rpcamc::Header::~Header
virtual ~Header()
Definition:
RPCAMCRecord.cc:36
Generated for CMSSW Reference Manual by
1.8.11