Bridge++
Ver. 1.1.x
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
gammaMatrixSet.h
Go to the documentation of this file.
1
14
#ifndef GAMMAMATRIXSET_INCLUDED
15
#define GAMMAMATRIXSET_INCLUDED
16
17
#include <valarray>
18
#include <cassert>
19
20
#include "
commonParameters.h
"
21
#include "
gammaMatrix.h
"
22
23
#ifdef USE_FACTORY
24
#include "
factory.h
"
25
#endif
26
28
38
class
GammaMatrixSet
39
{
40
protected
:
41
int
m_Nspecies
;
42
std::valarray<GammaMatrix>
m_gm
;
43
44
Bridge::VerboseLevel
m_vl
;
45
46
public
:
47
enum
GMspecies
48
{
49
UNITY
,
GAMMA1
,
GAMMA2
,
GAMMA3
,
GAMMA4
,
50
GAMMA5
,
GAMMA51
,
GAMMA52
,
GAMMA53
,
GAMMA54
,
51
SIGMA12
,
SIGMA23
,
SIGMA31
,
52
SIGMA41
,
SIGMA42
,
SIGMA43
,
CHARGECONJG
53
};
54
55
GammaMatrixSet
()
56
:
m_vl
(
CommonParameters
::Vlevel())
57
{
58
int
Nd =
CommonParameters::Nd
();
59
60
assert(Nd == 4);
61
m_Nspecies
= Nd * Nd + 1;
// must be 17.
62
m_gm
.resize(
m_Nspecies
);
63
}
64
65
virtual
~GammaMatrixSet
() {}
66
67
virtual
void
init_GM
() = 0;
68
69
GammaMatrix
get_GM
(
GMspecies
spec)
70
{
71
assert(spec <
m_Nspecies
);
72
return
m_gm
[spec];
73
}
74
75
virtual
void
print
() = 0;
76
77
#ifdef USE_FACTORY
78
public
:
79
typedef
GammaMatrixSet
*(*ProductCreator)();
80
typedef
FactoryTemplate<GammaMatrixSet, ProductCreator>
Factory;
81
82
static
GammaMatrixSet
*New(
const
IdentifierType
& subtype)
83
{
84
ProductCreator p = Factory::Find(subtype);
85
86
return
p ? (*p)() : 0;
87
}
88
#endif
89
};
90
#endif
src
Tools
gammaMatrixSet.h
Generated on Tue Jul 23 2013 10:48:50 for Bridge++ by
1.8.3.1