Back to home page

EIC code displayed by LXR

 
 

    


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   };// end of struct Input_Arguments
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