StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
PartonVertex.h
1 // PartonVertex.h is a part of the PYTHIA event generator.
2 // Copyright (C) 2020 Torbjorn Sjostrand.
3 // PYTHIA is licenced under the GNU GPL v2 or later, see COPYING for details.
4 // Please respect the MCnet Guidelines, see GUIDELINES for details.
5 
6 // Header file for vertex information during the parton-level evolution.
7 
8 #ifndef Pythia8_PartonVertex_H
9 #define Pythia8_PartonVertex_H
10 
11 #include "Pythia8/Basics.h"
12 #include "Pythia8/Event.h"
13 #include "Pythia8/Info.h"
14 #include "Pythia8/PhysicsBase.h"
15 #include "Pythia8/PythiaStdlib.h"
16 #include "Pythia8/Settings.h"
17 
18 namespace Pythia8 {
19 
20 //==========================================================================
21 
22 // The PartonVertex class sets parton-level vertex information.
23 
24 class PartonVertex : public PhysicsBase {
25 
26 public:
27 
28  // Constructor.
29  PartonVertex() : doVertex(), modeVertex(), epsPhi(), epsRat(), rProton(),
30  rProton2(), pTmin(), widthEmission(), bNow(), bHalf(), xMax(), yMax(),
31  zWtMax() {}
32 
33  // Destructor.
34  virtual ~PartonVertex() {}
35 
36  // Initialize a few parameters from Settings.
37  virtual void init();
38 
39  // Select vertex for a beam particle.
40  virtual void vertexBeam( int iBeam, vector<int>& iRemn, vector<int>& iInit,
41  Event& event);
42 
43  // Select vertex for an MPI.
44  virtual void vertexMPI( int iBeg, int nAdd, double bNowIn, Event& event);
45 
46  // Select vertex for an FSR branching.
47  virtual void vertexFSR( int iNow, Event& event);
48 
49  // Select vertex for an ISR branching.
50  virtual void vertexISR( int iNow, Event& event);
51 
52  // Propagate parton vertex information to hadrons.
53  virtual void vertexHadrons( int nBefFrag, Event& event);
54 
55 private:
56 
57  // Data related to currently implemented models.
58  bool doVertex;
59  int modeVertex;
60  double epsPhi, epsRat, rProton, rProton2, pTmin, widthEmission;
61 
62  // Current values.
63  double bNow, bHalf, xMax, yMax, zWtMax;
64 
65 };
66 
67 //==========================================================================
68 
69 } // end namespace Pythia8
70 
71 #endif // Pythia8_PartonVertex_H
Definition: AgUStep.h:26