Download
|
User Forum
|
Contact Us
|
Bug Reports
Home
>
Examples
Loading...
Searching...
No Matches
extended
eventgenerator
pythia
decayer6
include
Pythia6.hh
Go to the documentation of this file.
1
//
2
// ********************************************************************
3
// * License and Disclaimer *
4
// * *
5
// * The Geant4 software is copyright of the Copyright Holders of *
6
// * the Geant4 Collaboration. It is provided under the terms and *
7
// * conditions of the Geant4 Software License, included in the file *
8
// * LICENSE and available at http://cern.ch/geant4/license . These *
9
// * include a list of copyright holders. *
10
// * *
11
// * Neither the authors of this software system, nor their employing *
12
// * institutes,nor the agencies providing financial support for this *
13
// * work make any representation or warranty, express or implied, *
14
// * regarding this software system or assume any liability for its *
15
// * use. Please see the license in the file LICENSE and URL above *
16
// * for the full disclaimer and the limitation of liability. *
17
// * *
18
// * This code implementation is the result of the scientific and *
19
// * technical work of the GEANT4 collaboration. *
20
// * By using, copying, modifying or distributing the software (or *
21
// * any work based on the software) you agree to acknowledge its *
22
// * use in resulting scientific publications, and indicate your *
23
// * acceptance of all terms of the Geant4 Software license. *
24
// ********************************************************************
25
//
26
//
27
/// \file eventgenerator/pythia/decayer6/include/Pythia6.hh
28
/// \brief Definition of the Pythia6 class
29
30
//
31
// ----------------------------------------------------------------------------
32
33
// ******************************************************************************
34
// ******************************************************************************
35
// ** **
36
// ** **
37
// ** *......* Welcome to the Lund Monte Carlo! **
38
// ** *:::!!:::::::::::* **
39
// ** *::::::!!::::::::::::::* PPP Y Y TTTTT H H III A **
40
// ** *::::::::!!::::::::::::::::* P P Y Y T H H I A A **
41
// ** *:::::::::!!:::::::::::::::::* PPP Y T HHHHH I AAAAA **
42
// ** *:::::::::!!:::::::::::::::::* P Y T H H I A A **
43
// ** *::::::::!!::::::::::::::::*! P Y T H H III A A **
44
// ** *::::::!!::::::::::::::* !! **
45
// ** !! *:::!!:::::::::::* !! This is PYTHIA version 6.418 **
46
// ** !! !* -><- * !! Last date of change: 9 Jun 2008 **
47
// ** !! !! !! **
48
// ** !! !! !! Now is 0 Jan 2000 at 0:00:00 **
49
// ** !! !! **
50
// ** !! lh !! Disclaimer: this program comes **
51
// ** !! !! without any guarantees. Beware **
52
// ** !! hh !! of errors and use common sense **
53
// ** !! ll !! when interpreting results. **
54
// ** !! !! **
55
// ** !! Copyright T. Sjostrand (2008) **
56
// ** **
57
// ** An archive of program versions and documentation is found on the web: **
58
// ** http://www.thep.lu.se/~torbjorn/Pythia.html **
59
// ** **
60
// ** When you cite this program, the official reference is to the 6.4 manual: **
61
// ** T. Sjostrand, S. Mrenna and P. Skands, JHEP05 (2006) 026 **
62
// ** (LU TP 06-13, FERMILAB-PUB-06-052-CD-T) [hep-ph/0603175]. **
63
// ** **
64
// ** Also remember that the program, to a large extent, represents original **
65
// ** physics research. Other publications of special relevance to your **
66
// ** studies may therefore deserve separate mention. **
67
// ** **
68
// ** Main author: Torbjorn Sjostrand; Department of Theoretical Physics, **
69
// ** Lund University, Solvegatan 14A, S-223 62 Lund, Sweden; **
70
// ** phone: + 46 - 46 - 222 48 16; e-mail: torbjorn@thep.lu.se **
71
// ** Author: Stephen Mrenna; Computing Division, GDS Group, **
72
// ** Fermi National Accelerator Laboratory, MS 234, Batavia, IL 60510, USA; **
73
// ** phone: + 1 - 630 - 840 - 2556; e-mail: mrenna@fnal.gov **
74
// ** Author: Peter Skands; Theoretical Physics Department, **
75
// ** Fermi National Accelerator Laboratory, MS 106, Batavia, IL 60510, USA; **
76
// ** and CERN/PH, CH-1211 Geneva, Switzerland; **
77
// ** phone: + 41 - 22 - 767 24 59; e-mail: skands@fnal.gov **
78
// ** **
79
// ** **
80
// ******************************************************************************
81
82
#ifndef PYTHIA_Pythia6
83
#define PYTHIA_Pythia6
84
85
#include <vector>
86
87
int
const
KNDCAY
= 8000;
//should be 4000 for pythia61
88
89
/// PYJETS common-block
90
struct
Pyjets_t
91
{
92
int
N
;
93
int
NPAD
;
94
int
K
[5][4000];
95
double
P
[5][4000];
96
double
V
[5][4000];
97
};
98
99
/// PYDAT1 common-block
100
struct
Pydat1_t
101
{
102
int
MSTU
[200];
103
double
PARU
[200];
104
int
MSTJ
[200];
105
double
PARJ
[200];
106
};
107
108
/// PYDAT3 common-block
109
struct
Pydat3_t
110
{
111
int
MDCY
[3][500];
112
int
MDME
[2][
KNDCAY
];
113
double
BRAT
[
KNDCAY
];
114
int
KFDP
[5][
KNDCAY
];
115
};
116
117
/// Structure for Pythia6 particle properties
118
struct
Pythia6Particle
119
{
120
Pythia6Particle
(
121
int
ks,
int
kf,
int
parent,
int
firstChild,
int
lastChild,
122
float
px,
float
py,
float
pz,
float
energy,
float
mass,
123
float
vx,
float
vy,
float
vz,
float
time,
float
lifetime)
124
:
fKS
(ks),
fKF
(kf),
125
fParent
(parent),
fFirstChild
(firstChild),
fLastChild
(lastChild),
126
fPx
(px),
fPy
(py),
fPz
(pz),
fEnergy
(energy),
fMass
(mass),
127
fVx
(vx),
fVy
(vy),
fVz
(vz),
fTime
(time),
fLifetime
(lifetime) {}
128
129
int
fKS
;
// status of particle ( LUJETS K[1] )
130
int
fKF
;
// KF flavour code ( LUJETS K[2] )
131
int
fParent
;
// parrent's id ( LUJETS K[3] )
132
int
fFirstChild
;
// id of first child ( LUJETS K[4] )
133
int
fLastChild
;
// id of last child ( LUJETS K[5] )
134
135
float
fPx
;
// X momenta [GeV/c] ( LUJETS P[1] )
136
float
fPy
;
// Y momenta [GeV/c] ( LUJETS P[2] )
137
float
fPz
;
// Z momenta [GeV/c] ( LUJETS P[3] )
138
float
fEnergy
;
// Energy [GeV] ( LUJETS P[4] )
139
float
fMass
;
// Mass [Gev/c^2] ( LUJETS P[5] )
140
141
float
fVx
;
// X vertex [mm] ( LUJETS V[1] )
142
float
fVy
;
// Y vertex [mm] ( LUJETS V[2] )
143
float
fVz
;
// Z vertex [mm] ( LUJETS V[3] )
144
float
fTime
;
// time of procuction [mm/c]( LUJETS V[4] )
145
float
fLifetime
;
// proper lifetime [mm/c] ( LUJETS V[5] )
146
};
147
148
typedef
std::vector<Pythia6Particle*>
ParticleVector
;
149
150
/// The C++ interface class to Pythia6
151
///
152
/// According to TPythia6 class from Root:
153
/// (The TPythia6 class is an interface class to F77 routines in Pythia6 //
154
/// CERNLIB event generators, written by T.Sjostrand.)
155
/// http://root.cern.ch/
156
/// see http://root.cern.ch/root/License.html
157
///
158
/// The complete Pythia6 documentation can be found at:
159
/// http://home.thep.lu.se/~torbjorn/pythiaaux/recent.html
160
///
161
162
class
Pythia6
163
{
164
public
:
165
166
// ****** constructors and destructor
167
Pythia6
();
168
virtual
~Pythia6
();
169
170
static
Pythia6
*
Instance
();
171
172
// ****** TPYTHIA routines
173
//
174
int
Pycomp
(
int
kf);
175
void
Py1ent
(
int
line,
int
kf,
double
pe,
double
theta,
double
phi);
176
ParticleVector
*
ImportParticles
();
177
int
ImportParticles
(
ParticleVector
* particles,
const
char
* option=
""
);
178
179
// ****** /PYDAT1/
180
//
181
void
SetMSTJ
(
int
i,
int
m ) {
fPydat1
->
MSTJ
[i-1] = m; }
182
183
// ****** /PYDAT3/
184
//
185
int
GetMDCY
(
int
i,
int
j) {
return
fPydat3
->
MDCY
[j-1][i-1]; }
186
int
GetKFDP
(
int
i,
int
j) {
return
fPydat3
->
KFDP
[j-1][i-1]; }
187
void
SetMDCY
(
int
i,
int
j,
int
m) {
fPydat3
->
MDCY
[j-1][i-1] = m; }
188
void
SetMDME
(
int
i,
int
j,
int
m) {
fPydat3
->
MDME
[j-1][i-1] = m; }
189
190
private
:
191
static
Pythia6
*
fgInstance
;
192
193
ParticleVector
*
fParticles
;
194
Pyjets_t
*
fPyjets
;
195
Pydat1_t
*
fPydat1
;
196
Pydat3_t
*
fPydat3
;
197
};
198
199
#endif
200
ParticleVector
std::vector< Pythia6Particle * > ParticleVector
Definition
Pythia6.hh:148
KNDCAY
int const KNDCAY
Definition
Pythia6.hh:87
Pythia6
The C++ interface class to Pythia6.
Definition
Doxymodules_eventgenerator.h:117
Pythia6::GetKFDP
int GetKFDP(int i, int j)
Definition
Pythia6.hh:186
Pythia6::SetMDCY
void SetMDCY(int i, int j, int m)
Definition
Pythia6.hh:187
Pythia6::Instance
static Pythia6 * Instance()
Definition
Pythia6.cc:124
Pythia6::ImportParticles
ParticleVector * ImportParticles()
Pythia6::GetMDCY
int GetMDCY(int i, int j)
Definition
Pythia6.hh:185
Pythia6::fParticles
ParticleVector * fParticles
Definition
Pythia6.hh:193
Pythia6::~Pythia6
virtual ~Pythia6()
Definition
Pythia6.cc:168
Pythia6::fPydat3
Pydat3_t * fPydat3
Definition
Pythia6.hh:196
Pythia6::Pythia6
Pythia6()
Definition
Pythia6.cc:135
Pythia6::Pycomp
int Pycomp(int kf)
Definition
Pythia6.cc:183
Pythia6::SetMSTJ
void SetMSTJ(int i, int m)
Definition
Pythia6.hh:181
Pythia6::fgInstance
static Pythia6 * fgInstance
Definition
Pythia6.hh:191
Pythia6::fPydat1
Pydat1_t * fPydat1
Definition
Pythia6.hh:195
Pythia6::SetMDME
void SetMDME(int i, int j, int m)
Definition
Pythia6.hh:188
Pythia6::Py1ent
void Py1ent(int line, int kf, double pe, double theta, double phi)
Definition
Pythia6.cc:192
Pythia6::fPyjets
Pyjets_t * fPyjets
Definition
Pythia6.hh:194
Pydat1_t
PYDAT1 common-block.
Definition
Pythia6.hh:101
Pydat1_t::PARJ
double PARJ[200]
Definition
Pythia6.hh:105
Pydat1_t::MSTU
int MSTU[200]
Definition
Pythia6.hh:102
Pydat1_t::PARU
double PARU[200]
Definition
Pythia6.hh:103
Pydat1_t::MSTJ
int MSTJ[200]
Definition
Pythia6.hh:104
Pydat3_t
PYDAT3 common-block.
Definition
Pythia6.hh:110
Pydat3_t::KFDP
int KFDP[5][KNDCAY]
Definition
Pythia6.hh:114
Pydat3_t::BRAT
double BRAT[KNDCAY]
Definition
Pythia6.hh:113
Pydat3_t::MDME
int MDME[2][KNDCAY]
Definition
Pythia6.hh:112
Pydat3_t::MDCY
int MDCY[3][500]
Definition
Pythia6.hh:111
Pyjets_t
PYJETS common-block.
Definition
Pythia6.hh:91
Pyjets_t::K
int K[5][4000]
Definition
Pythia6.hh:94
Pyjets_t::P
double P[5][4000]
Definition
Pythia6.hh:95
Pyjets_t::V
double V[5][4000]
Definition
Pythia6.hh:96
Pyjets_t::N
int N
Definition
Pythia6.hh:92
Pyjets_t::NPAD
int NPAD
Definition
Pythia6.hh:93
Pythia6Particle
Structure for Pythia6 particle properties.
Definition
Pythia6.hh:119
Pythia6Particle::fFirstChild
int fFirstChild
Definition
Pythia6.hh:132
Pythia6Particle::fVz
float fVz
Definition
Pythia6.hh:143
Pythia6Particle::fPz
float fPz
Definition
Pythia6.hh:137
Pythia6Particle::fParent
int fParent
Definition
Pythia6.hh:131
Pythia6Particle::fEnergy
float fEnergy
Definition
Pythia6.hh:138
Pythia6Particle::fPx
float fPx
Definition
Pythia6.hh:135
Pythia6Particle::fPy
float fPy
Definition
Pythia6.hh:136
Pythia6Particle::fKF
int fKF
Definition
Pythia6.hh:130
Pythia6Particle::fLastChild
int fLastChild
Definition
Pythia6.hh:133
Pythia6Particle::fVx
float fVx
Definition
Pythia6.hh:141
Pythia6Particle::Pythia6Particle
Pythia6Particle(int ks, int kf, int parent, int firstChild, int lastChild, float px, float py, float pz, float energy, float mass, float vx, float vy, float vz, float time, float lifetime)
Definition
Pythia6.hh:120
Pythia6Particle::fTime
float fTime
Definition
Pythia6.hh:144
Pythia6Particle::fLifetime
float fLifetime
Definition
Pythia6.hh:145
Pythia6Particle::fMass
float fMass
Definition
Pythia6.hh:139
Pythia6Particle::fVy
float fVy
Definition
Pythia6.hh:142
Pythia6Particle::fKS
int fKS
Definition
Pythia6.hh:129
Generated on Tue Jan 30 2024 12:18:45 for Geant4 examples by
1.9.8
Applications
|
User Support
|
Publications
|
Collaboration