Logo ROOT   6.10/09
Reference Guide
TPythia8.h
Go to the documentation of this file.
1 // @(#)root/pythia8:$Name$:$Id$
2 // Author: Andreas Morsch 27/10/2007
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2008, 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 #include "TGenerator.h"
69 #include "Pythia8/Pythia.h"
70 
71 
72 class Pythia;
73 class TClonesArray;
74 class TObjArray;
75 
76 class TPythia8 : public TGenerator
77 {
78 private:
80 protected:
81  static TPythia8 *fgInstance; //! singleton instance
82  Pythia8::Pythia *fPythia; //! The pythia8 instance
83  Int_t fNumberOfParticles; //! Number of particles
84 public:
85  TPythia8();
86  TPythia8(const char *xmlDir);
87  virtual ~TPythia8();
88  static TPythia8 *Instance();
89  Pythia8::Pythia *Pythia8() {return fPythia;}
90 
91  // Interface
92  virtual void GenerateEvent();
93  virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option="");
94  virtual TObjArray *ImportParticles(Option_t *option="");
95 
96  // Others
97  void ReadString(const char* string) const;
98  void ReadConfigFile(const char* string) const;
99  Bool_t Initialize(Int_t idAin, Int_t idBin, Double_t ecms);
100  Bool_t Initialize(Int_t idAin, Int_t idBin, Double_t eAin, Double_t eBin);
101  void ListAll() const;
102  void ListChanged() const;
103  void Plist(Int_t id) const;
104  void PlistAll() const;
105  void PlistChanged() const;
106  void PrintStatistics() const;
107  void EventListing() const;
108  Int_t GetN() const;
109 
110  ClassDef(TPythia8, 1) // Interface class of Pythia8
111 };
112 
113 #endif
An array of TObjects.
Definition: TObjArray.h:37
virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option="")
Import particles from Pythia stack.
Definition: TPythia8.cxx:193
Pythia8::Pythia * fPythia
singleton instance
Definition: TPythia8.h:82
TPythia8()
Number of particles.
Definition: TPythia8.cxx:91
static TPythia8 * Instance()
Return an instance of TPythia8.
Definition: TPythia8.cxx:138
virtual ~TPythia8()
Destructor.
Definition: TPythia8.cxx:125
const char Option_t
Definition: RtypesCore.h:62
The interface to various event generators.
Definition: TGenerator.h:144
static TPythia8 * fgInstance
Definition: TPythia8.h:81
Bool_t Initialize(Int_t idAin, Int_t idBin, Double_t ecms)
Initialization.
Definition: TPythia8.cxx:146
void PrintStatistics() const
Print end of run statistics.
Definition: TPythia8.cxx:355
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
void PlistChanged() const
Event listing.
Definition: TPythia8.cxx:347
#define ClassDef(name, id)
Definition: Rtypes.h:297
void AddParticlesToPdgDataBase()
Add some pythia specific particle code to the data base.
Definition: TPythia8.cxx:371
void Plist(Int_t id) const
Event listing.
Definition: TPythia8.cxx:331
void ReadConfigFile(const char *string) const
Configuration.
Definition: TPythia8.cxx:307
void PlistAll() const
Event listing.
Definition: TPythia8.cxx:339
Int_t GetN() const
Initialization.
Definition: TPythia8.cxx:291
void EventListing() const
Event listing.
Definition: TPythia8.cxx:363
void ReadString(const char *string) const
Configuration.
Definition: TPythia8.cxx:299
double Double_t
Definition: RtypesCore.h:55
TPythia8 is an interface class to C++ version of Pythia 8.1 event generators, written by T...
Definition: TPythia8.h:76
Int_t fNumberOfParticles
The pythia8 instance.
Definition: TPythia8.h:83
Pythia8::Pythia * Pythia8()
Definition: TPythia8.h:89
void ListChanged() const
Event listing.
Definition: TPythia8.cxx:323
An array of clone (identical) objects.
Definition: TClonesArray.h:32
virtual void GenerateEvent()
Generate the next event.
Definition: TPythia8.cxx:184
void ListAll() const
Event listing.
Definition: TPythia8.cxx:315