herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
GenericOLPAmplitude.h
1 // -*- C++ -*-
2 //
3 // GenericOLPAmplitude.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_GenericOLPAmplitude_H
10 #define Herwig_GenericOLPAmplitude_H
11 //
12 // This is the declaration of the GenericOLPAmplitude class.
13 //
14 
15 #include "Herwig/MatrixElement/Matchbox/Base/MatchboxOLPME.h"
16 
17 namespace Herwig {
18 
19 using namespace ThePEG;
20 
28 
29 public:
30 
37 
41  virtual ~GenericOLPAmplitude();
43 
44 public:
45 
50  virtual void signOLP(const string&, const string&);
51 
55  virtual void startOLP(const string&, int& status);
56 
60  virtual void evalSubProcess() const;
61 
65  virtual void evalColourCorrelator(pair<int,int> ij) const;
66 
72  virtual LorentzVector<Complex> plusPolarization(const Lorentz5Momentum& p,
73  const Lorentz5Momentum& n,
74  int id = -1) const;
75 
79  virtual void evalSpinColourCorrelator(pair<int,int> ij) const;
80 
81 public:
82 
89  void persistentOutput(PersistentOStream & os) const;
90 
96  void persistentInput(PersistentIStream & is, int version);
98 
105  static void Init();
106 
107 protected:
108 
115  virtual IBPtr clone() const;
116 
121  virtual IBPtr fullclone() const;
123 
124 
125 // If needed, insert declarations of virtual function defined in the
126 // InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
127 
128 
129 private:
130 
135  GenericOLPAmplitude & operator=(const GenericOLPAmplitude &) = delete;
136 
137 };
138 
139 }
140 
141 #endif /* Herwig_GenericOLPAmplitude_H */
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
GenericOLPAmplitude implements OLP interfaces.
-*- C++ -*-
MatchboxOLPME implements OLP interfaces.
Definition: MatchboxOLPME.h:27