]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PYTHIA6/AliPythia6.h
version increased
[u/mrichter/AliRoot.git] / PYTHIA6 / AliPythia6.h
CommitLineData
39d810c8 1#ifndef ALIPYTHIA6_H
2#define ALIPYTHIA6_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id: AliPythia.h,v 1.22 2007/10/09 08:43:24 morsch Exp $ */
7
8#include <TPythia6.h>
9#include "AliPythiaBase.h"
10
11
12class AliFastGlauber;
13class AliQuenchingWeights;
14class AliStack;
15
16class AliPythia6 : public TPythia6, public AliPythiaBase
17{
18
19 public:
20 virtual ~AliPythia6(){;}
21 virtual Int_t Version() {return (6);}
22 // convert to compressed code and print result (for debugging only)
23 virtual Int_t CheckedLuComp(Int_t kf);
24 // Pythia initialisation for selected processes
25 virtual void ProcInit
75d4f39e 26 (Process_t process, Float_t energy, StrucFunc_t strucfunc, Int_t tune);
39d810c8 27 virtual void GenerateEvent() {Pyevnt();}
28 virtual void GenerateMIEvent() {Pyevnw();}
29 virtual void HadronizeEvent() {Pyexec();}
30 virtual Int_t GetNumberOfParticles() {return GetN();}
31 virtual void SetNumberOfParticles(Int_t i) {SetN(i);}
32 virtual void EditEventList(Int_t i) {Pyedit(i);}
33 virtual void PrintStatistics();
34 virtual void EventListing();
35 virtual Int_t GetParticles(TClonesArray *particles) {return ImportParticles(particles, "All");}
36 // Treat protons as inside nuclei
37 virtual void SetNuclei(Int_t a1, Int_t a2);
e28ccdaf 38 // Set colliding nuclei ("p","n",...)
39 virtual void SetCollisionSystem(TString projectile, TString target) { fProjectile = projectile; fTarget = target; }
39d810c8 40 // Print particle properties
41 virtual void PrintParticles();
42 // Reset the decay table
43 virtual void ResetDecayTable();
44 //
45 // Common Physics Configuration
1cdfb96f 46 virtual void SetWeightPower(Double_t pow); // use pT,hard dependent weight instead of p_T,hard bins
39d810c8 47 virtual void SetPtHardRange(Float_t ptmin, Float_t ptmax);
48 virtual void SetYHardRange(Float_t ymin, Float_t ymax);
49 virtual void SetFragmentation(Int_t flag);
50 virtual void SetInitialAndFinalStateRadiation(Int_t flag1, Int_t flag2);
51 virtual void SetIntrinsicKt(Float_t kt);
52 virtual void SwitchHFOff();
53 virtual void SetPycellParameters(Float_t etamax, Int_t neta, Int_t nphi,
54 Float_t thresh, Float_t etseed, Float_t minet, Float_t r);
55 virtual void ModifiedSplitting();
56 virtual void SwitchHadronisationOff();
57 virtual void SwitchHadronisationOn();
58 //
59 // Common Getters
60 virtual void GetXandQ(Float_t& x1, Float_t& x2, Float_t& q);
61 virtual Float_t GetXSection();
62 virtual Int_t ProcessCode();
63 virtual Float_t GetPtHard();
64 //
65 //
66 virtual void SetDecayTable();
67 virtual void Pyevnw();
8b9bb87a 68 virtual void Pyjoin(Int_t& npart, Int_t* ipart);
39d810c8 69 virtual void Pycell(Int_t& nclus);
70 virtual void Pyclus(Int_t& nclus);
71 virtual void GetJet(Int_t i, Float_t& px, Float_t& py, Float_t& pz, Float_t& e);
72 virtual void LoadEvent(AliStack* stack, Int_t flag, Int_t reHadr);
73 virtual void Pyshow(Int_t ip1, Int_t ip2, Double_t qmax);
f3cbba5f 74 virtual void Pyshowq(Int_t ip1, Int_t ip2, Double_t qmax);
75
39d810c8 76 virtual void Pyrobo(Int_t imi, Int_t ima, Double_t the, Double_t phi, Double_t bex, Double_t bey, Double_t bez);
77 virtual void InitQuenching(Float_t bmin, Float_t bmax, Float_t k, Int_t iECMethod, Float_t zmax = 0.97, Int_t ngmax = 30);
78 virtual void SetPyquenParameters(Double_t t0, Double_t tau0, Int_t nf, Int_t iengl, Int_t iangl);
79 virtual void Pyquen(Double_t a, Int_t ibf, Double_t b);
f3cbba5f 80 virtual void Qpygin0();
39d810c8 81 virtual void GetQuenchingParameters(Double_t& xp, Double_t& yp, Double_t z[4]);
82 // return instance of the singleton
83 static AliPythia6* Instance();
84 virtual void Quench();
85 // Assignment Operator
86 AliPythia6 & operator=(const AliPythia6 & rhs);
87 void Copy(TObject&) const;
88 protected:
89 Process_t fProcess; // Process type
90 Float_t fEcms; // Centre of mass energy
91 StrucFunc_t fStrucFunc; // Structure function
e28ccdaf 92 TString fProjectile; // Projectile
93 TString fTarget; // Target
39d810c8 94 Int_t fDefMDCY[501]; // ! Default decay switches per particle
95 Int_t fDefMDME[2001]; // ! Default decay switches per mode
96 Double_t fZQuench[4]; // ! Quenching fractions for this even
97 Double_t fXJet; // ! Jet production point X
98 Double_t fYJet; // ! Jet production point Y
99 Int_t fNGmax; // Maximum number of radiated gluons in quenching
100 Float_t fZmax; // Maximum energy loss in quenching
101 AliFastGlauber* fGlauber; // ! The Glauber model
102 AliQuenchingWeights* fQuenchingWeights; // ! The Quenching Weights model
103 static AliPythia6* fgAliPythia; // Pointer to single instance
104 private:
105 AliPythia6();
106 AliPythia6(const AliPythia6& pythia);
107 void ConfigHeavyFlavor();
108 void AtlasTuning();
b4d68b2a 109 void AtlasTuningMC09();
39d810c8 110 ClassDef(AliPythia6,1) //ALICE UI to PYTHIA
111};
112
113#endif
114
115
116
117
118