herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
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
10namespace Herwig {
11
12using namespace ThePEG;
13
23
24public:
25
33
34public:
35
53 virtual void handle(EventHandler & eh, const tPVector & tagged,
54 const Hint & hint);
56
57public:
58
66
72 void persistentInput(PersistentIStream & is, int version);
74
81 static void Init();
82
83protected:
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
93protected:
94
101 virtual IBPtr clone() const;
102
107 virtual IBPtr fullclone() const;
109
110protected:
111
119 virtual void doinit();
121
122private:
123
129
130private:
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 */
The IncomingPhotonEvolver class performs the backward evolution of a photon in a partonic process to ...
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,...
unsigned int vetoTries_
Maximum number of attempts to generate the scale of the branching.
Energy minVirtuality_
The minimum space-like virtuality of the photon.
unsigned int virtualityTries_
Maximum number of attempts to regenerate the virtuality.
double PDFMax_
The maximum value of the PDF for the sample.
static void Init()
The standard Init function used to initialize the interfaces.
IncomingPhotonEvolver()
The default constructor.
tcPDPtr photon_
Photon ParticleData object.
virtual void handle(EventHandler &eh, const tPVector &tagged, const Hint &hint)
The main function called by the EventHandler class to perform a step.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
double PDFPower_
The power for the sampling of the PDF.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
IncomingPhotonEvolver & operator=(const IncomingPhotonEvolver &)=delete
The assignment operator is private and must never be called.
virtual IBPtr clone() const
Make a simple clone of this object.
Energy minpT_
The minimum starting scale for the evolution.
vector< tcPDPtr > partons_
Partons to backward evolve to.
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
vector< tPPtr > tPVector
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::Ptr< PDFBase >::pointer PDFPtr
constexpr auto sqr(const T &x) -> decltype(x *x)