CHROMA
Public Member Functions | Private Member Functions | Private Attributes | List of all members

Concrete class for all fermionic actions with twisted boundary conditions. More...

#include <background_fermbc_w.h>

Inheritance diagram for Chroma::BackgroundFermBC< T >:
Chroma::FermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > Chroma::BoundCond< P, Q >

Public Member Functions

 BackgroundFermBC (int gamma_, Complex lambda_, const multi1d< int > &boundary_)
 Only full constructor. More...
 
 BackgroundFermBC (const BackgroundFermBC &a)
 Copy constructor. More...
 
 ~BackgroundFermBC ()
 Destructor is automatic. More...
 
BackgroundFermBCoperator= (const BackgroundFermBC &a)
 Assignment. More...
 
void modify (multi1d< LatticeColorMatrix > &u) const
 Modify U fields in place. More...
 
void modifyF (T &psi) const
 Modify fermion fields in place. More...
 
void modifyF (T &psi, const Subset &s) const
 Modify fermion fields in place under a subset. More...
 
void modifyF (multi1d< T > &psi) const
 Modify fermion fields in place. More...
 
void modifyF (multi1d< T > &psi, const Subset &s) const
 Modify fermion fields in place under a subset. More...
 
void zero (multi1d< LatticeColorMatrix > &ds_u) const
 Zero some gauge-like field in place on the masked links. More...
 
bool nontrivialP () const
 Says if there are non-trivial BC links. More...
 
- Public Member Functions inherited from Chroma::FermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >
virtual ~FermBC ()
 Virtual destructor to help with cleanup;. More...
 
- Public Member Functions inherited from Chroma::BoundCond< P, Q >
virtual ~BoundCond ()
 Virtual destructor to help with cleanup;. More...
 

Private Member Functions

 BackgroundFermBC ()
 

Private Attributes

int gamma
 
Complex lambda
 
Handle< SimpleFermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > > simple_bc_handle
 

Detailed Description

template<class T>
class Chroma::BackgroundFermBC< T >

Concrete class for all fermionic actions with twisted boundary conditions.

Background BC

Definition at line 46 of file background_fermbc_w.h.

Constructor & Destructor Documentation

◆ BackgroundFermBC() [1/3]

template<class T >
Chroma::BackgroundFermBC< T >::BackgroundFermBC ( int  gamma_,
Complex  lambda_,
const multi1d< int > &  boundary_ 
)
inline

Only full constructor.

Parameters
boundary_phasesmultiply links on edge of lattice by boundary

NOTE: there is no real reason this is of type int, could be more general like Complex

Definition at line 60 of file background_fermbc_w.h.

◆ BackgroundFermBC() [2/3]

template<class T >
Chroma::BackgroundFermBC< T >::BackgroundFermBC ( const BackgroundFermBC< T > &  a)
inline

Copy constructor.

Definition at line 71 of file background_fermbc_w.h.

◆ ~BackgroundFermBC()

template<class T >
Chroma::BackgroundFermBC< T >::~BackgroundFermBC ( )
inline

Destructor is automatic.

Definition at line 78 of file background_fermbc_w.h.

◆ BackgroundFermBC() [3/3]

template<class T >
Chroma::BackgroundFermBC< T >::BackgroundFermBC ( )
inlineprivate

Definition at line 139 of file background_fermbc_w.h.

Member Function Documentation

◆ modify()

template<class T >
void Chroma::BackgroundFermBC< T >::modify ( multi1d< LatticeColorMatrix > &  u) const
inlinevirtual

◆ modifyF() [1/4]

template<class T >
void Chroma::BackgroundFermBC< T >::modifyF ( multi1d< T > &  psi) const
inlinevirtual

Modify fermion fields in place.

add the quark bilinear

Implements Chroma::FermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 117 of file background_fermbc_w.h.

◆ modifyF() [2/4]

template<class T >
void Chroma::BackgroundFermBC< T >::modifyF ( multi1d< T > &  psi,
const Subset &  s 
) const
inlinevirtual

Modify fermion fields in place under a subset.

add the quark bilinear

Implements Chroma::FermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 124 of file background_fermbc_w.h.

◆ modifyF() [3/4]

template<class T >
void Chroma::BackgroundFermBC< T >::modifyF ( T psi) const
inlinevirtual

◆ modifyF() [4/4]

template<class T >
void Chroma::BackgroundFermBC< T >::modifyF ( T psi,
const Subset &  s 
) const
inlinevirtual

Modify fermion fields in place under a subset.

add the quark bilinear

Implements Chroma::FermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 111 of file background_fermbc_w.h.

References Chroma::BackgroundFermBC< T >::gamma, Chroma::BackgroundFermBC< T >::lambda, Chroma::psi, and Chroma::s().

◆ nontrivialP()

template<class T >
bool Chroma::BackgroundFermBC< T >::nontrivialP ( ) const
inlinevirtual

Says if there are non-trivial BC links.

Implements Chroma::FermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 134 of file background_fermbc_w.h.

◆ operator=()

template<class T >
BackgroundFermBC& Chroma::BackgroundFermBC< T >::operator= ( const BackgroundFermBC< T > &  a)
inline

◆ zero()

template<class T >
void Chroma::BackgroundFermBC< T >::zero ( multi1d< LatticeColorMatrix > &  ds_u) const
inlinevirtual

Zero some gauge-like field in place on the masked links.

NOP

Implements Chroma::FermBC< T, multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > >.

Definition at line 131 of file background_fermbc_w.h.

Member Data Documentation

◆ gamma

template<class T >
int Chroma::BackgroundFermBC< T >::gamma
private

◆ lambda

template<class T >
Complex Chroma::BackgroundFermBC< T >::lambda
private

◆ simple_bc_handle

template<class T >
Handle< SimpleFermBC<T, multi1d<LatticeColorMatrix>, multi1d<LatticeColorMatrix> > > Chroma::BackgroundFermBC< T >::simple_bc_handle
private

Definition at line 148 of file background_fermbc_w.h.

Referenced by Chroma::BackgroundFermBC< T >::operator=().


The documentation for this class was generated from the following file: