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 */
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...
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition: ClassTraits.h:85
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
static string className()
Return the name of class T.
Definition: ClassTraits.h:66
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition: ClassTraits.h:161
static NoPIOClassDescription< MEGG2QQ > initMEGG2QQ
Describe a concrete class without persistent data.
Definition: MEGG2QQ.h:119
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.