TPythia8.h

Go to the documentation of this file.
00001 // @(#)root/pythia8:$Name$:$Id: TPythia8.h 25459 2008-09-19 08:28:00Z brun $
00002 // Author: Andreas Morsch   27/10/2007
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef PYTHIA_TPythia8
00013 #define PYTHIA_TPythia8
00014 
00015 ////////////////////////////////////////////////////////////////////////////////
00016 //                                                                            //
00017 // TPythia8                                                                   //
00018 //                                                                            //
00019 // TPythia is an interface class to C++ version of Pythia 8.1                 //
00020 // event generators, written by T.Sjostrand.                                  //
00021 ////////////////////////////////////////////////////////////////////////////////
00022 /*
00023 *------------------------------------------------------------------------------------*
00024  |                                                                                    |
00025  |  *------------------------------------------------------------------------------*  |
00026  |  |                                                                              |  |
00027  |  |                                                                              |  |
00028  |  |   PPP   Y   Y  TTTTT  H   H  III    A      Welcome to the Lund Monte Carlo!  |  |
00029  |  |   P  P   Y Y     T    H   H   I    A A     This is PYTHIA version 8.100      |  |
00030  |  |   PPP     Y      T    HHHHH   I   AAAAA    Last date of change: 20 Oct 2007  |  |
00031  |  |   P       Y      T    H   H   I   A   A                                      |  |
00032  |  |   P       Y      T    H   H  III  A   A    Now is 27 Oct 2007 at 18:26:53    |  |
00033  |  |                                                                              |  |
00034  |  |   Main author: Torbjorn Sjostrand; CERN/PH, CH-1211 Geneva, Switzerland,     |  |
00035  |  |     and Department of Theoretical Physics, Lund University, Lund, Sweden;    |  |
00036  |  |     phone: + 41 - 22 - 767 82 27; e-mail: torbjorn@thep.lu.se                |  |
00037  |  |   Author: Stephen Mrenna; Computing Division, Simulations Group,             |  |
00038  |  |     Fermi National Accelerator Laboratory, MS 234, Batavia, IL 60510, USA;   |  |
00039  |  |     phone: + 1 - 630 - 840 - 2556; e-mail: mrenna@fnal.gov                   |  |
00040  |  |   Author: Peter Skands; CERN/PH, CH-1211 Geneva, Switzerland,                |  |
00041  |  |     and Theoretical Physics Department,                                      |  |
00042  |  |     Fermi National Accelerator Laboratory, MS 106, Batavia, IL 60510, USA;   |  |
00043  |  |     phone: + 41 - 22 - 767 24 59; e-mail: skands@fnal.gov                    |  |
00044  |  |                                                                              |  |
00045  |  |   The main program reference is the 'Brief Introduction to PYTHIA 8.1',      |  |
00046  |  |   T. Sjostrand, S. Mrenna and P. Skands, arXiv:0710.3820                     |  |
00047  |  |                                                                              |  |
00048  |  |   The main physics reference is the 'PYTHIA 6.4 Physics and Manual',         |  |
00049  |  |   T. Sjostrand, S. Mrenna and P. Skands, JHEP05 (2006) 026 [hep-ph/0603175]. |  |
00050  |  |                                                                              |  |
00051  |  |   An archive of program versions and documentation is found on the web:      |  |
00052  |  |   http://www.thep.lu.se/~torbjorn/Pythia.html                                |  |
00053  |  |                                                                              |  |
00054  |  |   This program is released under the GNU General Public Licence version 2.   |  |
00055  |  |   Please respect the MCnet Guidelines for Event Generator Authors and Users. |  |
00056  |  |                                                                              |  |
00057  |  |   Disclaimer: this program comes without any guarantees.                     |  |
00058  |  |   Beware of errors and use common sense when interpreting results.           |  |
00059  |  |                                                                              |  |
00060  |  |   Copyright (C) 2007 Torbjorn Sjostrand                                      |  |
00061  |  |                                                                              |  |
00062  |  |                                                                              |  |
00063  |  *------------------------------------------------------------------------------*  |
00064  |                                                                                    |
00065  *------------------------------------------------------------------------------------*
00066 */
00067 
00068 #include "TGenerator.h"
00069 #include "Pythia.h"
00070 
00071 
00072 class Pythia;
00073 class TClonesArray;
00074 class TObjArray;
00075 
00076 class TPythia8 : public TGenerator
00077 {
00078 private:
00079    void                    AddParticlesToPdgDataBase();
00080 protected:
00081    static  TPythia8       *fgInstance;             //! singleton instance
00082    Pythia8::Pythia        *fPythia;                //! The pythia8 instance
00083    Int_t                   fNumberOfParticles;     //! Number of particles
00084 public:
00085    TPythia8();
00086    TPythia8(const char *xmlDir);
00087    virtual ~TPythia8();
00088    static TPythia8        *Instance();
00089    Pythia8::Pythia        *Pythia8() {return fPythia;}
00090 
00091    // Interface
00092    virtual void            GenerateEvent();
00093    virtual Int_t           ImportParticles(TClonesArray *particles, Option_t *option="");
00094    virtual TObjArray      *ImportParticles(Option_t *option="");
00095 
00096    // Others
00097    void                    ReadString(const char* string) const;
00098    void                    ReadConfigFile(const char* string) const;
00099    Bool_t                  Initialize(Int_t idAin, Int_t idBin, Double_t ecms);
00100    void                    PrintStatistics() const;
00101    void                    EventListing() const;
00102    Int_t                   GetN() const;
00103 
00104    ClassDef(TPythia8, 1)   // Interface class of Pythia8
00105 };
00106 
00107 #endif

Generated on Tue Jul 5 14:45:16 2011 for ROOT_528-00b_version by  doxygen 1.5.1