CHROMA
inline_static_prop_colorvec_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Compute a static prop (1/2)*(1+gamma_4)U*U*...U * multi1d<LatticeColorVector>
4  *
5  * Static propagator calculation on a colorstd::vector
6  */
7 
8 #ifndef __inline_static_prop_colorvec_w_h__
9 #define __inline_static_prop_colorvec_w_h__
10 
11 #include "chromabase.h"
13 #include "io/qprop_io.h"
14 #include "io/xml_group_reader.h"
15 
16 namespace Chroma
17 {
18  /*! \ingroup inlinehadron */
19  namespace InlineStaticPropColorVecEnv
20  {
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 
30  unsigned long frequency;
31 
32  struct Param_t
33  {
34  struct Contract_t
35  {
36  int num_vecs; /*!< Number of color vectors to use */
37  int decay_dir; /*!< Decay direction */
38  multi1d<int> t_sources; /*!< Array of time slice sources for static props */
39  };
40 
42  } param;
43 
44  GroupXML_t map_obj_params; /*!< Parameters for MapObj factory */
46  {
47  std::string gauge_id; /*!< Gauge field */
48  std::string colorvec_id; /*!< LatticeColorVector EigenInfo */
49  std::string prop_id; /*!< Id for output propagator solutions */
50  GroupXML_t prop_obj; /*!< Map for output propagator solutions */
52 
53  std::string xml_file; // Alternate XML file pattern
54  };
55 
56 
57  //! Inline task for compute LatticeColorVector matrix elements of a static propagator
58  /*! \ingroup inlinehadron */
60  {
61  public:
63  InlineMeas(const Params& p) : params(p) {}
65 
66  unsigned long getFrequency(void) const {return params.frequency;}
67 
68  //! Do the measurement
69  void operator()(const unsigned long update_no,
70  XMLWriter& xml_out);
71 
72  protected:
73  //! Do the measurement
74  void func(const unsigned long update_no,
75  XMLWriter& xml_out);
76 
77  private:
79  };
80 
81  } // namespace PropColorVec
82 
83 
84 }
85 
86 #endif
Abstract inline measurements.
Primary include file for CHROMA library code.
Inline task for compute LatticeColorVector matrix elements of a static propagator.
void func(const unsigned long update_no, XMLWriter &xml_out)
Do the measurement.
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.
Hold group xml and type id.
struct Chroma::InlineStaticPropColorVecEnv::Params::NamedObject_t named_obj
struct Chroma::InlineStaticPropColorVecEnv::Params::Param_t param
Read an XML group as a std::string.