herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Models
Transplanckian
METRP2to2.h
1
// -*- C++ -*-
2
//
3
// METRP2to2.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4
// Copyright (C) 2009-2019 The Herwig Collaboration
5
//
6
// Herwig 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 HERWIG_METRP2to2_H
10
#define HERWIG_METRP2to2_H
11
//
12
// This is the declaration of the METRP2to2 class.
13
//
14
// The implementation of this process is based upon hep-ph/0112161 by G.F. Giudice, R. Rattazzi, J.D. Wells.
15
16
#include "Herwig/MatrixElement/HwMEBase.h"
17
#include "ThePEG/Repository/UseRandom.h"
18
#include "Herwig/Utilities/Interpolator.h"
19
20
21
namespace
Herwig
{
22
using namespace
ThePEG
;
23
30
class
METRP2to2
:
public
HwMEBase
{
31
32
public
:
33
37
METRP2to2
();
38
45
virtual
unsigned
int
orderInAlphaS
()
const
{
return
0; }
46
51
virtual
unsigned
int
orderInAlphaEW
()
const
{
return
0; }
52
56
virtual
Energy2
scale
()
const
;
57
61
virtual
void
getDiagrams
()
const
;
62
71
virtual
Selector<DiagramIndex>
diagrams
(
const
DiagramVector
& dv)
const
;
72
80
virtual
Selector<const ColourLines *>
81
colourGeometries
(tcDiagPtr diag)
const
;
82
90
virtual
double
me2
()
const
;
92
93
94
95
protected
:
96
104
virtual
void
doinit
();
105
115
virtual
void
rebind
(
const
TranslationMap
& trans);
116
122
virtual
IVector
getReferences
();
124
125
public
:
126
133
void
persistentOutput
(
PersistentOStream
& os)
const
;
134
140
void
persistentInput
(
PersistentIStream
& is,
int
version);
142
149
static
void
Init
();
150
151
protected
:
152
159
virtual
IBPtr
clone
()
const
;
160
165
virtual
IBPtr
fullclone
()
const
;
167
168
protected
:
169
175
InvEnergy
bccalc
(Energy2 s)
const
;
176
180
double
A_ny
(Energy2 s, Energy2 t)
const
;
181
185
double
fpoint
(
double
x)
const
;
186
190
double
fnyasympt
(
double
y)
const
;
192
196
void
setup_interpolator
();
197
198
private
:
199
204
METRP2to2
&
operator=
(
const
METRP2to2
&) =
delete
;
205
206
private
:
207
211
Interpolator<double, double>::Ptr
_interpol
;
212
216
unsigned
int
_maxflavour
;
217
221
unsigned
int
_ndim
;
222
226
Energy
_planckmass
;
227
228
232
unsigned
int
_process
;
233
};
234
235
}
236
237
#endif
/* HERWIG_METRP2to2_H */
Herwig::HwMEBase
The HwMEBase class serves a number of purposes.
Definition:
HwMEBase.h:35
Herwig::Interpolator::Ptr
Ptr< Interpolator< ValT, ArgT > >::pointer Ptr
Pointer to an Interpolator.
Definition:
Interpolator.h:38
Herwig::METRP2to2
The METRP2to2 class implements the matrix elements for Transplanckian scattering process.
Definition:
METRP2to2.h:30
Herwig::METRP2to2::getDiagrams
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
Herwig::METRP2to2::orderInAlphaEW
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
Definition:
METRP2to2.h:51
Herwig::METRP2to2::A_ny
double A_ny(Energy2 s, Energy2 t) const
A_ny calculates part of the matrix element squared (divided by 16 * pi^2) according to hep-ph/0112161...
Herwig::METRP2to2::colourGeometries
virtual Selector< const ColourLines * > colourGeometries(tcDiagPtr diag) const
Return a Selector with possible colour geometries for the selected diagram weighted by their relative...
Herwig::METRP2to2::_interpol
Interpolator< double, double >::Ptr _interpol
Interpolator.
Definition:
METRP2to2.h:211
Herwig::METRP2to2::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::METRP2to2::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::METRP2to2::fpoint
double fpoint(double x) const
fpoint initializes the matrix of pre-calculated points for the functions F_n(y) (hep-ph/0112161,...
Herwig::METRP2to2::_process
unsigned int _process
Processes to include.
Definition:
METRP2to2.h:232
Herwig::METRP2to2::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::METRP2to2::scale
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
Herwig::METRP2to2::orderInAlphaS
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
Definition:
METRP2to2.h:45
Herwig::METRP2to2::_maxflavour
unsigned int _maxflavour
Maximum number of quark flavours to include.
Definition:
METRP2to2.h:216
Herwig::METRP2to2::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::METRP2to2::_ndim
unsigned int _ndim
Number of Extra dimensions (>=2)
Definition:
METRP2to2.h:221
Herwig::METRP2to2::operator=
METRP2to2 & operator=(const METRP2to2 &)=delete
The assignment operator is private and must never be called.
Herwig::METRP2to2::bccalc
InvEnergy bccalc(Energy2 s) const
The function which calculates b_c according to hep-ph/0112161, eq.
Herwig::METRP2to2::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::METRP2to2::me2
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
Herwig::METRP2to2::_planckmass
Energy _planckmass
The Extra-dimensional Planck mass.
Definition:
METRP2to2.h:226
Herwig::METRP2to2::rebind
virtual void rebind(const TranslationMap &trans)
Rebind pointer to other Interfaced objects.
Herwig::METRP2to2::getReferences
virtual IVector getReferences()
Return a vector of all pointers to Interfaced objects used in this object.
Herwig::METRP2to2::fnyasympt
double fnyasympt(double y) const
The asymptotic form of the F_n(y) functions, used for y>20, according to hep-ph/0112161,...
Herwig::METRP2to2::diagrams
virtual Selector< DiagramIndex > diagrams(const DiagramVector &dv) const
Get diagram selector.
Herwig::METRP2to2::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::METRP2to2::METRP2to2
METRP2to2()
The default constructor.
Herwig::METRP2to2::setup_interpolator
void setup_interpolator()
Setup the interpolator.
ThePEG::MEBase::DiagramVector
vector< DiagPtr > DiagramVector
ThePEG::PersistentIStream
ThePEG::PersistentOStream
ThePEG::Rebinder
ThePEG::Selector
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::IVector
vector< IBPtr > IVector
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6