Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
_
a
d
e
f
l
m
o
p
s
t
u
v
Related Functions
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Package Documentation
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
EventFilter
CSCRawToDigi
src
CSCDMBHeader.cc
Go to the documentation of this file.
1
#include "
EventFilter/CSCRawToDigi/interface/CSCDMBHeader.h
"
2
#include "
EventFilter/CSCRawToDigi/interface/CSCDMBHeader2005.h
"
3
#include "
EventFilter/CSCRawToDigi/interface/CSCDMBHeader2013.h
"
4
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
5
#include <iostream>
6
7
CSCDMBHeader::CSCDMBHeader
(uint16_t firmware_version) : theHeaderFormat(), theFirmwareVersion(firmware_version) {
8
if
(
theFirmwareVersion
== 2013) {
9
theHeaderFormat
= std::make_shared<CSCDMBHeader2013>();
10
}
else
{
11
theHeaderFormat
= std::make_shared<CSCDMBHeader2005>();
12
}
13
}
14
15
CSCDMBHeader::CSCDMBHeader
(
const
uint16_t *
buf
, uint16_t firmware_version)
16
: theHeaderFormat(), theFirmwareVersion(firmware_version) {
17
if
(
theFirmwareVersion
== 2013) {
18
theHeaderFormat
= std::make_shared<CSCDMBHeader2013>(
buf
);
19
}
else
{
20
theHeaderFormat
= std::make_shared<CSCDMBHeader2005>(
buf
);
21
}
22
}
23
24
CSCDMBHeader2005
CSCDMBHeader::dmbHeader2005
()
const
{
25
const
CSCDMBHeader2005
*
result
= dynamic_cast<const CSCDMBHeader2005 *>(
theHeaderFormat
.get());
26
if
(
result
==
nullptr
) {
27
throw
cms::Exception
(
"Could not get 2005 DMB header format"
);
28
}
29
return
*
result
;
30
}
31
32
CSCDMBHeader2013
CSCDMBHeader::dmbHeader2013
()
const
{
33
const
CSCDMBHeader2013
*
result
= dynamic_cast<const CSCDMBHeader2013 *>(
theHeaderFormat
.get());
34
if
(
result
==
nullptr
) {
35
throw
cms::Exception
(
"Could not get 2013 DMB header format"
);
36
}
37
return
*
result
;
38
}
MessageLogger.h
CSCDMBHeader2013.h
CSCDMBHeader.h
CSCDMBHeader::CSCDMBHeader
CSCDMBHeader(uint16_t firmware_version=2005)
Definition:
CSCDMBHeader.cc:7
CSCDMBHeader::dmbHeader2005
CSCDMBHeader2005 dmbHeader2005() const
will throw if the cast fails
Definition:
CSCDMBHeader.cc:24
CSCDMBHeader2005.h
CSCDMBHeader2005
Definition:
CSCDMBHeader2005.h:10
CSCDMBHeader::dmbHeader2013
CSCDMBHeader2013 dmbHeader2013() const
Definition:
CSCDMBHeader.cc:32
visDQMUpload.buf
buf
Definition:
visDQMUpload.py:154
CSCDMBHeader::theHeaderFormat
std::shared_ptr< CSCVDMBHeaderFormat > theHeaderFormat
Definition:
CSCDMBHeader.h:63
Exception
Definition:
hltDiff.cc:245
CSCDMBHeader::theFirmwareVersion
int theFirmwareVersion
Definition:
CSCDMBHeader.h:64
CSCDMBHeader2013
Definition:
CSCDMBHeader2013.h:43
mps_fire.result
result
Definition:
mps_fire.py:311
Generated for CMSSW Reference Manual by
1.8.16