CHROMA
inline_prop_distillution_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Compute the propagator from distillution
4  *
5  * Propagator calculation in distillution
6  */
7 
8 #ifndef __inline_prop_distillution_w_h__
9 #define __inline_prop_distillution_w_h__
10 
11 #include "chromabase.h"
13 #include "io/qprop_io.h"
14 #include "io/xml_group_reader.h"
15 
16 namespace Chroma
17 {
18  /*! \ingroup inlinehadron */
19  namespace InlinePropDistillutionEnv
20  {
21  bool registerAll();
22 
23  //! Parameter structure
24  /*! \ingroup inlinehadron */
25  struct Params
26  {
27  Params();
28  Params(XMLReader& xml_in, const std::string& path);
29 
30  unsigned long frequency;
31 
32  struct Param_t
33  {
34  struct Contract_t
35  {
36  std::vector<int> quark_lines; /*!< Quark line numbers */
37  std::string mass; /*!< Some kind of mass label */
38  GroupXML_t quark_line_xml; /*!< Quark line xml */
39  };
40 
43  };
44 
46  {
47  bool save_solnP; /*!< Save solutions */
48  std::string gauge_id; /*!< Gauge field */
49  std::string distillution_id; /*!< Distillution factory */
50  std::string src_file; /*!< File output propagator sources */
51  std::string soln_file; /*!< File output propagator solutions */
52  };
53 
54 
57  std::string xml_file; /*!< Alternate XML file pattern */
58  };
59 
60 
61  //! Inline task for the propagator from distillution
62  /*! \ingroup inlinehadron */
64  {
65  public:
67  InlineMeas(const Params& p) : params(p) {}
69 
70  unsigned long getFrequency(void) const {return params.frequency;}
71 
72  //! Do the measurement
73  void operator()(const unsigned long update_no,
74  XMLWriter& xml_out);
75 
76  protected:
77  //! Do the measurement
78  void func(const unsigned long update_no,
79  XMLWriter& xml_out);
80 
81  private:
83  };
84 
85  } // namespace PropColorVec
86 
87 
88 }
89 
90 #endif
Abstract inline measurements.
Primary include file for CHROMA library code.
Inline task for the propagator from distillution.
unsigned long getFrequency(void) const
Tell me how often I should measure this beastie.
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.
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
Hold group xml and type id.
Read an XML group as a std::string.