Correction in TObjArray* AliTPythia8::ImportParticles(Option_t* /* option */)
[u/mrichter/AliRoot.git] / PYTHIA8 / AliPythia8.h
CommitLineData
cc545eb9 1#ifndef ALIPYTHIA8_H
2#define ALIPYTHIA8_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
cc545eb9 8#include "Analysis.h"
9#include "AliPythiaBase.h"
b584e2f5 10#include "AliTPythia8.h"
cc545eb9 11
12class AliStack;
b584e2f5 13class AliPythia8 :public AliTPythia8, public AliPythiaBase
cc545eb9 14{
15
16 public:
17 AliPythia8();
18 AliPythia8(const AliPythia8& pythia);
19 virtual ~AliPythia8() {;}
20 virtual Int_t Version() {return (8);}
21 // convert to compressed code and print result (for debugging only)
22 virtual Int_t CheckedLuComp(Int_t /*kf*/) {return -1;}
23 // Pythia initialisation for selected processes
75d4f39e 24 virtual void ProcInit (Process_t process, Float_t energy, StrucFunc_t strucfunc, Int_t tune);
cc545eb9 25 virtual void GenerateEvent();
26 virtual void GenerateMIEvent();
27 virtual void HadronizeEvent();
28 virtual Int_t GetNumberOfParticles() {return GetN();}
29 virtual void SetNumberOfParticles(Int_t i);
30 virtual void EditEventList(Int_t i);
31 virtual void PrintStatistics();
32 virtual void EventListing();
33 virtual Int_t GetParticles(TClonesArray *particles) {return ImportParticles(particles, "All");}
34 // Treat protons as inside nuclei
35 virtual void SetNuclei(Int_t a1, Int_t a2);
36 // Print particle properties
37 virtual void PrintParticles();
38 // Reset the decay table
39 virtual void ResetDecayTable();
40 //
41 // Common Physics Configuration
42 virtual void SetPtHardRange(Float_t ptmin, Float_t ptmax);
43 virtual void SetYHardRange(Float_t ymin, Float_t ymax);
44 virtual void SetFragmentation(Int_t flag);
45 virtual void SetInitialAndFinalStateRadiation(Int_t flag1, Int_t flag2);
46 virtual void SetIntrinsicKt(Float_t kt);
47 virtual void SwitchHFOff();
48 virtual void SetPycellParameters(Float_t etamax, Int_t neta, Int_t nphi,
49 Float_t thresh, Float_t etseed, Float_t minet, Float_t r);
50 virtual void GetJet(Int_t i, Float_t& px, Float_t& py, Float_t& pz, Float_t& e);
51 virtual void ModifiedSplitting();
52 virtual void InitQuenching(Float_t bmin, Float_t bmax, Float_t k,
53 Int_t iECMethod, Float_t zmax = 0.97,
54 Int_t ngmax = 30);
55 virtual void SwitchHadronisationOff();
56 virtual void SwitchHadronisationOn();
57 //
58 // Common Getters
59 virtual void GetXandQ(Float_t& x1, Float_t& x2, Float_t& q);
60 virtual Float_t GetXSection();
61 virtual Float_t GetPtHard();
af01599e 62 Int_t GetNMPI() {return (Pythia8()->info.nMPI());}
63
cc545eb9 64 //
65 //
66 virtual void SetDecayTable();
67 virtual void Pystat(Int_t /*i*/){;}
68 virtual void Pylist(Int_t /*i*/){;}
69 virtual Int_t ProcessCode();
70 virtual void Pycell(Int_t& nclus);
71 virtual void Pyclus(Int_t& nclus);
72 virtual void Pyshow(Int_t /*ip1*/, Int_t /*ip2*/, Double_t /*qmax*/) {;}
73 virtual void Pyrobo(Int_t /*imi*/, Int_t /*ima*/, Double_t /*the*/,
74 Double_t /*phi*/, Double_t /*bex*/, Double_t /*bey*/, Double_t /*bez*/) {;}
75 static AliPythia8* Instance();
76 virtual void Quench() {;}
77 // Assignment Operator
78 AliPythia8 & operator=(const AliPythia8 & rhs);
79 void Copy(TObject&) const;
80 //
81 // Not yet implemented
82 //
83 virtual void Pyquen(Double_t, Int_t, Double_t);
84 virtual void Pyexec() {;}
85 virtual void GetQuenchingParameters(Double_t& xp, Double_t& yp, Double_t z[4]);
86 virtual void LoadEvent(AliStack* stack, Int_t flag, Int_t reHadr);
87 virtual void ConfigHeavyFlavor();
88 virtual void AtlasTuning();
89 protected:
90 Process_t fProcess; // Process type
91 Float_t fEcms; // Centre of mass energy
92 StrucFunc_t fStrucFunc; // Structure function
93 Int_t fDefMDCY[501]; // ! Default decay switches per particle
94 Int_t fDefMDME[2001]; // ! Default decay switches per mode
95 Double_t fZQuench[4]; // ! Quenching fractions for this even
96 Pythia8::CellJet fCellJet; // ! Cell jet object
97 Float_t fEtSeed; // ! Et seed for cell jets
98 Float_t fMinEtJet; // ! Min jet et
99 Float_t fRJet; // ! Radius for cell jets
100 Pythia8::ClusterJet fClusterJet; // ! Cluster jet object
101 Float_t fYScale; // ! cut-off joining scale
102 Float_t fPtScale; // ! cut-off joining scale
103 Int_t fNJetMin; // ! min. number of jets
104 Int_t fNJetMax; // ! max. number of jets
105 static AliPythia8* fgAliPythia8; // Pointer to single instance
106
107 ClassDef(AliPythia8, 1) //ALICE UI to PYTHIA8
108};
109
110#endif
111
112
113
114
115