CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2_patch1/src/GeneratorInterface/CascadeInterface/plugins/CascadeWrapper.h

Go to the documentation of this file.
00001 #ifndef CASCADE_WRAPPER_H
00002 #define CASCADE_WRAPPER_H
00003 
00004 //-- the pyhepc routine used by Pythia to fill the HEPEVT common block
00005 //-- is using double precision and 4000 entries
00006 
00007 #include <ctype.h>
00008 #include <cstring>
00009 
00010 //-- CASCADE Common Block Declarations
00011 
00012 extern "C" {
00013   extern struct {
00014     int ke,kp,keb,kph,kgl,kpa,nflav;
00015     } caluco_;
00016   }
00017 
00018 #define caluco caluco_
00019 
00020 extern "C" {
00021   extern struct {
00022     int lst[30],ires[2];
00023   } capar6_;
00024 }
00025 
00026 #define capar6 capar6_
00027 
00028 extern "C" {
00029   extern struct {
00030     double plepin,ppin;
00031     int nfrag,ilepto,ifps,ihf,inter,isemih,ifinal;
00032   } cainpu_;
00033 }
00034 
00035 #define cainpu cainpu_
00036 
00037 extern "C" {
00038   extern struct {
00039     int ipst;
00040   } cashower_;
00041 }
00042 
00043 #define cashower cashower_
00044 
00045 extern "C" {
00046   extern struct {
00047     int ipsipol,ipsiel1,ipsiel2;
00048     //-- int i23s;  //-- from version 2.2.03 on 
00049   } jpsi_;
00050 }
00051 
00052 #define jpsi jpsi_
00053 
00054 extern "C" {
00055   extern struct {
00056     int iorder,itimshr,iccfm;
00057   } casshwr_;
00058 }
00059 
00060 #define casshwr casshwr_
00061 
00062 extern "C" {
00063   extern struct {
00064     int ipro,iruna,iq2,irunaem;
00065   } capar1_;
00066 }
00067 
00068 #define capar1 capar1_
00069 
00070 extern "C" {
00071   extern struct {
00072     int ihfla,kpsi,kchi;
00073   } cahflav_;
00074 }
00075 
00076 #define cahflav cahflav_
00077 
00078 extern "C" {
00079   extern struct {
00080     int icolora,irespro,irpa,irpb,irpc,irpd,irpe,irpf,irpg;
00081   } cascol_;
00082 }
00083 
00084 #define cascol cascol_
00085 
00086 extern "C" {
00087   extern struct {
00088     int iglu;
00089   } cagluon_;
00090 }
00091 
00092 #define cagluon cagluon_
00093 
00094 extern "C" {
00095   extern struct {
00096     int irspl;
00097   } casprre_;
00098 }
00099 
00100 #define casprre casprre_
00101 
00102 extern "C" {
00103   extern struct {
00104     double pt2cut[1000];
00105   } captcut_;
00106 }
00107 
00108 #define captcut captcut_
00109 
00110 extern "C" {
00111   extern struct {
00112     double acc1,acc2;
00113     int iint,ncb;
00114   } integr_;
00115 }
00116 
00117 #define integr integr_
00118 
00119 extern "C" {
00120   extern struct {
00121     double scalfa,scalfaf;
00122   } scalf_;
00123 }
00124 
00125 #define scalf scalf_
00126 
00127 extern "C" {
00128   extern struct {
00129     char pdfpath[512];
00130   } caspdf_;
00131 }
00132 
00133 #define caspdf caspdf_
00134 
00135 extern "C" {
00136   extern struct {
00137     double avgi,sd;
00138     int nin,nout;
00139   } caeffic_;
00140 }
00141 
00142 #define caeffic caeffic_
00143 
00144 //-- CASCADE routines declarations
00145 
00146 extern "C" {
00147   void casini_();
00148   void steer_();
00149   void cascha_();
00150   void cascade_();
00151   void caend_(int* mode);
00152   void event_();
00153   // void rluxgo_(int* mode1,int* mode2,int* mode3,int* mode4);
00154   double dcasrn_(int* idummy);
00155   
00156 }
00157 
00158 inline void call_casini() { casini_(); }
00159 inline void call_steer() { steer_(); }
00160 inline void call_cascha() { cascha_(); }
00161 inline void call_cascade() { cascade_(); }
00162 inline void call_caend(int mode) { caend_(&mode); }
00163 inline void call_event() { event_(); }
00164 // inline void call_rluxgo(int mode1, int mode2, int mode3, int mode4) { rluxgo_(&mode1, &mode2, &mode3, &mode4); }
00165 // inline double call_dcasrn() { return(dcasrn_()); }
00166 
00167 //-- PYTHIA Common Block Declarations
00168 
00169 //-- PYTHIA routines declarations
00170 
00171 extern "C" {
00172   void pytcha_();
00173   void pyedit_(int* mode);
00174 }
00175 
00176 inline void call_pytcha() { pytcha_(); }
00177 inline void call_pyedit(int mode){ pyedit_(&mode); }
00178 
00179 //inline void call_pyhepc(int mode) { pyhepc(&mode); }
00180 //inline void call_pylist(int mode) { pylist(&mode); }
00181 //inline void call_pystat(int mode) { pystat(&mode); }
00182 //inline void call_pyevnt() { pyevnt(); }
00183 
00184 #endif  // CASCADE_WRAPPER_H
00185