forked from aiola/alice-fast-simulation
-
Notifications
You must be signed in to change notification settings - Fork 2
/
AliPythia6_dev.h
86 lines (61 loc) · 2.76 KB
/
AliPythia6_dev.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#ifndef ALIPYTHIA6_DEV_H
#define ALIPYTHIA6_DEV_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
#include <TPythia6.h>
#include "AliPythiaBase_dev.h"
class AliStack;
class AliPythia6_dev : public TPythia6, public AliPythiaBase_dev
{
public:
AliPythia6_dev();
virtual ~AliPythia6_dev() {;}
// Implementation of AliPythiaBase_dev intrface
virtual Int_t Version() {return (6);}
// convert to compressed code and print result (for debugging only)
virtual Int_t CheckedLuComp(Int_t kf);
// Pythia initialisation for selected processes
virtual void ProcInit(Process_t process, Float_t energy, Int_t strucfunc, Int_t tune);
virtual void GenerateEvent();
virtual Int_t GetNumberOfParticles() { return GetN(); }
virtual void SetNumberOfParticles(Int_t i) { SetN(i); }
virtual void EditEventList(Int_t i) {Pyedit(i);}
virtual void PrintStatistics();
virtual void EventListing();
virtual Int_t GetParticles(TClonesArray *particles);
virtual void SetDecayOff(const std::set<int>& pdg_codes);
// Treat protons as inside nuclei
virtual void SetNuclei(Int_t a1, Int_t a2, Int_t pdf);
virtual void SetLHEFile(const char* fname) { fLHEFile = fname; }
// Print particle properties
virtual void PrintParticles();
void Pytune(int itune);
// Common Physics Configuration
virtual void SetWeightPower(Double_t pow); // use pT,hard dependent weight instead of p_T,hard bins
virtual void SetPtHardRange(Float_t ptmin, Float_t ptmax);
virtual void SetYHardRange(Float_t ymin, Float_t ymax);
virtual void SetInitialAndFinalStateRadiation(Int_t flag1, Int_t flag2);
virtual void UseNewMultipleInteractionsScenario(Bool_t b) { fNewMIS = b; }
// Common Getters
virtual Float_t GetXSection();
virtual Int_t ProcessCode();
virtual Float_t GetPtHard();
virtual Float_t GetEventWeight();
virtual Int_t GetNMPI();
virtual Bool_t EndOfLHEFileReached() { return fEndOfLHEFile; }
virtual void Pyevnw();
virtual void Pyshow(Int_t ip1, Int_t ip2, Double_t qmax);
protected:
Process_t fProcess; ///< Process type
Int_t fItune; ///< Tune
Float_t fEcms; ///< Centre of mass energy
Int_t fStrucFunc; ///< Structure function
TString fLHEFile; ///< LHE file name
Bool_t fNewMIS; ///< Use new MIS
Bool_t fEndOfLHEFile; //!<!End of LHE was reached
private:
AliPythia6_dev(const AliPythia6_dev& pythia); // not implemented
AliPythia6_dev & operator=(const AliPythia6_dev & rhs); // not implemented
ClassDef(AliPythia6_dev, 1) //ALICE UI to PYTHIA
};
#endif