Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197
#ifndef GeneratorInterface_AMPTInterface_AMPTWrapper
#define GeneratorInterface_AMPTInterface_AMPTWrapper

/*
 * Wrapper for FORTRAN version of AMPT 
 */

//gsfs changed to 150001
#define _MAXNUMPARTICLE_ 150001

extern "C" {
void amptset_(double& efrm,
              const char* frame,
              const char* proj,
              const char* targ,
              int& iap,
              int& izp,
              int& iat,
              int& izt,
              int,
              int,
              int);
}
#define AMPTSET amptset_

extern "C" {
void ampt_(const char* frame, double& bmin0, double& bmax0, int);
}
#define AMPT ampt_

extern "C" {
int invflv_(int&);
}
#define INVFLV invflv_

//gsfs changed entries to agree with calling sequence in AMPT
extern "C" {
extern struct {
  float eatt;
  int jatt;
  int natt;
  int nt;
  int np;
  int n0;
  int n01;
  int n10;
  int n11;
} hmain1_;
}
#define hmain1 hmain1_

extern "C" {
extern struct {
  int lblast[_MAXNUMPARTICLE_];
  float xlast[_MAXNUMPARTICLE_][4];
  float plast[_MAXNUMPARTICLE_][4];
  int nlast;
} hbt_;
}
#define hbt hbt_

extern "C" {
extern struct {
  float hipr1[100];
  int ihpr2[50];
  float hint1[100];
  int ihnt2[50];
} hparnt_;
}
#define hparnt hparnt_

extern "C" {
extern struct {
  int mstu[200];
  float paru[200];
  int mstj[200];
  float parj[200];
} ludat1_;
}
#define ludat1 ludat1_

extern "C" {
extern struct {
  int nevent;
  int isoft;
  int isflag;
  int izpc;
} anim_;
}
#define anim anim_

extern "C" {
extern struct {
  float dpcoal;
  float drcoal;
  float ecritl;
} coal_;
}
#define coal coal_

extern "C" {
extern struct {
  float xmp;
  float xmu;
  float alpha;
  float rscut2;
  float cutof2;
} para2_;
}
#define para2 para2_

extern "C" {
extern struct {
  int ioscar;
  int nsmbbbar;
  int nsmmeson;
} para7_;
}
#define para7 para7_

extern "C" {
extern struct {
  int idpert;
  int npertd;
  int idxsec;
} para8_;
}
#define para8 para8_

extern "C" {
extern struct {
  float masspr;
  float massta;
  int iseed;
  int iavoid;
  float dt;
} input1_;
}
#define input1 input1_

extern "C" {
extern struct {
  int ilab;
  int manyb;
  int ntmax;
  int icoll;
  int insys;
  int ipot;
  int mode;
  int imomen;
  int nfreq;
  int icflow;
  int icrho;
  int icou;
  int kpoten;
  int kmul;
} input2_;
}
#define input2 input2_

extern "C" {
extern struct {
  int nsav;
  int iksdcy;
} resdcy_;
}
#define resdcy resdcy_

extern "C" {
extern struct {
  int iphidcy;
  float pttrig;
  int ntrig;
  int maxmiss;
} phidcy_;
}
#define phidcy phidcy_

extern "C" {
extern struct {
  int iembed;
  float pxqembd;
  float pyqembd;
  float xembd;
  float yembd;
} embed_;
}
#define embed embed_

extern "C" {
extern struct {
  int ipop;
} popcorn_;
}
#define popcorn popcorn_

#endif