Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
EventFilter
CSCRawToDigi
interface
CSCTMBHeader.h
Go to the documentation of this file.
1
#ifndef CSCTMBHeader_h
2
#define CSCTMBHeader_h
3
5
6
#include <iosfwd>
7
#include <vector>
8
#include "
DataFormats/CSCDigi/interface/CSCTMBStatusDigi.h
"
9
#include "
DataFormats/CSCDigi/interface/CSCALCTDigi.h
"
10
#include "
DataFormats/CSCDigi/interface/CSCCLCTDigi.h
"
11
#include "
DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigi.h
"
12
#include "
EventFilter/CSCRawToDigi/interface/CSCVTMBHeaderFormat.h
"
13
#include "
FWCore/Utilities/interface/Exception.h
"
14
#include <boost/shared_ptr.hpp>
15
class
CSCDMBHeader
;
16
class
CSCTMBHeader2006
;
17
class
CSCTMBHeader2007
;
18
class
CSCTMBHeader2013
;
19
20
21
class
CSCTMBHeader
{
22
23
public
:
24
CSCTMBHeader
(
int
firmwareVersion,
int
firmwareRevision);
25
CSCTMBHeader
(
const
CSCTMBStatusDigi
& digi);
26
CSCTMBHeader
(
const
unsigned
short
* buf);
27
29
void
setEventInformation
(
const
CSCDMBHeader
& dmbHeader)
30
{
31
theHeaderFormat
->setEventInformation(dmbHeader);
32
}
33
34
int
FirmwareVersion
()
const
{
return
theFirmwareVersion
;}
35
int
FirmwareRevision
()
const
{
return
theHeaderFormat
->firmwareRevision();}
36
37
38
uint16_t
BXNCount
()
const
{
39
return
theHeaderFormat
->BXNCount();
40
}
41
uint16_t
ALCTMatchTime
()
const
{
42
return
theHeaderFormat
->ALCTMatchTime();
43
}
44
uint16_t
CLCTOnly
()
const
{
45
return
theHeaderFormat
->CLCTOnly();
46
}
47
uint16_t
ALCTOnly
()
const
{
48
return
theHeaderFormat
->ALCTOnly();
49
}
50
uint16_t
TMBMatch
()
const
{
51
return
theHeaderFormat
->TMBMatch();
52
}
53
54
uint16_t
Bxn0Diff
()
const
{
55
return
theHeaderFormat
->Bxn0Diff();
56
}
57
uint16_t
Bxn1Diff
()
const
{
58
return
theHeaderFormat
->Bxn1Diff();
59
}
60
61
uint16_t
L1ANumber
()
const
{
62
return
theHeaderFormat
->L1ANumber();
63
}
64
65
uint16_t
sizeInBytes
()
const
{
66
return
theHeaderFormat
->sizeInWords()*2;
67
}
68
70
CSCTMBHeader2007
tmbHeader2007
()
const
;
71
CSCTMBHeader2006
tmbHeader2006
()
const
;
72
CSCTMBHeader2013
tmbHeader2013
()
const
;
73
74
uint16_t
NTBins
()
const
{
75
return
theHeaderFormat
->NTBins();
76
}
77
uint16_t
NCFEBs
()
const
{
78
return
theHeaderFormat
->NCFEBs();
79
}
80
81
void
setNCFEBs
(uint16_t ncfebs) {
82
theHeaderFormat
->setNCFEBs(ncfebs);
83
}
84
85
87
std::vector<CSCCLCTDigi>
CLCTDigis
(uint32_t idlayer)
88
{
89
return
theHeaderFormat
->CLCTDigis(idlayer);
90
}
91
93
std::vector<CSCCorrelatedLCTDigi>
CorrelatedLCTDigis
(uint32_t idlayer)
const
94
{
95
return
theHeaderFormat
->CorrelatedLCTDigis(idlayer);
96
}
97
100
unsigned
short
int
sizeInWords
()
const
{
return
theHeaderFormat
->sizeInWords();}
101
102
unsigned
short
int
NHeaderFrames
()
const
{
103
return
theHeaderFormat
->NHeaderFrames();
104
}
105
106
unsigned
short
*
data
() {
107
return
theHeaderFormat
->data();
108
}
109
111
static
void
setDebug
(
const
bool
value
) {
debug
=
value
;}
112
113
bool
check
()
const
{
114
return
theHeaderFormat
->check();
115
}
116
118
//void setChamberId(const CSCDetId & detId) {theChamberId = detId;}
119
121
void
addCLCT0
(
const
CSCCLCTDigi
& digi) {
theHeaderFormat
->addCLCT0(digi);}
122
void
addCLCT1
(
const
CSCCLCTDigi
& digi) {
theHeaderFormat
->addCLCT1(digi);}
123
void
addALCT0
(
const
CSCALCTDigi
& digi) {
theHeaderFormat
->addALCT0(digi);}
124
void
addALCT1
(
const
CSCALCTDigi
& digi) {
theHeaderFormat
->addALCT1(digi);}
125
void
addCorrelatedLCT0
(
const
CSCCorrelatedLCTDigi
& digi) {
126
theHeaderFormat
->addCorrelatedLCT0(digi);
127
}
128
void
addCorrelatedLCT1
(
const
CSCCorrelatedLCTDigi
& digi) {
129
theHeaderFormat
->addCorrelatedLCT1(digi);
130
}
131
133
void
add
(
const
std::vector<CSCCLCTDigi> & digis);
134
void
add
(
const
std::vector<CSCCorrelatedLCTDigi> & digis);
135
136
138
static
void
selfTest
();
139
140
friend
std::ostream &
operator<<
(std::ostream & os,
const
CSCTMBHeader
& hdr);
141
142
private
:
143
144
//void swapCLCTs(CSCCLCTDigi& digi1, CSCCLCTDigi& digi2);
145
146
static
bool
debug
;
147
148
boost::shared_ptr<CSCVTMBHeaderFormat>
theHeaderFormat
;
149
int
theFirmwareVersion
;
150
151
};
152
153
#endif
154
CSCTMBHeader::BXNCount
uint16_t BXNCount() const
Definition:
CSCTMBHeader.h:38
CSCTMBHeader::setEventInformation
void setEventInformation(const CSCDMBHeader &dmbHeader)
fills fields like bxn and l1a
Definition:
CSCTMBHeader.h:29
CSCTMBHeader::tmbHeader2007
CSCTMBHeader2007 tmbHeader2007() const
will throw if the cast fails
Definition:
CSCTMBHeader.cc:141
CSCTMBHeader2013
Definition:
CSCTMBHeader2013.h:7
CSCTMBHeader::NTBins
uint16_t NTBins() const
Definition:
CSCTMBHeader.h:74
CSCTMBHeader::FirmwareRevision
int FirmwareRevision() const
Definition:
CSCTMBHeader.h:35
CSCTMBStatusDigi.h
CSCCorrelatedLCTDigi.h
CSCTMBHeader::NHeaderFrames
unsigned short int NHeaderFrames() const
Definition:
CSCTMBHeader.h:102
CSCALCTDigi
Definition:
CSCALCTDigi.h:15
CSCTMBHeader::theFirmwareVersion
int theFirmwareVersion
Definition:
CSCTMBHeader.h:149
relativeConstraints.value
tuple value
Definition:
relativeConstraints.py:54
CSCTMBHeader::CLCTOnly
uint16_t CLCTOnly() const
Definition:
CSCTMBHeader.h:44
CSCTMBHeader::L1ANumber
uint16_t L1ANumber() const
Definition:
CSCTMBHeader.h:61
CSCTMBHeader::CorrelatedLCTDigis
std::vector< CSCCorrelatedLCTDigi > CorrelatedLCTDigis(uint32_t idlayer) const
returns CorrelatedLCT digis
Definition:
CSCTMBHeader.h:93
CSCTMBHeader::Bxn1Diff
uint16_t Bxn1Diff() const
Definition:
CSCTMBHeader.h:57
CSCTMBHeader::addCorrelatedLCT0
void addCorrelatedLCT0(const CSCCorrelatedLCTDigi &digi)
Definition:
CSCTMBHeader.h:125
CSCTMBHeader::add
void add(const std::vector< CSCCLCTDigi > &digis)
these methods need more brains to figure which one goes first
Definition:
CSCTMBHeader.cc:123
CSCTMBHeader::addCorrelatedLCT1
void addCorrelatedLCT1(const CSCCorrelatedLCTDigi &digi)
Definition:
CSCTMBHeader.h:128
CSCTMBHeader::NCFEBs
uint16_t NCFEBs() const
Definition:
CSCTMBHeader.h:77
CSCTMBHeader::addCLCT1
void addCLCT1(const CSCCLCTDigi &digi)
Definition:
CSCTMBHeader.h:122
CSCTMBHeader::theHeaderFormat
boost::shared_ptr< CSCVTMBHeaderFormat > theHeaderFormat
Definition:
CSCTMBHeader.h:148
CSCTMBHeader::setNCFEBs
void setNCFEBs(uint16_t ncfebs)
Definition:
CSCTMBHeader.h:81
CSCTMBHeader::setDebug
static void setDebug(const bool value)
Definition:
CSCTMBHeader.h:111
CSCALCTDigi.h
CSCTMBHeader::debug
static bool debug
Definition:
CSCTMBHeader.h:146
CSCTMBHeader::selfTest
static void selfTest()
tests that packing and unpacking give same results
Definition:
CSCTMBHeader.cc:173
CSCTMBHeader::data
unsigned short * data()
Definition:
CSCTMBHeader.h:106
CSCTMBHeader::ALCTOnly
uint16_t ALCTOnly() const
Definition:
CSCTMBHeader.h:47
CSCTMBHeader::Bxn0Diff
uint16_t Bxn0Diff() const
Definition:
CSCTMBHeader.h:54
CSCTMBHeader::operator<<
friend std::ostream & operator<<(std::ostream &os, const CSCTMBHeader &hdr)
Definition:
CSCTMBHeader.cc:237
CSCTMBHeader2007
Definition:
CSCTMBHeader2007.h:7
CSCCLCTDigi
Definition:
CSCCLCTDigi.h:15
CSCTMBHeader::ALCTMatchTime
uint16_t ALCTMatchTime() const
Definition:
CSCTMBHeader.h:41
CSCTMBHeader::sizeInWords
unsigned short int sizeInWords() const
Definition:
CSCTMBHeader.h:100
CSCTMBHeader::sizeInBytes
uint16_t sizeInBytes() const
Definition:
CSCTMBHeader.h:65
Exception.h
CSCTMBHeader::CLCTDigis
std::vector< CSCCLCTDigi > CLCTDigis(uint32_t idlayer)
returns CLCT digis
Definition:
CSCTMBHeader.h:87
CSCTMBStatusDigi
Definition:
CSCTMBStatusDigi.h:15
CSCTMBHeader::tmbHeader2006
CSCTMBHeader2006 tmbHeader2006() const
Definition:
CSCTMBHeader.cc:162
CSCTMBHeader::addCLCT0
void addCLCT0(const CSCCLCTDigi &digi)
Needed before data packing.
Definition:
CSCTMBHeader.h:121
CSCTMBHeader::check
bool check() const
Definition:
CSCTMBHeader.h:113
CSCTMBHeader::TMBMatch
uint16_t TMBMatch() const
Definition:
CSCTMBHeader.h:50
CSCVTMBHeaderFormat.h
CSCTMBHeader::FirmwareVersion
int FirmwareVersion() const
Definition:
CSCTMBHeader.h:34
CSCTMBHeader::addALCT1
void addALCT1(const CSCALCTDigi &digi)
Definition:
CSCTMBHeader.h:124
CSCCLCTDigi.h
CSCTMBHeader::CSCTMBHeader
CSCTMBHeader(int firmwareVersion, int firmwareRevision)
Definition:
CSCTMBHeader.cc:16
CSCTMBHeader2006
Definition:
CSCTMBHeader2006.h:7
CSCCorrelatedLCTDigi
Definition:
CSCCorrelatedLCTDigi.h:15
CSCTMBHeader::tmbHeader2013
CSCTMBHeader2013 tmbHeader2013() const
Definition:
CSCTMBHeader.cc:151
CSCTMBHeader
Definition:
CSCTMBHeader.h:21
CSCTMBHeader::addALCT0
void addALCT0(const CSCALCTDigi &digi)
Definition:
CSCTMBHeader.h:123
CSCDMBHeader
Definition:
CSCDMBHeader.h:15
Generated for CMSSW Reference Manual by
1.8.5