herwig is hosted by Hepforge, IPPP Durham
Herwig  7.1.5
MatchboxAmplitudellbarqqbargg.h
1 // -*- C++ -*-
2 //
3 // MatchboxAmplitudellbarqqbargg.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2002-2017 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 
18 namespace Herwig {
19 
20 using namespace ThePEG;
21 
30 
31 public:
32 
39 
45 
46 public:
47 
51  virtual bool canHandle(const PDVector&) const;
52 
57  virtual unsigned int orderInGs() const { return 2; }
58 
63  virtual unsigned int orderInGem() const { return 2; }
64 
69  virtual bool haveOneLoop() const { return false; }
70 
75  virtual void prepareAmplitudes(Ptr<MatchboxMEBase>::tcptr);
76 
81  virtual Complex evaluate(size_t, const vector<int>&, Complex&);
82 
86  virtual void flushCaches() {
89  }
90 
91 public:
92 
99  void persistentOutput(PersistentOStream & os) const;
100 
106  void persistentInput(PersistentIStream & is, int version);
108 
115  static void Init();
116 
117 protected:
118 
125  virtual IBPtr clone() const;
126 
131  virtual IBPtr fullclone() const;
133 
134 
135 // If needed, insert declarations of virtual function defined in the
136 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
137 
138 protected:
139 
147  virtual void doinit();
148 
153  virtual void doinitrun();
155 
156 private:
157 
162  MatchboxAmplitudellbarqqbargg & operator=(const MatchboxAmplitudellbarqqbargg &) = delete;
163 
164 };
165 
166 }
167 
168 #endif /* Herwig_MatchboxAmplitudellbarqqbargg_H */
virtual unsigned int orderInGs() const
Return the (tree-level) order in in which this matrix element is given.
std::complex< double > Complex
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Here is the documentation of the MatchboxZGammaAmplitude class.
virtual bool haveOneLoop() const
Return true, if this amplitude is capable of calculating one-loop (QCD) corrections.
virtual void flushCaches()
Flush all cashes.
virtual void flushCaches()
Flush all cashes.
virtual unsigned int orderInGem() const
Return the (tree-level) order in in which this matrix element is given.
-*- C++ -*-
vector< PDPtr > PDVector
MatchboxCurrents.