thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
StandardModel
StandardModelBase.h
1
// -*- C++ -*-
2
//
3
// StandardModelBase.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_StandardModelBase_H
10
#define ThePEG_StandardModelBase_H
11
// This is the declaration of the StandardModelBase class.
12
13
#include "
ThePEG/Config/ThePEG.h
"
14
#include "AlphaEMBase.h"
15
#include "CKMBase.h"
16
#include "AlphaSBase.h"
17
// #include "StandardModelBase.fh"
18
// #include "StandardModelBase.xh"
19
20
namespace
ThePEG
{
21
38
class
StandardModelBase
:
public
Interfaced
{
39
41
typedef
Ptr<AlphaEMBase>::pointer
AEMPtr
;
43
typedef
Ptr<AlphaSBase>::pointer
ASPtr
;
45
typedef
Ptr<CKMBase>::pointer
CKMPtr
;
47
typedef
Ptr<AlphaEMBase>::transient_pointer
tAEMPtr
;
49
typedef
Ptr<AlphaSBase>::transient_pointer
tASPtr
;
51
typedef
Ptr<CKMBase>::transient_pointer
tCKMPtr
;
52
53
public
:
54
60
StandardModelBase
();
61
65
virtual
~StandardModelBase
();
67
68
public
:
69
73
unsigned
int
families
()
const
{
return
theFamilies
; }
74
75
public
:
76
77
82
unsigned
int
ewScheme
()
const
{
return
theElectroWeakScheme
; }
83
87
void
ewScheme
(
unsigned
int
s) {
theElectroWeakScheme
= s; }
88
90
93
double
alphaEM
()
const
{
return
theAlphaEM
; }
94
98
double
alphaEMMZ
()
const
{
return
theAlphaEMMZ
; }
99
104
double
alphaEMME
(
Energy2
scale)
const
{
105
if
(
theElectroWeakScheme
==0)
106
return
alphaEM
(scale);
107
else
if
(scale>1e-6*GeV2)
108
return
theAlphaEMMZ
;
109
else
110
return
theAlphaEM
;
111
}
112
116
double
alphaEM
(
Energy2
scale)
const
{
117
return
theRunningAlphaEM
->value(scale, *
this
);
118
}
119
123
tAEMPtr
alphaEMPtr
()
const
{
return
theRunningAlphaEM
; }
124
128
double
sin2ThetaW
()
const
{
return
theSin2ThetaW
; }
129
133
InvEnergy2
fermiConstant
()
const
{
return
theGF
;}
134
138
double
enu
()
const
{
return
theEnu
; }
139
143
double
ee
()
const
{
return
theEe
; }
144
148
double
eu
()
const
{
return
theEu
; }
149
153
double
ed
()
const
{
return
theEd
; }
154
158
double
vnu
()
const
{
return
theVnu
; }
159
163
double
ve
()
const
{
return
theVe
; }
164
168
double
vu
()
const
{
return
theVu
; }
169
173
double
vd
()
const
{
return
theVd
; }
174
178
double
anu
()
const
{
return
theAnu
; }
179
183
double
ae
()
const
{
return
theAe
; }
184
188
double
au
()
const
{
return
theAu
; }
189
193
double
ad
()
const
{
return
theAd
; }
194
198
tCKMPtr
CKM
()
const
{
return
theCKM
; }
199
205
double
CKM
(
unsigned
int
uf,
unsigned
int
df)
const
;
206
211
double
CKM
(
const
ParticleData
& uType,
212
const
ParticleData
& dType)
const
;
214
215
public
:
216
222
unsigned
int
Nc
()
const
{
return
theNc
; }
223
227
unsigned
int
Nf
(
Energy2
scale)
const
{
228
return
theRunningAlphaS
->Nf(scale);
229
}
230
234
double
alphaS
()
const
{
return
theAlphaS
; }
235
239
double
alphaS
(
Energy2
scale)
const
{
240
return
theRunningAlphaS
->value(scale, *
this
);
241
}
242
246
tASPtr
alphaSPtr
()
const
{
247
return
theRunningAlphaS
;
248
}
249
253
Energy
LambdaQCD
(
unsigned
int
nflav)
const
{
254
return
theRunningAlphaS
->LambdaQCD(nflav);
255
}
256
260
Energy
LambdaQCD
(
Energy2
scale)
const
{
return
LambdaQCD
(
Nf
(scale)); }
262
263
public
:
264
265
272
void
persistentOutput
(
PersistentOStream
& os)
const
;
273
279
void
persistentInput
(
PersistentIStream
& is,
int
version);
281
285
static
void
Init
();
286
290
virtual
bool
preInitialize
()
const
{
291
return
true
;
292
}
293
294
protected
:
295
302
virtual
IBPtr
clone
()
const
;
303
308
virtual
IBPtr
fullclone
()
const
;
310
311
312
protected
:
313
316
322
virtual
void
doinit
();
324
325
private
:
326
330
unsigned
int
theFamilies
;
331
335
double
theAlphaEM
;
336
340
double
theAlphaEMMZ
;
341
346
AEMPtr
theRunningAlphaEM
;
347
351
double
theSin2ThetaW
;
352
356
InvEnergy2
theGF
;
357
361
double
theEnu
;
362
366
double
theEe
;
367
371
double
theEu
;
372
376
double
theEd
;
377
381
double
theVnu
;
382
386
double
theVe
;
387
391
double
theVu
;
392
396
double
theVd
;
397
401
double
theAnu
;
402
406
double
theAe
;
407
411
double
theAu
;
412
416
double
theAd
;
417
422
long
recalculateEW
;
423
428
CKMPtr
theCKM
;
429
433
mutable
vector< vector<double> >
theCKM2Matrix
;
434
438
unsigned
int
theNc
;
439
443
double
theAlphaS
;
444
449
ASPtr
theRunningAlphaS
;
450
454
unsigned
int
theElectroWeakScheme
;
455
459
unsigned
int
theBosonWidthOption
;
460
461
private
:
462
466
static
ClassDescription<StandardModelBase>
initStandardModelBase
;
467
471
StandardModelBase
&
operator=
(
const
StandardModelBase
&) =
delete
;
472
473
};
474
479
template
<>
480
struct
BaseClassTrait
<
StandardModelBase
,1>:
public
ClassTraitsType
{
482
typedef
Interfaced
NthBase
;
483
};
484
487
template
<>
488
struct
ClassTraits<StandardModelBase>:
489
public
ClassTraitsBase<StandardModelBase> {
491
static
string
className
() {
return
"ThePEG::StandardModelBase"
; }
492
};
493
496
}
497
498
#endif
/* ThePEG_StandardModelBase_H */
ThePEG.h
This is the main config header file for ThePEG.
ThePEG::ClassDescription
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data.
Definition:
ClassDescription.h:333
ThePEG::Interfaced
The Interfaced class is derived from the InterfacedBase class adding a couple of things particular to...
Definition:
Interfaced.h:38
ThePEG::ParticleData
ParticleData inherits from InterfacedBase and represents the properties of a particle type.
Definition:
ParticleData.h:36
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::RCPtr
RCPtr is a reference counted (smart) pointer.
Definition:
RCPtr.h:60
ThePEG::Pointer::TransientRCPtr
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
Definition:
RCPtr.h:519
ThePEG::Qty< 0, 2, 0 >
ThePEG::StandardModelBase
StandardModelBase is used to handle standard model parameters in an EventGenerator.
Definition:
StandardModelBase.h:38
ThePEG::StandardModelBase::Init
static void Init()
Standard Init function used to initialize the interface.
ThePEG::StandardModelBase::sin2ThetaW
double sin2ThetaW() const
Return .
Definition:
StandardModelBase.h:128
ThePEG::StandardModelBase::recalculateEW
long recalculateEW
If true, the electro-weak couplings are derived from in the initialization.
Definition:
StandardModelBase.h:422
ThePEG::StandardModelBase::ae
double ae() const
The axial charged lepton- coupling.
Definition:
StandardModelBase.h:183
ThePEG::StandardModelBase::alphaEM
double alphaEM() const
Constant .
Definition:
StandardModelBase.h:93
ThePEG::StandardModelBase::operator=
StandardModelBase & operator=(const StandardModelBase &)=delete
Private and non-existent assignment operator.
ThePEG::StandardModelBase::vnu
double vnu() const
The vector neutrino- coupling.
Definition:
StandardModelBase.h:158
ThePEG::StandardModelBase::theAlphaS
double theAlphaS
The fixed strong coupling.
Definition:
StandardModelBase.h:443
ThePEG::StandardModelBase::theVe
double theVe
Vector coupling between a fundamental fermion and Z^0.
Definition:
StandardModelBase.h:386
ThePEG::StandardModelBase::ewScheme
unsigned int ewScheme() const
Return the electroweak scheme used.
Definition:
StandardModelBase.h:82
ThePEG::StandardModelBase::CKM
tCKMPtr CKM() const
Return a pointer to the CKMBase object used.
Definition:
StandardModelBase.h:198
ThePEG::StandardModelBase::tASPtr
Ptr< AlphaSBase >::transient_pointer tASPtr
Declare a transient pointer to an AlphaSBase object.
Definition:
StandardModelBase.h:49
ThePEG::StandardModelBase::theElectroWeakScheme
unsigned int theElectroWeakScheme
Electroweak scheme.
Definition:
StandardModelBase.h:454
ThePEG::StandardModelBase::ve
double ve() const
The vector charged lepton- coupling.
Definition:
StandardModelBase.h:163
ThePEG::StandardModelBase::preInitialize
virtual bool preInitialize() const
Overloaded function from Interfaced.
Definition:
StandardModelBase.h:290
ThePEG::StandardModelBase::theAnu
double theAnu
Axial coupling between a fundamental fermions and Z^0.
Definition:
StandardModelBase.h:401
ThePEG::StandardModelBase::enu
double enu() const
The neutrino-photon coupling.
Definition:
StandardModelBase.h:138
ThePEG::StandardModelBase::ewScheme
void ewScheme(unsigned int s)
Set the electroweak scheme used.
Definition:
StandardModelBase.h:87
ThePEG::StandardModelBase::Nf
unsigned int Nf(Energy2 scale) const
Return the number of avtive quark flavours for a given scale.
Definition:
StandardModelBase.h:227
ThePEG::StandardModelBase::theNc
unsigned int theNc
The number of colours;.
Definition:
StandardModelBase.h:438
ThePEG::StandardModelBase::alphaEMME
double alphaEMME(Energy2 scale) const
The electromagnetic coupling for vertex classes in a well defined self-consistent EW scheme if reques...
Definition:
StandardModelBase.h:104
ThePEG::StandardModelBase::theEnu
double theEnu
Coupling between a fundamental fermion and the photon.
Definition:
StandardModelBase.h:361
ThePEG::StandardModelBase::StandardModelBase
StandardModelBase()
Default constructor.
ThePEG::StandardModelBase::LambdaQCD
Energy LambdaQCD(unsigned int nflav) const
Return the for nflav active flavours.
Definition:
StandardModelBase.h:253
ThePEG::StandardModelBase::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::StandardModelBase::CKM
double CKM(unsigned int uf, unsigned int df) const
Return a square of the element of the Cabibbo-Kobayashi-Maskawa Matrix.
ThePEG::StandardModelBase::families
unsigned int families() const
Return the number of families assumed in the standard model.
Definition:
StandardModelBase.h:73
ThePEG::StandardModelBase::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::StandardModelBase::theVu
double theVu
Vector coupling between a fundamental fermion and Z^0.
Definition:
StandardModelBase.h:391
ThePEG::StandardModelBase::theEd
double theEd
Coupling between a fundamental fermion and the photon.
Definition:
StandardModelBase.h:376
ThePEG::StandardModelBase::ed
double ed() const
The down-type-photon coupling.
Definition:
StandardModelBase.h:153
ThePEG::StandardModelBase::alphaS
double alphaS(Energy2 scale) const
Return the running strong coupling for a given scale.
Definition:
StandardModelBase.h:239
ThePEG::StandardModelBase::ee
double ee() const
The charged lepton-photon coupling.
Definition:
StandardModelBase.h:143
ThePEG::StandardModelBase::theVnu
double theVnu
Vector coupling between a fundamental fermion and Z^0.
Definition:
StandardModelBase.h:381
ThePEG::StandardModelBase::vu
double vu() const
The vector up-type- coupling.
Definition:
StandardModelBase.h:168
ThePEG::StandardModelBase::LambdaQCD
Energy LambdaQCD(Energy2 scale) const
Return the for the given scale.
Definition:
StandardModelBase.h:260
ThePEG::StandardModelBase::theAu
double theAu
Axial coupling between a fundamental fermions and Z^0.
Definition:
StandardModelBase.h:411
ThePEG::StandardModelBase::tAEMPtr
Ptr< AlphaEMBase >::transient_pointer tAEMPtr
Declare a transient pointer to an AlphaEMBase object.
Definition:
StandardModelBase.h:47
ThePEG::StandardModelBase::CKM
double CKM(const ParticleData &uType, const ParticleData &dType) const
Return the square of the elements of the Cabibbo-Kobayashi-Maskawa Matrix.
ThePEG::StandardModelBase::theCKM2Matrix
vector< vector< double > > theCKM2Matrix
The matrix of squared CKM elements set from theCKM at initialization.
Definition:
StandardModelBase.h:433
ThePEG::StandardModelBase::theFamilies
unsigned int theFamilies
The number of families.
Definition:
StandardModelBase.h:330
ThePEG::StandardModelBase::ASPtr
Ptr< AlphaSBase >::pointer ASPtr
Declare a pointer to an AlphaSBase object.
Definition:
StandardModelBase.h:43
ThePEG::StandardModelBase::theAe
double theAe
Axial coupling between a fundamental fermions and Z^0.
Definition:
StandardModelBase.h:406
ThePEG::StandardModelBase::theGF
InvEnergy2 theGF
The Fermi contants .
Definition:
StandardModelBase.h:356
ThePEG::StandardModelBase::CKMPtr
Ptr< CKMBase >::pointer CKMPtr
Declare a pointer to n CKMBase object.
Definition:
StandardModelBase.h:45
ThePEG::StandardModelBase::fermiConstant
InvEnergy2 fermiConstant() const
The Fermi constant.
Definition:
StandardModelBase.h:133
ThePEG::StandardModelBase::alphaEMMZ
double alphaEMMZ() const
Constant .
Definition:
StandardModelBase.h:98
ThePEG::StandardModelBase::Nc
unsigned int Nc() const
Return the number of colours.
Definition:
StandardModelBase.h:222
ThePEG::StandardModelBase::~StandardModelBase
virtual ~StandardModelBase()
Destructor.
ThePEG::StandardModelBase::theAlphaEMMZ
double theAlphaEMMZ
The constant .
Definition:
StandardModelBase.h:340
ThePEG::StandardModelBase::clone
virtual IBPtr clone() const
Make a simple clone of this object.
ThePEG::StandardModelBase::tCKMPtr
Ptr< CKMBase >::transient_pointer tCKMPtr
Declare a transient pointer to a CKMBase object.
Definition:
StandardModelBase.h:51
ThePEG::StandardModelBase::alphaEMPtr
tAEMPtr alphaEMPtr() const
Return a pointer to the object handling .
Definition:
StandardModelBase.h:123
ThePEG::StandardModelBase::theAlphaEM
double theAlphaEM
The constant .
Definition:
StandardModelBase.h:335
ThePEG::StandardModelBase::alphaEM
double alphaEM(Energy2 scale) const
Running .
Definition:
StandardModelBase.h:116
ThePEG::StandardModelBase::theAd
double theAd
Axial coupling between a fundamental fermions and Z^0.
Definition:
StandardModelBase.h:416
ThePEG::StandardModelBase::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
ThePEG::StandardModelBase::au
double au() const
The axial up-type- coupling.
Definition:
StandardModelBase.h:188
ThePEG::StandardModelBase::alphaSPtr
tASPtr alphaSPtr() const
Return a pointer to the object handling .
Definition:
StandardModelBase.h:246
ThePEG::StandardModelBase::alphaS
double alphaS() const
Return the constant strong coupling constant.
Definition:
StandardModelBase.h:234
ThePEG::StandardModelBase::theSin2ThetaW
double theSin2ThetaW
The .
Definition:
StandardModelBase.h:351
ThePEG::StandardModelBase::AEMPtr
Ptr< AlphaEMBase >::pointer AEMPtr
Declare a pointer to an AlphaEMBase object.
Definition:
StandardModelBase.h:41
ThePEG::StandardModelBase::theEe
double theEe
Coupling between a fundamental fermion and the photon.
Definition:
StandardModelBase.h:366
ThePEG::StandardModelBase::theRunningAlphaS
ASPtr theRunningAlphaS
Pointer to an object capable of calculating the running .
Definition:
StandardModelBase.h:449
ThePEG::StandardModelBase::anu
double anu() const
The axial neutrino- coupling.
Definition:
StandardModelBase.h:178
ThePEG::StandardModelBase::theBosonWidthOption
unsigned int theBosonWidthOption
Option for the calculation of the W/Z widths.
Definition:
StandardModelBase.h:459
ThePEG::StandardModelBase::vd
double vd() const
The vector down-type- coupling.
Definition:
StandardModelBase.h:173
ThePEG::StandardModelBase::theCKM
CKMPtr theCKM
A pointer to an object representing the Cabibbo-Kobayashi-Maskawa matrix.
Definition:
StandardModelBase.h:428
ThePEG::StandardModelBase::eu
double eu() const
The up-type-photon coupling.
Definition:
StandardModelBase.h:148
ThePEG::StandardModelBase::theRunningAlphaEM
AEMPtr theRunningAlphaEM
Pointer to an object capable of calculating the running .
Definition:
StandardModelBase.h:346
ThePEG::StandardModelBase::ad
double ad() const
The axial down-type- coupling.
Definition:
StandardModelBase.h:193
ThePEG::StandardModelBase::theVd
double theVd
Vector coupling between a fundamental fermion and Z^0.
Definition:
StandardModelBase.h:396
ThePEG::StandardModelBase::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
ThePEG::StandardModelBase::initStandardModelBase
static ClassDescription< StandardModelBase > initStandardModelBase
Describe a concrete class with persistent data.
Definition:
StandardModelBase.h:466
ThePEG::StandardModelBase::theEu
double theEu
Coupling between a fundamental fermion and the photon.
Definition:
StandardModelBase.h:371
ThePEG
This is the main namespace within which all identifiers in ThePEG are declared.
Definition:
FactoryBase.h:28
ThePEG::BaseClassTrait
BaseClassTraits describes the base classes of the templated class.
Definition:
ClassTraits.h:156
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
ThePEG::ClassTraitsType
ClassTraitsType is an empty, non-polymorphic, base class.
Definition:
ClassTraits.h:30
Generated on Thu Jun 20 2024 14:47:00 for ThePEG by
1.9.6