herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
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 
17 namespace Herwig {
18 
19 using namespace ThePEG;
20 
29 
30 public:
31 
37  MEMatching();
38 
42  virtual ~MEMatching();
44 
45 public:
46 
51  virtual bool needsSplittingGenerator() const { return true; }
52 
57  virtual bool hasHEvents() const { return restrictPhasespace() || profileScales(); }
58 
63  virtual bool needsTruncatedShower() const { return theTruncatedShower; }
64 
65 public:
66 
72  virtual CrossSection dSigHatDR() const;
73 
80  virtual double me2() const;
81 
82 public:
83 
90  void persistentOutput(PersistentOStream & os) const;
91 
97  void persistentInput(PersistentIStream & is, int version);
99 
106  static void Init();
107 
108 protected:
109 
116  virtual IBPtr clone() const;
117 
122  virtual IBPtr fullclone() const;
124 
125 
126 // If needed, insert declarations of virtual function defined in the
127 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
128 
129 
130 private:
131 
136  MEMatching & operator=(const MEMatching &) = delete;
137 
142 
143 };
144 
145 }
146 
147 #endif /* Herwig_MEMatching_H */
virtual bool needsSplittingGenerator() const
Return true, if this shower approximation will require a splitting generator.
Definition: MEMatching.h:51
MEMatching implements NLO matching with matrix element correction (aka Powheg).
Definition: MEMatching.h:28
virtual bool hasHEvents() const
Return true, if this shower approximation will require H events.
Definition: MEMatching.h:57
ShowerApproximation describes the shower emission to be used in NLO matching.
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
virtual bool needsTruncatedShower() const
Return true, if this shower approximation will require a truncated parton shower. ...
Definition: MEMatching.h:63
bool theTruncatedShower
True, if a truncated parton shower should be generated.
Definition: MEMatching.h:141
-*- C++ -*-