Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:13:16

0001 #ifndef GeneratorInterface_AMPTInterface_AMPTWrapper
0002 #define GeneratorInterface_AMPTInterface_AMPTWrapper
0003 
0004 /*
0005  * Wrapper for FORTRAN version of AMPT 
0006  */
0007 
0008 //gsfs changed to 150001
0009 #define _MAXNUMPARTICLE_ 150001
0010 
0011 extern "C" {
0012 void amptset_(double& efrm,
0013               const char* frame,
0014               const char* proj,
0015               const char* targ,
0016               int& iap,
0017               int& izp,
0018               int& iat,
0019               int& izt,
0020               int,
0021               int,
0022               int);
0023 }
0024 #define AMPTSET amptset_
0025 
0026 extern "C" {
0027 void ampt_(const char* frame, double& bmin0, double& bmax0, int);
0028 }
0029 #define AMPT ampt_
0030 
0031 extern "C" {
0032 int invflv_(int&);
0033 }
0034 #define INVFLV invflv_
0035 
0036 //gsfs changed entries to agree with calling sequence in AMPT
0037 extern "C" {
0038 extern struct {
0039   float eatt;
0040   int jatt;
0041   int natt;
0042   int nt;
0043   int np;
0044   int n0;
0045   int n01;
0046   int n10;
0047   int n11;
0048 } hmain1_;
0049 }
0050 #define hmain1 hmain1_
0051 
0052 extern "C" {
0053 extern struct {
0054   int lblast[_MAXNUMPARTICLE_];
0055   float xlast[_MAXNUMPARTICLE_][4];
0056   float plast[_MAXNUMPARTICLE_][4];
0057   int nlast;
0058 } hbt_;
0059 }
0060 #define hbt hbt_
0061 
0062 extern "C" {
0063 extern struct {
0064   float hipr1[100];
0065   int ihpr2[50];
0066   float hint1[100];
0067   int ihnt2[50];
0068 } hparnt_;
0069 }
0070 #define hparnt hparnt_
0071 
0072 extern "C" {
0073 extern struct {
0074   int mstu[200];
0075   float paru[200];
0076   int mstj[200];
0077   float parj[200];
0078 } ludat1_;
0079 }
0080 #define ludat1 ludat1_
0081 
0082 extern "C" {
0083 extern struct {
0084   int nevent;
0085   int isoft;
0086   int isflag;
0087   int izpc;
0088 } anim_;
0089 }
0090 #define anim anim_
0091 
0092 extern "C" {
0093 extern struct {
0094   float dpcoal;
0095   float drcoal;
0096   float ecritl;
0097 } coal_;
0098 }
0099 #define coal coal_
0100 
0101 extern "C" {
0102 extern struct {
0103   float xmp;
0104   float xmu;
0105   float alpha;
0106   float rscut2;
0107   float cutof2;
0108 } para2_;
0109 }
0110 #define para2 para2_
0111 
0112 extern "C" {
0113 extern struct {
0114   int ioscar;
0115   int nsmbbbar;
0116   int nsmmeson;
0117 } para7_;
0118 }
0119 #define para7 para7_
0120 
0121 extern "C" {
0122 extern struct {
0123   int idpert;
0124   int npertd;
0125   int idxsec;
0126 } para8_;
0127 }
0128 #define para8 para8_
0129 
0130 extern "C" {
0131 extern struct {
0132   float masspr;
0133   float massta;
0134   int iseed;
0135   int iavoid;
0136   float dt;
0137 } input1_;
0138 }
0139 #define input1 input1_
0140 
0141 extern "C" {
0142 extern struct {
0143   int ilab;
0144   int manyb;
0145   int ntmax;
0146   int icoll;
0147   int insys;
0148   int ipot;
0149   int mode;
0150   int imomen;
0151   int nfreq;
0152   int icflow;
0153   int icrho;
0154   int icou;
0155   int kpoten;
0156   int kmul;
0157 } input2_;
0158 }
0159 #define input2 input2_
0160 
0161 extern "C" {
0162 extern struct {
0163   int nsav;
0164   int iksdcy;
0165 } resdcy_;
0166 }
0167 #define resdcy resdcy_
0168 
0169 extern "C" {
0170 extern struct {
0171   int iphidcy;
0172   float pttrig;
0173   int ntrig;
0174   int maxmiss;
0175 } phidcy_;
0176 }
0177 #define phidcy phidcy_
0178 
0179 extern "C" {
0180 extern struct {
0181   int iembed;
0182   float pxqembd;
0183   float pyqembd;
0184   float xembd;
0185   float yembd;
0186 } embed_;
0187 }
0188 #define embed embed_
0189 
0190 extern "C" {
0191 extern struct {
0192   int ipop;
0193 } popcorn_;
0194 }
0195 #define popcorn popcorn_
0196 
0197 #endif