herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
lo_alpha_s.h
1// -*- C++ -*-
2
3// couplings/lo_alpha_s.h is part of matchbox
4// (C) 2008 Simon Platzer -- sp@particle.uni-karlsruhe.de
5
6#ifndef matchbox_couplings_lo_alpha_s_h
7#define matchbox_couplings_lo_alpha_s_h
8
9#include "alpha_s.h"
10
11namespace matchbox {
12
13 using namespace ThePEG;
14
22 : public alpha_s {
23
24 public:
25
30
31 public:
32
35 virtual double operator () (Energy2 scale,
36 Energy2 lambda2,
37 unsigned int nf) const;
38
40 virtual unsigned int nloops () const { return 1; }
41
42 public:
43
50 void persistentOutput(PersistentOStream & os) const;
51
57 void persistentInput(PersistentIStream & is, int version);
59
66 static void Init();
67
68 protected:
69
72
78 virtual inline void doinit() {
79 freezing_scale_ *= scale_factor();
81 }
82
84
85 protected:
86
93 virtual IBPtr clone() const;
94
99 virtual IBPtr fullclone() const;
101
102 private:
103
109
114 lo_alpha_s & operator=(const lo_alpha_s &) = delete;
115
116 private:
117
118 Energy freezing_scale_;
119
120 };
121
122}
123
124#include "ThePEG/Utilities/ClassTraits.h"
125
126namespace ThePEG {
127
132 template <>
133 struct BaseClassTrait<matchbox::lo_alpha_s,1> {
136 };
137
140 template <>
141 struct ClassTraits<matchbox::lo_alpha_s>
142 : public ClassTraitsBase<matchbox::lo_alpha_s> {
144 static string className() { return "matchbox::lo_alpha_s"; }
152 static string library() { return "HwDipoleShowerAlphaS.so"; }
153 };
154
157}
158
159#endif /* matchbox_couplings_lo_alpha_s_h */
Base class for the strong coupling.
Definition: alpha_s.h:97
double scale_factor() const
return the scale factor
Definition: alpha_s.h:243
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Definition: alpha_s.h:233
LO running alpha_s.
Definition: lo_alpha_s.h:22
static ClassDescription< lo_alpha_s > initlo_alpha_s
The static object used to initialize the description of this class.
Definition: lo_alpha_s.h:108
lo_alpha_s()
The default constructor.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
lo_alpha_s & operator=(const lo_alpha_s &)=delete
The assignment operator is private and must never be called.
static void Init()
The standard Init function used to initialize the interfaces.
virtual double operator()(Energy2 scale, Energy2 lambda2, unsigned int nf) const
return alpha_s as function of scale, QCD scale and number of active flavours
virtual IBPtr clone() const
Make a simple clone of this object.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Definition: lo_alpha_s.h:78
virtual unsigned int nloops() const
return the number of loops which determine this running
Definition: lo_alpha_s.h:40
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
static string className()
static string library()