CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Pythia6Service.h
Go to the documentation of this file.
1 #ifndef gen_Pythia6Service_h
2 #define gen_Pythia6Service_h
3 
4 #include <vector>
5 
8 
10 
11 // #include "HepMC/PythiaWrapper6_2.h"
12 
13 namespace CLHEP
14 {
15  class HepRandomEngine;
16 }
17 
18 namespace gen
19 {
20 
21  // the callbacks from Pythia which are passed on to the Pythia6Service
22  extern "C" {
23  double pyr_(int* idummy);
24  }
25 
27  {
28  public:
29  // ctor & dtor
32  ~Pythia6Service() ;
33 
34  void setGeneralParams();
35  void setCSAParams();
36  void setSLHAParams();
37  void setPYUPDAParams(bool afterPyinit);
38  void setSLHAFromHeader( const std::vector<std::string> &lines );
39 
40  void openSLHA( const char* );
41  void closeSLHA();
42  void openPYUPDA( const char*, bool write_file );
43  void closePYUPDA();
44 
45  // initialise Pythia on first call from "dummy" instance
46  virtual void enter();
47 
48  void setRandomEngine(CLHEP::HepRandomEngine* v) { fRandomEngine = v; }
49 
50  private:
51  friend double gen::pyr_(int*);
52 
54 
55  CLHEP::HepRandomEngine* fRandomEngine;
56 
57  std::vector<std::string> fParamGeneral;
58  std::vector<std::string> fParamCSA;
59  std::vector<std::string> fParamSLHA;
60  std::vector<std::string> fParamPYUPDA;
61  int fUnitSLHA;
63 
65  };
66 
67 }
68 
69 #endif
double v[5][pyjets_maxn]
void setSLHAFromHeader(const std::vector< std::string > &lines)
std::vector< std::string > fParamPYUPDA
virtual void enter()
void setPYUPDAParams(bool afterPyinit)
std::vector< std::string > fParamGeneral
static Pythia6Service * fPythia6Owner
CLHEP::HepRandomEngine * fRandomEngine
std::vector< std::string > fParamCSA
void openSLHA(const char *)
void setRandomEngine(CLHEP::HepRandomEngine *v)
void openPYUPDA(const char *, bool write_file)
std::vector< std::string > fParamSLHA
double pyr_(int *idummy)