CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Py8InterfaceBase.h
Go to the documentation of this file.
1 #ifndef gen_Py8InterfaceBase_h
2 #define gen_Py8InterfaceBase_h
3 
4 #include <vector>
5 #include <string>
6 
8 
9 #include <Pythia8/Pythia.h>
10 #include <Pythia8Plugins/HepMC2.h>
11 
12 namespace gen {
13 
15 
16  public:
17 
20 
21  virtual bool generatePartonsAndHadronize() = 0;
22  bool decay() { return true; } // NOT used - let's call it "design imperfection"
23  bool readSettings( int ); // common func
24  virtual bool initializeForInternalPartons() = 0;
25  bool declareStableParticles( const std::vector<int>& ); // common func
26  bool declareSpecialSettings( const std::vector<std::string>& ); // common func
27  virtual void finalizeEvent() = 0;
28  virtual void statistics();
29  virtual const char* classname() const = 0;
30 
31  protected:
32 
33  std::auto_ptr<Pythia8::Pythia> fMasterGen;
34  std::auto_ptr<Pythia8::Pythia> fDecayer;
35  HepMC::Pythia8ToHepMC toHepMC;
37 
38  unsigned int pythiaPylistVerbosity;
40  unsigned int maxEventsToPrint;
41 
42  };
43 
44 }
45 
46 #endif
bool declareSpecialSettings(const std::vector< std::string > &)
virtual bool initializeForInternalPartons()=0
ParameterCollector fParameters
std::auto_ptr< Pythia8::Pythia > fMasterGen
Py8InterfaceBase(edm::ParameterSet const &ps)
virtual void finalizeEvent()=0
virtual bool generatePartonsAndHadronize()=0
unsigned int pythiaPylistVerbosity
bool declareStableParticles(const std::vector< int > &)
unsigned int maxEventsToPrint
std::auto_ptr< Pythia8::Pythia > fDecayer
virtual const char * classname() const =0
HepMC::Pythia8ToHepMC toHepMC