thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
MENCDIS.h
1// -*- C++ -*-
2//
3// MENCDIS.h is a part of ThePEG - Toolkit for HEP Event Generation
4// Copyright (C) 1999-2019 Leif Lonnblad
5//
6// ThePEG 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 ThePEG_MENCDIS_H
10#define ThePEG_MENCDIS_H
11// This is the declaration of the MENCDIS class.
12
13#include "ThePEG/MatrixElement/ME2to2QCD.h"
14// #include "MENCDIS.fh"
15// #include "MENCDIS.xh"
16
17namespace ThePEG {
18
30class MENCDIS: public ME2to2QCD {
31
32public:
33
40
44 MENCDIS(const MENCDIS &);
46
47public:
48
55 virtual unsigned int orderInAlphaS() const;
56
61 virtual unsigned int orderInAlphaEW() const;
62
70 virtual double me2() const;
71
75 virtual void getDiagrams() const;
76
85 colourGeometries(tcDiagPtr diag) const;
86
96
100 virtual Energy2 scale() const;
102
103public:
104
112
118 void persistentInput(PersistentIStream & is, int version);
120
124 static void Init();
125
126protected:
127
134 virtual IBPtr clone() const;
135
140 virtual IBPtr fullclone() const;
142
150 virtual void doinit();
152
153protected:
154
159
163 mutable double lastG;
164
168 mutable double lastZ;
169
170private:
171
176
180 MENCDIS & operator=(const MENCDIS &) = delete;
181
182};
183
188template <>
189struct BaseClassTrait<MENCDIS,1>: public ClassTraitsType {
191 typedef ME2to2QCD NthBase;
192};
193
196template <>
197struct ClassTraits<MENCDIS>: public ClassTraitsBase<MENCDIS> {
199 static string className() { return "ThePEG::MENCDIS"; }
203 static string library() { return "MENCDIS.so"; }
204};
205
208}
209
210#endif /* ThePEG_MENCDIS_H */
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
The ME2to2QCD class inherits from the ME2to2Base class and can be used as a sub class for all QCD 2 ...
Definition: ME2to2QCD.h:28
vector< DiagPtr > DiagramVector
A vector of pointers to DiagramBase objects.
Definition: MEBase.h:77
The MENCDIS class implements the matrix element.
Definition: MENCDIS.h:30
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
MENCDIS(const MENCDIS &)
Copy-constructor.
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
double lastZ
The last Z0 term to be used to select primary diagram.
Definition: MENCDIS.h:168
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
double lastG
The last gamma term to be used to select primary diagram.
Definition: MENCDIS.h:163
static void Init()
Standard Init function used to initialize the interface.
Energy2 mZ2
The squared mass of the Z0.
Definition: MENCDIS.h:158
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
virtual IBPtr clone() const
Make a simple clone of this object.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
MENCDIS()
Default constructor.
MENCDIS & operator=(const MENCDIS &)=delete
Private and non-existent assignment operator.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
static ClassDescription< MENCDIS > initMENCDIS
Describe a concrete class with persistent data.
Definition: MENCDIS.h:175
PersistentIStream is used to read persistent objects from a stream where they were previously written...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
Selector is a templated class for storing objects associated with probabilities in a way such that,...
Definition: Selector.h:46
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition: ClassTraits.h:161
static string className()
Return the name of class T.
Definition: ClassTraits.h:66
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition: ClassTraits.h:85
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30