thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
MEQq2Qq4.h
1 // -*- C++ -*-
2 //
3 // MEQq2Qq4.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 
15 namespace ThePEG {
16 
25 class MEQq2Qq: public ME2to2QCD {
26 
27 public:
28 
38  virtual double me2() const;
39 
43  virtual void getDiagrams() const;
44 
53  colourGeometries(tcDiagPtr diag) const;
54 
63  virtual Selector<DiagramIndex> diagrams(const DiagramVector & dv) const;
65 
66 protected:
67 
75  double colA() const
76  {
77  return (sqr(uHat()) + sqr(sHat()))/sqr(tHat());
78  }
80 
81 public:
82 
86  static void Init();
87 
88 protected:
89 
96  virtual IBPtr clone() const { return new_ptr(*this); }
97 
102  virtual IBPtr fullclone() const { return new_ptr(*this); }
104 
105 private:
106 
111 
115  MEQq2Qq & operator=(const MEQq2Qq &) = delete;
116 
117 };
118 
119 }
120 
121 
122 namespace ThePEG {
123 
128 template <>
129 struct BaseClassTrait<MEQq2Qq,1>: public ClassTraitsType {
131  typedef ME2to2QCD NthBase;
132 };
133 
136 template <>
137 struct ClassTraits<MEQq2Qq>: public ClassTraitsBase<MEQq2Qq> {
139  static string className() { return "ThePEG::MEQq2Qq"; }
143  static string library() { return "MEQCD.so"; }
144 };
145 
148 }
149 
150 #endif /* ThePEG_MEQq2Qq_H */
Ptr< T >::pointer new_ptr()
Simple interface to the PtrTraits<Ptr>::create()
Definition: PtrTraits.h:195
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
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 IBPtr clone() const
Make a simple clone of this object.
Definition: MEQq2Qq4.h:96
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
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
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
MEQq2Qq inherits from ME2to2QCD and implements the standard mmatrix element.
Definition: MEQq2Qq4.h:25
Energy2 tHat() const
Return the of the last set phase space point.
Definition: ME2to2Base.h:109
static NoPIOClassDescription< MEQq2Qq > initMEQq2Qq
Describe a concrete class without persistent data.
Definition: MEQq2Qq4.h:110
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
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.
Definition: MEQq2Qq4.h:102
Selector is a templated class for storing objects associated with probabilities in a way such that...
Definition: Selector.h:46
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
vector< DiagPtr > DiagramVector
A vector of pointers to DiagramBase objects.
Definition: MEBase.h:77
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
double colA() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration...
Definition: MEQq2Qq4.h:75
MEQq2Qq & operator=(const MEQq2Qq &)=delete
Private and non-existent assignment operator.
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52