herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
HardScaleProfile.h
1// -*- C++ -*-
2//
3// HardScaleProfile.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_HardScaleProfile_H
10#define Herwig_HardScaleProfile_H
11//
12// This is the declaration of the HardScaleProfile class.
13//
14
15#include "ThePEG/Interface/Interfaced.h"
16
17namespace Herwig {
18
19using namespace ThePEG;
20
30
31public:
32
37
38public:
39
43 virtual double hardScaleProfile(Energy hard, Energy soft) const;
44
49 virtual bool unrestrictedPhasespace() const;
50
51public:
52
60
66 void persistentInput(PersistentIStream & is, int version);
68
75 static void Init();
76
77protected:
78
85 virtual IBPtr clone() const;
86
91 virtual IBPtr fullclone() const;
93
94
95// If needed, insert declarations of virtual function defined in the
96// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
97
98protected:
99
104 theta = 0,
108 hfact = 2
110 };
111
117
124
129
130private:
131
137
138};
139
140}
141
142#endif /* Herwig_HardScaleProfile_H */
HardScaleProfile is the base class for profile scales. A few standard choices are provided by this im...
HardScaleProfile & operator=(const HardScaleProfile &)=delete
The assignment operator is private and must never be called.
virtual IBPtr clone() const
Make a simple clone of this object.
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.
int theProfileType
The profile type to be used.
Energy theFixedHardScale
A fixed hard scale to be used instead of the hard scale decided for the process in question.
ProfileTypes
Enumerate the possible profiles.
@ hfact
‘resummation’ profile with quadratic interpolation
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
static void Init()
The standard Init function used to initialize the interfaces.
HardScaleProfile()
The default constructor.
double theProfileRho
A dimensionless width parameter setting the smearing size relative to the hard scale; this may have d...
virtual bool unrestrictedPhasespace() const
Return true, if this hard scale profile requires an unrestricted radiation phase space.
virtual double hardScaleProfile(Energy hard, Energy soft) const
Return a scale profile towards the hard scale.
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr