herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MEChargedCurrentDIS.h
1// -*- C++ -*-
2#ifndef HERWIG_MEChargedCurrentDIS_H
3#define HERWIG_MEChargedCurrentDIS_H
4//
5// This is the declaration of the MEChargedCurrentDIS class.
6//
7
8#include "DISBase.h"
9#include "ThePEG/Helicity/Vertex/AbstractFFVVertex.fh"
10#include "Herwig/MatrixElement/ProductionMatrixElement.h"
11#include "ThePEG/Helicity/WaveFunction/SpinorWaveFunction.h"
12#include "ThePEG/Helicity/WaveFunction/SpinorBarWaveFunction.h"
13
14namespace Herwig {
15
16using namespace ThePEG;
17
30
31public:
32
37
44 virtual unsigned int orderInAlphaS() const;
45
50 virtual unsigned int orderInAlphaEW() const;
51
59 virtual double me2() const;
60
64 virtual void getDiagrams() const;
65
75
84 colourGeometries(tcDiagPtr diag) const;
85
91
92
93public:
94
102
108 void persistentInput(PersistentIStream & is, int version);
110
117 static void Init();
118
119protected:
120
131 double helicityME(vector<SpinorWaveFunction> & f1 ,
132 vector<SpinorWaveFunction> & f2,
133 vector<SpinorBarWaveFunction> & a1 ,
134 vector<SpinorBarWaveFunction> & a2,
135 bool lorder, bool qorder,
136 bool me) const;
137
142 virtual double A(tcPDPtr lin, tcPDPtr lout, tcPDPtr qin, tcPDPtr qout,
143 Energy2 scale) const;
144
145protected:
146
153 virtual IBPtr clone() const {return new_ptr(*this);}
154
159 virtual IBPtr fullclone() const {return new_ptr(*this);}
161
162protected:
163
171 virtual void doinit();
173
174private:
175
181
182private:
183
187 AbstractFFVVertexPtr _theFFWVertex;
188
192 unsigned int _maxflavour;
193
197 unsigned int _massopt;
198
203
212
218};
219
220}
221
222#endif /* HERWIG_MEChargedCurrentDIS_H */
The DISBase class is the base class for the implementation of DIS type processes including correction...
Definition: DISBase.h:23
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
The MEChargedCurrentDIS class provides the matrix elements for charged current DIS.
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
static void Init()
The standard Init function used to initialize the interfaces.
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
virtual IBPtr clone() const
Make a simple clone of this object.
double helicityME(vector< SpinorWaveFunction > &f1, vector< SpinorWaveFunction > &f2, vector< SpinorBarWaveFunction > &a1, vector< SpinorBarWaveFunction > &a2, bool lorder, bool qorder, bool me) const
Matrix element for .
tcPDPtr _wm
Pointer to the .
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
AbstractFFVVertexPtr _theFFWVertex
Pointer to the vertex for the helicity calculations.
MEChargedCurrentDIS & operator=(const MEChargedCurrentDIS &)=delete
The assignment operator is private and must never be called.
unsigned int _maxflavour
The allowed flavours of the incoming quarks.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
MEChargedCurrentDIS()
The default constructor.
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
virtual double A(tcPDPtr lin, tcPDPtr lout, tcPDPtr qin, tcPDPtr qout, Energy2 scale) const
Calculate the coefficient A for the correlations in the hard radiation.
unsigned int _massopt
Option for the mass of the outgoing quarks.
virtual void constructVertex(tSubProPtr)
Construct the vertex of spin correlations.
ProductionMatrixElement _me
Matrix element for spin correlations.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
tcPDPtr _wp
Pointers to the intermediates resonances.
The storage of the helicity amplitude expression for the matrix element of a hard process.
vector< DiagPtr > DiagramVector
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr