herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
DipoleIOperator.h
1// -*- C++ -*-
2//
3// DipoleIOperator.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_DipoleIOperator_H
10#define HERWIG_DipoleIOperator_H
11//
12// This is the declaration of the DipoleIOperator class.
13//
14
15#include "Herwig/MatrixElement/Matchbox/InsertionOperators/MatchboxInsertionOperator.h"
16#include "Herwig/MatrixElement/Matchbox/Base/MatchboxMEBase.h"
17
18namespace Herwig {
19
20using namespace ThePEG;
21
31
32public:
33
40
46
47public:
48
53 virtual void setXComb(tStdXCombPtr xc);
54
58 virtual void setAlpha (double alpha)const;
59
64 virtual bool apply(const cPDVector&) const;
65
70 bool apply(tcPDPtr) const;
71
76 vector<int> NLightJetVec() const;
77
82 vector<int> NHeavyJetVec() const;
83
88 vector<int> NLightBornVec() const;
89
94 vector<int> NHeavyBornVec() const;
95
100 vector<int> NLightProtonVec() const;
101
107 virtual double me2() const;
108
112 virtual double oneLoopDoublePole() const;
113
117 virtual double oneLoopSinglePole() const;
118
119public:
120
128
134 void persistentInput(PersistentIStream & is, int version);
136
143 static void Init();
144
145protected:
146
153 virtual IBPtr clone() const;
154
159 virtual IBPtr fullclone() const;
161
162private:
163
167 double CA;
168
172 double CF;
173
178
183
187 double betaZero;
188
192 mutable double KQuark;
193
197 mutable double KGluon;
198
199private:
200
206
207};
208
209}
210
211#endif /* HERWIG_DipoleIOperator_H */
DipoleIOperator implements the I(\epsilon) insertion operator.
virtual IBPtr clone() const
Make a simple clone of this object.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
vector< int > NHeavyJetVec() const
Return a vector of PDG codes of the heavy flavours, which are contained in the jet particle group.
vector< int > NLightBornVec() const
Return a vector of PDG codes of the light flavours, which are contained in the associated Born sub-pr...
vector< int > NLightProtonVec() const
Return a vector of PDG codes of the light flavours, which are contained in the proton particle group.
bool apply(tcPDPtr) const
Return true, if contributions exist to the given parton.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual ~DipoleIOperator()
The destructor.
static void Init()
The standard Init function used to initialize the interfaces.
DipoleIOperator()
The default constructor.
virtual bool apply(const cPDVector &) const
Return true, if this virtual correction applies to the given process.
DipoleIOperator & operator=(const DipoleIOperator &)=delete
The assignment operator is private and must never be called.
virtual double me2() const
Evaluate the finite virtual correction for the variables supplied through the Born XComb object and p...
virtual void setAlpha(double alpha) const
Set parameters for new alpha parameter.
virtual double oneLoopDoublePole() const
If defined, return the coefficient of the pole in epsilon^2.
virtual void setXComb(tStdXCombPtr xc)
Set the XComb object steering the Born matrix element this class represents virtual corrections to.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual double oneLoopSinglePole() const
If defined, return the coefficient of the pole in epsilon.
vector< int > NHeavyBornVec() const
Return a vector of PDG codes of the heavy flavours, which are contained in the associated Born sub-pr...
vector< int > NLightJetVec() const
Return a vector of PDG codes of the light flavours, which are contained in the jet particle group.
MatchboxInsertionOperator is the base class for insertion operators.
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
vector< cPDPtr > cPDVector