CHROMA
inline_diquark_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Inline construction of the diquark within a QQQ
4  *
5  * Diquarks for QQQ calcs
6  */
7 
8 #ifndef __inline_diquark_w_h__
9 #define __inline_diquark_w_h__
10 
11 #include "chromabase.h"
13 #include "io/qprop_io.h"
14 
15 namespace Chroma
16 {
17  /*! \ingroup inlinehadron */
18  namespace InlineDiquarkEnv
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  bool Dirac_basis; /*!< Use the Dirac basis for output? */
36  } param;
37 
39  {
40  std::string gauge_id; /*!< Input gauge field */
41  multi1d<std::string> prop_ids; /*!< Input sink smeared propagators */
42  std::string diquark_id; /*!< Output qqq file */
44  };
45 
46 
47  //! Inline computation of diquarks for QQQ
48  /*! \ingroup inlinehadron */
50  {
51  public:
53  InlineMeas(const Params& p) : params(p) {}
55 
56  unsigned long getFrequency(void) const {return params.frequency;}
57 
58  //! Do the measurement
59  void operator()(const unsigned long update_no,
60  XMLWriter& xml_out);
61 
62  private:
64  };
65 
66  }
67 
68 }
69 
70 #endif
Abstract inline measurements.
Primary include file for CHROMA library code.
Inline computation of diquarks for QQQ.
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 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.
struct Chroma::InlineDiquarkEnv::Params::Param_t param
void writeXML(XMLWriter &xml_out, const std::string &path)
struct Chroma::InlineDiquarkEnv::Params::NamedObject_t named_obj