herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
ShowerAlpha.h
1// -*- C++ -*-
2//
3// ShowerAlpha.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_ShowerAlpha_H
10#define HERWIG_ShowerAlpha_H
11//
12// This is the declaration of the ShowerAlpha class.
13//
14
15#include "ThePEG/Interface/Interfaced.h"
16#include "ShowerAlpha.fh"
17
18namespace Herwig {
19
20using namespace ThePEG;
21
49class ShowerAlpha: public Interfaced {
50
51public:
52
60
61public:
62
73 virtual double value(const Energy2 scale) const = 0;
74
80 virtual double overestimateValue() const = 0;
81
88 virtual double ratio(const Energy2 scale,double factor=1.) const = 0;
89
97 double scaleFactor() const {return _scaleFactor;}
98
105 virtual inline double showerValue(const Energy2 scale) const {
106 return value(scale);
107 }
108
114 virtual inline double showerOverestimateValue() const {
115 return overestimateValue();
116 }
117
124 virtual inline double showerRatio(const Energy2 scale,double factor=1.) const {
125 return ratio(scale,factor);
126 }
127
131 virtual void initialize () {}
133
134public:
135
143
149 void persistentInput(PersistentIStream & is, int version);
151
158 static void Init();
159
160private:
161
166 ShowerAlpha & operator=(const ShowerAlpha &) = delete;
167
168private:
169
174
175};
176
177}
178
179#endif /* HERWIG_ShowerAlpha_H */
This class is the abstract class from which all types of running couplings used in the Showering deri...
Definition: ShowerAlpha.h:49
static void Init()
The standard Init function used to initialize the interfaces.
double _scaleFactor
The scale factor.
Definition: ShowerAlpha.h:173
virtual double showerOverestimateValue() const
Virtual method, which should be overridden in a derived class to provide an overestimate approximatio...
Definition: ShowerAlpha.h:114
ShowerAlpha & operator=(const ShowerAlpha &)=delete
The assignment operator is private and must never be called.
virtual void initialize()
Initialize this coupling.
Definition: ShowerAlpha.h:131
ShowerAlpha()
The default constructor.
Definition: ShowerAlpha.h:58
virtual double ratio(const Energy2 scale, double factor=1.) const =0
Virtual method which returns the ratio of the running alpha value at the input scale to the overestim...
virtual double overestimateValue() const =0
Virtual method, which should be overridden in a derived class to provide an overestimate approximatio...
virtual double showerRatio(const Energy2 scale, double factor=1.) const
Virtual method which returns the ratio of the running alpha value at the input scale to the overestim...
Definition: ShowerAlpha.h:124
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual double showerValue(const Energy2 scale) const
Virtual method that is supposed to return the running alpha value evaluated at the input scale.
Definition: ShowerAlpha.h:105
virtual double value(const Energy2 scale) const =0
Methods to return the coupling and the scaleFactor.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
double scaleFactor() const
It returns the factor that multiplies the scale argument, , of the running coupling.
Definition: ShowerAlpha.h:97
-*- C++ -*-