3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 // Generator using DPMJET as an external generator
7 // The main DPMJET options are accessable for the user through this interface.
19 class AliGenEventHeader;
22 class AliGenDPMjetEventHeader;
26 class AliGenDPMjet : public AliGenMC
31 AliGenDPMjet(Int_t npart);
32 AliGenDPMjet(const AliGenDPMjet &Dpmjet);
33 virtual ~AliGenDPMjet();
34 virtual void Generate();
36 virtual void FinishRun();
37 virtual void SetEnergyCMS(Float_t energy = 14000.) {fEnergyCMS = energy; fBeamEn = energy / 2.;}
38 virtual void SetImpactParameterRange(Float_t bmin=0., Float_t bmax=1.)
39 {fMinImpactParam=bmin; fMaxImpactParam=bmax;}
40 virtual void SetProcess(DpmProcess_t iproc) {fProcess = iproc;}
41 virtual void SetCentral(Int_t icentr=-2) {fICentr = icentr;}
42 virtual void SetFlavor(Int_t flag=0) {fFlavor = flag;}
43 virtual void SetSelectAll(Int_t flag=0) {fSelectAll = flag;}
44 virtual void SetSpectators(Int_t spects=1) {fSpectators = spects;}
45 virtual void SetBoostLHC(Int_t flag=0) {fLHC = flag;}
46 virtual void SetPi0Decay(Int_t iPi0) {fPi0Decay = iPi0;}
47 virtual void GetImpactParameterRange(Float_t& bmin, Float_t& bmax)
48 {bmin = fMinImpactParam; bmax = fMaxImpactParam;}
49 virtual Int_t GetSpectators() {return fSpectators;}
50 virtual Int_t GetFlavor() {return fFlavor;}
52 virtual void SetGenImpPar(Float_t bValue) {fGenImpPar=bValue;}
53 virtual Float_t GetGenImpPar() {return fGenImpPar;}
55 AliGenDPMjet & operator=(const AliGenDPMjet & rhs);
56 void AddHeader(AliGenEventHeader* header);
59 Bool_t SelectFlavor(Int_t pid);
63 Float_t fBeamEn; // beam energy
64 Float_t fMinImpactParam; // minimum impact parameter
65 Float_t fMaxImpactParam; // maximum impact parameter
66 Int_t fICentr; // Flag to force central production
67 Int_t fSelectAll; // Flag to write the full event
68 Int_t fFlavor; // Selected particle flavor 4: charm+beauty 5: beauty
69 Int_t fTrials; // Number of trials
70 Int_t fSpectators; // put spectators on stack
71 Int_t fSpecn; // Num. of spectator neutrons
72 Int_t fSpecp; // Num. of spectator protons
73 TDPMjet *fDPMjet; // DPMjet
74 Int_t fNoGammas; // Don't write gammas if flag "on"
75 Int_t fLHC; // Assume LHC as lab frame
76 Int_t fPi0Decay; // Flag for pi0 decays
77 Float_t fGenImpPar; // GeneratedImpactParameter
78 DpmProcess_t fProcess; // Process type
81 // adjust the weight from kinematic cuts
83 // check seleted daughters
84 Bool_t DaughtersSelection(TParticle* iparticle);
86 Bool_t Stable(TParticle* particle);
88 ClassDef(AliGenDPMjet,2) // AliGenerator interface to DPMJET