cepgen is hosted by Hepforge, IPPP Durham
CepGen N/A
Central exclusive processes event generator
Pythia6Interface.h
Go to the documentation of this file.
1/*
2 * CepGen: a central exclusive processes event generator
3 * Copyright (C) 2013-2025 Laurent Forthomme
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef CepGenPythia6_Pythia6Interface_h
20#define CepGenPythia6_Pythia6Interface_h
21
22#include <array>
23#include <string>
24#include <vector>
25
26extern "C" {
28extern struct {
29 int n;
30 int npad;
31 int k[5][4000];
32 double p[5][4000];
33 double v[5][4000];
35extern struct {
36 std::array<int, 200> mstu;
37 std::array<double, 200> paru;
38 std::array<int, 200> mstj;
39 std::array<double, 200> parj;
41}
42
44namespace cepgen::pythia6 {
45 int pythia6Status(int);
46 int cepgenStatus(int);
47 void checkPDGid(int);
48
49 double pyalem(double);
50 double pyalps(double);
51 void pyckbd();
52 void pyexec();
53 void pygive(const std::string&);
56 void pyjoin(std::vector<int> join);
57 int pyk(int id, int qty);
58 void pylist(int mlist);
59 double pymass(int pdgid_);
60 std::string pyname(int pdgid);
61 double pyp(int id, int qty);
62 inline static int& mstu(size_t i) { return pydat1_.mstu.at(i - 1); }
63 inline static double& paru(size_t i) { return pydat1_.paru.at(i - 1); }
64} // namespace cepgen::pythia6
65
66#endif
struct @3 pydat1_
struct @2 pyjets_
Particles content of the event.
Pythia 6 utilities namespace.
static int & mstu(size_t i)
int pyk(int id, int qty)
int cepgenStatus(int)
double pyalem(double)
double pymass(int pdgid_)
double pyalps(double)
double pyp(int id, int qty)
void pyjoin(std::vector< int > join)
Connect entries with colour flow information.
void pylist(int mlist)
void checkPDGid(int)
int pythia6Status(int)
std::string pyname(int pdgid)
static double & paru(size_t i)
void pygive(const std::string &)