CGEM BOSS 6.6.5.f
BESIII Offline Software System
Loading...
Searching...
No Matches
Generator/Phokhara/Phokhara-00-00-14/Phokhara/PhokharaDef.h
Go to the documentation of this file.
1#ifndef PHOKHARA__H
2#define PHOKHARA__H
3
4#include "cfortran/cfortran.h"
5#include <string.h>
6
7// common blocks
8typedef struct { double r, i; } COMPLEX16;
9
10// --- couplings, masses, momenta ---
11typedef struct {
12 double pi,gev2nbarn,gev2pbarn,alpha,me,mmu,mpi,mpi0,Sp,mp;
13 double ebeam,ver_s,rmass[10],momenta[4][15];
15 double mnt,mKp,mKn;
17 double mlamb;
18} CTES_DEF;
19
20#define CTES COMMON_BLOCK(CTES_DEF, ctes)
22
23// --- cuts ---
24typedef struct
25{
26 double Emin,gmin,phot1cut,phot2cut,pi1cut,pi2cut;
27 double piphcut,accecut,q2min,w,q2_max_c,q2_min_c;
28} CUTS_DEF;
29
30#define CUTS COMMON_BLOCK(CUTS_DEF, cuts)
32
33// --- Kaons masses and gamms
34typedef struct
35{
36 double m_phi0_Kp,g_phi0_Kp,m_phi1_Kp,g_phi1_Kp;
37 double m_om0_Kp,g_om0_Kp,m_om1_Kp,g_om1_Kp,m_om2_Kp,g_om2_Kp;
38 double m_rho0_Kp,g_rho0_Kp,m_rho1_Kp,g_rho1_Kp,m_rho2_Kp,g_rho2_Kp;
40
41#define MASS_GAMM_KP COMMON_BLOCK(MASS_GAMM_KP_DEF, mass_gamm_Kp)
43
44// --- Pions pi+pi- masses and gamms
45typedef struct
46{
47 double m_rho0_pion,g_rho0_pion,m_rho1_pion;
48 double g_rho1_pion,m_rho2_pion,g_rho2_pion,m_rho3_pion,g_rho3_pion;
49 double m_om0_pion,g_om0_pion;
51
52#define MASS_GAMM_PION COMMON_BLOCK(MASS_GAMM_PION_DEF, mass_gamm_pion)
54
55// --- Lambdas
56typedef struct
57{
58 double alpha_lamb, ratio_lamb;
60
61#define LAMBDA_PAR COMMON_BLOCK(LAMBDA_PAR_DEF, lambda_par)
63
64// --- histograms ---
65typedef struct{char val[20];} titledef;
66
67typedef struct
68{
69 DOUBLE_PRECISION xlow[20], xup[20];
70 int bins[20];
71 titledef title[20];
72} HISTO_DEF;
73
74#define HISTO COMMON_BLOCK(HISTO_DEF, histo)
76
77// --- Maxima ---
78typedef struct
79{
80 DOUBLE_PRECISION Mmax[2], gross[2], klein[2], tr[2], count[2];
81 int iprint;
83
84#define MAXIMA COMMON_BLOCK(MAXIMA_DEF, maxima)
86
87// --- flags --
88typedef struct
89{
90 int nlo, pion, fsr, fsrnlo, ivac, FF_pion, f0_model, FF_kaon, narr_res;
91} FLAGS_DEF;
92
93#define FLAGS COMMON_BLOCK(FLAGS_DEF, flags)
95
96PROTOCCALLSFSUB2(RLXDINIT,rlxdinit,INT,INT)
97#define RLXDINIT(LUXURY,SEED) CCALLSFSUB2(RLXDINIT,rlxdinit,INT,INT,LUXURY,SEED)
98
99PROTOCCALLSFSUB1(RLXDRESETF,rlxdresetf,INTV)
100#define RLXDRESETF(SEED) CCALLSFSUB1(RLXDRESETF,rlxdresetf,INTV, SEED)
101
103#define INPUT() CCALLSFSUB0(INPUT,input)
104
105//PROTOCCALLSFSUB3(INPUT,input,PLONG,PINT,PSTRING);
106//#define INPUT(NGES,NM,OUTFILE) CCALLSFSUB3(INPUT,input,PLONG,PINT,PSTRING,NGES,NM,OUTFILE)
107
108//PROTOCCALLSFSUB0(INITHISTO,inithisto);
109//#define INITHISTO() CCALLSFSUB0(INITHISTO,inithisto)
110
111//PROTOCCALLSFSUB0(ENDHISTO,endhisto);
112//#define ENDHISTO() CCALLSFSUB0(ENDHISTO,endhisto)
113
114//PROTOCCALLSFSUB0(WRITEEVENT,writeevent);
115//#define WRITEEVENT() CCALLSFSUB0(WRITEEVENT,writeevent)
116
117PROTOCCALLSFSUB2(RANLXDF,ranlxdf,DOUBLEV,INT)
118#define RANLXDF(AR, VAL) CCALLSFSUB2(RANLXDF,ranlxdf,DOUBLEV, INT, AR, VAL)
119
120PROTOCCALLSFSUB7(GEN_1PH,gen_1ph,INT, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE)
121#define GEN_1PH(I,QQMIN,QQMAX,COS1MIN,COS1MAX,COS3MIN,COS3MAX) CCALLSFSUB7(GEN_1PH,gen_1ph,INT, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE,I,QQMIN,QQMAX,COS1MIN,COS1MAX,COS3MIN,COS3MAX)
122
123PROTOCCALLSFSUB8(GEN_2PH,gen_2ph,INT, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE)
124#define GEN_2PH(I,QQMIN,COS1MIN,COS1MAX,COS2MIN,COS2MAX,COS3MIN,COS3MAX) CCALLSFSUB8(GEN_2PH,gen_2ph,INT, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE,I,QQMIN,COS1MIN,COS1MAX,COS2MIN,COS2MAX,COS3MIN,COS3MAX)
125
126#endif
const double mpi0
const double mpi
Definition: Gam4pikp.cxx:47
#define COMMON_BLOCK_DEF(DEFINITION, NAME)
#define PROTOCCALLSFSUB2(UN, LN, T1, T2)
#define PROTOCCALLSFSUB7(UN, LN, T1, T2, T3, T4, T5, T6, T7)
#define PROTOCCALLSFSUB1(UN, LN, T1)
#define PROTOCCALLSFSUB8(UN, LN, T1, T2, T3, T4, T5, T6, T7, T8)
#define GEN_1PH(I, QQMIN, QQMAX, COS1MIN, COS1MAX, COS3MIN, COS3MAX)
#define GEN_2PH(I, QQMIN, COS1MIN, COS1MAX, COS2MIN, COS2MAX, COS3MIN, COS3MAX)
const double mmu
Definition: PipiJpsi.cxx:51
const double me
Definition: PipiJpsi.cxx:48
const double mp
Definition: incllambda.cxx:45