31#ifndef MOMENTUM_FILTER
32#define MOMENTUM_FILTER
38template<
typename MomentaField>
45template<
typename MomentaField>
52template<
typename MomentaField>
66 for(
int mu=0;mu<
Nd;mu++)
78 auto site_mom = P_v(ss);
79 auto site_phase = phase_v(ss);
80 for(int mu=0;mu<Nd;mu++)
81 site_mom(mu) = site_mom(mu) * site_phase(mu);
82 coalescedWrite(P_v[ss], site_mom);
#define accelerator_for(iterator, num, nsimd,...)
#define autoView(l_v, l, mode)
#define NAMESPACE_BEGIN(A)
MomentaField::vector_type vector_type
MomentumFilterApplyPhase(GridBase *_grid)
iVector< iScalar< iScalar< vector_type > >, Nd > LorentzScalarType
void applyFilter(MomentaField &P) const override
MomentaField::scalar_type scalar_type
Lattice< LorentzScalarType > LatticeLorentzScalarType
MomentumFilterApplyPhase(const LatticeLorentzScalarType _phase)
LatticeLorentzScalarType phase
virtual void applyFilter(MomentaField &P) const =0
virtual ~MomentumFilterBase()
void applyFilter(MomentaField &P) const override