cepgen is hosted by Hepforge, IPPP Durham
CepGen N/A
Central exclusive processes event generator
Herwig6Interface.h
Go to the documentation of this file.
1/*
2 * CepGen: a central exclusive processes event generator
3 * Copyright (C) 2024 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 CepGenHerwig6_Herwig6Interface_h
20#define CepGenHerwig6_Herwig6Interface_h
21
22#include <array>
23
24extern "C" {
26extern struct {
27 std::array<double, 16> afch[2];
28 double alphem, b1lim, betaf, btclm, cafac, cffac, clmax, clpow;
29 std::array<double, 2> clsmr;
30 double cspeed, ensof, etamix, f0mix, f1mix, f2mix, gamh, gamw, gamz, gamzp, gev2nb, h1mix, pdiqk, psgmx;
31 std::array<double, 4> pgspl;
32 double phimix, pifac, prsof;
33 std::array<double, 2> psplt;
34 double ptrms, pxrms, qcdl3, qcdl5, qcdlam, qdiqk;
35 std::array<double, 16> qfch;
36 double qg, qspac, qv, scab1, swein, tmtop;
37 std::array<double, 16> vfch[2];
38 std::array<double, 3> vckm[3];
39 double vgcut, vqcut, vpcut, zbinm, effmin, omhmix, et2mix, ph3mix, gcutme;
40 int ioprem, iprint, ispac, lrsud, lwsud;
41 std::array<int, 2> modpdf;
42 int nbtry, ncolo, nctry, ndtry, netry, nflav, ngspl, nstru, nstry, nzbin;
43 std::array<int, 2> iop4jt;
44 int nprfmt, azsoft, azspin;
45 std::array<int, 2> cldir;
46 int hardme, nospac, prndec, prvtx, softme, zprime, prndef, prntex, prnweb;
48}
49
51namespace cepgen::herwig6 {
52 void initialise();
53 double hwuaem(double q2);
54 double hwualf(int mode, double q2);
55 double hwsfun(double xbj, double q2, int idhad, int nset, int ibeam);
56} // namespace cepgen::herwig6
57
58#endif
struct @1 hwpram_
Basic parameters (and quantities derived from them)
Herwig 6 utilities namespace.
double hwsfun(double xbj, double q2, int idhad, int nset, int ibeam)
double hwualf(int mode, double q2)
double hwuaem(double q2)