]>
Commit | Line | Data |
---|---|---|
b584e2f5 | 1 | #ifndef ALITPYTHIA8_H |
2 | #define ALITPYTHIA8_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id$ */ | |
7 | ||
8 | ||
9 | //////////////////////////////////////////////////////////////////////////////// | |
10 | // // | |
11 | // TPythia8 // | |
12 | // // | |
13 | // TPythia is an interface class to C++ version of Pythia 8.1 // | |
14 | // event generators, written by T.Sjostrand. // | |
15 | //////////////////////////////////////////////////////////////////////////////// | |
16 | /* | |
17 | *------------------------------------------------------------------------------------* | |
18 | | | | |
19 | | *------------------------------------------------------------------------------* | | |
20 | | | | | | |
21 | | | | | | |
22 | | | PPP Y Y TTTTT H H III A Welcome to the Lund Monte Carlo! | | | |
23 | | | P P Y Y T H H I A A This is PYTHIA version 8.100 | | | |
24 | | | PPP Y T HHHHH I AAAAA Last date of change: 20 Oct 2007 | | | |
25 | | | P Y T H H I A A | | | |
26 | | | P Y T H H III A A Now is 27 Oct 2007 at 18:26:53 | | | |
27 | | | | | | |
28 | | | Main author: Torbjorn Sjostrand; CERN/PH, CH-1211 Geneva, Switzerland, | | | |
29 | | | and Department of Theoretical Physics, Lund University, Lund, Sweden; | | | |
30 | | | phone: + 41 - 22 - 767 82 27; e-mail: torbjorn@thep.lu.se | | | |
31 | | | Author: Stephen Mrenna; Computing Division, Simulations Group, | | | |
32 | | | Fermi National Accelerator Laboratory, MS 234, Batavia, IL 60510, USA; | | | |
33 | | | phone: + 1 - 630 - 840 - 2556; e-mail: mrenna@fnal.gov | | | |
34 | | | Author: Peter Skands; CERN/PH, CH-1211 Geneva, Switzerland, | | | |
35 | | | and Theoretical Physics Department, | | | |
36 | | | Fermi National Accelerator Laboratory, MS 106, Batavia, IL 60510, USA; | | | |
37 | | | phone: + 41 - 22 - 767 24 59; e-mail: skands@fnal.gov | | | |
38 | | | | | | |
39 | | | The main program reference is the 'Brief Introduction to PYTHIA 8.1', | | | |
40 | | | T. Sjostrand, S. Mrenna and P. Skands, arXiv:0710.3820 | | | |
41 | | | | | | |
42 | | | The main physics reference is the 'PYTHIA 6.4 Physics and Manual', | | | |
43 | | | T. Sjostrand, S. Mrenna and P. Skands, JHEP05 (2006) 026 [hep-ph/0603175]. | | | |
44 | | | | | | |
45 | | | An archive of program versions and documentation is found on the web: | | | |
46 | | | http://www.thep.lu.se/~torbjorn/Pythia.html | | | |
47 | | | | | | |
48 | | | This program is released under the GNU General Public Licence version 2. | | | |
49 | | | Please respect the MCnet Guidelines for Event Generator Authors and Users. | | | |
50 | | | | | | |
51 | | | Disclaimer: this program comes without any guarantees. | | | |
52 | | | Beware of errors and use common sense when interpreting results. | | | |
53 | | | | | | |
54 | | | Copyright (C) 2007 Torbjorn Sjostrand | | | |
55 | | | | | | |
56 | | | | | | |
57 | | *------------------------------------------------------------------------------* | | |
58 | | | | |
59 | *------------------------------------------------------------------------------------* | |
60 | */ | |
61 | ||
62 | #include "TGenerator.h" | |
63 | #include "Pythia.h" | |
64 | ||
65 | ||
66 | class TClonesArray; | |
67 | class TObjArray; | |
68 | ||
69 | class AliTPythia8 : public TGenerator | |
70 | { | |
71 | public: | |
72 | AliTPythia8(); | |
73 | AliTPythia8(const char *xmlDir); | |
74 | virtual ~AliTPythia8(); | |
75 | static AliTPythia8 *Instance(); | |
76 | Pythia8::Pythia *Pythia8() {return fPythia;} | |
77 | ||
78 | // Interface | |
79 | virtual void GenerateEvent(); | |
80 | virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option=""); | |
81 | virtual TObjArray *ImportParticles(Option_t *option=""); | |
82 | ||
83 | // Others | |
84 | void ReadString(const char* string) const; | |
85 | void ReadConfigFile(const char* string) const; | |
86 | Bool_t Initialize(Int_t idAin, Int_t idBin, Double_t ecms); | |
87 | void PrintStatistics() const; | |
88 | void EventListing() const; | |
89 | Int_t GetN() const; | |
90 | ||
91 | protected: | |
b062cb58 | 92 | AliTPythia8(const AliTPythia8&); |
93 | AliTPythia8 operator=(const AliTPythia8&); | |
b584e2f5 | 94 | static AliTPythia8 *fgInstance; //! singleton instance |
95 | Pythia8::Pythia *fPythia; //! The pythia8 instance | |
96 | Int_t fNumberOfParticles; //! Number of particles | |
97 | private: | |
c014d45a | 98 | void AddParticlesToPdgDataBase() const; |
b584e2f5 | 99 | ClassDef(AliTPythia8, 1) // Interface class of Pythia8 |
100 | }; | |
101 | ||
102 | #endif | |
103 |