thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
StandardModel
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
17
namespace
ThePEG
{
18
27
class
RunningCoupling
:
public
Interfaced
{
28
29
public
:
30
34
RunningCoupling
() :
theScaleFactor
(1.) {}
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
88
public
:
89
96
void
persistentOutput
(
PersistentOStream
& os)
const
;
97
103
void
persistentInput
(
PersistentIStream
& is,
int
version);
105
109
static
void
Init
();
110
111
private
:
112
116
static
AbstractClassDescription<RunningCoupling>
initRunningCoupling
;
117
121
RunningCoupling
&
operator=
(
const
RunningCoupling
&) =
delete
;
122
127
double
theScaleFactor
;
128
129
};
130
135
template
<>
136
struct
BaseClassTrait
<
RunningCoupling
,1>:
public
ClassTraitsType
{
138
typedef
Interfaced
NthBase
;
139
};
140
143
template
<>
144
struct
ClassTraits<RunningCoupling>:
public
ClassTraitsBase<RunningCoupling> {
146
static
string
className
() {
return
"ThePEG::RunningCoupling"
; }
147
};
148
151
}
152
153
#endif
/* ThePEG_RunningCoupling_H */
ThePEG::AbstractClassDescription
A concreate implementation of ClassDescriptionBase describing an abstract class with persistent data.
Definition:
ClassDescription.h:282
ThePEG::Interfaced
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition:
Interfaced.h:38
ThePEG::Interfaced::generator
tEGPtr generator() const
Return a pointer to the EventGenerator controlling the run.
Definition:
Interfaced.h:99
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::PersistentOStream
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
Definition:
PersistentOStream.h:51
ThePEG::Qty< 0, 2, 0 >
ThePEG::RunningCoupling
RunningCoupling an abstract base class unifying the treatment of running couplings in ThePEG.
Definition:
RunningCoupling.h:27
ThePEG::RunningCoupling::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::RunningCoupling::scaleFactor
double scaleFactor() const
Return the scale factor, which may be used to globally rescale the argument of the running coupling.
Definition:
RunningCoupling.h:86
ThePEG::RunningCoupling::value
double value(Energy2 scale) const
Return the value of the coupling at a given scale using the StandardModelBase object used by the Even...
Definition:
RunningCoupling.h:58
ThePEG::RunningCoupling::operator=
RunningCoupling & operator=(const RunningCoupling &)=delete
Private and non-existent assignment operator.
ThePEG::RunningCoupling::nloops
virtual unsigned int nloops() const
Return the number of loops contributing to the running this coupling.
Definition:
RunningCoupling.h:50
ThePEG::RunningCoupling::ratioToOverestimate
virtual double ratioToOverestimate(Energy2) const
Return the ratio of the exact to the overestimated value of the running coupling.
Definition:
RunningCoupling.h:78
ThePEG::RunningCoupling::initRunningCoupling
static AbstractClassDescription< RunningCoupling > initRunningCoupling
Describe an abstract class without persistent data.
Definition:
RunningCoupling.h:116
ThePEG::RunningCoupling::Init
static void Init()
Standard Init function used to initialize the interface.
ThePEG::RunningCoupling::overestimateValue
virtual double overestimateValue(Energy2 scale) const
Return an overestimate to the running coupling at the given scale.
Definition:
RunningCoupling.h:68
ThePEG::RunningCoupling::RunningCoupling
RunningCoupling()
The default constructor.
Definition:
RunningCoupling.h:34
ThePEG::RunningCoupling::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::RunningCoupling::value
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,...
ThePEG::RunningCoupling::theScaleFactor
double theScaleFactor
The scale factor used to rescale the argument of the running coupling.
Definition:
RunningCoupling.h:127
ThePEG::StandardModelBase
StandardModelBase is used to handle standard model parameters in an EventGenerator.
Definition:
StandardModelBase.h:38
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::BaseClassTrait
BaseClassTraits describes the base classes of the templated class.
Definition:
ClassTraits.h:156
ThePEG::BaseClassTrait::NthBase
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition:
ClassTraits.h:161
ThePEG::ClassTraitsBase::className
static string className()
Return the name of class T.
Definition:
ClassTraits.h:66
ThePEG::ClassTraitsType
ClassTraitsType is an empty, non-polymorphic, base class.
Definition:
ClassTraits.h:30
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6