CMS 3D CMS Logo

EvtGenInterfaceBase.h
Go to the documentation of this file.
1 #ifndef gen_EvtGenInterface_EvtGenInterfaceBase_h
2 #define gen_EvtGenInterface_EvtGenInterfaceBase_h
3 
6 #include "HepMC/GenEvent.h"
7 #include <vector>
8 
9 namespace CLHEP {
10  class HepRandomEngine;
11 }
12 
13 namespace gen {
15  public:
17  virtual ~EvtGenInterfaceBase(){};
18 
19  virtual void SetPhotosDecayRandomEngine(CLHEP::HepRandomEngine* decayRandomEngine){};
20  virtual void init(){};
21  virtual const std::vector<int>& operatesOnParticles() { return m_PDGs; }
22  virtual const std::vector<std::string>& specialSettings() { return fSpecialSettings; }
23  virtual HepMC::GenEvent* decay(HepMC::GenEvent* evt) { return evt; }
24  virtual void setRandomEngine(CLHEP::HepRandomEngine* v) = 0;
25 
26  protected:
27  std::vector<int> m_PDGs;
28  std::vector<std::string> fSpecialSettings;
29  };
30 } // namespace gen
31 
32 #endif
CLHEP::HepRandomEngine * decayRandomEngine
virtual void SetPhotosDecayRandomEngine(CLHEP::HepRandomEngine *decayRandomEngine)
virtual const std::vector< std::string > & specialSettings()
virtual const std::vector< int > & operatesOnParticles()
virtual HepMC::GenEvent * decay(HepMC::GenEvent *evt)
std::vector< std::string > fSpecialSettings