CHROMA
inline_gauge_transf_obj.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Inline task gauge transform some fermion object
4  *
5  * Gauge transform a named object
6  */
7 
8 #ifndef __inline_gauge_transf_obj_h__
9 #define __inline_gauge_transf_obj_h__
10 
11 #include "chromabase.h"
13 
14 namespace Chroma
15 {
16  /*! \ingroup inlinehadron */
17  namespace InlineGaugeTransfNamedObjEnv
18  {
19  bool registerAll();
20 
21  //! Parameter structure
22  /*! \ingroup inlinehadron */
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 
32  {
33  std::string gauge_rot_id; /*!< random gauge transformation fields */
34  std::string input_id; /*!< input object */
35  std::string output_id; /*!< output object */
36  std::string object_type; /*!< type of the object, like LatticePropagator, etc. */
38  };
39 
40  //! Gauge transform a named object
41  /*! \ingroup inlinehadron */
43  {
44  public:
46  InlineMeas(const Params& p) : params(p) {}
48 
49  unsigned long getFrequency(void) const {return params.frequency;}
50 
51  //! Do the writing
52  void operator()(const unsigned long update_no,
53  XMLWriter& xml_out);
54 
55  private:
57  };
58 
59  } // InlineGaugeTransfNamedObjEnv
60 
61 } // namespace Chroma
62 
63 #endif
Abstract inline measurements.
Primary include file for CHROMA library code.
unsigned long getFrequency(void) const
Tell me how often I should measure this beastie.
void operator()(const unsigned long update_no, XMLWriter &xml_out)
Do the writing.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
::std::string string
Definition: gtest.h:1979
void writeXML(XMLWriter &xml_out, const std::string &path)
struct Chroma::InlineGaugeTransfNamedObjEnv::Params::NamedObject_t named_obj