herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
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
38
MatchboxScaleChoice
();
39
40
public
:
41
45
Ptr<MatchboxScaleChoice>::ptr
cloneMe
()
const
{
46
return
dynamic_ptr_cast<Ptr<MatchboxScaleChoice>::ptr>(
clone
());
47
}
48
52
virtual
void
setXComb
(tStdXCombPtr xc) {
53
theLastXComb
= xc;
54
}
55
60
virtual
Energy2
renormalizationScale
()
const
{
61
return
theFixedScale
==
ZERO
?
lastSHat
() :
sqr
(
theFixedScale
);
62
}
63
68
virtual
Energy2
factorizationScale
()
const
{
69
return
theFixedScale
==
ZERO
?
lastSHat
() :
sqr
(
theFixedScale
);
70
}
71
76
virtual
Energy2
renormalizationScaleQED
()
const
{
77
if
(
theFixedQEDScale
!=
ZERO
)
78
return
sqr
(
theFixedQEDScale
);
79
Energy mZ =
getParticleData
(
ParticleID::Z0
)->hardProcessMass();
80
return
mZ*mZ;
81
}
82
87
virtual
Energy2
showerScale
()
const
{
88
return
factorizationScale
();
89
}
90
91
public
:
92
99
void
persistentOutput
(
PersistentOStream
& os)
const
;
100
106
void
persistentInput
(
PersistentIStream
& is,
int
version);
108
115
static
void
Init
();
116
117
protected
:
118
125
virtual
IBPtr
clone
()
const
;
126
131
virtual
IBPtr
fullclone
()
const
;
133
134
135
// If needed, insert declarations of virtual function defined in the
136
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
137
138
139
private
:
140
144
Energy
theFixedScale
;
145
149
Energy
theFixedQEDScale
;
150
155
MatchboxScaleChoice
&
operator=
(
const
MatchboxScaleChoice
&) =
delete
;
156
157
};
158
159
}
160
161
#endif
/* Herwig_MatchboxScaleChoice_H */
Herwig::MatchboxScaleChoice
MatchboxScaleChoice is the base class for scale choices within Matchbox.
Definition:
MatchboxScaleChoice.h:31
Herwig::MatchboxScaleChoice::operator=
MatchboxScaleChoice & operator=(const MatchboxScaleChoice &)=delete
The assignment operator is private and must never be called.
Herwig::MatchboxScaleChoice::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::MatchboxScaleChoice::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MatchboxScaleChoice::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::MatchboxScaleChoice::showerScale
virtual Energy2 showerScale() const
Return the shower hard scale.
Definition:
MatchboxScaleChoice.h:87
Herwig::MatchboxScaleChoice::MatchboxScaleChoice
MatchboxScaleChoice()
The default constructor.
Herwig::MatchboxScaleChoice::setXComb
virtual void setXComb(tStdXCombPtr xc)
Set the XComb object.
Definition:
MatchboxScaleChoice.h:52
Herwig::MatchboxScaleChoice::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MatchboxScaleChoice::renormalizationScaleQED
virtual Energy2 renormalizationScaleQED() const
Return the QED renormalization scale.
Definition:
MatchboxScaleChoice.h:76
Herwig::MatchboxScaleChoice::theFixedScale
Energy theFixedScale
A fixed scale choice.
Definition:
MatchboxScaleChoice.h:144
Herwig::MatchboxScaleChoice::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MatchboxScaleChoice::factorizationScale
virtual Energy2 factorizationScale() const
Return the factorization scale.
Definition:
MatchboxScaleChoice.h:68
Herwig::MatchboxScaleChoice::theFixedQEDScale
Energy theFixedQEDScale
A fixed QED scale choice.
Definition:
MatchboxScaleChoice.h:149
Herwig::MatchboxScaleChoice::renormalizationScale
virtual Energy2 renormalizationScale() const
Return the renormalization scale.
Definition:
MatchboxScaleChoice.h:60
Herwig::MatchboxScaleChoice::cloneMe
Ptr< MatchboxScaleChoice >::ptr cloneMe() const
Clone this scale choice.
Definition:
MatchboxScaleChoice.h:45
ThePEG::HandlerBase
ThePEG::Interfaced::getParticleData
PDPtr getParticleData(PID) const
ThePEG::LastXCombInfo
ThePEG::LastXCombInfo< StandardXComb >::theLastXComb
XCPtr theLastXComb
ThePEG::LastXCombInfo< StandardXComb >::lastSHat
Energy2 lastSHat() const
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::ParticleID::Z0
Z0
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::ZERO
constexpr ZeroUnit ZERO
ThePEG::sqr
constexpr auto sqr(const T &x) -> decltype(x *x)
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6