Bridge++
Ver.2.1.3
aforceSmear.h
Go to the documentation of this file.
1
10
#ifndef AFORCESMEAR_INCLUDED
11
#define AFORCESMEAR_INCLUDED
12
13
#include "
lib/Smear/projection.h
"
14
#include "
lib/Field/field_G.h
"
15
16
#include "
lib/IO/bridgeIO.h
"
17
18
#ifdef USE_FACTORY
19
#include "
lib/Tools/factory.h
"
20
#endif
21
22
24
32
template
<
typename
AFIELD>
33
class
AForceSmear
34
{
35
public
:
36
37
AForceSmear
() {}
38
39
virtual
~AForceSmear
() {}
40
41
private
:
42
// non-copyable
43
AForceSmear
(
const
AForceSmear
&);
44
AForceSmear
&
operator=
(
const
AForceSmear
&);
45
46
public
:
47
virtual
void
set_parameters
(
const
Parameters
&) = 0;
48
49
virtual
void
get_parameters
(
Parameters
&)
const
= 0;
50
51
virtual
void
force_udiv
(
Field_G
&,
const
Field_G
&,
const
Field_G
&) {}
52
53
54
#ifdef USE_FACTORY
55
public
:
56
typedef
AForceSmear
*(*ProductCreator)(
AProjection<AFIELD>
*);
57
typedef
AForceSmear
*(*ProductCreator_params)(
AProjection<AFIELD>
*,
58
const
Parameters
& params);
59
60
typedef
FactoryTemplate<AForceSmear, ProductCreator>
Factory;
61
typedef
FactoryTemplate<AForceSmear, ProductCreator_params>
Factory_params;
62
63
static
AForceSmear
*New(
const
IdentifierType
& subtype,
64
AProjection<AFIELD>
*proj)
65
{
66
ProductCreator p = Factory::Find(subtype);
67
return
p ? (*p)(proj) : 0;
68
}
69
70
static
AForceSmear
*New(
const
IdentifierType
& subtype,
71
AProjection<AFIELD>
*proj,
const
Parameters
& params)
72
{
73
ProductCreator_params p = Factory_params::Find(subtype);
74
return
p ? (*p)(proj, params) : 0;
75
}
76
77
#ifdef USE_FACTORY_AUTOREGISTER
78
#else
79
static
bool
init_factory();
80
#endif
81
#endif
82
};
83
#endif
bridgeIO.h
field_G.h
factory.h
Parameters
Class for parameters.
Definition:
parameters.h:46
AForceSmear::operator=
AForceSmear & operator=(const AForceSmear &)
projection.h
AForceSmear::AForceSmear
AForceSmear()
Definition:
aforceSmear.h:37
AForceSmear::force_udiv
virtual void force_udiv(Field_G &, const Field_G &, const Field_G &)
Definition:
aforceSmear.h:51
AForceSmear::~AForceSmear
virtual ~AForceSmear()
Definition:
aforceSmear.h:39
AForceSmear
Base class for force calculation of smeared operators.
Definition:
aforceSmear.h:33
AProjection
Base template class for projection operator into gauge group.
Definition:
aprojection.h:31
FactoryTemplate
Definition:
factory.h:42
AForceSmear::set_parameters
virtual void set_parameters(const Parameters &)=0
Field_G
SU(N) gauge field.
Definition:
field_G.h:38
AForceSmear::get_parameters
virtual void get_parameters(Parameters &) const =0
IdentifierType
std::string IdentifierType
Definition:
factory.h:39
src
lib
Smear
aforceSmear.h
Generated on Thu Apr 16 2026 22:04:18 for Bridge++ by
1.8.17