CHROMA
inline_link_smear.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Inline link smearing
4  */
5 
6 #ifndef __inline_link_smear_h__
7 #define __inline_link_smear_h__
8 
9 #include "chromabase.h"
11 #include "io/xml_group_reader.h"
12 
13 namespace Chroma
14 {
15  /*! \ingroup inlinesmear */
16  namespace InlineLinkSmearEnv
17  {
18  extern const std::string name;
19  bool registerAll();
20 
21 
22  //! Parameter structure
23  struct Params
24  {
25  Params();
26  Params(XMLReader& xml_in, const std::string& path);
27  void writeXML(XMLWriter& xml_out, const std::string& path);
28 
29  unsigned long frequency;
30 
31  GroupXML_t link_smearing; /*!< link smearing xml */
32 
34  {
35  std::string gauge_id; /*!< Input gauge field */
36  std::string linksmear_id; /*!< Output memory object ape config */
37 
39 
40  };
41 
42  //! Inline link smearing
44  {
45  public:
47  InlineMeas(const Params& p) : params(p) {}
49 
50  unsigned long getFrequency(void) const {return params.frequency;}
51 
52  //! Do the measurement
53  void operator()(const unsigned long update_no,
54  XMLWriter& xml_out);
55 
56  private:
58  };
59 
60  }
61 
62 }
63 
64 #endif
Abstract inline measurements.
Primary include file for CHROMA library code.
void operator()(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.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
::std::string string
Definition: gtest.h:1979
Hold group xml and type id.
void writeXML(XMLWriter &xml_out, const std::string &path)
struct Chroma::InlineLinkSmearEnv::Params::NamedObject_t named_obj
Read an XML group as a std::string.