herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Matchbox
External
NJet
NJetsAmplitude.h
1
// -*- C++ -*-
2
//
3
// NJetsAmplitude.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_NJetsAmplitude_H
10
#define Herwig_NJetsAmplitude_H
11
//
12
// This is the declaration of the NJetsAmplitude class.
13
//
14
15
#include "Herwig/MatrixElement/Matchbox/Base/MatchboxOLPME.h"
16
17
namespace
Herwig
{
18
19
using namespace
ThePEG
;
20
27
class
NJetsAmplitude
:
public
MatchboxOLPME
{
28
29
public
:
30
34
NJetsAmplitude
();
35
36
public
:
37
42
virtual
bool
hasInitialAverage
()
const
{
return
false
; }
43
48
virtual
bool
hasFinalStateSymmetry
()
const
{
return
false
; }
49
54
virtual
void
signOLP
(
const
string
&,
const
string
&);
55
59
virtual
void
startOLP
(
const
string
&,
int
& status);
60
65
virtual
bool
startOLP
(
const
map<pair<Process,int>,
int
>& procs);
66
70
virtual
void
evalSubProcess
()
const
;
71
75
virtual
void
evalColourCorrelator
(pair<int,int> ij)
const
;
76
82
virtual
LorentzVector<Complex>
plusPolarization
(
const
Lorentz5Momentum& p,
83
const
Lorentz5Momentum& n,
84
int
id
= -1)
const
;
85
89
virtual
void
evalSpinColourCorrelator
(pair<int,int> ij)
const
;
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
121
127
virtual
void
doinit
();
128
133
virtual
void
doinitrun
();
135
136
protected
:
137
144
virtual
IBPtr
clone
()
const
;
145
150
virtual
IBPtr
fullclone
()
const
;
152
153
154
// If needed, insert declarations of virtual function defined in the
155
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
156
157
158
private
:
159
164
NJetsAmplitude
&
operator=
(
const
NJetsAmplitude
&) =
delete
;
165
169
mutable
vector<double>
colourCorrelatorResults
;
170
174
mutable
vector<double>
spinColourCorrelatorResults
;
175
179
string
NJetsPrefix_
;
180
184
string
NJetsLibs_
;
185
189
void
loadNJET
();
190
191
};
192
193
}
194
195
#endif
/* Herwig_NJetsAmplitude_H */
Herwig::MatchboxOLPME
MatchboxOLPME implements OLP interfaces.
Definition:
MatchboxOLPME.h:27
Herwig::NJetsAmplitude
NJetsAmplitude implements an interface to NJets.
Definition:
NJetsAmplitude.h:27
Herwig::NJetsAmplitude::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::NJetsAmplitude::plusPolarization
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...
Herwig::NJetsAmplitude::startOLP
virtual void startOLP(const string &, int &status)
Start the one loop provider, if appropriate.
Herwig::NJetsAmplitude::NJetsLibs_
string NJetsLibs_
Location of NJET librarys.
Definition:
NJetsAmplitude.h:184
Herwig::NJetsAmplitude::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::NJetsAmplitude::doinitrun
virtual void doinitrun()
Initialize this object.
Herwig::NJetsAmplitude::evalSpinColourCorrelator
virtual void evalSpinColourCorrelator(pair< int, int > ij) const
Fill in results for the given colour/spin correlator.
Herwig::NJetsAmplitude::signOLP
virtual void signOLP(const string &, const string &)
Start the one loop provider, if appropriate, giving order and contract files.
Herwig::NJetsAmplitude::evalColourCorrelator
virtual void evalColourCorrelator(pair< int, int > ij) const
Fill in results for the given colour correlator.
Herwig::NJetsAmplitude::evalSubProcess
virtual void evalSubProcess() const
Call OLP_EvalSubProcess and fill in the results.
Herwig::NJetsAmplitude::hasFinalStateSymmetry
virtual bool hasFinalStateSymmetry() const
Return true, if this amplitude already includes symmetry factors for identical outgoing particles.
Definition:
NJetsAmplitude.h:48
Herwig::NJetsAmplitude::hasInitialAverage
virtual bool hasInitialAverage() const
Return true, if this amplitude already includes averaging over incoming parton's quantum numbers.
Definition:
NJetsAmplitude.h:42
Herwig::NJetsAmplitude::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::NJetsAmplitude::loadNJET
void loadNJET()
Load the NJET library.
Herwig::NJetsAmplitude::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::NJetsAmplitude::NJetsAmplitude
NJetsAmplitude()
The default constructor.
Herwig::NJetsAmplitude::spinColourCorrelatorResults
vector< double > spinColourCorrelatorResults
Store spin colour correlator results.
Definition:
NJetsAmplitude.h:174
Herwig::NJetsAmplitude::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::NJetsAmplitude::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::NJetsAmplitude::operator=
NJetsAmplitude & operator=(const NJetsAmplitude &)=delete
The assignment operator is private and must never be called.
Herwig::NJetsAmplitude::NJetsPrefix_
string NJetsPrefix_
Location of NJETs.
Definition:
NJetsAmplitude.h:179
Herwig::NJetsAmplitude::colourCorrelatorResults
vector< double > colourCorrelatorResults
Store colour correlator results.
Definition:
NJetsAmplitude.h:169
Herwig::NJetsAmplitude::startOLP
virtual bool startOLP(const map< pair< Process, int >, int > &procs)
Start the one loop provider, if appropriate.
ThePEG::LorentzVector
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6