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  };
31 }
32 
33 #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