LDMX Software
HepMCReader.h
Go to the documentation of this file.
1
7#ifndef SIMCORE_HEPMCREADER_H_
8#define SIMCORE_HEPMCREADER_H_
9
10// LDMX
11#include "Framework/Logger.h"
13
14// HepMC3
15#include "HepMC3/Reader.h"
16
17// STL
18#include <memory>
19#include <string>
20
21namespace simcore::hepmc {
22
28 public:
33 HepMCReader(std::string& fileName);
34
38 virtual ~HepMCReader() = default;
39
44 std::unique_ptr<HepMCEvent> readNextEvent();
45
46 private:
50 std::shared_ptr<HepMC3::Reader> reader_;
51
55 mutable int event_counter_{0};
56
57 // enable logging
58 enableLogging("HepMCReader")
59};
60
61} // namespace simcore::hepmc
62
63#endif
Class defining a HepMC event with a list of particles.
Reads HepMC event data into a HepMCEvent object.
Definition HepMCReader.h:27
virtual ~HepMCReader()=default
Class destructor.
HepMCReader(std::string &fileName)
Class constructor.
std::shared_ptr< HepMC3::Reader > reader_
The HepMC3 reader.
Definition HepMCReader.h:50
std::unique_ptr< HepMCEvent > readNextEvent()
Read the next event.
int event_counter_
Event counter for tracking progress.
Definition HepMCReader.h:55