herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MatchboxAmplitudellbarqqbarqqbar.h
1// -*- C++ -*-
2//
3// MatchboxAmplitudellbarqqbarqqbar.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_MatchboxAmplitudellbarqqbarqqbar_H
10#define Herwig_MatchboxAmplitudellbarqqbarqqbar_H
11//
12// This is the declaration of the MatchboxAmplitudellbarqqbarqqbar 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_MatchboxAmplitudellbarqqbarqqbar_H */
virtual void flushCaches()
Flush all cashes.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual bool canHandle(const PDVector &) const
Return true, if this amplitude can handle the given process.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
MatchboxAmplitudellbarqqbarqqbar()
The default constructor.
virtual IBPtr clone() const
Make a simple clone of this object.
virtual void prepareAmplitudes(Ptr< MatchboxMEBase >::tcptr)
Calculate the tree level amplitudes for the phasespace point stored in lastXComb.
virtual unsigned int orderInGem() const
Return the (tree-level) order in in which this matrix element is given.
static void Init()
The standard Init function used to initialize the interfaces.
virtual void doinitrun()
Initialize this object.
virtual Complex evaluate(size_t, const vector< int > &, Complex &)
Evaluate the amplitude for the given colour tensor id and helicity assignment.
virtual unsigned int orderInGs() const
Return the (tree-level) order in in which this matrix element is given.
virtual bool haveOneLoop() const
Return true, if this amplitude is capable of calculating one-loop (QCD) corrections.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
MatchboxAmplitudellbarqqbarqqbar & operator=(const MatchboxAmplitudellbarqqbarqqbar &)=delete
The assignment operator is private and must never be called.
Here is the documentation of the MatchboxZGammaAmplitude class.
-*- C++ -*-
vector< PDPtr > PDVector
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr