00001 // -*- C++ -*- 00002 // 00003 // MEGG2GG.h is a part of ThePEG - Toolkit for HEP Event Generation 00004 // Copyright (C) 1999-2007 Leif Lonnblad 00005 // 00006 // ThePEG is licenced under version 2 of the GPL, see COPYING for details. 00007 // Please respect the MCnet academic guidelines, see GUIDELINES for details. 00008 // 00009 #ifndef ThePEG_MEGG2GG_H 00010 #define ThePEG_MEGG2GG_H 00011 // This is the declaration of the MEGG2GG class. 00012 00013 #include "ThePEG/MatrixElement/ME2to2QCD.h" 00014 00015 namespace ThePEG { 00016 00025 class MEGG2GG: public ME2to2QCD { 00026 00027 public: 00028 00038 virtual double me2() const; 00039 00043 virtual void getDiagrams() const; 00044 00052 virtual Selector<const ColourLines *> 00053 colourGeometries(tcDiagPtr diag) const; 00054 00063 virtual Selector<DiagramIndex> diagrams(const DiagramVector & dv) const; 00065 00066 protected: 00067 00075 double colA1() const { return sqr(1.0 + sHat()/tHat()) + 0.5; } 00076 00081 double colB1() const { return sqr(1.0 + uHat()/sHat()) + 0.5; } 00082 00087 double colC1() const { return sqr(1.0 + tHat()/uHat()) + 0.5; } 00088 00093 double colA2() const { return 0.5 + sqr(1.0 + tHat()/sHat()); } 00094 00099 double colB2() const { return 0.5 + sqr(1.0 + sHat()/uHat()); } 00100 00105 double colC2() const { return 0.5 + sqr(1.0 + uHat()/tHat()); } 00107 00108 public: 00109 00113 static void Init(); 00114 00115 protected: 00116 00123 virtual IBPtr clone() const; 00124 00129 virtual IBPtr fullclone() const; 00131 00132 private: 00133 00137 static NoPIOClassDescription<MEGG2GG> initMEGG2GG; 00138 00142 MEGG2GG & operator=(const MEGG2GG &); 00143 00144 }; 00145 00146 } 00147 00148 00149 namespace ThePEG { 00150 00155 template <> 00156 struct BaseClassTrait<MEGG2GG,1>: public ClassTraitsType { 00158 typedef ME2to2QCD NthBase; 00159 }; 00160 00163 template <> 00164 struct ClassTraits<MEGG2GG>: public ClassTraitsBase<MEGG2GG> { 00166 static string className() { return "ThePEG::MEGG2GG"; } 00170 static string library() { return "MEQCD.so"; } 00171 }; 00172 00175 } 00176 00177 #endif /* ThePEG_MEGG2GG_H */