Decay of L0s, Lambda, Sigma, Xi and Omega switched off. To be handled by the\
[u/mrichter/AliRoot.git] / TDPMjet / AliGenDPMjet.h
CommitLineData
1a52e0ed 1#ifndef ALIGENDPMJET_H
2#define ALIGENDPMJET_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6// Generator using DPMJET as an external generator
7// The main DPMJET options are accessable for the user through this interface.
8
9#include "AliGenMC.h"
10#include <TString.h>
11#include <TArrayI.h>
12
13class TDPMjet;
14class TArrayI;
15class TParticle;
16class TClonesArray;
17class TGraph;
18
19class AliGenDPMjet : public AliGenMC
20{
21
22 public:
23 AliGenDPMjet();
24 AliGenDPMjet(Int_t npart);
25 AliGenDPMjet(const AliGenDPMjet &Dpmjet){;}
26 virtual ~AliGenDPMjet();
27 virtual void Generate();
28 virtual void Init();
29
30 virtual void SetBeamEnergy(Float_t energy=5400.) {fBeamEn=energy;}
31 virtual void SetEnergyCMS(Float_t energy=5400.) {fEnergyCMS=energy;}
32 virtual void SetProjectile(Int_t a=208, Int_t z=82)
33 {fAProjectile = a; fZProjectile = z;}
34 virtual void SetTarget(Int_t a=208, Int_t z=82)
35 {fATarget = a; fZTarget = z;}
36 virtual void SetImpactParameterRange(Float_t bmin=0., Float_t bmax=16.)
37 {fMinImpactParam=bmin; fMaxImpactParam=bmax;}
38 virtual void SetCentral(Int_t icentr=-2) {fICentr = icentr;}
39 virtual void KeepFullEvent();
40 virtual void SetDecaysOff(Int_t flag=1) {fDecaysOff = flag;}
41 virtual void SetFlavor(Int_t flag=0) {fFlavor = flag;}
42 virtual void SetEvaluate(Int_t flag=0) {fEvaluate = 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
47 virtual Float_t GetEnergyCMS() {return fEnergyCMS;}
48 virtual void GetProjectile(Int_t& a, Int_t& z)
49 {a = fAProjectile; z = fZProjectile;}
50 virtual void GetTarget(Int_t& a, Int_t& z)
51 {a = fATarget; z = fZTarget;}
52 virtual void GetImpactParameterRange(Float_t& bmin, Float_t& bmax)
53 {bmin = fMinImpactParam; bmax = fMaxImpactParam;}
54 virtual Int_t GetSpectators(Int_t spects=1) {return fSpectators;}
55 virtual Int_t GetFlavor(Int_t flag=0) {return fFlavor;}
56
57 // Temporeaneo!?!
58 virtual void SetGenImpPar(Float_t bValue) {fGenImpPar=bValue;}
59 virtual Float_t GetGenImpPar() {return fGenImpPar;}
60
61 /*virtual void EvaluateCrossSections();
62 virtual void Boost();
63 virtual TGraph* CrossSection() {return fDsigmaDb;}
64 virtual TGraph* BinaryCollisions() {return fDnDb;}
65 */
66
67 AliGenDPMjet & operator=(const AliGenDPMjet & rhs);
68
69 protected:
70 Bool_t SelectFlavor(Int_t pid);
71 void MakeHeader();
72
73 protected:
74
75 Int_t fAProjectile; // Projectile A
76 Int_t fZProjectile; // Projectile Z
77 Int_t fATarget; // Target A
78 Int_t fZTarget; // Target Z
79 Float_t fBeamEn; // beam energy
80 Float_t fEnergyCMS; // Centre of mass energy
81 Float_t fMinImpactParam; // minimum impact parameter
82 Float_t fMaxImpactParam; // maximum impact parameter
83 Int_t fICentr; // Flag to force central production
84 Float_t fCrossSec; // Fraction of x-section
85 Int_t fKeep; // Flag to keep full event information
86 Int_t fDecaysOff; // Flag to turn off decays of pi0, K_s, D, Lambda, sigma
87 Int_t fEvaluate; // Evaluate total and partial cross-sections
88 Int_t fSelectAll; // Flag to write the full event
89 Int_t fFlavor; // Selected particle flavor 4: charm+beauty 5: beauty
90 Int_t fTrials; // Number of trials
91 TArrayI fParentSelect; // Parent particles to be selected
92 TArrayI fChildSelect; // Decay products to be selected
93 Float_t fXsection; // Cross-section
94 Int_t fSpectators; // put spectators on stack
95 Int_t fSpecn; // Num. of spectator neutrons
96 Int_t fSpecp; // Num. of spectator protons
97 TDPMjet *fDPMjet; // DPMjet
98 TGraph* fDsigmaDb; // dSigma/db for the system
99 TGraph* fDnDb; // dNBinaryCollisions/db
100 TClonesArray *fParticles; // Particle List
101 Int_t fNoGammas; // Don't write gammas if flag "on"
102 Int_t fLHC; // Assume LHC as lab frame
103 // Temporaneo!
104 Float_t fGenImpPar; // GeneratedImpactParameter
105
106 private:
107 // adjust the weight from kinematic cuts
108 void AdjustWeights();
109 // check seleted daughters
110 Bool_t DaughtersSelection(TParticle* iparticle);
111 // check if stable
112 Bool_t Stable(TParticle* particle);
113
114 ClassDef(AliGenDPMjet,1) // AliGenerator interface to DPMJET
115};
116#endif
117
118
119
120
121