File indexing completed on 2025-04-19 09:10:14
0001 #ifndef SHERPA_Tools_Event_Reader_Base_H
0002 #define SHERPA_Tools_Event_Reader_Base_H
0003
0004 #include "ATOOLS/Phys/Blob_List.H"
0005 #include "ATOOLS/Org/Getter_Function.H"
0006
0007 namespace ATOOLS { class Variations; }
0008
0009 namespace MODEL { class Model_Base; }
0010
0011 namespace PDF { class ISR_Handler; }
0012
0013 namespace YFS { class YFS_Handler; }
0014
0015 namespace SHERPA {
0016
0017 struct Input_Arguments {
0018 std::string m_inpath, m_infile;
0019 MODEL::Model_Base *p_model;
0020 PDF::ISR_Handler *p_isr;
0021 YFS::YFS_Handler *p_yfs;
0022 Input_Arguments(const std::string inpath,
0023 const std::string infile,
0024 MODEL::Model_Base *const model,
0025 PDF::ISR_Handler *const isr,
0026 YFS::YFS_Handler *const yfs):
0027 m_inpath(inpath), m_infile(infile),
0028 p_model(model), p_isr(isr), p_yfs(yfs) {}
0029 };
0030
0031 class Event_Reader_Base {
0032 public:
0033 typedef ATOOLS::Getter_Function
0034 <Event_Reader_Base,Input_Arguments> Getter_Function;
0035 protected:
0036 std::string m_path, m_file;
0037
0038 ATOOLS::Variations * p_variations;
0039
0040 public:
0041 Event_Reader_Base(const Input_Arguments &args)
0042 : m_path(args.m_inpath), m_file(args.m_infile), p_variations(NULL) {}
0043 virtual ~Event_Reader_Base();
0044 virtual bool FillBlobs(ATOOLS::Blob_List *)=0;
0045
0046 std::string GetPath() { return m_path; }
0047
0048 void SetVariations(ATOOLS::Variations * v) { p_variations = v; }
0049 };
0050 }
0051
0052 #endif