CHROMA
inline_spectrum_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Inline spectrum calculations
4  *
5  * Spectrum calculations
6  */
7 
8 #error "THIS ROUTINE IS OBSOLETE"
9 
10 #ifndef __inline_spectrum_h__
11 #define __inline_spectrum_h__
12 
13 #include "chromabase.h"
15 #include "io/smearing_io.h"
16 
17 namespace Chroma
18 {
19  /*! \ingroup inlinehadron */
20  namespace InlineSpectrumEnv
21  {
22  extern const std::string name;
23  bool registerAll();
24  }
25 
26  //! Parameter structure
27  /*! \ingroup inlinehadron */
29  {
31  InlineSpectrumParams(XMLReader& xml_in, const std::string& path);
32  void write(XMLWriter& xml_out, const std::string& path);
33 
34  unsigned long frequency;
35 
36  struct Param_t
37  {
38  bool Pt_snk; // point sink
39  bool Sl_snk; // shell sink
40  bool Wl_snk; // wall sink
41 
42  bool MesonP; // Meson spectroscopy
43  bool CurrentP; // Meson currents
44  bool BaryonP; // Baryons spectroscopy
45 
46  bool HybMesP; // Hybrid meson spectroscopy
47  int numb_sm; // number of smearing levels for E- and B-fields
48  Real fact_sm; // Smearing factor for "smeared" E- and B-fields
49 
50  bool time_rev; // Use time reversal in baryon spectroscopy
51 
52  int mom2_max; // (mom)^2 <= mom2_max. mom2_max=7 in szin.
53  bool avg_equiv_mom; // average over equivalent momenta
54  WvfKind wvf_kind; // Wave function kind: gauge invariant
55  multi1d<Real> wvf_param; // Array of width's or other parameters
56  // for "shell" source/sink wave function
57  multi1d<int> wvfIntPar; // Array of iter numbers to approx. Gaussian or
58  // terminate CG inversion for Wuppertal smearing
59 
60  Real link_smear_fact; // smearing factor
61  int link_smear_num; // number of smearing hits
62  int BlkMax; /*!< Max number of iterations */
63  Real BlkAccu; /*!< Relative error to maximize trace */
64  } param;
65 
67  {
69  multi1d<std::string> prop_ids;
71 
72  std::string xml_file; // Alternate XML file pattern
73  };
74 
75 
76  //! Inline measurement of spectrum
77  /*! \ingroup inlinehadron */
79  {
80  public:
84 
85  unsigned long getFrequency(void) const {return params.frequency;}
86 
87  //! Do the measurement
88  void operator()(const unsigned long update_no,
89  XMLWriter& xml_out);
90 
91  protected:
92  //! Do the measurement
93  void func(const unsigned long update_no,
94  XMLWriter& xml_out);
95 
96  private:
98  };
99 
100 };
101 
102 #endif
Abstract inline measurements.
Primary include file for CHROMA library code.
Inline measurement of spectrum.
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.
InlineSpectrumParams params
void func(const unsigned long update_no, XMLWriter &xml_out)
Do the measurement.
InlineSpectrum(const InlineSpectrum &p)
InlineSpectrum(const InlineSpectrumParams &p)
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
::std::string string
Definition: gtest.h:1979
struct Chroma::InlineSpectrumParams::Param_t param
void write(XMLWriter &xml_out, const std::string &path)
struct Chroma::InlineSpectrumParams::NamedObject_t named_obj