Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
EventFilter
CSCRawToDigi
src
CSCDCCHeader.cc
Go to the documentation of this file.
1
#include "
EventFilter/CSCRawToDigi/interface/CSCDCCHeader.h
"
2
#include "
DataFormats/FEDRawData/interface/FEDHeader.h
"
3
#include <iostream>
4
#include <cassert>
5
#include <cstring>
6
7
CSCDCCHeader::CSCDCCHeader
(
int
bx,
int
l1a,
int
sourceId,
int
version
)
8
{
9
word
[0] = 0x5100000000000008LL;
10
word
[1] = 0xD900000000000000LL;
12
FEDHeader::set
(reinterpret_cast<unsigned char *>(
data
()), 1, l1a, bx, sourceId, version,
true
);
13
}
14
15
16
CSCDCCHeader::CSCDCCHeader
()
17
{
18
word
[0] = 0x5100000000000008LL;
19
word
[1] = 0xD900000000000000LL;
20
}
21
22
CSCDCCHeader::CSCDCCHeader
(
const
CSCDCCStatusDigi
& digi)
23
{
24
memcpy(
this
, digi.
header
(),
sizeInWords
()*2);
25
}
26
27
28
29
int
CSCDCCHeader::getCDFEventNumber
()
const
30
{
31
return
((
word
[0]>>32)&0x00FFFFFF);
32
}
33
34
int
CSCDCCHeader::getCDFBunchCounter
()
const
35
{
36
return
((
word
[0]>>20)&0xFFF);
37
}
38
int
CSCDCCHeader::getCDFSourceId
()
const
39
{
40
return
((
word
[0]>>8)&0xFFF);
41
}
42
int
CSCDCCHeader::getCDFFOV
()
const
43
{
44
return
((
word
[0]>>4)&0xF);
45
}
46
int
CSCDCCHeader::getCDFEventType
()
const
47
{
48
return
((
word
[0]>>56)&0xF);
49
}
50
51
52
void
CSCDCCHeader::setDAV
(
int
slot)
53
{
54
/* Bits 7,6,5,4,2 to indicate available DDU.
55
For slink0, the DDU slots are 5, 12, 4, 13, 3 (same as Fifo_in_use[4:0]);
56
for slink1, the DDU slots are 9, 7, 10, 6, 11
57
*/
58
assert(slot>=3 && slot <= 13);
59
int
bit[] = {0, 0, 0, 2, 5, 7, 4, 6, 0, 7, 5, 2, 6, 4};
60
word
[0] |= 1 << bit[slot];
61
}
62
63
std::ostream &
operator<<
(std::ostream & os,
const
CSCDCCHeader
& hdr)
64
{
65
os <<
"DCC Header"
<< std::endl;
66
return
os;
67
}
68
CSCDCCStatusDigi::header
const uint16_t * header() const
data accessors
Definition:
CSCDCCStatusDigi.h:28
CSCDCCHeader::setDAV
void setDAV(int dduSlot)
Definition:
CSCDCCHeader.cc:52
CSCDCCHeader::CSCDCCHeader
CSCDCCHeader()
Definition:
CSCDCCHeader.cc:16
CSCDCCHeader::getCDFFOV
int getCDFFOV() const
Definition:
CSCDCCHeader.cc:42
operator<<
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition:
ALILine.cc:187
CSCDCCHeader::getCDFBunchCounter
int getCDFBunchCounter() const
Definition:
CSCDCCHeader.cc:34
CSCDCCHeader::getCDFEventNumber
int getCDFEventNumber() const
Definition:
CSCDCCHeader.cc:29
FEDHeader::set
static void set(unsigned char *header, int evt_ty, int lvl1_ID, int bx_ID, int source_ID, int version=0, bool H=false)
Set all fields in the header.
Definition:
FEDHeader.cc:40
CSCDCCHeader::getCDFEventType
int getCDFEventType() const
Definition:
CSCDCCHeader.cc:46
CSCDCCHeader
Definition:
CSCDCCHeader.h:11
CSCDCCHeader::getCDFSourceId
int getCDFSourceId() const
Definition:
CSCDCCHeader.cc:38
CSCDCCHeader::word
unsigned long long word[2]
Definition:
CSCDCCHeader.h:32
BeamSplash_cfg.version
tuple version
Definition:
BeamSplash_cfg.py:45
FEDHeader.h
CSCDCCHeader::sizeInWords
static unsigned sizeInWords()
Definition:
CSCDCCHeader.h:26
CSCDCCStatusDigi
Definition:
CSCDCCStatusDigi.h:15
CSCDCCHeader::data
unsigned short * data()
Definition:
CSCDCCHeader.h:25
CSCDCCHeader.h
Generated for CMSSW Reference Manual by
1.8.5