Main Page
Namespaces
Classes
Package Documentation
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
8
CSCDMBHeader::CSCDMBHeader
(uint16_t firmware_version)
9
: theHeaderFormat(), theFirmwareVersion(firmware_version)
10
{
11
12
if
(
theFirmwareVersion
== 2013) {
13
theHeaderFormat
= std::make_shared<CSCDMBHeader2013>();
14
}
else
{
15
theHeaderFormat
= std::make_shared<CSCDMBHeader2005>();
16
}
17
18
}
19
20
CSCDMBHeader::CSCDMBHeader
(
const
uint16_t * buf, uint16_t firmware_version)
21
:
theHeaderFormat
(),
theFirmwareVersion
(firmware_version)
22
{
23
if
(
theFirmwareVersion
== 2013) {
24
theHeaderFormat
= std::make_shared<CSCDMBHeader2013>(buf);
25
}
else
{
26
theHeaderFormat
= std::make_shared<CSCDMBHeader2005>(buf);
27
}
28
}
29
30
CSCDMBHeader2005
CSCDMBHeader::dmbHeader2005
()
const
{
31
const
CSCDMBHeader2005
*
result
=
dynamic_cast<
const
CSCDMBHeader2005
*
>
(
theHeaderFormat
.get());
32
if
(result ==
nullptr
)
33
{
34
throw
cms::Exception
(
"Could not get 2005 DMB header format"
);
35
}
36
return
*
result
;
37
}
38
39
40
CSCDMBHeader2013
CSCDMBHeader::dmbHeader2013
()
const
{
41
const
CSCDMBHeader2013
*
result
=
dynamic_cast<
const
CSCDMBHeader2013
*
>
(
theHeaderFormat
.get());
42
if
(result ==
nullptr
)
43
{
44
throw
cms::Exception
(
"Could not get 2013 DMB header format"
);
45
}
46
return
*
result
;
47
}
48
49
50
CSCDMBHeader::theFirmwareVersion
int theFirmwareVersion
Definition:
CSCDMBHeader.h:72
CSCDMBHeader2013
Definition:
CSCDMBHeader2013.h:44
MessageLogger.h
Exception
Definition:
hltDiff.cc:292
mps_fire.result
result
Definition:
mps_fire.py:291
CSCDMBHeader2005.h
CSCDMBHeader::dmbHeader2005
CSCDMBHeader2005 dmbHeader2005() const
will throw if the cast fails
Definition:
CSCDMBHeader.cc:30
CSCDMBHeader::theHeaderFormat
std::shared_ptr< CSCVDMBHeaderFormat > theHeaderFormat
Definition:
CSCDMBHeader.h:71
CSCDMBHeader.h
CSCDMBHeader::dmbHeader2013
CSCDMBHeader2013 dmbHeader2013() const
Definition:
CSCDMBHeader.cc:40
CSCDMBHeader::CSCDMBHeader
CSCDMBHeader(uint16_t firmware_version=2005)
Definition:
CSCDMBHeader.cc:8
CSCDMBHeader2005
Definition:
CSCDMBHeader2005.h:10
CSCDMBHeader2013.h
Generated for CMSSW Reference Manual by
1.8.11