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#include "HepMC3/ReaderAscii.h"
17#include "HepMC3/ReaderAsciiHepMC2.h"
18
19// STL
20#include <memory>
21#include <string>
22
23namespace simcore::hepmc {
24
30 public:
35 HepMCReader(std::string& fileName);
36
40 virtual ~HepMCReader() = default;
41
46 std::unique_ptr<HepMCEvent> readNextEvent();
47
48 private:
52 std::shared_ptr<HepMC3::Reader> reader_;
53
57 mutable int event_counter_{0};
58
59 // enable logging
60 enableLogging("HepMCReader")
61};
62
63} // namespace simcore::hepmc
64
65#endif
Class defining a HepMC event with a list of particles.
Reads HepMC event data into a HepMCEvent object.
Definition HepMCReader.h:29
virtual ~HepMCReader()=default
Class destructor.
HepMCReader(std::string &fileName)
Class constructor.
std::shared_ptr< HepMC3::Reader > reader_
The HepMC3 reader.
Definition HepMCReader.h:52
std::unique_ptr< HepMCEvent > readNextEvent()
Read the next event.
int event_counter_
Event counter for tracking progress.
Definition HepMCReader.h:57