thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
MEGG2GG.h
1// -*- C++ -*-
2//
3// MEGG2GG.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_MEGG2GG_H
10#define ThePEG_MEGG2GG_H
11// This is the declaration of the MEGG2GG class.
12
13#include "ThePEG/MatrixElement/ME2to2QCD.h"
14
15namespace ThePEG {
16
25class MEGG2GG: public ME2to2QCD {
26
27public:
28
38 virtual double me2() const;
39
43 virtual void getDiagrams() const;
44
53 colourGeometries(tcDiagPtr diag) const;
54
65
66protected:
67
75 double colA1() const { return sqr(1.0 + sHat()/tHat()) + 0.5; }
76
81 double colB1() const { return sqr(1.0 + uHat()/sHat()) + 0.5; }
82
87 double colC1() const { return sqr(1.0 + tHat()/uHat()) + 0.5; }
88
93 double colA2() const { return 0.5 + sqr(1.0 + tHat()/sHat()); }
94
99 double colB2() const { return 0.5 + sqr(1.0 + sHat()/uHat()); }
100
105 double colC2() const { return 0.5 + sqr(1.0 + uHat()/tHat()); }
107
108public:
109
113 static void Init();
114
115protected:
116
123 virtual IBPtr clone() const;
124
129 virtual IBPtr fullclone() const;
131
132private:
133
138
142 MEGG2GG & operator=(const MEGG2GG &) = delete;
143
144};
145
146}
147
148
149namespace ThePEG {
150
155template <>
156struct BaseClassTrait<MEGG2GG,1>: public ClassTraitsType {
158 typedef ME2to2QCD NthBase;
159};
160
163template <>
164struct ClassTraits<MEGG2GG>: public ClassTraitsBase<MEGG2GG> {
166 static string className() { return "ThePEG::MEGG2GG"; }
170 static string library() { return "MEQCD.so"; }
171};
172
175}
176
177#endif /* ThePEG_MEGG2GG_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
MEGG2GG inherits from ME2to2QCD and implements the standard matrix element.
Definition: MEGG2GG.h:25
static void Init()
Standard Init function used to initialize the interfaces.
double colB2() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration.
Definition: MEGG2GG.h:99
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
double colB1() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration.
Definition: MEGG2GG.h:81
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
static NoPIOClassDescription< MEGG2GG > initMEGG2GG
Describe a concrete class without persistent data.
Definition: MEGG2GG.h:137
double colA2() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration.
Definition: MEGG2GG.h:93
virtual IBPtr clone() const
Make a simple clone of this object.
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
MEGG2GG & operator=(const MEGG2GG &)=delete
Private and non-existent assignment operator.
double colC1() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration.
Definition: MEGG2GG.h:87
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
double colA1() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration.
Definition: MEGG2GG.h:75
double colC2() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration.
Definition: MEGG2GG.h:105
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