ThePEG  1.8.0
MEGG2QQ.h
1 // -*- C++ -*-
2 //
3 // MEGG2QQ.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2011 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 2 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef ThePEG_MEGG2QQ_H
10 #define ThePEG_MEGG2QQ_H
11 // This is the declaration of the MEGG2QQ class.
12 
13 #include "ThePEG/MatrixElement/ME2to2QCD.h"
14 
15 namespace ThePEG {
16 
25 class MEGG2QQ: 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 uHat()/tHat() - 2.0*sqr(uHat()/sHat());
78  }
79 
84  double colB() const
85  {
86  return tHat()/uHat() - 2.0*sqr(tHat()/sHat());
87  }
89 
90 public:
91 
95  static void Init();
96 
97 protected:
98 
105  virtual IBPtr clone() const;
106 
111  virtual IBPtr fullclone() const;
113 
114 private:
115 
120 
124  MEGG2QQ & operator=(const MEGG2QQ &);
125 
126 };
127 
128 }
129 
130 
131 namespace ThePEG {
132 
137 template <>
138 struct BaseClassTrait<MEGG2QQ,1>: public ClassTraitsType {
140  typedef ME2to2QCD NthBase;
141 };
142 
145 template <>
146 struct ClassTraits<MEGG2QQ>: public ClassTraitsBase<MEGG2QQ> {
148  static string className() { return "ThePEG::MEGG2QQ"; }
152  static string library() { return "MEQCD.so"; }
153 };
154 
157 }
158 
159 #endif /* ThePEG_MEGG2QQ_H */
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Energy2 tHat() const
Return the of the last set phase space point.
Definition: ME2to2Base.h:109
Energy2 sHat() const
Return the last set invariant mass squared.
Definition: MEBase.h:356
double colB() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration...
Definition: MEGG2QQ.h:84
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...
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
double colA() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration...
Definition: MEGG2QQ.h:75
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
The ME2to2QCD class inherits from the ME2to2Base class and can be used as a sub class for all QCD 2 ...
Definition: ME2to2QCD.h:28
const DiagramVector & diagrams() const
Return all possible diagrams.
Definition: MEBase.h:265
virtual IBPtr clone() const
Make a simple clone of this object.
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
static void Init()
Standard Init function used to initialize the interfaces.
MEGG2QQ inherits from ME2to2QCD and implements the standard matrix element.
Definition: MEGG2QQ.h:25
Energy2 uHat() const
Return the of the last set phase space point.
Definition: ME2to2Base.h:114
Selector is a templated class for storing objects associated with probabilities in a way such that...
Definition: Selector.h:46
vector< DiagPtr > DiagramVector
A vector of pointers to DiagramBase objects.
Definition: MEBase.h:72
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
static NoPIOClassDescription< MEGG2QQ > initMEGG2QQ
Describe a concrete class without persistent data.
Definition: MEGG2QQ.h:119
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
MEGG2QQ & operator=(const MEGG2QQ &)
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