CHROMA
inline_qqq_diquark_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Inline construction of QQQ's using a diquark
4  *
5  * QQQ calcs using a diquark
6  */
7 
8 #ifndef __inline_qqq_diquark_w_h__
9 #define __inline_qqq_diquark_w_h__
10 
11 #include "chromabase.h"
13 #include "io/qprop_io.h"
14 
15 namespace Chroma
16 {
17  /*! \ingroup inlinehadron */
18  namespace InlineQQQDiquarkEnv
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  std::string diquark_id; /*!< Diquark id */
44  std::string prop_id; /*!< Input sink smeared propagators - the 3rd quark */
45  std::string qqq_file; /*!< Output qqq file */
47  };
48 
49 
50  //! Inline measurement of QQQ's
51  /*! \ingroup inlinehadron */
53  {
54  public:
56  InlineMeas(const Params& p) : params(p) {}
58 
59  unsigned long getFrequency(void) const {return params.frequency;}
60 
61  //! Do the measurement
62  void operator()(const unsigned long update_no,
63  XMLWriter& xml_out);
64 
65  private:
67  };
68 
69  }
70 
71 }
72 
73 #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
Routines associated with Chroma propagator IO.
struct Chroma::InlineQQQDiquarkEnv::Params::Param_t param
struct Chroma::InlineQQQDiquarkEnv::Params::NamedObject_t named_obj
void writeXML(XMLWriter &xml_out, const std::string &path)