CMS 3D CMS Logo

FRDStreamSource.h
Go to the documentation of this file.
1 #ifndef EventFilter_Utilities_FRDStreamSource_h
2 #define EventFilter_Utilities_FRDStreamSource_h
3 
9 
11 
14 
15 #include <unistd.h>
16 #include <string>
17 #include <vector>
18 #include <fstream>
19 
21 public:
22  // construction/destruction
24  ~FRDStreamSource() override {}
25 
26 private:
27  // member functions
29  edm::TimeValue_t& theTime,
30  edm::EventAuxiliary::ExperimentType& eType) override;
31  void produce(edm::Event& e) override;
32 
33  bool openFile(const std::string& fileName);
34 
35 private:
36  // member data
37  std::vector<std::string> fileNames_;
38  std::vector<std::string>::const_iterator itFileName_;
39  std::vector<std::string>::const_iterator endFileName_;
40  std::ifstream fin_;
41  std::unique_ptr<FEDRawDataCollection> rawData_;
42  std::vector<char> buffer_;
43  const bool verifyAdler32_;
44  const bool verifyChecksum_;
45  const bool useL1EventID_;
46  uint16_t detectedFRDversion_ = 0;
47  uint16_t flags_ = 0;
48 };
49 
50 #endif // EventFilter_Utilities_FRDStreamSource_h
std::ifstream fin_
std::vector< std::string > fileNames_
std::unique_ptr< FEDRawDataCollection > rawData_
void produce(edm::Event &e) override
std::vector< char > buffer_
~FRDStreamSource() override
const bool useL1EventID_
bool setRunAndEventInfo(edm::EventID &id, edm::TimeValue_t &theTime, edm::EventAuxiliary::ExperimentType &eType) override
bool openFile(const std::string &fileName)
unsigned long long TimeValue_t
Definition: Timestamp.h:21
std::vector< std::string >::const_iterator itFileName_
const bool verifyChecksum_
std::vector< std::string >::const_iterator endFileName_
const bool verifyAdler32_
uint16_t detectedFRDversion_
FRDStreamSource(edm::ParameterSet const &pset, edm::InputSourceDescription const &desc)