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