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

Gamma(5) R hermitian linear operator. More...

#include <lg5Rherm_w.h>

Inheritance diagram for Chroma::lg5RHermArray< T >:
Chroma::LinearOperatorArray< T >

Public Member Functions

 lg5RHermArray (LinearOperatorArray< T > *p)
 Initialize pointer with existing pointer. More...
 
 lg5RHermArray (Handle< LinearOperatorArray< T > > p)
 Copy pointer (one more owner) More...
 
 lg5RHermArray (const lg5RHermArray &a)
 Assignment. More...
 
 ~lg5RHermArray ()
 Destructor. More...
 
const Subset & subset () const
 Subset comes from underlying operator. More...
 
int size () const
 The size of the 5D operator. More...
 
void operator() (multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign) const
 Apply the operator onto a source std::vector. More...
 
- Public Member Functions inherited from Chroma::LinearOperatorArray< T >
virtual ~LinearOperatorArray ()
 Virtual destructor to help with cleanup;. More...
 
virtual void operator() (multi1d< T > &chi, const multi1d< T > &psi, enum PlusMinus isign, Real epsilon) const
 Apply the operator onto a source std::vector to some precision. More...
 
virtual unsigned long nFlops () const
 

Private Attributes

Handle< LinearOperatorArray< T > > D
 

Detailed Description

template<typename T>
class Chroma::lg5RHermArray< T >

Gamma(5) R hermitian linear operator.

This routine is specific to DWF fermions!

This operator evaluates g5 R D where D the input DWF operator and R is the reflection matrix R_{s,s'}=\delta_{s, Ls-1-s'}

= ( 0 ...... 1 ) ( 0 .....1 0 ) ( 0 ...1 0 0 ) ( 0 .. 0 ) ( 0 1 ... 0 ) ( 1 0 0 ...0 )

Definition at line 32 of file lg5Rherm_w.h.

Constructor & Destructor Documentation

◆ lg5RHermArray() [1/3]

template<typename T >
Chroma::lg5RHermArray< T >::lg5RHermArray ( LinearOperatorArray< T > *  p)
inline

Initialize pointer with existing pointer.

Requires that the pointer p is a return value of new

Definition at line 37 of file lg5Rherm_w.h.

◆ lg5RHermArray() [2/3]

template<typename T >
Chroma::lg5RHermArray< T >::lg5RHermArray ( Handle< LinearOperatorArray< T > >  p)
inline

Copy pointer (one more owner)

Definition at line 40 of file lg5Rherm_w.h.

◆ lg5RHermArray() [3/3]

template<typename T >
Chroma::lg5RHermArray< T >::lg5RHermArray ( const lg5RHermArray< T > &  a)
inline

Assignment.

Definition at line 43 of file lg5Rherm_w.h.

References Chroma::a, and Chroma::lg5RHermArray< T >::D.

◆ ~lg5RHermArray()

template<typename T >
Chroma::lg5RHermArray< T >::~lg5RHermArray ( )
inline

Destructor.

Definition at line 46 of file lg5Rherm_w.h.

Member Function Documentation

◆ operator()()

template<typename T >
void Chroma::lg5RHermArray< T >::operator() ( multi1d< T > &  chi,
const multi1d< T > &  psi,
enum PlusMinus  isign 
) const
inlinevirtual

Apply the operator onto a source std::vector.

For this operator, the sign is ignored

Implements Chroma::LinearOperatorArray< T >.

Definition at line 56 of file lg5Rherm_w.h.

References Chroma::chi(), Chroma::lg5RHermArray< T >::D, N5, Chroma::PLUS, Chroma::psi, Chroma::s(), and Chroma::tmp.

◆ size()

template<typename T >
int Chroma::lg5RHermArray< T >::size ( void  ) const
inlinevirtual

The size of the 5D operator.

Implements Chroma::LinearOperatorArray< T >.

Definition at line 52 of file lg5Rherm_w.h.

References Chroma::lg5RHermArray< T >::D.

◆ subset()

template<typename T >
const Subset& Chroma::lg5RHermArray< T >::subset ( void  ) const
inlinevirtual

Subset comes from underlying operator.

Implements Chroma::LinearOperatorArray< T >.

Definition at line 49 of file lg5Rherm_w.h.

References Chroma::lg5RHermArray< T >::D.

Member Data Documentation

◆ D

template<typename T >
Handle< LinearOperatorArray<T> > Chroma::lg5RHermArray< T >::D
private

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