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
void fedReadoutMode(FEDReadoutMode mode)
Input: edm::DetSetVector<SiStripDigi>. Output: FEDRawDataCollection.
WarningSummary warnings_
sistrip classes
A Digi for the silicon strip detector, containing both strip and adc information, and suitable for st...
Definition: SiStripDigi.h:12
#define dso_hidden
Definition: Visibility.h:12
FEDReadoutMode mode_
void printWarningSummary() const
Contains cabling info at the device level, including DetId, APV pair numbers, hardware addresses...
collection_type::const_iterator const_iterator
Definition: DetSet.h:31
A Digi for the silicon strip detector, containing only adc information, and suitable for storing raw ...
FEDBufferGenerator bufferGenerator_