ThePEG  1.8.0
MEGG2GG.h
1 // -*- C++ -*-
2 //
3 // MEGG2GG.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_MEGG2GG_H
10 #define ThePEG_MEGG2GG_H
11 // This is the declaration of the MEGG2GG class.
12 
13 #include "ThePEG/MatrixElement/ME2to2QCD.h"
14 
15 namespace ThePEG {
16 
25 class MEGG2GG: 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 colA1() const { return sqr(1.0 + sHat()/tHat()) + 0.5; }
76 
81  double colB1() const { return sqr(1.0 + uHat()/sHat()) + 0.5; }
82 
87  double colC1() const { return sqr(1.0 + tHat()/uHat()) + 0.5; }
88 
93  double colA2() const { return 0.5 + sqr(1.0 + tHat()/sHat()); }
94 
99  double colB2() const { return 0.5 + sqr(1.0 + sHat()/uHat()); }
100 
105  double colC2() const { return 0.5 + sqr(1.0 + uHat()/tHat()); }
107 
108 public:
109 
113  static void Init();
114 
115 protected:
116 
123  virtual IBPtr clone() const;
124 
129  virtual IBPtr fullclone() const;
131 
132 private:
133 
138 
142  MEGG2GG & operator=(const MEGG2GG &);
143 
144 };
145 
146 }
147 
148 
149 namespace ThePEG {
150 
155 template <>
156 struct BaseClassTrait<MEGG2GG,1>: public ClassTraitsType {
158  typedef ME2to2QCD NthBase;
159 };
160 
163 template <>
164 struct ClassTraits<MEGG2GG>: public ClassTraitsBase<MEGG2GG> {
166  static string className() { return "ThePEG::MEGG2GG"; }
170  static string library() { return "MEQCD.so"; }
171 };
172 
175 }
176 
177 #endif /* ThePEG_MEGG2GG_H */
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
double colA1() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration...
Definition: MEGG2GG.h:75
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
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
MEGG2GG & operator=(const MEGG2GG &)
Private and non-existent assignment operator.
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
A concreate implementation of ClassDescriptionBase describing a concrete class without persistent dat...
double colB2() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration...
Definition: MEGG2GG.h:99
double colA2() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration...
Definition: MEGG2GG.h:93
MEGG2GG inherits from ME2to2QCD and implements the standard matrix element.
Definition: MEGG2GG.h:25
static NoPIOClassDescription< MEGG2GG > initMEGG2GG
Describe a concrete class without persistent data.
Definition: MEGG2GG.h:137
The ME2to2QCD class inherits from the ME2to2Base class and can be used as a sub class for all QCD 2 ...
Definition: ME2to2QCD.h:28
static void Init()
Standard Init function used to initialize the interfaces.
const DiagramVector & diagrams() const
Return all possible diagrams.
Definition: MEBase.h:265
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
virtual IBPtr clone() const
Make a simple clone of this object.
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
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
vector< DiagPtr > DiagramVector
A vector of pointers to DiagramBase objects.
Definition: MEBase.h:72
double colC2() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration...
Definition: MEGG2GG.h:105
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
double colB1() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration...
Definition: MEGG2GG.h:81
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
double colC1() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration...
Definition: MEGG2GG.h:87
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52