thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
RunningCoupling.h
1// -*- C++ -*-
2//
3// RunningCoupling.h is a part of ThePEG - Toolkit for HEP Event Generation
4// Copyright (C) 1999-2019 Leif Lonnblad, (C) 2009 Simon Platzer
5//
6// ThePEG 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 ThePEG_RunningCoupling_H
10#define ThePEG_RunningCoupling_H
11// This is the declaration of the RunningCoupling class.
12
13#include "ThePEG/Interface/Interfaced.h"
14#include "ThePEG/Repository/EventGenerator.h"
15#include "StandardModelBase.fh"
16
17namespace ThePEG {
18
28
29public:
30
35
38
43 virtual double value (Energy2 scale, const StandardModelBase & sm) const = 0;
44
50 virtual unsigned int nloops () const { return 0; }
51
53
58 double value(Energy2 scale) const {
59 return value(scale,*(generator()->standardModel()));
60 }
61
68 virtual double overestimateValue (Energy2 scale) const {
69 return value(scale);
70 }
71
78 virtual double ratioToOverestimate (Energy2) const {
79 return 1.;
80 }
81
86 double scaleFactor () const { return theScaleFactor; }
87
88public:
89
97
103 void persistentInput(PersistentIStream & is, int version);
105
109 static void Init();
110
111private:
112
117
122
128
129};
130
135template <>
138 typedef Interfaced NthBase;
139};
140
143template <>
144struct ClassTraits<RunningCoupling>: public ClassTraitsBase<RunningCoupling> {
146 static string className() { return "ThePEG::RunningCoupling"; }
147};
148
151}
152
153#endif /* ThePEG_RunningCoupling_H */
A concreate implementation of ClassDescriptionBase describing an abstract class with persistent data.
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition: Interfaced.h:38
tEGPtr generator() const
Return a pointer to the EventGenerator controlling the run.
Definition: Interfaced.h:99
PersistentIStream is used to read persistent objects from a stream where they were previously written...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
RunningCoupling an abstract base class unifying the treatment of running couplings in ThePEG.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
double scaleFactor() const
Return the scale factor, which may be used to globally rescale the argument of the running coupling.
double value(Energy2 scale) const
Return the value of the coupling at a given scale using the StandardModelBase object used by the Even...
RunningCoupling & operator=(const RunningCoupling &)=delete
Private and non-existent assignment operator.
virtual unsigned int nloops() const
Return the number of loops contributing to the running this coupling.
virtual double ratioToOverestimate(Energy2) const
Return the ratio of the exact to the overestimated value of the running coupling.
static AbstractClassDescription< RunningCoupling > initRunningCoupling
Describe an abstract class without persistent data.
static void Init()
Standard Init function used to initialize the interface.
virtual double overestimateValue(Energy2 scale) const
Return an overestimate to the running coupling at the given scale.
RunningCoupling()
The default constructor.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual double value(Energy2 scale, const StandardModelBase &sm) const =0
Return the value of the coupling at a given scale using the given standard model object,...
double theScaleFactor
The scale factor used to rescale the argument of the running coupling.
StandardModelBase is used to handle standard model parameters in an EventGenerator.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition: ClassTraits.h:161
static string className()
Return the name of class T.
Definition: ClassTraits.h:66
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30