MyCascadeWrapper.h

Go to the documentation of this file.
00001 /***********************************************************************
00002 *                                                                      *
00003 * File: MyCascadeWrapper.h                                             *
00004 *                                                                      *
00005 * written by Sebastian Johnert                                         *
00006 * for the implementation of CASCADE                                    *
00007 * into the HepMCAnalysis Tool                                          *
00008 *                                                                      *
00009 ***********************************************************************/
00010 
00011 //--------------------------------------------------------------------------
00012 #ifndef MYCASCADE_WRAPPER_H
00013 #define MYCASCADE_WRAPPER_H
00014 
00015 //////////////////////////////////////////////////////////////////////////
00016 // Wrapper for FORTRAN version of CASCADE
00017 // This wrapper is NOT intended as a part of HepMC - it is only supplied
00018 // for your convenience.
00019 //////////////////////////////////////////////////////////////////////////
00020 // 
00021 
00022 #include <ctype.h>
00023 #include <cstring>
00024 
00025 //--------------------------------------------------------------------------
00026 // CASCADE Common Block Declarations
00027 
00028 extern "C" {
00029     extern struct {
00030       double pbeam[2][5];
00031       int kbeam[2][5], kint[2][5];
00032     } cabeam_;
00033 }
00034 #define cabeam cabeam_
00035 
00036 extern "C" {
00037     extern struct {
00038       double avgi, sd;
00039       int nin, nout;
00040     } caeffic_;
00041 }
00042 #define caeffic caeffic_
00043 
00044 extern "C" {
00045     extern struct {
00046       double thema, themi;
00047     } caelec_;
00048 }
00049 #define caelec caelec_
00050 
00051 extern "C" {
00052     extern struct {
00053       int iglu;
00054     } cagluon_;
00055 }
00056 #define cagluon cagluon_
00057 
00058 extern "C" {
00059     extern struct {
00060       int nia1, nia2, nir2, nf1, nf2;
00061     } cahard_;
00062 }
00063 #define cahard cahard_
00064 
00065 extern "C" {
00066     extern struct {
00067       int ilha;
00068     } caherup_;
00069 }
00070 #define caherup caherup_
00071 
00072 extern "C" {
00073     extern struct {
00074       int ihfla;
00075     } cahflav_;
00076 }
00077 #define cahflav cahflav_
00078 
00079 extern "C" {
00080     extern struct {
00081       float plepin, ppin;
00082       int nfrag, ilepto, ifps, ihf, inter, isemih;
00083     } cainpu_;
00084 }
00085 #define cainpu cainpu_
00086 
00087 extern "C" {
00088     extern struct {
00089       int ke, kp, keb, kph, kgl, kpa, nflav;
00090     } caluco_;
00091 }
00092 #define caluco caluco_
00093 
00094 extern "C" {
00095     extern struct {
00096       int mult, ns_mult;
00097     } camult_;
00098 }
00099 #define camult camult_
00100 
00101 extern "C" {
00102     extern struct {
00103       int ipro, iruna, iq2, irunaem;
00104     } capar1_;
00105 }
00106 #define capar1 capar1_
00107 
00108 extern "C" {
00109     extern struct {
00110       int iwei;
00111       double alphs, pi, alph;
00112     } capar2_;
00113 }
00114 #define capar2 capar2_
00115 
00116 extern "C" {
00117     extern struct {
00118       double am[18], pcm[4][18];
00119     } capar3_;
00120 }
00121 #define capar3 capar3_
00122 
00123 extern "C" {
00124     extern struct {
00125       double q2, q2q;
00126     } capar4_;
00127 }
00128 #define capar4 capar4_
00129 
00130 extern "C" {
00131     extern struct {
00132       double shat, ymax, ymin, q2max, q2min, xmax, xmin;
00133     } capar5_;
00134 }
00135 #define capar5 capar5_
00136 
00137 extern "C" {
00138     extern struct {
00139       int lst[30], ires[2];
00140     } capar6_;
00141 }
00142 #define capar6 capar6_
00143 
00144 extern "C" {
00145     extern struct {
00146       double sss, cm[4], dbcms[4];
00147     } caparton_;
00148 }
00149 #define caparton caparton_
00150 
00151 extern "C" {
00152     extern struct {
00153       double pt2cut[20];
00154     } captcut_;
00155 }
00156 #define captcut captcut_
00157 
00158 extern "C" {
00159     extern struct {
00160       double yy, yy_bar, xg, xg_bar, kt2_1, kt2_2, pt2h, shh;
00161     } caskin_;
00162 }
00163 #define caskin caskin_
00164 
00165 //???, not completely sure
00166 extern "C" {
00167     extern struct {
00168       char pdfpath[512];
00169     } caspdf_;
00170 }
00171 #define caspdf caspdf_
00172 
00173 extern "C" {
00174     extern struct {
00175       double prkt1, prkt2, prktrem;
00176     } casprkt_;
00177 }
00178 #define casprkt casprkt_
00179 
00180 extern "C" {
00181     extern struct {
00182       int iorder,itimshr,iccfm;
00183     } casshwr_;
00184 }
00185 #define casshwr casshwr_
00186 
00187 extern "C" {
00188     extern struct {
00189       float acc1, acc2;
00190       int iint, ncb;
00191     } integr_;
00192 }
00193 #define integr integr_
00194 
00195 extern "C" {
00196     extern struct {
00197       double scalfa;
00198     } scalf_;
00199 }
00200 #define scalf scalf_
00201 
00202 extern "C" {
00203     extern struct {
00204       double qmi, ymi, qma, yma;
00205     } values_;
00206 }
00207 #define values values_
00208 
00209 #endif  // MYCASCADE_WRAPPER_H
00210 //--------------------------------------------------------------------------

Generated on Wed Aug 31 09:44:48 2011 for HepMCAnalysis by  doxygen 1.4.7