herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Lepton
MEee2VectorMeson.h
1
// -*- C++ -*-
2
//
3
// MEee2VectorMeson.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_MEee2VectorMeson_H
10
#define HERWIG_MEee2VectorMeson_H
11
//
12
// This is the declaration of the MEee2VectorMeson class.
13
//
14
15
#include "ThePEG/MatrixElement/MEBase.h"
16
#include "Herwig/PDT/GenericMassGenerator.fh"
17
#include "Herwig/MatrixElement/ProductionMatrixElement.h"
18
#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
19
#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
20
#include "ThePEG/Helicity/WaveFunction/VectorWaveFunction.h"
21
22
namespace
Herwig
{
23
24
using namespace
ThePEG
;
25
26
using
Helicity::SpinorWaveFunction
;
27
using
Helicity::SpinorBarWaveFunction
;
28
using
Helicity::VectorWaveFunction
;
29
38
class
MEee2VectorMeson
:
public
MEBase
{
39
40
public
:
41
45
MEee2VectorMeson
() :
coupling_
(0.0012),
lineShape_
(false)
46
{}
47
54
virtual
unsigned
int
orderInAlphaS
()
const
;
55
60
virtual
unsigned
int
orderInAlphaEW
()
const
;
61
69
virtual
double
me2
()
const
;
70
74
virtual
Energy2
scale
()
const
;
75
83
virtual
void
setKinematics
();
84
89
virtual
int
nDim
()
const
;
90
99
virtual
bool
generateKinematics
(
const
double
* r);
100
105
virtual
CrossSection
dSigHatDR
()
const
;
106
110
virtual
void
getDiagrams
()
const
;
111
120
virtual
Selector<DiagramIndex>
diagrams
(
const
DiagramVector
& dv)
const
;
121
129
virtual
Selector<const ColourLines *>
130
colourGeometries
(tcDiagPtr diag)
const
;
131
135
virtual
void
constructVertex
(
tSubProPtr
sub);
137
138
139
public
:
140
147
void
persistentOutput
(
PersistentOStream
& os)
const
;
148
154
void
persistentInput
(
PersistentIStream
& is,
int
version);
156
163
static
void
Init
();
164
165
protected
:
166
173
inline
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
);}
174
179
inline
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
);}
181
182
protected
:
183
191
virtual
void
doinit
();
193
194
private
:
195
199
ProductionMatrixElement
HelicityME
(vector<SpinorWaveFunction> fin,
200
vector<SpinorBarWaveFunction> ain,
201
vector<VectorWaveFunction> vout,
double
& me)
const
;
202
private
:
203
208
MEee2VectorMeson
&
operator=
(
const
MEee2VectorMeson
&) =
delete
;
209
210
private
:
211
215
PDPtr
vector_
;
216
220
double
coupling_
;
221
225
bool
lineShape_
;
226
230
GenericMassGeneratorPtr
massGen_
;
231
232
};
233
234
}
235
236
#endif
/* HERWIG_MEee2VectorMeson_H */
Herwig::MEee2VectorMeson
The MEee2VectorMeson class is designed to produce neutral vector mesons in collisions and is primari...
Definition:
MEee2VectorMeson.h:38
Herwig::MEee2VectorMeson::me2
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
Herwig::MEee2VectorMeson::generateKinematics
virtual bool generateKinematics(const double *r)
Generate internal degrees of freedom given nDim() uniform random numbers in the interval .
Herwig::MEee2VectorMeson::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MEee2VectorMeson::operator=
MEee2VectorMeson & operator=(const MEee2VectorMeson &)=delete
The assignment operator is private and must never be called.
Herwig::MEee2VectorMeson::setKinematics
virtual void setKinematics()
Set the typed and momenta of the incoming and outgoing partons to be used in subsequent calls to me()...
Herwig::MEee2VectorMeson::MEee2VectorMeson
MEee2VectorMeson()
The default constructor.
Definition:
MEee2VectorMeson.h:45
Herwig::MEee2VectorMeson::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MEee2VectorMeson.h:173
Herwig::MEee2VectorMeson::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MEee2VectorMeson::getDiagrams
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
Herwig::MEee2VectorMeson::massGen_
GenericMassGeneratorPtr massGen_
Pointer to the mass generator for the Higgs.
Definition:
MEee2VectorMeson.h:230
Herwig::MEee2VectorMeson::scale
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
Herwig::MEee2VectorMeson::dSigHatDR
virtual CrossSection dSigHatDR() const
Return the matrix element squared differential in the variables given by the last call to generateKin...
Herwig::MEee2VectorMeson::colourGeometries
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
Herwig::MEee2VectorMeson::orderInAlphaEW
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
Herwig::MEee2VectorMeson::orderInAlphaS
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
Herwig::MEee2VectorMeson::nDim
virtual int nDim() const
The number of internal degrees of freedom used in the matrix element.
Herwig::MEee2VectorMeson::vector_
PDPtr vector_
The vector meson being produced.
Definition:
MEee2VectorMeson.h:215
Herwig::MEee2VectorMeson::constructVertex
virtual void constructVertex(tSubProPtr sub)
Set up the spin correlations.
Herwig::MEee2VectorMeson::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
MEee2VectorMeson.h:179
Herwig::MEee2VectorMeson::HelicityME
ProductionMatrixElement HelicityME(vector< SpinorWaveFunction > fin, vector< SpinorBarWaveFunction > ain, vector< VectorWaveFunction > vout, double &me) const
Member to return the helicity amplitudes.
Herwig::MEee2VectorMeson::coupling_
double coupling_
The coupling.
Definition:
MEee2VectorMeson.h:220
Herwig::MEee2VectorMeson::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::MEee2VectorMeson::lineShape_
bool lineShape_
Use the mass generator for the line shape.
Definition:
MEee2VectorMeson.h:225
Herwig::MEee2VectorMeson::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MEee2VectorMeson::diagrams
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
Herwig::ProductionMatrixElement
The storage of the helicity amplitude expression for the matrix element of a hard process.
Definition:
ProductionMatrixElement.h:34
ThePEG::Helicity::SpinorBarWaveFunction
ThePEG::Helicity::SpinorWaveFunction
ThePEG::Helicity::VectorWaveFunction
ThePEG::MEBase
ThePEG::MEBase::DiagramVector
vector< DiagPtr > DiagramVector
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::Selector
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
ThePEG::PDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6