CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/GeneratorInterface/AMPTInterface/interface/AMPTWrapper.h

Go to the documentation of this file.
00001 #ifndef GeneratorInterface_AMPTInterface_AMPTWrapper
00002 #define GeneratorInterface_AMPTInterface_AMPTWrapper
00003 
00004 /*
00005  * Wrapper for FORTRAN version of AMPT 
00006  */
00007 
00008 //gsfs changed to 150001
00009 #define _MAXNUMPARTICLE_ 150001
00010 
00011 extern "C" {
00012   void amptset_(double& efrm, const char* frame, const char* proj, const char* targ, int& iap, int& izp, int& iat, int& izt, int, int, int); 
00013 }
00014 #define AMPTSET amptset_
00015 
00016 extern "C" {
00017   void ampt_(const char* frame, double& bmin0, double& bmax0, int);
00018 }
00019 #define AMPT ampt_
00020 
00021 extern "C" {
00022   int invflv_(int&);
00023 }
00024 #define INVFLV invflv_
00025 
00026 //gsfs changed entries to agree with calling sequence in AMPT
00027 extern "C" {
00028   extern struct{ 
00029     float eatt;
00030     int jatt;
00031     int natt;
00032     int nt;
00033     int np;
00034     int n0;
00035     int n01;
00036     int n10;
00037     int n11;
00038   }hmain1_;
00039 }
00040 #define hmain1 hmain1_
00041 
00042 extern "C" {
00043   extern struct{
00044     int lblast[_MAXNUMPARTICLE_];
00045     float xlast[_MAXNUMPARTICLE_][4];
00046     float plast[_MAXNUMPARTICLE_][4];
00047     int nlast;
00048   }hbt_;
00049 }
00050 #define hbt hbt_
00051 
00052 extern "C" {
00053   extern struct{ 
00054     float  hipr1[100];
00055     int    ihpr2[50];
00056     float  hint1[100];
00057     int    ihnt2[50];
00058   }hparnt_;
00059 }
00060 #define hparnt hparnt_
00061 
00062 extern "C" {
00063   extern struct{
00064     int mstu[200];
00065     float paru[200];
00066     int mstj[200];
00067     float parj[200];
00068   }ludat1_;
00069 }   
00070 #define ludat1 ludat1_ 
00071 
00072 extern "C" {
00073   extern struct{
00074     int nevent;
00075     int isoft;
00076     int isflag;
00077     int izpc;
00078   }anim_;
00079 }
00080 #define anim anim_
00081 
00082 extern "C" {
00083   extern struct{
00084     float dpcoal;
00085     float drcoal;
00086     float ecritl;
00087   }coal_;
00088 }
00089 #define coal coal_
00090 
00091 extern "C" {
00092   extern struct{
00093     float xmp; 
00094     float xmu; 
00095     float alpha;
00096     float rscut2;
00097     float cutof2;
00098   }para2_;
00099 }
00100 #define para2 para2_
00101 
00102 extern "C" {
00103   extern struct{
00104     int ioscar;
00105     int nsmbbbar;
00106     int nsmmeson; 
00107   }para7_;
00108 }
00109 #define para7 para7_
00110 
00111 extern "C" {
00112   extern struct{
00113     int idpert;
00114     int npertd;
00115     int idxsec;
00116   }para8_;
00117 }
00118 #define para8 para8_
00119 
00120 extern "C" {
00121   extern struct{
00122     float masspr;
00123     float massta;
00124     int iseed;
00125     int iavoid;
00126     float dt;
00127   }input1_;
00128 }
00129 #define input1 input1_
00130 
00131 extern "C" {
00132   extern struct{
00133     int ilab;
00134     int manyb;
00135     int ntmax;
00136     int icoll;
00137     int insys;
00138     int ipot;
00139     int mode; 
00140     int imomen;
00141     int nfreq;
00142     int icflow;
00143     int icrho;
00144     int icou;
00145     int kpoten;
00146     int kmul; 
00147   }input2_;
00148 }
00149 #define input2 input2_
00150 
00151 extern "C" {
00152   extern struct{
00153     int nsav;
00154     int iksdcy;
00155   }resdcy_;
00156 }
00157 #define resdcy resdcy_
00158 
00159 extern "C" {
00160   extern struct{
00161     int iphidcy;
00162     float pttrig;
00163     int ntrig;
00164     int maxmiss;
00165   }phidcy_;
00166 }
00167 #define phidcy phidcy_
00168 
00169 extern "C" {
00170   extern struct{
00171     int iembed;
00172     float pxqembd;
00173     float pyqembd;
00174     float xembd;
00175     float yembd;
00176   }embed_;
00177 }
00178 #define embed embed_
00179 
00180 extern "C" {
00181   extern struct{
00182     int ipop;
00183   }popcorn_;
00184 }
00185 #define popcorn popcorn_ 
00186 
00187 #endif