-//********************************************************************************
-//*Calls DT_DTUINI with the either default parameters or the ones set by the user*
-//********************************************************************************
-
-// printf("\n-------------------------------------------\n");
-// printf("\n TDPMjet initialized with:\n\n");
-// printf(" Projectile -> A = %d, Z = %d \n",fIp, fIpz);
-// printf(" Target -> A = %d, Z = %d \n",fIt, fItz);
-// printf(" Proj. LAB E -> E = %f GeV \n",fEpn);
-// printf(" CM energy -> Ecm = %f GeV \n",fCMEn);
-// printf("\n-------------------------------------------\n");
+//
+// Write standard DPMJET input cards
+//
+ FILE* out = fopen("dpmjet.inp","w");
+// Projectile and Target definition
+ if (fIp == 1 && fIpz ==1) {
+ fprintf(out, "PROJPAR PROTON\n");
+ } else if (fIp == 1 && fIpz == -1) {
+ fprintf(out, "PROJPAR APROTON\n");
+ } else {
+ fprintf(out, "PROJPAR %10.1f%10.1f%10.1f%10.1f%10.1f%10.1f\n", (Float_t) fIp, (Float_t) fIpz, 0., 0., 0., 0.);
+ }
+
+ if (fIt == 1 && fItz ==1) {
+ fprintf(out, "TARPAR PROTON\n");
+ } else if (fIt == 1 && fItz == -1) {
+ fprintf(out, "TARPAR APROTON\n");
+ } else {
+ fprintf(out, "TARPAR %10.1f%10.1f%10.1f%10.1f%10.1f%10.1f\n", (Float_t) fIt, (Float_t) fItz, 0., 0., 0., 0.);
+ }
+
+// Beam energy and crossing-angle
+ fprintf(out, "BEAM %10.1f%10.1f%10.1f%10.1f%10.1f%10.1f\n",fEpn, fEpn, 0., 0., 0., 0.);
+// Centrality
+ fprintf(out, "CENTRAL %10.1f%10.1f%10.1f%10.1f%10.1f%10.1f\n",-1., fBmin, fBmax, 0., 0., 0.);
+// Particle decays
+ if (fPi0Decay)
+ fprintf(out, "PARDECAY %10.1f%10.1f%10.1f%10.1f%10.1f%10.1f\n", 2., 0., 0., 0., 0., 0.);
+//
+// PHOJET specific
+ fprintf(out, "PHOINPUT\n");
+ fprintf(out, "DEBUG 0 0 0 \n");
+
+ if (fProcess == kDpmMb) {
+ fprintf(out, "PROCESS 1 0 1 1 1 1 1 1\n");
+ } else if (fProcess == kDpmMbNonDiffr) {
+ fprintf(out, "PROCESS 1 0 1 1 0 0 0 1\n");
+ } else if (fProcess == kDpmDiffr) {
+ fprintf(out, "PROCESS 0 0 0 0 1 1 1 0\n");
+ }else if (fProcess == kDpmSingleDiffr) {
+ fprintf(out, "PROCESS 0 0 0 0 1 1 0 0\n");
+ }else if (fProcess == kDpmDoubleDiffr) {
+ fprintf(out, "PROCESS 0 0 0 0 0 0 1 0\n");
+ }
+
+ fprintf(out, "ENDINPUT\n");
+//
+// START card
+ fprintf(out, "START 1.0 0.0\n");
+ fprintf(out, "STOP\n");
+ fclose(out);
+ dpmjet_openinp();