ThePEG
1.8.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
StandardModel
AlphaSBase.h
1
// -*- C++ -*-
2
//
3
// AlphaSBase.h is a part of ThePEG - Toolkit for HEP Event Generation
4
// Copyright (C) 1999-2011 Leif Lonnblad
5
//
6
// ThePEG is licenced under version 2 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
72
public
:
73
80
void
persistentOutput
(
PersistentOStream
& os)
const
;
81
87
void
persistentInput
(
PersistentIStream
& is,
int
version);
89
93
static
void
Init
();
94
95
protected
:
96
99
105
virtual
void
doinit
();
106
108
109
private
:
110
115
vector<Energy2>
theFlavourThresholds
;
116
122
vector<Energy>
theLambdaQCDs
;
123
124
private
:
125
129
static
AbstractClassDescription<AlphaSBase>
initAlphaSBase
;
130
134
AlphaSBase
&
operator=
(
const
AlphaSBase
&);
135
136
};
137
142
template
<>
143
struct
BaseClassTrait
<
AlphaSBase
,1>:
public
ClassTraitsType
{
145
typedef
RunningCoupling
NthBase
;
146
};
147
150
template
<>
151
struct
ClassTraits<AlphaSBase>:
public
ClassTraitsBase<AlphaSBase> {
153
static
string
className
() {
return
"ThePEG::AlphaSBase"
; }
154
};
155
158
}
159
160
#endif
/* ThePEG_AlphaSBase_H */
Generated on Sat Jun 16 2012 16:51:03 for ThePEG by
1.8.1.1