thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
MENCDIS.h
1 // -*- C++ -*-
2 //
3 // MENCDIS.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2019 Leif Lonnblad
5 //
6 // ThePEG is licenced under version 3 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef ThePEG_MENCDIS_H
10 #define ThePEG_MENCDIS_H
11 // This is the declaration of the MENCDIS class.
12 
13 #include "ThePEG/MatrixElement/ME2to2QCD.h"
14 // #include "MENCDIS.fh"
15 // #include "MENCDIS.xh"
16 
17 namespace ThePEG {
18 
30 class MENCDIS: public ME2to2QCD {
31 
32 public:
33 
39  MENCDIS();
40 
44  MENCDIS(const MENCDIS &);
45 
49  virtual ~MENCDIS();
51 
52 public:
53 
60  virtual unsigned int orderInAlphaS() const;
61 
66  virtual unsigned int orderInAlphaEW() const;
67 
75  virtual double me2() const;
76 
80  virtual void getDiagrams() const;
81 
90  colourGeometries(tcDiagPtr diag) const;
91 
100  virtual Selector<DiagramIndex> diagrams(const DiagramVector & dv) const;
101 
105  virtual Energy2 scale() const;
107 
108 public:
109 
116  void persistentOutput(PersistentOStream & os) const;
117 
123  void persistentInput(PersistentIStream & is, int version);
125 
129  static void Init();
130 
131 protected:
132 
139  virtual IBPtr clone() const;
140 
145  virtual IBPtr fullclone() const;
147 
155  virtual void doinit();
157 
158 protected:
159 
164 
168  mutable double lastG;
169 
173  mutable double lastZ;
174 
175 private:
176 
181 
185  MENCDIS & operator=(const MENCDIS &) = delete;
186 
187 };
188 
193 template <>
194 struct BaseClassTrait<MENCDIS,1>: public ClassTraitsType {
196  typedef ME2to2QCD NthBase;
197 };
198 
201 template <>
202 struct ClassTraits<MENCDIS>: public ClassTraitsBase<MENCDIS> {
204  static string className() { return "ThePEG::MENCDIS"; }
208  static string library() { return "MENCDIS.so"; }
209 };
210 
213 }
214 
215 #endif /* ThePEG_MENCDIS_H */
PersistentIStream is used to read persistent objects from a stream where they were previously written...
const DiagramVector & diagrams() const
Return all possible diagrams.
Definition: MEBase.h:284
double lastZ
The last Z0 term to be used to select primary diagram.
Definition: MENCDIS.h:173
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
virtual ~MENCDIS()
Destructor.
ClassTraitsType is an empty, non-polymorphic, base class.
Definition: ClassTraits.h:30
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
static void Init()
Standard Init function used to initialize the interface.
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
double lastG
The last gamma term to be used to select primary diagram.
Definition: MENCDIS.h:168
Energy2 mZ2
The squared mass of the Z0.
Definition: MENCDIS.h:163
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
MENCDIS & operator=(const MENCDIS &)=delete
Private and non-existent assignment operator.
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
RCPtr is a reference counted (smart) pointer.
Definition: RCPtr.h:60
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
Selector is a templated class for storing objects associated with probabilities in a way such that...
Definition: Selector.h:46
MENCDIS()
Default constructor.
vector< DiagPtr > DiagramVector
A vector of pointers to DiagramBase objects.
Definition: MEBase.h:77
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
The default concrete implementation of ClassTraitsBase.
Definition: ClassTraits.h:134
virtual IBPtr clone() const
Make a simple clone of this object.
The MENCDIS class implements the matrix element.
Definition: MENCDIS.h:30
static ClassDescription< MENCDIS > initMENCDIS
Describe a concrete class with persistent data.
Definition: MENCDIS.h:180
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
BaseClassTraits describes the base classes of the templated class.
Definition: ClassTraits.h:156
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
Definition: ClassTraits.h:52