herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MergerBase.h
1// -*- C++ -*-
2//
3// MergerBase.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_MergerBase_H
10#define HERWIG_MergerBase_H
11//
12// This is the declaration of the MergerBase class.
13//
14
15#include "ThePEG/Handlers/HandlerBase.h"
16#include "ThePEG/MatrixElement/MEBase.h"
17#include "Herwig/MatrixElement/Matchbox/Utility/LastMatchboxXCombInfo.h"
18#include "Herwig/MatrixElement/Matchbox/Utility/MatchboxXComb.h"
19
20#include "MatchboxMEBase.fh"
21
22namespace Herwig {
23
24using namespace ThePEG;
25class MergerBase;
26
27ThePEG_DECLARE_POINTERS(MergerBase,MergerBasePtr);
28
38class MergerBase: public HandlerBase {
39
40public:
41
46
49 PVector outcoming,
50 Energy winnerScale,
51 Energy cutscale) const = 0;
53 virtual CrossSection MergingDSigDR() = 0;
55 virtual void setXComb( tStdXCombPtr) = 0;
57 virtual void setME(Ptr<MatchboxMEBase>::ptr) = 0;
59 virtual void setKinematics() = 0;
61 virtual void clearKinematics() = 0;
63 virtual bool generateKinematics( const double * ) = 0;
69 virtual void flushCaches() = 0;
71 virtual size_t maxLegs() const = 0;
73 virtual Energy mergingScale() const = 0;
75
76public:
77
84 static void Init();
85
86
87
88};
89
90
91
92}
93
94#endif /* HERWIG_MergerBase_H */
MergerBase is the base class MergingHelpers.
Definition: MergerBase.h:38
virtual CrossSection MergingDSigDR()=0
cross section of as given by the merging
virtual void flushCaches()=0
flush all chaches of the subleading nodes.
virtual void setME(Ptr< MatchboxMEBase >::ptr)=0
set the current ME
MergerBase()
The default constructor.
virtual Energy mergingScale() const =0
return the current merging scale,
virtual void setXComb(tStdXCombPtr)=0
set the current xcomb, called from ME
virtual void setKinematics()=0
set kinematics, called from ME
static void Init()
The standard Init function used to initialize the interfaces.
virtual size_t maxLegs() const =0
return the current maximum legs, the shower should veto
virtual void clearKinematics()=0
clear kinematics, called from ME
virtual bool matrixElementRegion(PVector incoming, PVector outcoming, Energy winnerScale, Energy cutscale) const =0
define the ME region for a particle vector.
virtual bool generateKinematics(const double *)=0
generate kinematics, called from ME
-*- C++ -*-
vector< PPtr > PVector