thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
MEQQ2QQ3.h
1// -*- C++ -*-
2//
3// MEQQ2QQ3.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_MEQQ2QQ_H
10#define ThePEG_MEQQ2QQ_H
11// This is the declaration of the MEQQ2QQ class.
12
13#include "ThePEG/MatrixElement/ME2to2QCD.h"
14// #include "MEQQ2QQ.fh"
15// #include "MEQQ2QQ.xh"
16
17namespace ThePEG {
18
27class MEQQ2QQ: public ME2to2QCD {
28
29public:
30
40 virtual double me2() const;
41
45 virtual void getDiagrams() const;
46
55 colourGeometries(tcDiagPtr diag) const;
56
67
68protected:
69
77 double colA() const
78 {
79 return (sqr(uHat()) + sqr(sHat()))/sqr(tHat());
80 }
81
82
87 double colB() const
88 {
89 return (sqr(tHat()) + sqr(sHat()))/sqr(uHat());
90 }
92
93public:
94
98 static void Init();
99
100protected:
101
108 virtual IBPtr clone() const;
109
114 virtual IBPtr fullclone() const;
116
117private:
118
123
127 MEQQ2QQ & operator=(const MEQQ2QQ &) = delete;
128
129};
130
131}
132
133
134namespace ThePEG {
135
140template <>
141struct BaseClassTrait<MEQQ2QQ,1>: public ClassTraitsType {
143 typedef ME2to2QCD NthBase;
144};
145
148template <>
149struct ClassTraits<MEQQ2QQ>: public ClassTraitsBase<MEQQ2QQ> {
151 static string className() { return "ThePEG::MEQQ2QQ"; }
155 static string library() { return "MEQCD.so"; }
156};
157
160}
161
162#endif /* ThePEG_MEQQ2QQ_H */
Energy2 tHat() const
Return the of the last set phase space point.
Definition: ME2to2Base.h:109
Energy2 uHat() const
Return the of the last set phase space point.
Definition: ME2to2Base.h:114
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
Energy2 sHat() const
Return the last set invariant mass squared.
Definition: MEBase.h:375
MEQQ2QQ inherits from ME2to2QCD and implements the standard matrix element.
Definition: MEQQ2QQ3.h:27
virtual IBPtr clone() const
Make a simple clone of this object.
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
MEQQ2QQ & operator=(const MEQQ2QQ &)=delete
Private and non-existent assignment operator.
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
double colA() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration.
Definition: MEQQ2QQ3.h:77
static void Init()
Standard Init function used to initialize the interfaces.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
static NoPIOClassDescription< MEQQ2QQ > initMEQQ2QQ
Describe a concrete class without persistent data.
Definition: MEQQ2QQ3.h:122
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
double colB() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration.
Definition: MEQQ2QQ3.h:87
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
A concreate implementation of ClassDescriptionBase describing a concrete class without persistent dat...
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
constexpr auto sqr(const T &x) -> decltype(x *x)
The square function should really have been included in the standard C++ library.
Definition: ThePEG.h:117
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