EventFilter
SiStripRawToDigi
plugins
SiStripDigiToRaw.h
Go to the documentation of this file.
1
2
#ifndef EventFilter_SiStripRawToDigi_SiStripDigiToRaw_H
3
#define EventFilter_SiStripRawToDigi_SiStripDigiToRaw_H
4
5
#include "
DataFormats/Common/interface/Handle.h
"
6
#include "
DataFormats/Common/interface/DetSetVector.h
"
7
#include "
FWCore/Framework/interface/ESHandle.h
"
8
#include "
FWCore/Framework/interface/Event.h
"
9
#include "
FWCore/Utilities/interface/Visibility.h
"
10
#include <string>
11
12
#include "
EventFilter/SiStripRawToDigi/interface/SiStripFEDBufferGenerator.h
"
13
#include "
WarningSummary.h
"
14
#include <cstdint>
15
16
class
SiStripFedCabling
;
17
class
FEDRawDataCollection
;
18
class
SiStripDigi
;
19
class
SiStripRawDigi
;
20
21
namespace
sistrip
{
22
30
class
dso_hidden
DigiToRaw
{
31
public
:
// ----- public interface -----
32
DigiToRaw
(
FEDReadoutMode
mode
, uint8_t packetCode,
bool
use_fed_key);
33
~
DigiToRaw
();
34
35
//digi to raw with default headers
36
void
createFedBuffers(
edm::Event
&,
37
edm::ESHandle<SiStripFedCabling>
& cabling,
38
edm::Handle
<
edm::DetSetVector<SiStripDigi>
>& digis,
39
std::unique_ptr<FEDRawDataCollection>& buffers);
40
void
createFedBuffers(
edm::Event
&,
41
edm::ESHandle<SiStripFedCabling>
& cabling,
42
edm::Handle
<
edm::DetSetVector<SiStripRawDigi>
>& digis,
43
std::unique_ptr<FEDRawDataCollection>& buffers);
44
45
//with input raw data for copying header
46
void
createFedBuffers(
edm::Event
&,
47
edm::ESHandle<SiStripFedCabling>
& cabling,
48
edm::Handle<FEDRawDataCollection>
& rawbuffers,
49
edm::Handle
<
edm::DetSetVector<SiStripDigi>
>& digis,
50
std::unique_ptr<FEDRawDataCollection>& buffers);
51
void
createFedBuffers(
edm::Event
&,
52
edm::ESHandle<SiStripFedCabling>
& cabling,
53
edm::Handle<FEDRawDataCollection>
& rawbuffers,
54
edm::Handle
<
edm::DetSetVector<SiStripRawDigi>
>& digis,
55
std::unique_ptr<FEDRawDataCollection>& buffers);
56
57
inline
void
fedReadoutMode
(
FEDReadoutMode
mode
) { mode_ =
mode
; }
58
59
void
printWarningSummary
()
const
{ warnings_.printSummary(); }
60
61
private
:
// ----- private data members -----
62
template
<
class
Digi_t>
63
void
createFedBuffers_(
edm::Event
&,
64
edm::ESHandle<SiStripFedCabling>
& cabling,
65
edm::Handle
<
edm::DetSetVector<Digi_t>
>& digis,
66
std::unique_ptr<FEDRawDataCollection>& buffers,
67
bool
zeroSuppressed
);
68
69
template
<
class
Digi_t>
70
void
createFedBuffers_(
edm::Event
&,
71
edm::ESHandle<SiStripFedCabling>
& cabling,
72
edm::Handle<FEDRawDataCollection>
& rawbuffers,
73
edm::Handle
<
edm::DetSetVector<Digi_t>
>& digis,
74
std::unique_ptr<FEDRawDataCollection>& buffers,
75
bool
zeroSuppressed
);
76
77
uint16_t STRIP(
const
edm::DetSet<SiStripDigi>::const_iterator
& it,
78
const
edm::DetSet<SiStripDigi>::const_iterator
& begin)
const
;
79
uint16_t STRIP(
const
edm::DetSet<SiStripRawDigi>::const_iterator
& it,
80
const
edm::DetSet<SiStripRawDigi>::const_iterator
& begin)
const
;
81
82
FEDReadoutMode
mode_
;
83
uint8_t
packetCode_
;
84
bool
useFedKey_
;
85
FEDBufferGenerator
bufferGenerator_
;
86
87
WarningSummary
warnings_
;
88
};
89
90
}
// namespace sistrip
91
92
#endif // EventFilter_SiStripRawToDigi_SiStripDigiToRaw_H
edm::DetSetVector< SiStripDigi >
Handle.h
Visibility.h
apvshotsanalyzer_cfi.zeroSuppressed
zeroSuppressed
Definition:
apvshotsanalyzer_cfi.py:8
sistrip::DigiToRaw
Input: edm::DetSetVector<SiStripDigi>. Output: FEDRawDataCollection.
Definition:
SiStripDigiToRaw.h:30
ESHandle.h
DigiToRaw_cff.DigiToRaw
DigiToRaw
Definition:
DigiToRaw_cff.py:23
FEDRawDataCollection
Definition:
FEDRawDataCollection.h:18
sistrip::DigiToRaw::mode_
FEDReadoutMode mode_
Definition:
SiStripDigiToRaw.h:82
ALCARECOPromptCalibProdSiPixelAli0T_cff.mode
mode
Definition:
ALCARECOPromptCalibProdSiPixelAli0T_cff.py:96
SiStripFedCabling
Contains cabling info at the device level, including DetId, APV pair numbers, hardware addresses,...
Definition:
SiStripFedCabling.h:25
edm::Handle
Definition:
AssociativeIterator.h:50
sistrip::FEDReadoutMode
FEDReadoutMode
Definition:
SiStripFEDBufferComponents.h:45
sistrip::DigiToRaw::fedReadoutMode
void fedReadoutMode(FEDReadoutMode mode)
Definition:
SiStripDigiToRaw.h:57
sistrip::DigiToRaw::useFedKey_
bool useFedKey_
Definition:
SiStripDigiToRaw.h:84
SiStripRawDigi
A Digi for the silicon strip detector, containing only adc information, and suitable for storing raw ...
Definition:
SiStripRawDigi.h:15
edm::ESHandle< SiStripFedCabling >
sistrip::DigiToRaw::packetCode_
uint8_t packetCode_
Definition:
SiStripDigiToRaw.h:83
dso_hidden
#define dso_hidden
Definition:
Visibility.h:12
sistrip::FEDBufferGenerator
Definition:
SiStripFEDBufferGenerator.h:126
WarningSummary.h
Event.h
SiStripFEDBufferGenerator.h
sistrip::DigiToRaw::warnings_
WarningSummary warnings_
Definition:
SiStripDigiToRaw.h:87
DetSetVector.h
sistrip::WarningSummary
Definition:
WarningSummary.h:8
sistrip::DigiToRaw::printWarningSummary
void printWarningSummary() const
Definition:
SiStripDigiToRaw.h:59
SiStripDigi
A Digi for the silicon strip detector, containing both strip and adc information, and suitable for st...
Definition:
SiStripDigi.h:12
sistrip
sistrip classes
Definition:
SiStripQualityHelpers.h:14
edm::Event
Definition:
Event.h:73
sistrip::DigiToRaw::bufferGenerator_
FEDBufferGenerator bufferGenerator_
Definition:
SiStripDigiToRaw.h:85
edm::DetSet::const_iterator
collection_type::const_iterator const_iterator
Definition:
DetSet.h:31
Generated for CMSSW Reference Manual by
1.8.16