ATLAS Offline Software
HepMCReadFromFile.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRUTHIO_HEPMCREADFROMFILE_H
6 #define TRUTHIO_HEPMCREADFROMFILE_H
7 
10 #include <memory>
11 
12 class StoreGateSvc;
13 
14 class HepMCReadFromFile : public GenBase {
15 public:
16 
17  HepMCReadFromFile(const std::string& name, ISvcLocator* pSvcLocator);
18  virtual StatusCode initialize() override;
19  virtual StatusCode execute() override;
20  virtual StatusCode finalize() override;
21 
22 private:
23 
24  std::string m_input_file;
26  double m_sum_xs;
27 
28 #ifdef HEPMC3
29  std::shared_ptr<HepMC3::Reader> m_hepmcio;
30 #else
31  std::unique_ptr<HepMC::IO_GenEvent> m_hepmcio;
32 #endif
33 };
34 
35 #endif
HepMCReadFromFile::m_input_file
std::string m_input_file
Definition: HepMCReadFromFile.h:24
HepMCReadFromFile::HepMCReadFromFile
HepMCReadFromFile(const std::string &name, ISvcLocator *pSvcLocator)
Definition: HepMCReadFromFile.cxx:17
IO_GenEvent.h
HepMCReadFromFile::m_hepmcio
std::unique_ptr< HepMC::IO_GenEvent > m_hepmcio
Definition: HepMCReadFromFile.h:31
HepMCReadFromFile::initialize
virtual StatusCode initialize() override
Definition: HepMCReadFromFile.cxx:26
HepMCReadFromFile::execute
virtual StatusCode execute() override
Definition: HepMCReadFromFile.cxx:40
HepMCReadFromFile::finalize
virtual StatusCode finalize() override
Definition: HepMCReadFromFile.cxx:95
HepMCReadFromFile
Definition: HepMCReadFromFile.h:14
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:120
GenBase
Base class for common behaviour of MC truth algorithms.
Definition: GenBase.h:47
HepMCReadFromFile::m_event_number
int m_event_number
Definition: HepMCReadFromFile.h:25
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
HepMCReadFromFile::m_sum_xs
double m_sum_xs
Definition: HepMCReadFromFile.h:26
GenBase.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240