CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HijingPythiaWrapper.h
Go to the documentation of this file.
1 #ifndef gen_HijingPythiaWrapper_h
2 #define gen_HijingPythiaWrapper_h
3 
4 #include "HepMC/PythiaWrapper6_2.h"
5 
6  extern "C"
7  {
8  void py1ent_(int& ip, int& kf, double& pe, double& the, double& phi);
9  double pymass_(int& );
10  void pyexec_();
11  int pycomp_(int& );
12  void pyglfr_();
13  void pyglrhad_();
14  void pystlfr_();
15  void pystrhad_();
16  void pygive_(const char*, int );
17  void pydecy_( int& ip ) ;
18  void pyrobo_( int&, int&, double&, double&, double&, double&, double& );
19 
20  void txgive_(const char*, int );
21  void txgive_init_(void);
22 
23  static bool call_pygive(const std::string &line)
24  {
25  int numWarn = pydat1.mstu[26]; // # warnings
26  int numErr = pydat1.mstu[22]; // # errors
27 
28  pygive_(line.c_str(), line.length());
29 
30  return pydat1.mstu[26] == numWarn &&
31  pydat1.mstu[22] == numErr;
32  }
33  }
34 
35 #define PYCOMP pycomp_
36 extern "C" {
37  int PYCOMP(int& length);
38 }
39 
40 #define LUGIVE pygive_
41 extern "C" {
42  void LUGIVE(const char*,int length);
43 }
44 
45 #include "CLHEP/Random/RandomEngine.h"
46 extern CLHEP::HepRandomEngine* randomEngine;
47 extern "C" {
48  double pyr_(int* idummy);
49 }
50 
51 CLHEP::HepRandomEngine* randomEngine;
52 
53 double pyr_(int *idummy)
54 {
55  // getInstance will throw if no one used enter/leave
56  // or this is the wrong caller class, like e.g. Herwig6Instance
57  return randomEngine->flat();
58 }
59 
60 #endif
#define pydat1
void pystlfr_()
void pystrhad_()
double pyr_(int *idummy)
Definition: PYR.cc:7
void txgive_init_(void)
void pydecy_(int &ip)
static bool call_pygive(const std::string &line)
int pycomp_(int &)
#define PYCOMP
void pyglfr_()
CLHEP::HepRandomEngine * randomEngine
Definition: PYR.cc:4
void py1ent_(int &ip, int &kf, double &pe, double &the, double &phi)
void pyglrhad_()
void pygive_(const char *, int)
double pymass_(int &)
#define LUGIVE
void pyexec_()
void txgive_(const char *, int)
void pyrobo_(int &, int &, double &, double &, double &, double &, double &)
Definition: DDAxes.h:10