Grid 0.7.0
fundamental.h
Go to the documentation of this file.
1/*
2 * Policy classes for the HMC
3 * Author: Guido Cossu
4 */
5
6#ifndef FUNDAMENTAL_H
7#define FUNDAMENTAL_H
8
10
11/*
12 * This is an helper class for the HMC
13 * Empty since HMC updates already the fundamental representation
14 */
15
16template <int ncolour, class group_name>
18public:
19 static const int Dimension = ncolour;
20 static const bool isFundamental = true;
21
22 // typdef to be used by the Representations class in HMC to get the
23 // types for the higher representation fields
26
27 explicit FundamentalRep(GridBase* grid) {} //do nothing
28 void update_representation(const LatticeGaugeField& Uin) {} // do nothing
29
30 LatticeField RtoFundamentalProject(const LatticeField& in, Real scale = 1.0) const{
31 return (scale * in);
32 }
33
34};
35
36template<class Field>
37class EmptyRep {
38public:
39 typedef Field LatticeField;
40
41 explicit EmptyRep(GridBase* grid) {} //do nothing
42 void update_representation(const LatticeField& Uin) {} // do nothing
43 LatticeField RtoFundamentalProject(const LatticeField& in, Real scale = 1.0) const{}// do nothing
44};
45
46
47
50
52
53#endif
#define NAMESPACE_BEGIN(A)
Definition Namespace.h:35
#define NAMESPACE_END(A)
Definition Namespace.h:36
LatticeLorentzColourMatrix LatticeGaugeField
Definition QCD.h:385
RealF Real
Definition Simd.h:65
Field LatticeField
Definition fundamental.h:39
void update_representation(const LatticeField &Uin)
Definition fundamental.h:42
LatticeField RtoFundamentalProject(const LatticeField &in, Real scale=1.0) const
Definition fundamental.h:43
EmptyRep(GridBase *grid)
Definition fundamental.h:41
LatticeField RtoFundamentalProject(const LatticeField &in, Real scale=1.0) const
Definition fundamental.h:30
void update_representation(const LatticeGaugeField &Uin)
Definition fundamental.h:28
GaugeGroup< ncolour, group_name >::LatticeMatrix LatticeMatrix
Definition fundamental.h:24
FundamentalRep(GridBase *grid)
Definition fundamental.h:27
LatticeGaugeField LatticeField
Definition fundamental.h:25
Lattice< vMatrix > LatticeMatrix
Definition GaugeGroup.h:131
FundamentalRep< Nc, GroupName::SU > FundamentalRepresentation
Definition fundamental.h:48
FundamentalRep< Nc, GroupName::Sp > SpFundamentalRepresentation
Definition fundamental.h:49