# define dt_rndmst_dpmjet dt_rndmst_dpmjet_
# define dt_rndmin_dpmjet dt_rndmin_dpmjet_
# define dt_rndmou_dpmjet dt_rndmou_dpmjet_
+# define rninit_dpmjet rninit_dpmjet_
# define type_of_call
#else
# define dt_rndm_dpmjet DT_RNDM_DPMJET_
# define dt_rndmst_dpmjet DT_RNDMST_DPMJET
# define dt_rndmin_dpmjet DT_RNDMIN_DPMJET
# define dt_rndmou_dpmjet DT_RNDMOU_DPMJET
+# define rninit_dpmjet RNINIT_DPMJET
# define type_of_call _stdcall
#endif
void type_of_call dt_rndmte_(Int_t &, Int_t &, Int_t &, Int_t &, Int_t &, Int_t &)
{printf("Dummy version of dt_rndmou reached\n");}
+ void type_of_call rninit_(Int_t &, Int_t &, Int_t &, Int_t &)
+ {printf("Dummy version of rninit reached\n");}
+
Double_t type_of_call dt_rndm_(Int_t &)
{
// Wrapper to static method which retrieves the
set ( FSRCS dpmjet3.0-5F.f phojet1.12-35c4.f user3.0-5F.f openfile.f)
+set(FLUPRO $ENV{FLUPRO})
+
+if(FLUPRO)
+
+ set ( ELIBS libflukahp.a)
+ set ( ELIBSDIR ${FLUPRO})
+
+endif(FLUPRO)
+
if( ALICE_TARGET MATCHES "macosx")
set ( CSRCS ${CSRCS} ../PYTHIA6/pythia6_common_address.c)
#include "AliGenDPMjetEventHeader.h"
#include "AliRun.h"
#include "AliDpmJetRndm.h"
+#include "AliIonPDGCodes.h"
#include "AliHeader.h"
#include "AliStack.h"
#include "AliMC.h"
- Bool_t tFlag = (fTrackIt && (ks==1 || ks==-1 || ks==1001));
+ Bool_t tFlag = (fTrackIt && (ks==1 || ks==-1));
+ //printf(" AliGemDPMJet->PushTrack: kf %d ks %d flag %d\n",kf,ks,tFlag);
+ if(kf>10000 && (ks==-1 || ks==1000 || ks==1001)) kf += 1000000000;
PushTrack(tFlag, imo, kf,
p[0], p[1], p[2], p[3],
origin[0], origin[1], origin[2], tof,
{
// Return true for a stable particle
//
-
-// if (particle->GetFirstDaughter() < 0 ) return kTRUE;
- if (particle->GetStatusCode() == 1) return kTRUE;
+ int st = particle->GetStatusCode();
+ if(st == 1 || st == -1) return kTRUE;
else return kFALSE;
}
return kTRUE;
}
+// -------------------------------------------------------
+void AliGenDPMjet::SetIonPDGCodes()
+{
+ // Defining PDG codes for the ions
+ AliIonPDGCodes *pdgcodes = new AliIonPDGCodes();
+ pdgcodes->AddParticlesToPdgDataBase();
+}
-
+// -------------------------------------------------------
Bool_t AliGenDPMjet::GetWeightsDiffraction(Double_t M, Double_t &Mmin, Double_t &Mmax,
Double_t &wSD, Double_t &wDD, Double_t &wND)
{
#include <TArrayI.h>
class TDPMjet;
-class TArrayI;
class TParticle;
class TClonesArray;
-class TGraph;
class AliGenEventHeader;
class AliStack;
class AliRunLoader;
class AliGenDPMjetEventHeader;
-
+class AliIonPDGCodes;
class AliGenDPMjet : public AliGenMC
virtual void SetBoostLHC(Int_t flag=0) {fLHC = flag;}
virtual void SetPi0Decay(Int_t iPi0) {fPi0Decay = iPi0;}
virtual void SetDecayAll(Int_t iDec) {fDecayAll = iDec;}
+ virtual void SetIonPDGCodes();
virtual void GetImpactParameterRange(Float_t& bmin, Float_t& bmax)
{bmin = fMinImpactParam; bmax = fMaxImpactParam;}
virtual Int_t GetSpectators() {return fSpectators;}
TDatabasePDG *pdgDB = TDatabasePDG::Instance();
- const Int_t kOffset=10000000;
+ const Int_t kOffset=1000000000;
pdgDB->AddParticle("H","H",1.00794,kTRUE,0,1,"Ion",1*10000+1*10+kOffset,-1,8);
//pdgDB->AddParticle("Helium","Helium",4.0026,kTRUE,0,2,"Ion",2*10000+4*10+kOffset,-1,8);