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

Hex field state. More...

#include <hex_fermstate_w.h>

Inheritance diagram for Chroma::HexFermState< T, P, Q >:
Chroma::FermState< T, P, Q > Chroma::ConnectState< P, Q >

Public Member Functions

 HexFermState (Handle< FermBC< T, P, Q > > fbc_, const HexFermStateParams &p_, const Q &u_)
 Constructor only from a parameter structure. More...
 
const FermBC< T, P, Q > & getBC () const
 Return the ferm BC object for this state. More...
 
Handle< FermBC< T, P, Q > > getFermBC () const
 Return the ferm BC object for this state. More...
 
virtual ~HexFermState ()
 Destructor is automagic. More...
 
const QgetLinks () const
 Return FAT Linke. More...
 
const QgetThinLinks () const
 
void fatForceToThin (const P &F_fat, P &F_thin) const
 
virtual void deriv (P &F) const
 
- Public Member Functions inherited from Chroma::FermState< T, P, Q >
virtual ~FermState ()
 Virtual destructor to help with cleanup;. More...
 
- Public Member Functions inherited from Chroma::ConnectState< P, Q >
virtual ~ConnectState ()
 Virtual destructor to help with cleanup;. More...
 

Private Member Functions

 HexFermState ()
 
void create (Handle< FermBC< T, P, Q > > fbc_, const HexFermStateParams &p_, const Q &u_)
 

Private Attributes

Handle< FermBC< T, P, Q > > fbc
 
Q thin_links
 
Q smeared_links
 
Q fat_links_with_bc
 
HexFermStateParams params
 

Detailed Description

template<typename T, typename P, typename Q>
class Chroma::HexFermState< T, P, Q >

Hex field state.

Holds a hex smeared state

Definition at line 38 of file hex_fermstate_w.h.

Constructor & Destructor Documentation

◆ HexFermState() [1/2]

template<typename T , typename P , typename Q >
Chroma::HexFermState< T, P, Q >::HexFermState ( Handle< FermBC< T, P, Q > >  fbc_,
const HexFermStateParams p_,
const Q u_ 
)
inline

Constructor only from a parameter structure.

Definition at line 44 of file hex_fermstate_w.h.

References Chroma::HexFermState< T, P, Q >::create(), Chroma::END_CODE(), and Chroma::START_CODE().

◆ ~HexFermState()

template<typename T , typename P , typename Q >
virtual Chroma::HexFermState< T, P, Q >::~HexFermState ( )
inlinevirtual

Destructor is automagic.

Definition at line 60 of file hex_fermstate_w.h.

◆ HexFermState() [2/2]

template<typename T , typename P , typename Q >
Chroma::HexFermState< T, P, Q >::HexFermState ( )
inlineprivate

Definition at line 99 of file hex_fermstate_w.h.

Member Function Documentation

◆ create()

template<typename T , typename P , typename Q >
void Chroma::HexFermState< T, P, Q >::create ( Handle< FermBC< T, P, Q > >  fbc_,
const HexFermStateParams p_,
const Q u_ 
)
inlineprivate

◆ deriv()

template<typename T , typename P , typename Q >
virtual void Chroma::HexFermState< T, P, Q >::deriv ( P F) const
inlinevirtual

A virtual function to get the derivative of the state. This is useful for things like fat link states, where the derivative of the state with respect to the thin links is complicated. The default implementation just multiplies the accumulated force by the (thin) links, which works because $\dot{U} = \pi U$ and the pi momenta get factored out this function modifies the force term

Reimplemented from Chroma::ConnectState< P, Q >.

Definition at line 86 of file hex_fermstate_w.h.

References Chroma::END_CODE(), and Chroma::START_CODE().

◆ fatForceToThin()

template<typename T , typename P , typename Q >
void Chroma::HexFermState< T, P, Q >::fatForceToThin ( const P F_fat,
P F_thin 
) const
inline

Definition at line 75 of file hex_fermstate_w.h.

References Chroma::END_CODE(), and Chroma::START_CODE().

◆ getBC()

template<typename T , typename P , typename Q >
const FermBC<T,P,Q>& Chroma::HexFermState< T, P, Q >::getBC ( ) const
inlinevirtual

Return the ferm BC object for this state.

Implements Chroma::FermState< T, P, Q >.

Definition at line 54 of file hex_fermstate_w.h.

References Chroma::HexFermState< T, P, Q >::fbc.

◆ getFermBC()

template<typename T , typename P , typename Q >
Handle< FermBC<T,P,Q> > Chroma::HexFermState< T, P, Q >::getFermBC ( ) const
inlinevirtual

Return the ferm BC object for this state.

Implements Chroma::FermState< T, P, Q >.

Definition at line 57 of file hex_fermstate_w.h.

References Chroma::HexFermState< T, P, Q >::fbc.

◆ getLinks()

template<typename T , typename P , typename Q >
const Q& Chroma::HexFermState< T, P, Q >::getLinks ( ) const
inlinevirtual

Return FAT Linke.

Implements Chroma::ConnectState< P, Q >.

Definition at line 63 of file hex_fermstate_w.h.

References Chroma::HexFermState< T, P, Q >::fat_links_with_bc.

◆ getThinLinks()

template<typename T , typename P , typename Q >
const Q& Chroma::HexFermState< T, P, Q >::getThinLinks ( ) const
inline

Definition at line 69 of file hex_fermstate_w.h.

References Chroma::HexFermState< T, P, Q >::thin_links.

Member Data Documentation

◆ fat_links_with_bc

template<typename T , typename P , typename Q >
Q Chroma::HexFermState< T, P, Q >::fat_links_with_bc
private

◆ fbc

template<typename T , typename P , typename Q >
Handle< FermBC<T,P,Q> > Chroma::HexFermState< T, P, Q >::fbc
private

◆ params

template<typename T , typename P , typename Q >
HexFermStateParams Chroma::HexFermState< T, P, Q >::params
private

Definition at line 142 of file hex_fermstate_w.h.

Referenced by Chroma::HexFermState< T, P, Q >::create().

◆ smeared_links

template<typename T , typename P , typename Q >
Q Chroma::HexFermState< T, P, Q >::smeared_links
private

Definition at line 139 of file hex_fermstate_w.h.

Referenced by Chroma::HexFermState< T, P, Q >::create().

◆ thin_links

template<typename T , typename P , typename Q >
Q Chroma::HexFermState< T, P, Q >::thin_links
private

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