stablejet is hosted by Hepforge, IPPP Durham
StableJet
pythia6.h
1 /*
2  * A minimal C interface to Pythia 6.4
3  *
4  * I. Volobouev
5  * April 2008
6  */
7 
8 #ifndef PYTHIA6_H_
9 #define PYTHIA6_H_
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 /* The PYJETS common block -- main event record in PYTHIA
16  *
17  * n The number of particles in the event
18  *
19  * npad Unused
20  *
21  * k[0][i] Gives information on whether or not a parton or particle
22  * number i has fragmented or decayed
23  * k[1][i] Gives the particle code
24  * k[2][i] Gives the particle origin
25  * k[3,4][i] These give the positions of fragmentation/decay products
26  *
27  * p[0,1,2][i] These give the x, y, and z components of the momentum (GeV/c)
28  * p[3][i] Particle energy (GeV)
29  * p[4][i] Particle mass (GeV/c^2)
30  *
31  * v[0,1,2][i] Production vertex location (mm)
32  * v[3][i] Production vertex time (units mm/c, approximately 3.33e-12 s)
33  * v[4][i] Particle invariant lifetime (c*tau, distance from
34  * production to decay in mm)
35  */
36 extern struct {
37  int n, npad;
38  int k[5][4000];
39  double p[5][4000], v[5][4000];
40 } pyjets_;
41 
42 extern struct {
43  int idbmup[2];
44  double ebmup[2];
45  int pdfgup[2], pdfsup[2], idwtup, nprup;
46  double xsecup[100], xerrup[100], xmaxup[100];
47  int lprup[100];
48 } heprup_;
49 
50 extern struct {
51  int nup, idprup;
52  double xwgtup, scalup, aqedup, aqcdup;
53  int idup[500], istup[500], mothup[500][2], icolup[500][2];
54  double pup[500][5], vtimup[500], spinup[500];
55 } hepeup_;
56 
57 // Functions with C-style semantics equivalent to
58 // their corresponding Fortran analogs
59 void pyinit(const char*, const char*, const char*, double);
60 void pygive(const char*);
61 void pyupin(void);
62 void pyupev(void);
63 void pyevnt(void);
64 void pyevnw(void);
65 void pylist(int);
66 void pystat(int);
67 void pyedit(int);
68 void py1ent(int, int, double e, double theta, double phi);
69 void py2ent(int, int, int, double ecms);
70 void pyname(int, char name[16]);
71 double pyr(void);
72 double pymass(int);
73 void pyexec(void);
74 void pyshow(int ip1, int ip2, double qmax);
75 
76 /* The following function returns three times the charge of a particle */
77 int pychge(int);
78 
79 #ifdef __cplusplus
80 }
81 #endif
82 
83 #endif /* PYTHIA6_H_ */