thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
MatrixElement
ME2to2QCD.h
1
// -*- C++ -*-
2
//
3
// ME2to2QCD.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_ME2to2QCD_H
10
#define ThePEG_ME2to2QCD_H
11
// This is the declaration of the ME2to2QCD class.
12
13
#include "ThePEG/MatrixElement/ME2to2Base.h"
14
15
namespace
ThePEG
{
16
28
class
ME2to2QCD
:
public
ME2to2Base
{
29
30
public
:
31
37
ME2to2QCD
()
38
:
theMaxFlavour
(5),
theKfac
(1.0),
theKfacA
(1.0),
useInterference
(true) {}
39
43
virtual
~ME2to2QCD
();
45
46
public
:
47
54
virtual
unsigned
int
orderInAlphaS
()
const
;
55
60
virtual
unsigned
int
orderInAlphaEW
()
const
;
61
66
double
comfac
()
const
;
67
71
int
maxFlavour
()
const
{
return
theMaxFlavour
; }
72
76
double
Kfac
()
const
{
return
theKfac
; }
77
81
double
KfacA
()
const
{
return
theKfacA
>= 0.0?
theKfacA
:
theKfac
; }
82
86
bool
interference
()
const
{
return
useInterference
; }
87
91
bool
isQuark
(
const
ParticleData
& p)
const
{
92
return
( p.
id
() && abs(p.
id
()) <=
maxFlavour
() );
93
}
94
98
tcPDPtr
quark
(
int
i)
const
;
100
101
public
:
102
109
void
persistentOutput
(
PersistentOStream
& os)
const
;
110
116
void
persistentInput
(
PersistentIStream
& is,
int
version);
118
122
static
void
Init
();
123
124
private
:
125
129
int
theMaxFlavour
;
130
134
double
theKfac
;
135
140
double
theKfacA
;
141
145
bool
useInterference
;
146
147
private
:
148
152
static
AbstractClassDescription<ME2to2QCD>
initME2to2QCD
;
153
157
ME2to2QCD
&
operator=
(
const
ME2to2QCD
&) =
delete
;
158
159
};
160
161
}
162
163
164
namespace
ThePEG
{
165
172
template
<>
173
struct
BaseClassTrait<ME2to2QCD,1>:
public
ClassTraitsType {
175
typedef
ME2to2Base
NthBase
;
176
};
177
182
template
<>
183
struct
ClassTraits<ME2to2QCD>:
public
ClassTraitsBase<ME2to2QCD> {
185
static
string
className
() {
return
"ThePEG::ME2to2QCD"
; }
186
};
187
190
}
191
192
#endif
/* ThePEG_ME2to2QCD_H */
ThePEG::AbstractClassDescription
A concreate implementation of ClassDescriptionBase describing an abstract class with persistent data.
Definition:
ClassDescription.h:282
ThePEG::ME2to2Base
ME2to2Base can be used as a base class for any matrix element class implementing 2 2 processes.
Definition:
ME2to2Base.h:32
ThePEG::ME2to2QCD
The ME2to2QCD class inherits from the ME2to2Base class and can be used as a sub class for all QCD 2 ...
Definition:
ME2to2QCD.h:28
ThePEG::ME2to2QCD::Init
static void Init()
Standard Init function used to initialize the interfaces.
ThePEG::ME2to2QCD::comfac
double comfac() const
The common prefactor for all 2 2 QCD sub-processes ie.
ThePEG::ME2to2QCD::useInterference
bool useInterference
Flag so tell whether interference should be used or not.
Definition:
ME2to2QCD.h:145
ThePEG::ME2to2QCD::ME2to2QCD
ME2to2QCD()
Default constructor.
Definition:
ME2to2QCD.h:37
ThePEG::ME2to2QCD::theMaxFlavour
int theMaxFlavour
The heaviest flavour allowed for incoming and outgoing partons.
Definition:
ME2to2QCD.h:129
ThePEG::ME2to2QCD::theKfacA
double theKfacA
Overall K-factors used to boost the colour annihilation diagram in the cross-section.
Definition:
ME2to2QCD.h:140
ThePEG::ME2to2QCD::theKfac
double theKfac
Overall K-factor used to boost this cross-section.
Definition:
ME2to2QCD.h:134
ThePEG::ME2to2QCD::operator=
ME2to2QCD & operator=(const ME2to2QCD &)=delete
Private and non-existent assignment operator.
ThePEG::ME2to2QCD::isQuark
bool isQuark(const ParticleData &p) const
Return true if argument is a quark.
Definition:
ME2to2QCD.h:91
ThePEG::ME2to2QCD::quark
tcPDPtr quark(int i) const
Return the quark with flavour i (or gluon if i = 0);.
ThePEG::ME2to2QCD::interference
bool interference() const
Return true if interference terms should be used.
Definition:
ME2to2QCD.h:86
ThePEG::ME2to2QCD::initME2to2QCD
static AbstractClassDescription< ME2to2QCD > initME2to2QCD
Describe an abstract base class with persistent data.
Definition:
ME2to2QCD.h:152
ThePEG::ME2to2QCD::~ME2to2QCD
virtual ~ME2to2QCD()
Destructor.
ThePEG::ME2to2QCD::Kfac
double Kfac() const
K-factor for artificially boosting the cross-section.
Definition:
ME2to2QCD.h:76
ThePEG::ME2to2QCD::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::ME2to2QCD::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::ME2to2QCD::orderInAlphaEW
virtual unsigned int orderInAlphaEW() const
Return the order in in which this matrix element is given.
ThePEG::ME2to2QCD::orderInAlphaS
virtual unsigned int orderInAlphaS() const
Return the order in in which this matrix element is given.
ThePEG::ME2to2QCD::maxFlavour
int maxFlavour() const
Return the heaviest flavour allowed for this matrix element.
Definition:
ME2to2QCD.h:71
ThePEG::ME2to2QCD::KfacA
double KfacA() const
K-factor for artificially boosting colour-annihilation diagrams.
Definition:
ME2to2QCD.h:81
ThePEG::ParticleData
ParticleData inherits from InterfacedBase and represents the properties of a particle type.
Definition:
ParticleData.h:36
ThePEG::ParticleData::id
long id() const
Return the PDG id number.
Definition:
ParticleData.h:80
ThePEG::PersistentIStream
PersistentIStream is used to read persistent objects from a stream where they were previously written...
Definition:
PersistentIStream.h:48
ThePEG::PersistentOStream
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
Definition:
PersistentOStream.h:51
ThePEG::Pointer::TransientConstRCPtr
TransientConstRCPtr is a simple wrapper around a bare const pointer which can be assigned to and from...
Definition:
RCPtr.h:696
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::BaseClassTrait::NthBase
int NthBase
The type of the BaseN'th base class (int means there are no further base classes).
Definition:
ClassTraits.h:161
ThePEG::ClassTraitsBase::className
static string className()
Return the name of class T.
Definition:
ClassTraits.h:66
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6