herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
Matchbox
Utility
MatchboxScaleChoice.h
1
// -*- C++ -*-
2
//
3
// MatchboxScaleChoice.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4
// Copyright (C) 2002-2019 The Herwig Collaboration
5
//
6
// Herwig 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 Herwig_MatchboxScaleChoice_H
10
#define Herwig_MatchboxScaleChoice_H
11
//
12
// This is the declaration of the MatchboxScaleChoice class.
13
//
14
15
#include "ThePEG/Handlers/HandlerBase.h"
16
#include "ThePEG/Handlers/StandardXComb.h"
17
#include "ThePEG/Handlers/LastXCombInfo.h"
18
19
namespace
Herwig
{
20
21
using namespace
ThePEG
;
22
31
class
MatchboxScaleChoice
:
public
HandlerBase
,
public
LastXCombInfo
<StandardXComb> {
32
33
public
:
34
40
MatchboxScaleChoice
();
41
45
virtual
~
MatchboxScaleChoice
();
47
48
public
:
49
53
Ptr<MatchboxScaleChoice>::ptr
cloneMe
()
const
{
54
return
dynamic_ptr_cast<Ptr<MatchboxScaleChoice>::ptr>(clone());
55
}
56
60
virtual
void
setXComb
(tStdXCombPtr xc) {
61
theLastXComb = xc;
62
}
63
68
virtual
Energy2
renormalizationScale
()
const
{
69
return
theFixedScale ==
ZERO
? lastSHat() :
sqr
(theFixedScale);
70
}
71
76
virtual
Energy2
factorizationScale
()
const
{
77
return
theFixedScale ==
ZERO
? lastSHat() :
sqr
(theFixedScale);
78
}
79
84
virtual
Energy2
renormalizationScaleQED
()
const
{
85
if
( theFixedQEDScale !=
ZERO
)
86
return
sqr
(theFixedQEDScale);
87
Energy mZ = getParticleData(ParticleID::Z0)->hardProcessMass();
88
return
mZ*mZ;
89
}
90
95
virtual
Energy2
showerScale
()
const
{
96
return
factorizationScale();
97
}
98
99
public
:
100
107
void
persistentOutput(
PersistentOStream
& os)
const
;
108
114
void
persistentInput(
PersistentIStream
& is,
int
version);
116
123
static
void
Init();
124
125
protected
:
126
133
virtual
IBPtr
clone()
const
;
134
139
virtual
IBPtr
fullclone()
const
;
141
142
143
// If needed, insert declarations of virtual function defined in the
144
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
145
146
147
private
:
148
152
Energy
theFixedScale
;
153
157
Energy
theFixedQEDScale
;
158
163
MatchboxScaleChoice
& operator=(
const
MatchboxScaleChoice
&) =
delete
;
164
165
};
166
167
}
168
169
#endif
/* Herwig_MatchboxScaleChoice_H */
ThePEG::PersistentIStream
Herwig::MatchboxScaleChoice::renormalizationScaleQED
virtual Energy2 renormalizationScaleQED() const
Return the QED renormalization scale.
Definition:
MatchboxScaleChoice.h:84
Herwig::MatchboxScaleChoice::theFixedScale
Energy theFixedScale
A fixed scale choice.
Definition:
MatchboxScaleChoice.h:152
ThePEG::PersistentOStream
ThePEG::LastXCombInfo
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::MatchboxScaleChoice::factorizationScale
virtual Energy2 factorizationScale() const
Return the factorization scale.
Definition:
MatchboxScaleChoice.h:76
sqr
constexpr auto sqr(const T &x) -> decltype(x *x)
ThePEG
Herwig::MatchboxScaleChoice::theFixedQEDScale
Energy theFixedQEDScale
A fixed QED scale choice.
Definition:
MatchboxScaleChoice.h:157
ThePEG::HandlerBase
Herwig::MatchboxScaleChoice
MatchboxScaleChoice is the base class for scale choices within Matchbox.
Definition:
MatchboxScaleChoice.h:31
Herwig::MatchboxScaleChoice::showerScale
virtual Energy2 showerScale() const
Return the shower hard scale.
Definition:
MatchboxScaleChoice.h:95
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::MatchboxScaleChoice::renormalizationScale
virtual Energy2 renormalizationScale() const
Return the renormalization scale.
Definition:
MatchboxScaleChoice.h:68
ZERO
constexpr ZeroUnit ZERO
Herwig::MatchboxScaleChoice::cloneMe
Ptr< MatchboxScaleChoice >::ptr cloneMe() const
Clone this scale choice.
Definition:
MatchboxScaleChoice.h:53
Herwig::MatchboxScaleChoice::setXComb
virtual void setXComb(tStdXCombPtr xc)
Set the XComb object.
Definition:
MatchboxScaleChoice.h:60
Generated on Sat Apr 11 2020 14:50:30 for Herwig by
1.8.13