CHROMA
inline_qqq_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Inline construction of qqq_w
4  *
5  * QQQ calcs
6  */
7 
8 #ifndef __inline_qqq_w_h__
9 #define __inline_qqq_w_h__
10 
11 #include "chromabase.h"
13 #include "io/qprop_io.h"
14 
15 namespace Chroma
16 {
17  /*! \ingroup inlinehadron */
18  namespace InlineQQQEnv
19  {
20  extern const std::string name;
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  void writeXML(XMLWriter& xml_out, const std::string& path);
30 
31  unsigned long frequency;
32 
33  struct Param_t
34  {
35  multi1d<QQQSpinIndices_t> spin_indices;
36  bool sparseP;
37  bool Dirac_basis; // Use the Dirac basis for output?
38  } param;
39 
41  {
42  std::string gauge_id; /*!< Input gauge field */
43  multi1d<std::string> prop_ids; /*!< Input sink smeared propagators */
44  std::string qqq_file; /*!< Output qqq file */
46  };
47 
48 
49  //! Inline measurement of QQQ's
50  /*! \ingroup inlinehadron */
52  {
53  public:
55  InlineMeas(const Params& p) : params(p) {}
57 
58  unsigned long getFrequency(void) const {return params.frequency;}
59 
60  //! Do the measurement
61  void operator()(const unsigned long update_no,
62  XMLWriter& xml_out);
63 
64  private:
66  };
67 
68  }
69 
70 }
71 
72 #endif
Abstract inline measurements.
Primary include file for CHROMA library code.
Inline measurement of QQQ's.
Definition: inline_qqq_w.h:52
void operator()(const unsigned long update_no, XMLWriter &xml_out)
Do the measurement.
InlineMeas(const InlineMeas &p)
Definition: inline_qqq_w.h:56
unsigned long getFrequency(void) const
Tell me how often I should measure this beastie.
Definition: inline_qqq_w.h:58
const std::string name
Definition: inline_qqq_w.cc:33
bool registerAll()
Register all the factories.
Definition: inline_qqq_w.cc:36
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
::std::string string
Definition: gtest.h:1979
Routines associated with Chroma propagator IO.
multi1d< QQQSpinIndices_t > spin_indices
Definition: inline_qqq_w.h:35
Parameter structure.
Definition: inline_qqq_w.h:26
struct Chroma::InlineQQQEnv::Params::Param_t param
struct Chroma::InlineQQQEnv::Params::NamedObject_t named_obj
void writeXML(XMLWriter &xml_out, const std::string &path)