File indexing completed on 2026-08-06 09:24:10
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef HERWIG_MergerBase_H
0010 #define HERWIG_MergerBase_H
0011
0012
0013
0014
0015 #include "ThePEG/Handlers/HandlerBase.h"
0016 #include "ThePEG/MatrixElement/MEBase.h"
0017 #include "Herwig/MatrixElement/Matchbox/Utility/LastMatchboxXCombInfo.h"
0018 #include "Herwig/MatrixElement/Matchbox/Utility/MatchboxXComb.h"
0019
0020 #include "MatchboxMEBase.fh"
0021
0022 namespace Herwig {
0023
0024 using namespace ThePEG;
0025 class MergerBase;
0026
0027 ThePEG_DECLARE_POINTERS(MergerBase,MergerBasePtr);
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038 class MergerBase: public HandlerBase {
0039
0040 public:
0041
0042
0043
0044
0045 MergerBase();
0046
0047
0048 virtual bool matrixElementRegion(PVector incoming,
0049 PVector outcoming,
0050 Energy winnerScale,
0051 Energy cutscale) const = 0;
0052
0053 virtual CrossSection MergingDSigDR() = 0;
0054
0055 virtual void setXComb( tStdXCombPtr) = 0;
0056
0057 virtual void setME(Ptr<MatchboxMEBase>::ptr) = 0;
0058
0059 virtual void setKinematics() = 0;
0060
0061 virtual void clearKinematics() = 0;
0062
0063 virtual bool generateKinematics( const double * ) = 0;
0064
0065
0066
0067
0068
0069 virtual void flushCaches() = 0;
0070
0071 virtual size_t maxLegs() const = 0;
0072
0073 virtual Energy mergingScale() const = 0;
0074
0075
0076 public:
0077
0078
0079
0080
0081
0082
0083
0084 static void Init();
0085
0086
0087
0088 };
0089
0090
0091
0092 }
0093
0094 #endif