herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MEMatching.h
1// -*- C++ -*-
2//
3// MEMatching.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_MEMatching_H
10#define Herwig_MEMatching_H
11//
12// This is the declaration of the MEMatching class.
13//
14
15#include "Herwig/MatrixElement/Matchbox/Matching/ShowerApproximation.h"
16
17namespace Herwig {
18
19using namespace ThePEG;
20
29
30public:
31
36
37public:
38
43 virtual bool needsSplittingGenerator() const { return true; }
44
49 virtual bool hasHEvents() const { return restrictPhasespace() || profileScales(); }
50
55 virtual bool needsTruncatedShower() const { return theTruncatedShower; }
56
57public:
58
64 virtual CrossSection dSigHatDR() const;
65
72 virtual double me2() const;
73
74public:
75
83
89 void persistentInput(PersistentIStream & is, int version);
91
98 static void Init();
99
100protected:
101
108 virtual IBPtr clone() const;
109
114 virtual IBPtr fullclone() const;
116
117
118// If needed, insert declarations of virtual function defined in the
119// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
120
121
122private:
123
128 MEMatching & operator=(const MEMatching &) = delete;
129
134
135};
136
137}
138
139#endif /* Herwig_MEMatching_H */
MEMatching implements NLO matching with matrix element correction (aka Powheg).
Definition: MEMatching.h:28
virtual bool needsSplittingGenerator() const
Return true, if this shower approximation will require a splitting generator.
Definition: MEMatching.h:43
MEMatching & operator=(const MEMatching &)=delete
The assignment operator is private and must never be called.
MEMatching()
The default constructor.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual double me2() const
Return the shower approximation splitting kernel for the given pair of Born and real emission configu...
static void Init()
The standard Init function used to initialize the interfaces.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual bool needsTruncatedShower() const
Return true, if this shower approximation will require a truncated parton shower.
Definition: MEMatching.h:55
virtual bool hasHEvents() const
Return true, if this shower approximation will require H events.
Definition: MEMatching.h:49
bool theTruncatedShower
True, if a truncated parton shower should be generated.
Definition: MEMatching.h:133
virtual IBPtr clone() const
Make a simple clone of this object.
virtual CrossSection dSigHatDR() const
Return the shower approximation to the real emission cross section for the given pair of Born and rea...
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ShowerApproximation describes the shower emission to be used in NLO matching.
bool restrictPhasespace() const
Return true, if the phase space restrictions of the dipole shower should be applied.
Ptr< HardScaleProfile >::tptr profileScales() const
Return profile scales.
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr