CHROMA
inline_propagator_ferm_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Inline construction of propagator returning only a single lattice fermion
4  *
5  * Propagator calculations
6  */
7 
8 #ifndef __inline_propagator_ferm_h__
9 #define __inline_propagator_ferm_h__
10 
11 #include "chromabase.h"
13 #include "io/qprop_io.h"
14 
15 namespace Chroma
16 {
17  /*! \ingroup inlinehadron */
18  namespace InlinePropagatorFermEnv
19  {
20  bool registerAll();
21  }
22 
23  //! Parameter structure
24  /*! \ingroup inlinehadron */
26  {
28  InlinePropagatorFermParams(XMLReader& xml_in, const std::string& path);
29 
30  unsigned long frequency;
31 
33 
35  {
40 
41  std::string xml_file; // Alternate XML file pattern
42  };
43 
44  //! Reader
45  /*! \ingroup inlinehadron */
46  void read(XMLReader& xml, const std::string& path, InlinePropagatorFermParams& param);
47 
48  //! Writer
49  /*! \ingroup inlinehadron */
50  void write(XMLWriter& xml, const std::string& path, const InlinePropagatorFermParams& param);
51 
52 
53  //! Inline task for generating propagators
54  /*! \ingroup inlinehadron */
56  {
57  public:
61 
62  unsigned long getFrequency(void) const {return params.frequency;}
63 
64  //! Do the measurement
65  void operator()(const unsigned long update_no,
66  XMLWriter& xml_out);
67 
68  protected:
69  //! Do the measurement
70  void func(const unsigned long update_no,
71  XMLWriter& xml_out);
72 
73  private:
75  };
76 
77 }
78 
79 #endif
Abstract inline measurements.
Primary include file for CHROMA library code.
Inline task for generating propagators.
InlinePropagatorFerm(const InlinePropagatorFerm &p)
void operator()(const unsigned long update_no, XMLWriter &xml_out)
Do the measurement.
InlinePropagatorFerm(const InlinePropagatorFermParams &p)
InlinePropagatorFermParams params
void func(const unsigned long update_no, XMLWriter &xml_out)
Do the measurement.
unsigned long getFrequency(void) const
Tell me how often I should measure this beastie.
void read(XMLReader &xml, const std::string &path, AsqtadFermActParams &param)
Read parameters.
void write(XMLWriter &xml, const std::string &path, const AsqtadFermActParams &param)
Writer parameters.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
::std::string string
Definition: gtest.h:1979
Routines associated with Chroma propagator IO.
Propagator parameters.
Definition: qprop_io.h:75
struct Chroma::InlinePropagatorFermParams::NamedObject_t named_obj