herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MatchboxAmplitudellbarqqbarg.h
1// -*- C++ -*-
2//
3// MatchboxAmplitudellbarqqbarg.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_MatchboxAmplitudellbarqqbarg_H
10#define Herwig_MatchboxAmplitudellbarqqbarg_H
11//
12// This is the declaration of the MatchboxAmplitudellbarqqbarg class.
13//
14
15#include "Herwig/MatrixElement/Matchbox/Builtin/Amplitudes/MatchboxZGammaAmplitude.h"
16#include "Herwig/MatrixElement/Matchbox/Builtin/Amplitudes/MatchboxCurrents.h"
17
18namespace Herwig {
19
20using namespace ThePEG;
21
30
31public:
32
37
38public:
39
43 virtual bool canHandle(const PDVector&) const;
44
49 virtual unsigned int orderInGs() const { return 1; }
50
55 virtual unsigned int orderInGem() const { return 2; }
56
61 virtual bool haveOneLoop() const { return true; }
62
67 virtual void prepareAmplitudes(Ptr<MatchboxMEBase>::tcptr);
68
73 virtual Complex evaluate(size_t, const vector<int>&, Complex&);
74
79 virtual Complex evaluateOneLoop(size_t, const vector<int>&);
80
85 virtual bool isBDK() const { return true; }
86
92 virtual Energy2 mu2() const { return lastSHat(); }
93
97 virtual void flushCaches() {
100 }
101
102public:
103
111
117 void persistentInput(PersistentIStream & is, int version);
119
126 static void Init();
127
128protected:
129
136 virtual IBPtr clone() const;
137
142 virtual IBPtr fullclone() const;
144
145
146// If needed, insert declarations of virtual function defined in the
147// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
148
149protected:
150
158 virtual void doinit();
159
164 virtual void doinitrun();
166
167private:
168
174
175};
176
177}
178
179#endif /* Herwig_MatchboxAmplitudellbarqqbarg_H */
virtual void flushCaches()
Flush all cashes.
virtual Energy2 mu2() const
Return the value of the dimensional regularization parameter.
virtual bool canHandle(const PDVector &) const
Return true, if this amplitude can handle the given process.
virtual IBPtr clone() const
Make a simple clone of this object.
MatchboxAmplitudellbarqqbarg()
The default constructor.
virtual bool haveOneLoop() const
Return true, if this amplitude is capable of calculating one-loop (QCD) corrections.
virtual bool isBDK() const
Return true, if one loop corrections are given in the conventions of BDK.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual unsigned int orderInGs() const
Return the (tree-level) order in in which this matrix element is given.
virtual Complex evaluateOneLoop(size_t, const vector< int > &)
Evaluate the amplitude for the given colour tensor id and helicity assignment.
virtual Complex evaluate(size_t, const vector< int > &, Complex &)
Evaluate the amplitude for the given colour tensor id and helicity assignment.
MatchboxAmplitudellbarqqbarg & operator=(const MatchboxAmplitudellbarqqbarg &)=delete
The assignment operator is private and must never be called.
static void Init()
The standard Init function used to initialize the interfaces.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual unsigned int orderInGem() const
Return the (tree-level) order in in which this matrix element is given.
virtual void doinitrun()
Initialize this object.
virtual void prepareAmplitudes(Ptr< MatchboxMEBase >::tcptr)
Calculate the tree level amplitudes for the phasespace point stored in lastXComb.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual void flushCaches()
Flush all cashes.
Here is the documentation of the MatchboxZGammaAmplitude class.
-*- C++ -*-
vector< PDPtr > PDVector
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr