herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
ShowerAlphaQED.h
1// -*- C++ -*-
2//
3// ShowerAlphaQED.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4// Copyright (C) 2002-2019 The Herwig Collaboration
5//
6// Herwig is licenced under version 3 of the GPL, see COPYING for details.
7// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8//
9#ifndef HERWIG_ShowerAlphaQED_H
10#define HERWIG_ShowerAlphaQED_H
11//
12// This is the declaration of the ShowerAlphaQED class.
13//
14
15#include "Herwig/Shower/ShowerAlpha.h"
16
17namespace Herwig {
18
19using namespace ThePEG;
20
35
36public:
37
44 {}
46
47public:
48
62 virtual double value(const Energy2 scale) const;
63
68 virtual double overestimateValue() const;
69
73 virtual double ratio(const Energy2 scale,double factor=1.) const;
75
76public:
77
85
91 void persistentInput(PersistentIStream & is, int version);
93
100 static void Init();
101
102protected:
103
110 inline virtual IBPtr clone() const {return new_ptr(*this);}
111
116 inline virtual IBPtr fullclone() const {return new_ptr(*this);}
118
119protected:
120
126 virtual void doinit();
127
128private:
129
135
141
142private:
143
148 double _alpha;
149
153 unsigned int couplingSource_;
154};
155
156}
157
158#include "ThePEG/Utilities/ClassTraits.h"
159
160namespace ThePEG {
161
166template <>
167struct BaseClassTrait<Herwig::ShowerAlphaQED,1> {
170};
171
174template <>
175struct ClassTraits<Herwig::ShowerAlphaQED>
176 : public ClassTraitsBase<Herwig::ShowerAlphaQED> {
178 static string className() { return "Herwig::ShowerAlphaQED"; }
186 static string library() { return "HwShower.so"; }
187};
188
191}
192
193#endif /* HERWIG_ShowerAlphaQED_H */
This concrete class provides the definition of the pure virtual function value(scale) for .
virtual double overestimateValue() const
It returns the overestimiate of the coupling multiplied by the scale factor scaleFactor().
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
double _alpha
The value of the coupling, as we are producing real photons this is always .
unsigned int couplingSource_
Source of coupling value.
virtual double ratio(const Energy2 scale, double factor=1.) const
Return the ratio of the coupling at the scale to the overestimated value.
ShowerAlphaQED & operator=(const ShowerAlphaQED &)=delete
The assignment operator is private and must never be called.
static void Init()
The standard Init function used to initialize the interfaces.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual double value(const Energy2 scale) const
Methods to return the coupling.
static ClassDescription< ShowerAlphaQED > initShowerAlphaQED
The static object used to initialize the description of this class.
ShowerAlphaQED()
The default constructor.
virtual IBPtr clone() const
Make a simple clone of this object.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
This class is the abstract class from which all types of running couplings used in the Showering deri...
Definition: ShowerAlpha.h:49
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
static string className()
static string library()