library: libEGPythia6 #include "TPythia6.h"

# TPythia6

class description - source file - inheritance tree (.pdf)

## class TPythia6 : public TGenerator

| Inheritance Chart:
`TObject`
| <- | `TNamed`
| <- | `TGenerator`
| <- | `TPythia6` |

        public:

                             TPythia6()
                             TPythia6(const TPythia6&)
                     virtual ~TPythia6()
              static TClass* Class()
                        void CloseFortranFile(int lun)
                        void GenerateEvent()
                      double GetBRAT(int i)
                      double GetCKIN(int i)
                         int GetIMSS(int i)
                         int GetK(int ip, int i)
                         int GetKCHG(int ip, int i)
                         int GetKFDP(int i, int j)
                       Int_t GetKFIN(int i, int j)
                         int GetMDCY(int i, int j)
                         int GetMDME(int i, int j)
                         int GetMINT(int i)
                         int GetMRPY(int i)
                         int GetMSEL()
                         int GetMSELPD()
                         int GetMSTI(int i)
                         int GetMSTJ(int i)
                         int GetMSTP(int i)
                         int GetMSTU(int i)
                         int GetMSUB(int i)
                         int GetMWID(int i)
                         int GetN()
                         int GetNGENPD()
                         int GetNPAD()
                      double GetP(int ip, int i)
                      double GetPARF(int i)
                      double GetPARI(int i)
                      double GetPARJ(int i)
                      double GetPARP(int i)
                      double GetPARU(int i)
                      double GetPMAS(int ip, int i)
                       char* GetPROC(int i)
                   Pybins_t* GetPybins()
                   Pydat1_t* GetPydat1()
                   Pydat2_t* GetPydat2()
                   Pydat3_t* GetPydat3()
                   Pydat4_t* GetPydat4()
                   Pydatr_t* GetPydatr()
                   Pyint1_t* GetPyint1()
                   Pyint2_t* GetPyint2()
                   Pyint3_t* GetPyint3()
                   Pyint4_t* GetPyint4()
                   Pyint5_t* GetPyint5()
                   Pyint6_t* GetPyint6()
                   Pyint7_t* GetPyint7()
                   Pyint8_t* GetPyint8()
                   Pyint9_t* GetPyint9()
                   Pyints_t* GetPyints()
                   Pyjets_t* GetPyjets()
                   Pymssm_t* GetPymssm()
                   Pypars_t* GetPypars()
                   Pyssmt_t* GetPyssmt()
                   Pysubs_t* GetPysubs()
                   Pyuppr_t* GetPyuppr()
                      double GetRMSS(int i)
                      double GetRRPY(int i)
                      double GetSMW(int i)
                      double GetSMZ(int i)
                      double GetUMIX(int i, int j)
                      double GetV(int ip, int i)
                      double GetVCKM(int i, int j)
                      double GetVINT(int i)
                      double GetVMIX(int i, int j)
                      double GetWIDS(int i, int j)
                      double GetZMIX(int i, int j)
               virtual Int_t ImportParticles(TClonesArray* particles, Option_t* option = "")
          virtual TObjArray* ImportParticles(Option_t* option = "")
                        void Initialize(const char* frame, const char* beam, const char* target, float win)
            static TPythia6* Instance()
             virtual TClass* IsA() const
                        void OpenFortranFile(int lun, char* name)
                   TPythia6& operator=(const TPythia6&)
                         int Pychge(int kf)
                         int Pycomp(int kf)
                        void Pyedit(int medit)
                        void Pyevnt()
                        void Pyexec()
                        void Pyhepc(int mconv)
                        void Pyinit(char* frame, char* beam, char* target, double wint)
                        void Pylist(int flag)
                      double Pymass(int kf)
                        void Pyname(int kf, char* name)
                      double Pyr(int idummy)
                        void Pyrget(int lun, int move)
                        void Pyrset(int lun, int move)
                        void Pystat(int flag)
                        void Pytest(int flag)
                        void Pyupda(int mupda, int lun)
                        void SetBRAT(int i, double b)
                        void SetCKIN(int i, double c)
                        void SetIMSS(int i, int m)
                        void SetK(int ip, int i, int k)
                        void SetKCHG(int ip, int i, int k)
                        void SetKFDP(int i, int j, int k)
                        void SetKFIN(int i, int j, Int_t kfin = 1)
                        void SetMDCY(int i, int j, int m)
                        void SetMDME(int i, int j, int m)
                        void SetMINT(int i, int m)
                        void SetMRPY(int i, int m)
                        void SetMSEL(int m)
                        void SetMSELPD(int m)
                        void SetMSTI(int i, int m)
                        void SetMSTJ(int i, int m)
                        void SetMSTP(int i, int m)
                        void SetMSTU(int i, int m)
                        void SetMSUB(int i, int m)
                        void SetMWID(int i, int m)
                        void SetN(int n)
                        void SetNGENPD(int n)
                        void SetNPAD(int n)
                        void SetP(int ip, int i, double p)
                        void SetPARF(int i, double p)
                        void SetPARI(int i, double p)
                        void SetPARJ(int i, double p)
                        void SetPARP(int i, double p)
                        void SetPARU(int i, double p)
                        void SetPMAS(int ip, int i, double m)
                        void SetRMSS(int i, double r)
                        void SetRRPY(int i, double r)
                        void SetSMW(int i, double s)
                        void SetSMZ(int i, double s)
                        void SetUMIX(int i, int j, double u)
                        void SetupTest()
                        void SetV(int ip, int i, double v)
                        void SetVCKM(int i, int j, double v)
                        void SetVINT(int i, double v)
                        void SetWIDS(int i, int j, double w)
                        void SetZMIX(int i, int j, double z)
                virtual void ShowMembers(TMemberInspector& insp, char* parent)
                virtual void Streamer(TBuffer& b)
                        void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

          static TPythia6* fgInstance
                 Pyjets_t* fPyjets
                 Pydat1_t* fPydat1
                 Pydat2_t* fPydat2
                 Pydat3_t* fPydat3
                 Pydat4_t* fPydat4
                 Pydatr_t* fPydatr
                 Pysubs_t* fPysubs
                 Pypars_t* fPypars
                 Pyint1_t* fPyint1
                 Pyint2_t* fPyint2
                 Pyint3_t* fPyint3
                 Pyint4_t* fPyint4
                 Pyint5_t* fPyint5
                 Pyint6_t* fPyint6
                 Pyint7_t* fPyint7
                 Pyint8_t* fPyint8
                 Pyint9_t* fPyint9
                 Pyuppr_t* fPyuppr
                 Pymssm_t* fPymssm
                 Pyssmt_t* fPyssmt
                 Pyints_t* fPyints
                 Pybins_t* fPybins

## Class Description

     TPythia6

     TPythia is an interface class to F77 version of Pythia 6.2
     To use this class you must install a version of pythia6.
       see the installation instructions at
           http://root.cern.ch/root/Install.html

     CERNLIB event generators, written by T.Sjostrand.
     For the details about these generators look at Pythia/Jetset manual:

    ******************************************************************************
    **                                                                          **
    **                                                                          **
    **  PPP  Y   Y TTTTT H   H III   A        JJJJ EEEE TTTTT  SSS  EEEE TTTTT  **
    **  P  P  Y Y    T   H   H  I   A A          J E      T   S     E      T    **
    **  PPP    Y     T   HHHHH  I  AAAAA         J EEE    T    SSS  EEE    T    **
    **  P      Y     T   H   H  I  A   A      J  J E      T       S E      T    **
    **  P      Y     T   H   H III A   A       JJ  EEEE   T    SSS  EEEE   T    **
    **                                                                          **
    **                                                                          **
    **              *......*                  Welcome to the Lund Monte Carlo!  **
    **         *:::!!:::::::::::*                                               **
    **      *::::::!!::::::::::::::*            This is PYTHIA version 5.720    **
    **    *::::::::!!::::::::::::::::*        Last date of change: 29 Nov 1995  **
    **   *:::::::::!!:::::::::::::::::*                                         **
    **   *:::::::::!!:::::::::::::::::*         This is JETSET version 7.408    **
    **    *::::::::!!::::::::::::::::*!       Last date of change: 23 Aug 1995  **
    **      *::::::!!::::::::::::::* !!                                         **
    **      !! *:::!!:::::::::::*    !!                 Main author:            **
    **      !!     !* -><- *         !!              Torbjorn Sjostrand         **
    **      !!     !!                !!        Dept. of theoretical physics 2   **
    **      !!     !!                !!              University of Lund         **
    **      !!                       !!                Solvegatan 14A           **
    **      !!        ep             !!             S-223 62 Lund, Sweden       **
    **      !!                       !!          phone: +46 - 46 - 222 48 16    **
    **      !!                 pp    !!          E-mail: torbjorn@thep.lu.se    **
    **      !!   e+e-                !!                                         **
    **      !!                       !!         Copyright Torbjorn Sjostrand    **
    **      !!                                     and CERN, Geneva 1993        **
    **                                                                          **
    **                                                                          **
    ** The latest program versions and documentation is found on WWW address    **
    ** http://thep.lu.se/tf2/staff/torbjorn/Welcome.html                        **
    **                                                                          **
    ** When you cite these programs, priority should always be given to the     **
    ** latest published description. Currently this is                          **
    ** T. Sjostrand, Computer Physics Commun. 82 (1994) 74.                     **
    ** The most recent long description (unpublished) is                        **
    ** T. Sjostrand, LU TP 95-20 and CERN-TH.7112/93 (revised August 1995).     **
    ** Also remember that the programs, to a large extent, represent original   **
    ** physics research. Other publications of special relevance to your        **
    ** studies may therefore deserve separate mention.                          **
    **                                                                          **
    **                                                                          **
    ******************************************************************************

TPythia6() : TGenerator("TPythia6","TPythia6")

     TPythia6 constructor: creates a TClonesArray in which it will store all
     particles. Note that there may be only one functional TPythia6 object
     at a time, so it's not use to create more than one instance of it.

~TPythia6()

     Destroys the object, deletes and disposes all TMCParticles currently on list.

TPythia6* Instance()

     model of automatic memory cleanup suggested by Jim Kowalkovski:
     destructor for local static variable `cleaner' is  always called in the end
     of the job thus deleting the only TPythia6 instance

void GenerateEvent()

void OpenFortranFile(int lun, char* name)

void CloseFortranFile(int lun)

TObjArray* ImportParticles(Option_t *)

     Fills TObjArray fParticles list with particles from common LUJETS
     Old contents of a list are cleared. This function should be called after
     any change in common LUJETS, however GetParticles() method  calls it
     automatically - user don't need to care about it. In case you make a call
     to LuExec() you must call this method yourself to transfer new data from
     common LUJETS to the fParticles list.

Int_t ImportParticles(TClonesArray *particles, Option_t *option)

      Default primary creation method. It reads the /HEPEVT/ common block which
      has been filled by the GenerateEvent method. If the event generator does
      not use the HEPEVT common block, This routine has to be overloaded by
      the subclasses.
      The function loops on the generated particles and store them in
      the TClonesArray pointed by the argument particles.
      The default action is to store only the stable particles (ISTHEP = 1)
      This can be demanded explicitly by setting the option = "Final"
      If the option = "All", all the particles are stored.

void Initialize(const char *frame, const char *beam, const char *target, float win)

     Calls PyInit with the same parameters after performing some checking,
     sets correct title. This method should preferably be called instead of PyInit.
     PURPOSE: to initialize the generation procedure.
     ARGUMENTS: See documentation for details.
        frame:  - specifies the frame of the experiment:
                    "CMS","FIXT","USER","FOUR","FIVE","NONE"
        beam,
        target: - beam and target particles (with additionaly cahrges, tildes or "bar":
                  e,nu_e,mu,nu_mu,tau,nu_tau,gamma,pi,n,p,Lambda,Sigma,Xi,Omega,
                  pomeron,reggeon
        win:    - related to energy system:
                  for frame=="CMS" - total energy of system
                  for frame=="FIXT" - momentum of beam particle
                  for frame=="USER" - dummy - see documentation.

void Pyinit(char* frame, char* beam, char* target, double win)

    ------------------------------------------------------------------------------
     Calls Pyinit with the same parameters after performing some checking,
     sets correct title. This method should preferably be called instead of PyInit.
     PURPOSE: to initialize the generation procedure.
     ARGUMENTS: See documentation for details.
        frame:  - specifies the frame of the experiment:
                    "CMS","FIXT","USER","FOUR","FIVE","NONE"
        beam,
        target: - beam and target particles (with additionaly charges,
                  tildes or "bar":
                  e,nu_e,mu,nu_mu,tau,nu_tau,gamma,pi,n,p,Lambda,Sigma,Xi,Omega,
                  pomeron,reggeon
        win:    - related to energy system:
                  for frame=="CMS" - total energy of system
                  for frame=="FIXT" - momentum of beam particle
                  for frame=="USER" - dummy - see documentation.
    ------------------------------------------------------------------------------

int Pycomp(int kf)

void Pyedit(int medit)

void Pyevnt()

void Pyexec()

void Pyhepc(int mconv)

void Pylist(int flag)

void Pyname(int kf, char* name)

    Note that the array name must be dimensioned in the calling program
    to at least name[16]

double Pyr(int idummy)

void Pyrget(int lun, int move)

void Pyrset(int lun, int move)

void Pystat(int flag)

void Pytest(int flag)

void Pyupda(int mupda, int lun)

double Pymass(int kf)

int Pychge(int kf)

void SetupTest()

     Exemplary setup of Pythia parameters:
     Switches on processes 102,123,124 (Higgs generation) and switches off
     interactions, fragmentation, ISR, FSR...

### Inline Functions

              Pyjets_t* GetPyjets()
                    int GetN()
                    int GetNPAD()
                    int GetK(int ip, int i)
                 double GetP(int ip, int i)
                 double GetV(int ip, int i)
                   void SetN(int n)
                   void SetNPAD(int n)
                   void SetK(int ip, int i, int k)
                   void SetP(int ip, int i, double p)
                   void SetV(int ip, int i, double v)
              Pydat1_t* GetPydat1()
                    int GetMSTU(int i)
                 double GetPARU(int i)
                    int GetMSTJ(int i)
                 double GetPARJ(int i)
                   void SetMSTU(int i, int m)
                   void SetPARU(int i, double p)
                   void SetMSTJ(int i, int m)
                   void SetPARJ(int i, double p)
              Pydat2_t* GetPydat2()
                    int GetKCHG(int ip, int i)
                 double GetPMAS(int ip, int i)
                 double GetPARF(int i)
                 double GetVCKM(int i, int j)
                   void SetKCHG(int ip, int i, int k)
                   void SetPMAS(int ip, int i, double m)
                   void SetPARF(int i, double p)
                   void SetVCKM(int i, int j, double v)
              Pydat3_t* GetPydat3()
                    int GetMDCY(int i, int j)
                    int GetMDME(int i, int j)
                 double GetBRAT(int i)
                    int GetKFDP(int i, int j)
                   void SetMDCY(int i, int j, int m)
                   void SetMDME(int i, int j, int m)
                   void SetBRAT(int i, double b)
                   void SetKFDP(int i, int j, int k)
              Pydat4_t* GetPydat4()
              Pydatr_t* GetPydatr()
                    int GetMRPY(int i)
                 double GetRRPY(int i)
                   void SetMRPY(int i, int m)
                   void SetRRPY(int i, double r)
              Pysubs_t* GetPysubs()
                    int GetMSEL()
                    int GetMSELPD()
                    int GetMSUB(int i)
                 double GetCKIN(int i)
                  Int_t GetKFIN(int i, int j)
                   void SetMSEL(int m)
                   void SetMSELPD(int m)
                   void SetMSUB(int i, int m)
                   void SetCKIN(int i, double c)
                   void SetKFIN(int i, int j, Int_t kfin = 1)
              Pypars_t* GetPypars()
                    int GetMSTP(int i)
                 double GetPARP(int i)
                    int GetMSTI(int i)
                 double GetPARI(int i)
                   void SetMSTP(int i, int m)
                   void SetPARP(int i, double p)
                   void SetMSTI(int i, int m)
                   void SetPARI(int i, double p)
              Pyint1_t* GetPyint1()
                    int GetMINT(int i)
                 double GetVINT(int i)
                   void SetMINT(int i, int m)
                   void SetVINT(int i, double v)
              Pyint2_t* GetPyint2()
              Pyint3_t* GetPyint3()
              Pyint4_t* GetPyint4()
                    int GetMWID(int i)
                 double GetWIDS(int i, int j)
                   void SetMWID(int i, int m)
                   void SetWIDS(int i, int j, double w)
              Pyint5_t* GetPyint5()
                    int GetNGENPD()
                   void SetNGENPD(int n)
              Pyint6_t* GetPyint6()
                  char* GetPROC(int i)
              Pyint7_t* GetPyint7()
              Pyint8_t* GetPyint8()
              Pyint9_t* GetPyint9()
              Pyuppr_t* GetPyuppr()
              Pymssm_t* GetPymssm()
                    int GetIMSS(int i)
                 double GetRMSS(int i)
                   void SetIMSS(int i, int m)
                   void SetRMSS(int i, double r)
              Pyssmt_t* GetPyssmt()
                 double GetZMIX(int i, int j)
                 double GetUMIX(int i, int j)
                 double GetVMIX(int i, int j)
                 double GetSMZ(int i)
                 double GetSMW(int i)
                   void SetZMIX(int i, int j, double z)
                   void SetUMIX(int i, int j, double u)
                   void SetSMZ(int i, double s)
                   void SetSMW(int i, double s)
              Pyints_t* GetPyints()
              Pybins_t* GetPybins()
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
               TPythia6 TPythia6(const TPythia6&)
              TPythia6& operator=(const TPythia6&)

Author: Rene Brun 19/10/99
Last update: root/pythia6:$Name: $:$Id: TPythia6.cxx,v 1.16 2005/03/16 08:35:19 brun Exp $