ThePEG  1.8.0
MEQG2QG.h
1 // -*- C++ -*-
2 //
3 // MEQG2QG.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_MEQG2QG_H
10 #define ThePEG_MEQG2QG_H
11 // This is the declaration of the MEQG2QG class.
12 
13 #include "ThePEG/MatrixElement/ME2to2QCD.h"
14 
15 namespace ThePEG {
16 
25 class MEQG2QG: 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
76  {
77  return ( interference()? 2.25: 2.0 )*sqr(uHat()/tHat());
78  }
79 
84  double colB1() const
85  {
86  return ( interference()? 2.25: 2.0 )*sqr(sHat()/tHat());
87  }
88 
93  double colA2() const { return -uHat()/sHat(); }
94 
99  double colB2() const { return -sHat()/uHat(); }
101 
102 public:
103 
107  static void Init();
108 
109 protected:
110 
117  virtual IBPtr clone() const;
118 
123  virtual IBPtr fullclone() const;
125 
126 private:
127 
132 
136  MEQG2QG & operator=(const MEQG2QG &);
137 
138 };
139 
140 }
141 
142 
143 namespace ThePEG {
144 
149 template <>
150 struct BaseClassTrait<MEQG2QG,1>: public ClassTraitsType {
152  typedef ME2to2QCD NthBase;
153 };
154 
157 template <>
158 struct ClassTraits<MEQG2QG>: public ClassTraitsBase<MEQG2QG> {
160  static string className() { return "ThePEG::MEQG2QG"; }
164  static string library() { return "MEQCD.so"; }
165 };
166 
169 }
170 
171 #endif /* ThePEG_MEQG2QG_H */
virtual IBPtr clone() const
Make a simple clone of this object.
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
static NoPIOClassDescription< MEQG2QG > initMEQG2QG
Describe a concrete class without persistent data.
Definition: MEQG2QG.h:131
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.
Energy2 sHat() const
Return the last set invariant mass squared.
Definition: MEBase.h:356
MEQG2QG & operator=(const MEQG2QG &)
Private and non-existent assignment operator.
MEQG2QG inherits from ME2to2QCD and implements the standard matrix element.
Definition: MEQG2QG.h:25
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
double colB2() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration...
Definition: MEQG2QG.h:99
A concreate implementation of ClassDescriptionBase describing a concrete class without persistent dat...
static string library()
The name of a file containing the dynamic library where the class T is implemented.
Definition: ClassTraits.h:85
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
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 double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
bool interference() const
Return true if interference terms should be used.
Definition: ME2to2QCD.h:86
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
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
double colA1() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration...
Definition: MEQG2QG.h:75
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
double colA2() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration...
Definition: MEQG2QG.h:93
double colB1() const
Return the matrix element squared (without common pre-factors) for the specific colour configuration...
Definition: MEQG2QG.h:84
virtual void getDiagrams() const
Add all possible diagrams with the add() function.