thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
O1AlphaS.h
1// -*- C++ -*-
2//
3// O1AlphaS.h is a part of ThePEG - Toolkit for HEP Event Generation
4// Copyright (C) 1999-2019 Leif Lonnblad
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_O1AlphaS_H
10#define ThePEG_O1AlphaS_H
11// This is the declaration of the O1AlphaS class.
12
13#include "AlphaSBase.h"
14
15namespace ThePEG {
16
27class O1AlphaS: public AlphaSBase {
28
29public:
30
37 : theLambdaQCD(0.25*GeV), theLambdaFlavour(4),
38 theMaxFlav(6), Q0(ZERO) {}
40
41public:
42
49 virtual double value(Energy2 scale, const StandardModelBase &) const;
50
55 virtual unsigned int nloops () const { return 1; }
56
62 virtual vector<Energy2> flavourThresholds() const;
63
68 virtual vector<Energy> LambdaQCDs() const;
70
74 int getMaxFlav() const { return theMaxFlav; }
75
76public:
77
85
91 void persistentInput(PersistentIStream & is, int version);
93
97 static void Init();
98
99protected:
100
107 virtual IBPtr clone() const;
108
113 virtual IBPtr fullclone() const;
115
116
117private:
118
126
131
136
141
142private:
143
148
152 O1AlphaS & operator=(const O1AlphaS &) = delete;
153
154};
155
160template <>
161struct BaseClassTrait<O1AlphaS,1>: public ClassTraitsType {
163 typedef AlphaSBase NthBase;
164};
165
169template <>
170struct ClassTraits<O1AlphaS>: public ClassTraitsBase<O1AlphaS> {
172 static string className() { return "ThePEG::O1AlphaS"; }
176 static string library() { return "O1AlphaS.so"; }
177};
178
181}
182
183#endif /* ThePEG_O1AlphaS_H */
AlphaSBase is an abstract base class used by the StandardModelBase to implement the QCD coupling,...
Definition: AlphaSBase.h:28
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
O1AlphaS inherits from AlphaSBase and implements the leading order running QCD coupling.
Definition: O1AlphaS.h:27
virtual unsigned int nloops() const
Return the number of loops contributing to the running this coupling.
Definition: O1AlphaS.h:55
virtual double value(Energy2 scale, const StandardModelBase &) const
The .
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual vector< Energy > LambdaQCDs() const
Return the used for different numbers of active flavours.
O1AlphaS & operator=(const O1AlphaS &)=delete
Private and non-existent assignment operator.
Energy theLambdaQCD
The for the number of flavours specified by theLambdaFlavour.
Definition: O1AlphaS.h:125
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
static void Init()
Standard Init function used to initialize the interface.
Energy Q0
The scale below which is frozen.
Definition: O1AlphaS.h:140
int theLambdaFlavour
The number of flavours for which theLambdaQCD is given.
Definition: O1AlphaS.h:130
O1AlphaS()
Default constructor.
Definition: O1AlphaS.h:36
virtual vector< Energy2 > flavourThresholds() const
Return the flavour thresholds used.
virtual IBPtr clone() const
Make a simple clone of this object.
int theMaxFlav
The maximum number of active flavours.
Definition: O1AlphaS.h:135
int getMaxFlav() const
Return the maximum number of active flavours.
Definition: O1AlphaS.h:74
static ClassDescription< O1AlphaS > initO1AlphaS
Describe a concrete class with persistent data.
Definition: O1AlphaS.h:147
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...
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
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
constexpr ZeroUnit ZERO
ZERO can be used as zero for any unitful quantity.
Definition: PhysicalQty.h:35
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
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition: ClassTraits.h:85
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30