thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
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 
17 namespace ThePEG {
18 
27 class MEQQ2QQ: public ME2to2QCD {
28 
29 public:
30 
40  virtual double me2() const;
41 
45  virtual void getDiagrams() const;
46 
55  colourGeometries(tcDiagPtr diag) const;
56 
65  virtual Selector<DiagramIndex> diagrams(const DiagramVector & dv) const;
67 
68 protected:
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 
93 public:
94 
98  static void Init();
99 
100 protected:
101 
108  virtual IBPtr clone() const;
109 
114  virtual IBPtr fullclone() const;
116 
117 private:
118 
123 
127  MEQQ2QQ & operator=(const MEQQ2QQ &) = delete;
128 
129 };
130 
131 }
132 
133 
134 namespace ThePEG {
135 
140 template <>
141 struct BaseClassTrait<MEQQ2QQ,1>: public ClassTraitsType {
143  typedef ME2to2QCD NthBase;
144 };
145 
148 template <>
149 struct 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 */
const DiagramVector & diagrams() const
Return all possible diagrams.
Definition: MEBase.h:284
Energy2 sHat() const
Return the last set invariant mass squared.
Definition: MEBase.h:375
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
MEQQ2QQ inherits from ME2to2QCD and implements the standard matrix element.
Definition: MEQQ2QQ3.h:27
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
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
MEQQ2QQ & operator=(const MEQQ2QQ &)=delete
Private and non-existent assignment operator.
A concreate implementation of ClassDescriptionBase describing a concrete class without persistent dat...
Energy2 uHat() const
Return the of the last set phase space point.
Definition: ME2to2Base.h:114
static NoPIOClassDescription< MEQQ2QQ > initMEQQ2QQ
Describe a concrete class without persistent data.
Definition: MEQQ2QQ3.h:122
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
The ME2to2QCD class inherits from the ME2to2Base class and can be used as a sub class for all QCD 2 ...
Definition: ME2to2QCD.h:28
Energy2 tHat() const
Return the of the last set phase space point.
Definition: ME2to2Base.h:109
static void Init()
Standard Init function used to initialize the interfaces.
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
double colB() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration...
Definition: MEQQ2QQ3.h:87
vector< DiagPtr > DiagramVector
A vector of pointers to DiagramBase objects.
Definition: MEBase.h:77
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
double colA() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration...
Definition: MEQQ2QQ3.h:77
virtual IBPtr clone() const
Make a simple clone of this object.
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52