herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
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
17namespace Herwig {
18
19using namespace ThePEG;
20
28
29public:
30
37
43
44public:
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
81public:
82
90
96 void persistentInput(PersistentIStream & is, int version);
98
105 static void Init();
106
107protected:
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
129private:
130
136
137};
138
139}
140
141#endif /* Herwig_GenericOLPAmplitude_H */
GenericOLPAmplitude implements OLP interfaces.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual void signOLP(const string &, const string &)
Start the one loop provider, if appropriate, giving order and contract files.
GenericOLPAmplitude & operator=(const GenericOLPAmplitude &)=delete
The assignment operator is private and must never be called.
virtual ~GenericOLPAmplitude()
The destructor.
virtual void evalColourCorrelator(pair< int, int > ij) const
Fill in results for the given colour correlator.
GenericOLPAmplitude()
The default constructor.
virtual IBPtr clone() const
Make a simple clone of this object.
virtual void evalSubProcess() const
Call OLP_EvalSubProcess and fill in the results.
virtual void startOLP(const string &, int &status)
Start the one loop provider, if appropriate.
virtual void evalSpinColourCorrelator(pair< int, int > ij) const
Fill in results for the given colour/spin correlator.
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.
virtual LorentzVector< Complex > plusPolarization(const Lorentz5Momentum &p, const Lorentz5Momentum &n, int id=-1) const
Return a positive helicity polarization vector for a gluon of momentum p (with reference vector n) to...
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
MatchboxOLPME implements OLP interfaces.
Definition: MatchboxOLPME.h:27
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr