/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/Phokhara/Phokhara-00-00-14/Phokhara/PhokharaDef.h

Go to the documentation of this file.
00001 #ifndef PHOKHARA__H
00002 #define PHOKHARA__H
00003 
00004 #include "cfortran/cfortran.h"
00005 #include <string.h>
00006 
00007 // common blocks
00008 typedef struct { double r, i; } COMPLEX16;
00009 
00010 // --- couplings, masses, momenta ---
00011 typedef struct { 
00012   double pi,gev2nbarn,gev2pbarn,alpha,me,mmu,mpi,mpi0,Sp,mp;
00013   double ebeam,ver_s,rmass[10],momenta[4][15]; 
00014   COMPLEX16 cvac_s;
00015   double mnt,mKp,mKn;
00016   COMPLEX16 cvac_s_pi, cvac_s_phi;
00017   double mlamb;
00018 } CTES_DEF;
00019 
00020 #define CTES COMMON_BLOCK(CTES_DEF, ctes)
00021 COMMON_BLOCK_DEF(CTES_DEF, CTES);
00022 
00023 // --- cuts ---
00024 typedef struct
00025 { 
00026   double Emin,gmin,phot1cut,phot2cut,pi1cut,pi2cut;
00027   double piphcut,accecut,q2min,w,q2_max_c,q2_min_c;
00028 } CUTS_DEF;
00029 
00030 #define CUTS COMMON_BLOCK(CUTS_DEF, cuts)
00031 COMMON_BLOCK_DEF(CUTS_DEF, CUTS);
00032 
00033 // --- Kaons masses and gamms
00034 typedef struct
00035 { 
00036   double m_phi0_Kp,g_phi0_Kp,m_phi1_Kp,g_phi1_Kp;
00037   double m_om0_Kp,g_om0_Kp,m_om1_Kp,g_om1_Kp,m_om2_Kp,g_om2_Kp;
00038   double m_rho0_Kp,g_rho0_Kp,m_rho1_Kp,g_rho1_Kp,m_rho2_Kp,g_rho2_Kp;
00039 } MASS_GAMM_KP_DEF;
00040 
00041 #define MASS_GAMM_KP COMMON_BLOCK(MASS_GAMM_KP_DEF, mass_gamm_Kp)
00042 COMMON_BLOCK_DEF(MASS_GAMM_KP_DEF, MASS_GAMM_KP);
00043 
00044 // --- Pions pi+pi- masses and gamms
00045 typedef struct
00046 { 
00047   double m_rho0_pion,g_rho0_pion,m_rho1_pion;
00048   double g_rho1_pion,m_rho2_pion,g_rho2_pion,m_rho3_pion,g_rho3_pion;
00049   double m_om0_pion,g_om0_pion;
00050 } MASS_GAMM_PION_DEF;
00051 
00052 #define MASS_GAMM_PION COMMON_BLOCK(MASS_GAMM_PION_DEF, mass_gamm_pion)
00053 COMMON_BLOCK_DEF(MASS_GAMM_PION_DEF, MASS_GAMM_PION);
00054 
00055 // --- Lambdas
00056 typedef struct
00057 { 
00058   double alpha_lamb, ratio_lamb;
00059 } LAMBDA_PAR_DEF;
00060 
00061 #define LAMBDA_PAR COMMON_BLOCK(LAMBDA_PAR_DEF, lambda_par)
00062 COMMON_BLOCK_DEF(LAMBDA_PAR_DEF, LAMBDA_PAR);
00063 
00064 // --- histograms ---  
00065 typedef struct{char val[20];} titledef;
00066 
00067 typedef struct 
00068 {  
00069   DOUBLE_PRECISION xlow[20], xup[20]; 
00070   int bins[20];
00071   titledef title[20]; 
00072 } HISTO_DEF; 
00073 
00074 #define HISTO COMMON_BLOCK(HISTO_DEF, histo) 
00075 COMMON_BLOCK_DEF(HISTO_DEF, HISTO); 
00076 
00077 // --- Maxima ---
00078 typedef struct
00079 { 
00080   DOUBLE_PRECISION Mmax[2], gross[2], klein[2], tr[2], count[2];
00081   int iprint;
00082 } MAXIMA_DEF;
00083 
00084 #define MAXIMA COMMON_BLOCK(MAXIMA_DEF, maxima)
00085 COMMON_BLOCK_DEF(MAXIMA_DEF, MAXIMA);
00086 
00087 // --- flags --
00088 typedef struct
00089 {
00090   int nlo, pion, fsr, fsrnlo, ivac, FF_pion, f0_model, FF_kaon, narr_res;
00091 } FLAGS_DEF;
00092 
00093 #define FLAGS COMMON_BLOCK(FLAGS_DEF, flags)
00094 COMMON_BLOCK_DEF(FLAGS_DEF, FLAGS);
00095 
00096 PROTOCCALLSFSUB2(RLXDINIT,rlxdinit,INT,INT)
00097 #define RLXDINIT(LUXURY,SEED) CCALLSFSUB2(RLXDINIT,rlxdinit,INT,INT,LUXURY,SEED)
00098 
00099 PROTOCCALLSFSUB1(RLXDRESETF,rlxdresetf,INTV)
00100 #define RLXDRESETF(SEED) CCALLSFSUB1(RLXDRESETF,rlxdresetf,INTV, SEED)
00101 
00102 PROTOCCALLSFSUB0(INPUT,input)
00103 #define INPUT() CCALLSFSUB0(INPUT,input)
00104 
00105 //PROTOCCALLSFSUB3(INPUT,input,PLONG,PINT,PSTRING);
00106 //#define INPUT(NGES,NM,OUTFILE) CCALLSFSUB3(INPUT,input,PLONG,PINT,PSTRING,NGES,NM,OUTFILE)
00107 
00108 //PROTOCCALLSFSUB0(INITHISTO,inithisto);
00109 //#define INITHISTO() CCALLSFSUB0(INITHISTO,inithisto)
00110 
00111 //PROTOCCALLSFSUB0(ENDHISTO,endhisto);
00112 //#define ENDHISTO() CCALLSFSUB0(ENDHISTO,endhisto)
00113 
00114 //PROTOCCALLSFSUB0(WRITEEVENT,writeevent);
00115 //#define WRITEEVENT() CCALLSFSUB0(WRITEEVENT,writeevent)
00116 
00117 PROTOCCALLSFSUB2(RANLXDF,ranlxdf,DOUBLEV,INT)
00118 #define RANLXDF(AR, VAL) CCALLSFSUB2(RANLXDF,ranlxdf,DOUBLEV, INT, AR, VAL)
00119 
00120 PROTOCCALLSFSUB7(GEN_1PH,gen_1ph,INT, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE)
00121 #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)
00122 
00123 PROTOCCALLSFSUB8(GEN_2PH,gen_2ph,INT, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE, PDOUBLE)
00124 #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)
00125 
00126 #endif

Generated on Tue Nov 29 23:12:43 2016 for BOSS_7.0.2 by  doxygen 1.4.7