thepeg
is hosted by
Hepforge
,
IPPP Durham
ThePEG
2.3.0
StandardModel
AlphaSBase.h
1
// -*- C++ -*-
2
//
3
// AlphaSBase.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_AlphaSBase_H
10
#define ThePEG_AlphaSBase_H
11
// This is the declaration of the AlphaSBase class.
12
13
#include "RunningCoupling.h"
14
15
namespace
ThePEG
{
16
28
class
AlphaSBase
:
public
RunningCoupling
{
29
30
public
:
31
39
virtual
vector<Energy2>
flavourThresholds
()
const
= 0;
40
45
virtual
vector<Energy>
LambdaQCDs
()
const
= 0;
47
54
unsigned
int
Nf
(
Energy2
scale)
const
{
55
unsigned
int
i = 0;
56
while
( i <
theFlavourThresholds
.size() &&
57
theFlavourThresholds
[i] < scale ) ++i;
58
return
i;
59
}
60
64
Energy
LambdaQCD
(
unsigned
int
nflav)
const
{
return
theLambdaQCDs
[nflav]; }
65
69
Energy
LambdaQCD
(
Energy2
scale)
const
{
return
theLambdaQCDs
[
Nf
(scale)]; }
71
77
const
vector<Energy>&
quarkMasses
()
const
{
return
theQuarkMasses
; }
78
79
public
:
80
87
void
persistentOutput
(
PersistentOStream
& os)
const
;
88
94
void
persistentInput
(
PersistentIStream
& is,
int
version);
96
100
static
void
Init
();
101
102
protected
:
103
106
112
virtual
void
doinit
();
113
115
116
private
:
117
123
vector<Energy>
theQuarkMasses
;
124
129
vector<Energy2>
theFlavourThresholds
;
130
136
vector<Energy>
theLambdaQCDs
;
137
138
private
:
139
143
static
AbstractClassDescription<AlphaSBase>
initAlphaSBase
;
144
148
AlphaSBase
&
operator=
(
const
AlphaSBase
&) =
delete
;
149
150
};
151
156
template
<>
157
struct
BaseClassTrait
<
AlphaSBase
,1>:
public
ClassTraitsType
{
159
typedef
RunningCoupling
NthBase
;
160
};
161
164
template
<>
165
struct
ClassTraits<AlphaSBase>:
public
ClassTraitsBase<AlphaSBase> {
167
static
string
className
() {
return
"ThePEG::AlphaSBase"
; }
168
};
169
172
}
173
174
#endif
/* ThePEG_AlphaSBase_H */
ThePEG::AbstractClassDescription
A concreate implementation of ClassDescriptionBase describing an abstract class with persistent data.
Definition:
ClassDescription.h:282
ThePEG::AlphaSBase
AlphaSBase is an abstract base class used by the StandardModelBase to implement the QCD coupling,...
Definition:
AlphaSBase.h:28
ThePEG::AlphaSBase::quarkMasses
const vector< Energy > & quarkMasses() const
Return the quark masses to be used; if not empty these masses should be considered instead of the one...
Definition:
AlphaSBase.h:77
ThePEG::AlphaSBase::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::AlphaSBase::operator=
AlphaSBase & operator=(const AlphaSBase &)=delete
Private and non-existent assignment operator.
ThePEG::AlphaSBase::theQuarkMasses
vector< Energy > theQuarkMasses
The quark masses to be used; if not empty these masses should be considered instead of the ones set i...
Definition:
AlphaSBase.h:123
ThePEG::AlphaSBase::Nf
unsigned int Nf(Energy2 scale) const
Return the number of avtive quark flavours.
Definition:
AlphaSBase.h:54
ThePEG::AlphaSBase::LambdaQCD
Energy LambdaQCD(Energy2 scale) const
Return the used for corresponding given scale.
Definition:
AlphaSBase.h:69
ThePEG::AlphaSBase::Init
static void Init()
Standard Init function used to initialize the interface.
ThePEG::AlphaSBase::LambdaQCD
Energy LambdaQCD(unsigned int nflav) const
Return the used for nflav active flavours.
Definition:
AlphaSBase.h:64
ThePEG::AlphaSBase::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
ThePEG::AlphaSBase::theLambdaQCDs
vector< Energy > theLambdaQCDs
The values of corresponding to theFlavourThresholds, set from the virtual functions in the initializ...
Definition:
AlphaSBase.h:136
ThePEG::AlphaSBase::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
ThePEG::AlphaSBase::initAlphaSBase
static AbstractClassDescription< AlphaSBase > initAlphaSBase
Describe an abstract class with persistent data.
Definition:
AlphaSBase.h:143
ThePEG::AlphaSBase::flavourThresholds
virtual vector< Energy2 > flavourThresholds() const =0
Return the flavour thresholds used.
ThePEG::AlphaSBase::LambdaQCDs
virtual vector< Energy > LambdaQCDs() const =0
Return the used for different numbers of active flavours.
ThePEG::AlphaSBase::theFlavourThresholds
vector< Energy2 > theFlavourThresholds
Flavour thresholds, set from the virtual functions in the initialization.
Definition:
AlphaSBase.h:129
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::Qty< 0, 2, 0 >
ThePEG::RunningCoupling
RunningCoupling an abstract base class unifying the treatment of running couplings in ThePEG.
Definition:
RunningCoupling.h:27
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