Adding variable comments
[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"
e67e0fb7 10#include "TDPMjet.h"
1a52e0ed 11#include <TString.h>
12#include <TArrayI.h>
13
14class TDPMjet;
15class TArrayI;
16class TParticle;
17class TClonesArray;
18class TGraph;
9dcc0beb 19class AliGenEventHeader;
20class AliStack;
21class AliRunLoader;
22class AliGenDPMjetEventHeader;
23
24
1a52e0ed 25
26class AliGenDPMjet : public AliGenMC
27{
28
29 public:
30 AliGenDPMjet();
31 AliGenDPMjet(Int_t npart);
ba758f5a 32 AliGenDPMjet(const AliGenDPMjet &Dpmjet);
1a52e0ed 33 virtual ~AliGenDPMjet();
34 virtual void Generate();
35 virtual void Init();
4e5c2fd7 36 virtual void FinishRun();
e67e0fb7 37 virtual void SetEnergyCMS(Float_t energy = 14000.) {fEnergyCMS = energy; fBeamEn = energy / 2.;}
9dcc0beb 38 virtual void SetImpactParameterRange(Float_t bmin=0., Float_t bmax=1.)
1a52e0ed 39 {fMinImpactParam=bmin; fMaxImpactParam=bmax;}
e67e0fb7 40 virtual void SetProcess(DpmProcess_t iproc) {fProcess = iproc;}
1a52e0ed 41 virtual void SetCentral(Int_t icentr=-2) {fICentr = icentr;}
1a52e0ed 42 virtual void SetFlavor(Int_t flag=0) {fFlavor = flag;}
1a52e0ed 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;}
f97d4a8e 46 virtual void SetPi0Decay(Int_t iPi0) {fPi0Decay = iPi0;}
717765ce 47 virtual void SetDecayAll(Int_t iDec) {fDecayAll = iDec;}
1a52e0ed 48 virtual void GetImpactParameterRange(Float_t& bmin, Float_t& bmax)
49 {bmin = fMinImpactParam; bmax = fMaxImpactParam;}
ba758f5a 50 virtual Int_t GetSpectators() {return fSpectators;}
51 virtual Int_t GetFlavor() {return fFlavor;}
1a52e0ed 52
1a52e0ed 53 virtual void SetGenImpPar(Float_t bValue) {fGenImpPar=bValue;}
54 virtual Float_t GetGenImpPar() {return fGenImpPar;}
55
1a52e0ed 56 AliGenDPMjet & operator=(const AliGenDPMjet & rhs);
9dcc0beb 57 void AddHeader(AliGenEventHeader* header);
1a52e0ed 58
59 protected:
60 Bool_t SelectFlavor(Int_t pid);
61 void MakeHeader();
62
63 protected:
1a52e0ed 64 Float_t fBeamEn; // beam energy
1a52e0ed 65 Float_t fMinImpactParam; // minimum impact parameter
66 Float_t fMaxImpactParam; // maximum impact parameter
67 Int_t fICentr; // Flag to force central production
1a52e0ed 68 Int_t fSelectAll; // Flag to write the full event
69 Int_t fFlavor; // Selected particle flavor 4: charm+beauty 5: beauty
70 Int_t fTrials; // Number of trials
1a52e0ed 71 Int_t fSpectators; // put spectators on stack
72 Int_t fSpecn; // Num. of spectator neutrons
73 Int_t fSpecp; // Num. of spectator protons
74 TDPMjet *fDPMjet; // DPMjet
1a52e0ed 75 Int_t fNoGammas; // Don't write gammas if flag "on"
76 Int_t fLHC; // Assume LHC as lab frame
f97d4a8e 77 Int_t fPi0Decay; // Flag for pi0 decays
717765ce 78 Int_t fDecayAll; // Flag to switch on long-lived particle decays
1a52e0ed 79 Float_t fGenImpPar; // GeneratedImpactParameter
e67e0fb7 80 DpmProcess_t fProcess; // Process type
1a52e0ed 81
82 private:
83 // adjust the weight from kinematic cuts
84 void AdjustWeights();
85 // check seleted daughters
86 Bool_t DaughtersSelection(TParticle* iparticle);
87 // check if stable
88 Bool_t Stable(TParticle* particle);
89
fc7e1b1c 90 ClassDef(AliGenDPMjet,2) // AliGenerator interface to DPMJET
1a52e0ed 91};
92#endif
93
94
95
96
97