thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
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 
15 namespace ThePEG {
16 
27 class O1AlphaS: public AlphaSBase {
28 
29 public:
30 
37  : theLambdaQCD(0.25*GeV), theLambdaFlavour(4),
38  theMaxFlav(6), Q0(ZERO) {}
40 
41 public:
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 
76 public:
77 
84  void persistentOutput(PersistentOStream & os) const;
85 
91  void persistentInput(PersistentIStream & is, int version);
93 
97  static void Init();
98 
99 protected:
100 
107  virtual IBPtr clone() const;
108 
113  virtual IBPtr fullclone() const;
115 
116 
117 private:
118 
126 
131 
136 
141 
142 private:
143 
148 
152  O1AlphaS & operator=(const O1AlphaS &) = delete;
153 
154 };
155 
160 template <>
161 struct BaseClassTrait<O1AlphaS,1>: public ClassTraitsType {
163  typedef AlphaSBase NthBase;
164 };
165 
169 template <>
170 struct 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 */
PersistentIStream is used to read persistent objects from a stream where they were previously written...
StandardModelBase is used to handle standard model parameters in an EventGenerator.
virtual unsigned int nloops() const
Return the number of loops contributing to the running this coupling.
Definition: O1AlphaS.h:55
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
int theMaxFlav
The maximum number of active flavours.
Definition: O1AlphaS.h:135
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
virtual double value(Energy2 scale, const StandardModelBase &) const
The .
static ClassDescription< O1AlphaS > initO1AlphaS
Describe a concrete class with persistent data.
Definition: O1AlphaS.h:147
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
static void Init()
Standard Init function used to initialize the interface.
AlphaSBase is an abstract base class used by the StandardModelBase to implement the QCD coupling...
Definition: AlphaSBase.h:28
virtual vector< Energy2 > flavourThresholds() const
Return the flavour thresholds used.
O1AlphaS inherits from AlphaSBase and implements the leading order running QCD coupling.
Definition: O1AlphaS.h:27
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
Energy theLambdaQCD
The for the number of flavours specified by theLambdaFlavour.
Definition: O1AlphaS.h:125
virtual IBPtr clone() const
Make a simple clone of this object.
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
Energy Q0
The scale below which is frozen.
Definition: O1AlphaS.h:140
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
int theLambdaFlavour
The number of flavours for which theLambdaQCD is given.
Definition: O1AlphaS.h:130
O1AlphaS()
Default constructor.
Definition: O1AlphaS.h:36
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
int getMaxFlav() const
Return the maximum number of active flavours.
Definition: O1AlphaS.h:74
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
virtual vector< Energy > LambdaQCDs() const
Return the used for different numbers of active flavours.
constexpr ZeroUnit ZERO
ZERO can be used as zero for any unitful quantity.
Definition: PhysicalQty.h:35
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52
O1AlphaS & operator=(const O1AlphaS &)=delete
Private and non-existent assignment operator.