CHROMA
inline_prop_distillation_stoch_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Compute the propagator from distillation
4  *
5  * Propagator calculation in distillation
6  */
7 
8 #ifndef __inline_prop_distillation_stoch_w_h__
9 #define __inline_prop_distillation_stoch_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 InlinePropDistillationStochEnv
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 props */
39  int Nt_forward; /*!< Time-slices in the forward direction */
40  int Nt_backward; /*!< Time-slices in the backward direction */
41  std::string mass_label; /*!< Some kind of mass label */
42  multi1d<int> spatial_mask_size; /*!< Array of time slice sources for props */
43  };
44 
47  };
48 
50  {
51  std::string gauge_id; /*!< Gauge field */
52  std::string src_file; /*!< File output propagator sources */
53  std::string soln_file; /*!< File output propagator solutions */
54  std::string prop_file; /*!< File output propagator solutions */
55  };
56 
59  std::string xml_file; /*!< Alternate XML file pattern */
60  };
61 
62 
63  //! Inline task for the propagator from distillation
64  /*! \ingroup inlinehadron */
66  {
67  public:
69  InlineMeas(const Params& p) : params(p) {}
71 
72  unsigned long getFrequency(void) const {return params.frequency;}
73 
74  //! Do the measurement
75  void operator()(const unsigned long update_no,
76  XMLWriter& xml_out);
77 
78  protected:
79  //! Do the measurement
80  void func(const unsigned long update_no,
81  XMLWriter& xml_out);
82 
83  private:
85  };
86 
87  } // namespace PropColorVec
88 
89 
90 }
91 
92 #endif
Abstract inline measurements.
Primary include file for CHROMA library code.
Inline task for the propagator from distillation.
void func(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.
void operator()(const unsigned long update_no, XMLWriter &xml_out)
Do the measurement.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
::std::string string
Definition: gtest.h:1979
Routines associated with Chroma propagator IO.
Propagator parameters.
Definition: qprop_io.h:75
Read an XML group as a std::string.