File indexing completed on 2024-06-01 07:06:54
0001
0002
0003
0004
0005 #pragma once
0006
0007 #include <JANA/JApplication.h>
0008 #include <JANA/JEvent.h>
0009 #include <JANA/JEventSource.h>
0010 #include <JANA/JEventSourceGeneratorT.h>
0011 #include <podio/ROOTFrameReader.h>
0012 #include <stddef.h>
0013 #include <memory>
0014 #include <set>
0015 #include <string>
0016
0017 class JEventSourcePODIO : public JEventSource {
0018
0019 public:
0020 JEventSourcePODIO(std::string resource_name, JApplication* app);
0021
0022 virtual ~JEventSourcePODIO();
0023
0024 void Open() override;
0025
0026 void Close() override;
0027
0028 void GetEvent(std::shared_ptr<JEvent>) override;
0029
0030 static std::string GetDescription();
0031
0032 void PrintCollectionTypeTable(void);
0033
0034 protected:
0035 podio::ROOTFrameReader m_reader;
0036 size_t Nevents_in_file = 0;
0037 size_t Nevents_read = 0;
0038
0039 std::string m_include_collections_str;
0040 std::string m_exclude_collections_str;
0041 std::set<std::string> m_INPUT_INCLUDE_COLLECTIONS;
0042 std::set<std::string> m_INPUT_EXCLUDE_COLLECTIONS;
0043 bool m_run_forever=false;
0044
0045 };
0046
0047 template <>
0048 double JEventSourceGeneratorT<JEventSourcePODIO>::CheckOpenable(std::string);