CMS 3D CMS Logo

SiStripDigiToRaw.h
Go to the documentation of this file.
1 
2 #ifndef EventFilter_SiStripRawToDigi_SiStripDigiToRaw_H
3 #define EventFilter_SiStripRawToDigi_SiStripDigiToRaw_H
4 
10 #include <string>
11 
13 #include "WarningSummary.h"
14 #include <cstdint>
15 
16 class SiStripFedCabling;
18 class SiStripDigi;
19 class SiStripRawDigi;
20 
21 namespace sistrip {
22 
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&,
39  std::unique_ptr<FEDRawDataCollection>& buffers);
40  void createFedBuffers(edm::Event&,
43  std::unique_ptr<FEDRawDataCollection>& buffers);
44 
45  //with input raw data for copying header
46  void createFedBuffers(edm::Event&,
50  std::unique_ptr<FEDRawDataCollection>& buffers);
51  void createFedBuffers(edm::Event&,
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&,
66  std::unique_ptr<FEDRawDataCollection>& buffers,
67  bool zeroSuppressed);
68 
69  template <class Digi_t>
70  void createFedBuffers_(edm::Event&,
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,
81 
83  uint8_t packetCode_;
84  bool useFedKey_;
86 
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