Logo ROOT  
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
72class Pythia;
73class TClonesArray;
74class TObjArray;
75
76class TPythia8 : public TGenerator
77{
78private:
80protected:
81 static TPythia8 *fgInstance; //! singleton instance
82 Pythia8::Pythia *fPythia; //! The pythia8 instance
83 Int_t fNumberOfParticles; //! Number of particles
84public:
85 TPythia8(bool printBanner = true);
86 TPythia8(const char *xmlDir, bool printBanner = true);
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
int Int_t
Definition: RtypesCore.h:43
bool Bool_t
Definition: RtypesCore.h:61
double Double_t
Definition: RtypesCore.h:57
const char Option_t
Definition: RtypesCore.h:64
#define ClassDef(name, id)
Definition: Rtypes.h:322
An array of clone (identical) objects.
Definition: TClonesArray.h:32
The interface to various event generators.
Definition: TGenerator.h:144
An array of TObjects.
Definition: TObjArray.h:37
TPythia8 is an interface class to C++ version of Pythia 8.1 event generators, written by T....
Definition: TPythia8.h:77
void Plist(Int_t id) const
Event listing.
Definition: TPythia8.cxx:332
Pythia8::Pythia * Pythia8()
Definition: TPythia8.h:89
virtual ~TPythia8()
Destructor.
Definition: TPythia8.cxx:126
void PlistChanged() const
Event listing.
Definition: TPythia8.cxx:348
void ListAll() const
Event listing.
Definition: TPythia8.cxx:316
void ReadString(const char *string) const
Configuration.
Definition: TPythia8.cxx:300
Bool_t Initialize(Int_t idAin, Int_t idBin, Double_t ecms)
Initialization.
Definition: TPythia8.cxx:147
void EventListing() const
Event listing.
Definition: TPythia8.cxx:364
void ListChanged() const
Event listing.
Definition: TPythia8.cxx:324
Int_t fNumberOfParticles
The pythia8 instance.
Definition: TPythia8.h:83
void PrintStatistics() const
Print end of run statistics.
Definition: TPythia8.cxx:356
Int_t GetN() const
Initialization.
Definition: TPythia8.cxx:292
void PlistAll() const
Event listing.
Definition: TPythia8.cxx:340
virtual void GenerateEvent()
Generate the next event.
Definition: TPythia8.cxx:185
static TPythia8 * Instance()
Return an instance of TPythia8.
Definition: TPythia8.cxx:139
TPythia8(bool printBanner=true)
Number of particles.
Definition: TPythia8.cxx:91
static TPythia8 * fgInstance
Definition: TPythia8.h:81
void ReadConfigFile(const char *string) const
Configuration.
Definition: TPythia8.cxx:308
void AddParticlesToPdgDataBase()
Add some pythia specific particle code to the data base.
Definition: TPythia8.cxx:372
Pythia8::Pythia * fPythia
singleton instance
Definition: TPythia8.h:82
virtual Int_t ImportParticles(TClonesArray *particles, Option_t *option="")
Import particles from Pythia stack.
Definition: TPythia8.cxx:194