herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
IncomingPhotonEvolver.h
1 // -*- C++ -*-
2 #ifndef HERWIG_IncomingPhotonEvolver_H
3 #define HERWIG_IncomingPhotonEvolver_H
4 //
5 // This is the declaration of the IncomingPhotonEvolver class.
6 //
7 
8 #include "ThePEG/Handlers/StepHandler.h"
9 
10 namespace Herwig {
11 
12 using namespace ThePEG;
13 
23 
24 public:
25 
33 
34 public:
35 
53  virtual void handle(EventHandler & eh, const tPVector & tagged,
54  const Hint & hint);
56 
57 public:
58 
65  void persistentOutput(PersistentOStream & os) const;
66 
72  void persistentInput(PersistentIStream & is, int version);
74 
81  static void Init();
82 
83 protected:
84 
89  inline double getBeta(const double E, const double q,
90  const double Ep, const double qp) const
91  {return (q*E-qp*Ep)/(sqr(qp)+sqr(E));}
92 
93 protected:
94 
101  virtual IBPtr clone() const;
102 
107  virtual IBPtr fullclone() const;
109 
110 protected:
111 
119  virtual void doinit();
121 
122 private:
123 
128  IncomingPhotonEvolver & operator=(const IncomingPhotonEvolver &) = delete;
129 
130 private:
135 
139  double PDFMax_;
140 
144  double PDFPower_;
145 
149  Energy minpT_;
150 
155 
160  unsigned int vetoTries_;
161 
165  unsigned int virtualityTries_;
166 
171 
175  vector<tcPDPtr> partons_;
176 };
177 
178 }
179 
180 #endif /* HERWIG_IncomingPhotonEvolver_H */
unsigned int vetoTries_
Maximum number of attempts to generate the scale of the branching.
The IncomingPhotonEvolver class performs the backward evolution of a photon in a partonic process to ...
unsigned int virtualityTries_
Maximum number of attempts to regenerate the virtuality.
tcPDPtr photon_
Photon ParticleData object.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
constexpr auto sqr(const T &x) -> decltype(x *x)
Energy minpT_
The minimum starting scale for the evolution.
vector< tcPDPtr > partons_
Partons to backward evolve to.
Energy minVirtuality_
The minimum space-like virtuality of the photon.
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
double getBeta(const double E, const double q, const double Ep, const double qp) const
Compute boost parameter along z axis to get (Ep, any perp, qp) from (E, same perp, q).
-*- C++ -*-
ThePEG::Ptr< PDFBase >::pointer PDFPtr
vector< tPPtr > tPVector
double PDFMax_
The maximum value of the PDF for the sample.
double PDFPower_
The power for the sampling of the PDF.