thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
MEQG2QG.h
1// -*- C++ -*-
2//
3// MEQG2QG.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_MEQG2QG_H
10#define ThePEG_MEQG2QG_H
11// This is the declaration of the MEQG2QG class.
12
13#include "ThePEG/MatrixElement/ME2to2QCD.h"
14
15namespace ThePEG {
16
25class MEQG2QG: 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
76 {
77 return ( interference()? 2.25: 2.0 )*sqr(uHat()/tHat());
78 }
79
84 double colB1() const
85 {
86 return ( interference()? 2.25: 2.0 )*sqr(sHat()/tHat());
87 }
88
93 double colA2() const { return -uHat()/sHat(); }
94
99 double colB2() const { return -sHat()/uHat(); }
101
102public:
103
107 static void Init();
108
109protected:
110
117 virtual IBPtr clone() const;
118
123 virtual IBPtr fullclone() const;
125
126private:
127
132
136 MEQG2QG & operator=(const MEQG2QG &) = delete;
137
138};
139
140}
141
142
143namespace ThePEG {
144
149template <>
150struct BaseClassTrait<MEQG2QG,1>: public ClassTraitsType {
152 typedef ME2to2QCD NthBase;
153};
154
157template <>
158struct ClassTraits<MEQG2QG>: public ClassTraitsBase<MEQG2QG> {
160 static string className() { return "ThePEG::MEQG2QG"; }
164 static string library() { return "MEQCD.so"; }
165};
166
169}
170
171#endif /* ThePEG_MEQG2QG_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
bool interference() const
Return true if interference terms should be used.
Definition: ME2to2QCD.h:86
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
MEQG2QG inherits from ME2to2QCD and implements the standard matrix element.
Definition: MEQG2QG.h:25
static NoPIOClassDescription< MEQG2QG > initMEQG2QG
Describe a concrete class without persistent data.
Definition: MEQG2QG.h:131
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
double colA2() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration.
Definition: MEQG2QG.h:93
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
double colB1() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration.
Definition: MEQG2QG.h:84
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
virtual IBPtr clone() const
Make a simple clone of this object.
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: MEQG2QG.h:99
double colA1() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration.
Definition: MEQG2QG.h:75
MEQG2QG & operator=(const MEQG2QG &)=delete
Private and non-existent assignment operator.
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