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>::const_iterator itFileName_;
38  std::ifstream fin_;
39  std::unique_ptr<FEDRawDataCollection> rawData_;
40  std::vector<char> buffer_;
41  const bool verifyAdler32_;
42  const bool verifyChecksum_;
43  const bool useL1EventID_;
44  unsigned int detectedFRDversion_ = 0;
45 };
46 
47 #endif // EventFilter_Utilities_FRDStreamSource_h
unsigned int detectedFRDversion_
std::ifstream fin_
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:28
std::vector< std::string >::const_iterator itFileName_
const bool verifyChecksum_
const bool verifyAdler32_
FRDStreamSource(edm::ParameterSet const &pset, edm::InputSourceDescription const &desc)