Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:06:28

0001 // PartonVertex.h is a part of the PYTHIA event generator.
0002 // Copyright (C) 2024 Torbjorn Sjostrand.
0003 // PYTHIA is licenced under the GNU GPL v2 or later, see COPYING for details.
0004 // Please respect the MCnet Guidelines, see GUIDELINES for details.
0005 
0006 // Header file for vertex information during the parton-level evolution.
0007 
0008 #ifndef Pythia8_PartonVertex_H
0009 #define Pythia8_PartonVertex_H
0010 
0011 #include "Pythia8/Basics.h"
0012 #include "Pythia8/Event.h"
0013 #include "Pythia8/Info.h"
0014 #include "Pythia8/PhysicsBase.h"
0015 #include "Pythia8/PythiaStdlib.h"
0016 #include "Pythia8/Settings.h"
0017 
0018 namespace Pythia8 {
0019 
0020 //==========================================================================
0021 
0022 // The PartonVertex class sets parton-level vertex information.
0023 
0024 class PartonVertex : public PhysicsBase {
0025 
0026 public:
0027 
0028   // Constructor.
0029   PartonVertex() : doVertex(), modeVertex(), epsPhi(), epsRat(), rProton(),
0030     rProton2(), pTmin(), widthEmission(), bNow(), bHalf(), xMax(), yMax(),
0031     zWtMax() {}
0032 
0033   // Destructor.
0034   virtual ~PartonVertex() {}
0035 
0036   // Initialize a few parameters from Settings.
0037   virtual void init();
0038 
0039   // Select vertex for a beam particle.
0040   virtual void vertexBeam( int iBeam, vector<int>& iRemn, vector<int>& iInit,
0041     Event& event);
0042 
0043   // Select vertex for an MPI.
0044   virtual void vertexMPI( int iBeg, int nAdd, double bNowIn, Event& event);
0045 
0046   // Select vertex for an FSR branching.
0047   virtual void vertexFSR( int iNow, Event& event);
0048 
0049   // Select vertex for an ISR branching.
0050   virtual void vertexISR( int iNow, Event& event);
0051 
0052   // Propagate parton vertex information to hadrons.
0053   virtual void vertexHadrons( int nBefFrag, Event& event);
0054 
0055 private:
0056 
0057   // Data related to currently implemented models.
0058   bool   doVertex;
0059   int    modeVertex;
0060   double epsPhi, epsRat, rProton, rProton2, pTmin, widthEmission;
0061 
0062   // Current values.
0063   double bNow, bHalf, xMax, yMax, zWtMax;
0064 
0065 };
0066 
0067 //==========================================================================
0068 
0069 } // end namespace Pythia8
0070 
0071 #endif // Pythia8_PartonVertex_H