herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MatchboxAmplitudellbarqqbargg.h
1// -*- C++ -*-
2//
3// MatchboxAmplitudellbarqqbargg.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_MatchboxAmplitudellbarqqbargg_H
10#define Herwig_MatchboxAmplitudellbarqqbargg_H
11//
12// This is the declaration of the MatchboxAmplitudellbarqqbargg 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 2; }
50
55 virtual unsigned int orderInGem() const { return 2; }
56
61 virtual bool haveOneLoop() const { return false; }
62
67 virtual void prepareAmplitudes(Ptr<MatchboxMEBase>::tcptr);
68
73 virtual Complex evaluate(size_t, const vector<int>&, Complex&);
74
78 virtual void flushCaches() {
81 }
82
83public:
84
92
98 void persistentInput(PersistentIStream & is, int version);
100
107 static void Init();
108
109protected:
110
117 virtual IBPtr clone() const;
118
123 virtual IBPtr fullclone() const;
125
126
127// If needed, insert declarations of virtual function defined in the
128// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
129
130protected:
131
139 virtual void doinit();
140
145 virtual void doinitrun();
147
148private:
149
155
156};
157
158}
159
160#endif /* Herwig_MatchboxAmplitudellbarqqbargg_H */
virtual void flushCaches()
Flush all cashes.
virtual bool haveOneLoop() const
Return true, if this amplitude is capable of calculating one-loop (QCD) corrections.
virtual unsigned int orderInGs() const
Return the (tree-level) order in in which this matrix element is given.
MatchboxAmplitudellbarqqbargg()
The default constructor.
virtual unsigned int orderInGem() const
Return the (tree-level) order in in which this matrix element is given.
virtual void prepareAmplitudes(Ptr< MatchboxMEBase >::tcptr)
Calculate the tree level amplitudes for the phasespace point stored in lastXComb.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
MatchboxAmplitudellbarqqbargg & operator=(const MatchboxAmplitudellbarqqbargg &)=delete
The assignment operator is private and must never be called.
virtual Complex evaluate(size_t, const vector< int > &, Complex &)
Evaluate the amplitude for the given colour tensor id and helicity assignment.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual void doinitrun()
Initialize this object.
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.
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.
Here is the documentation of the MatchboxZGammaAmplitude class.
-*- C++ -*-
vector< PDPtr > PDVector
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr