CHROMA
inline_propagator_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Inline construction of propagator
4  *
5  * Propagator calculations
6  */
7 
8 #ifndef __inline_propagator_h__
9 #define __inline_propagator_h__
10 
11 #include "chromabase.h"
13 #include "io/qprop_io.h"
14 
15 namespace Chroma
16 {
17  /*! \ingroup inlinehadron */
18  namespace InlinePropagatorEnv
19  {
20  extern const std::string name;
21  bool registerAll();
22  }
23 
24  //! Parameter structure
25  /*! \ingroup inlinehadron */
27  {
29  InlinePropagatorParams(XMLReader& xml_in, const std::string& path);
30  void writeXML(XMLWriter& xml_out, const std::string& path);
31 
32  unsigned long frequency;
33 
35 
37  {
42 
43  std::string xml_file; // Alternate XML file pattern
44  };
45 
46  //! Inline propagator calculation
47  /*! \ingroup inlinehadron */
49  {
50  public:
54 
55  unsigned long getFrequency(void) const {return params.frequency;}
56 
57  //! Do the measurement
58  void operator()(const unsigned long update_no,
59  XMLWriter& xml_out);
60 
61  protected:
62  //! Do the measurement
63  void func(const unsigned long update_no,
64  XMLWriter& xml_out);
65 
66  private:
68  };
69 
70 }
71 
72 #endif
Abstract inline measurements.
Primary include file for CHROMA library code.
Inline propagator calculation.
unsigned long getFrequency(void) const
Tell me how often I should measure this beastie.
InlinePropagator(const InlinePropagator &p)
InlinePropagator(const InlinePropagatorParams &p)
void func(const unsigned long update_no, XMLWriter &xml_out)
Do the measurement.
void operator()(const unsigned long update_no, XMLWriter &xml_out)
Do the measurement.
InlinePropagatorParams params
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
void writeXML(XMLWriter &xml_out, const std::string &path)
struct Chroma::InlinePropagatorParams::NamedObject_t named_obj