CHROMA
sf_pt_source_const.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Point source construction for Schroedinger Functional
4  */
5 
6 #ifndef __sf_pt_source_const_h__
7 #define __sf_pt_source_const_h__
8 
10 #include "io/xml_group_reader.h"
12 
13 namespace Chroma
14 {
15 
16  //! Name and registration
17  /*! @ingroup sources */
18  namespace SFPointQuarkSourceConstEnv
19  {
20  bool registerAll();
21 
22  //! Return the name
24 
25  //! SFPoint source parameters
26  /*! @ingroup sources */
27  struct Params
28  {
29  Params();
30  Params(XMLReader& in, const std::string& path);
31  void writeXML(XMLWriter& in, const std::string& path) const;
32 
33  GroupXML_t quark_displacement; /*!< displacement xml */
34  GroupXML_t link_smearing; /*!< link smearing xml */
35 
36  GroupXML_t fermbc; /*!< xml std::string holding smearing params */
37  PlusMinus direction; /*!< direction for decay */
38 
39  int j_decay; /*!< decay direction */
40  multi1d<int> t_srce; /*!< source location */
41  };
42 
43 
44  //! Point source construction for Schroedinger functional
45  /*! @ingroup sources
46  *
47  * Create a point propagator source
48  */
49  template<typename T>
51  {
52  public:
53  //! Full constructor
54  SourceConst(const Params& p) : params(p) {}
55 
56  //! Construct the source
57  T operator()(const multi1d<LatticeColorMatrix>& u) const;
58 
59  private:
60  //! Hide partial constructor
62 
63  private:
64  Params params; /*!< source params */
65  };
66 
67  } // end namespace
68 
69 } // end namespace Chroma
70 
71 
72 #endif
Base class for quark source construction.
Point source construction for Schroedinger functional.
SourceConst(const Params &p)
Full constructor.
T operator()(const multi1d< LatticeColorMatrix > &u) const
Construct the source.
Plus/Minus type enum from Chroma.
std::string getName()
Return the name.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
static multi1d< LatticeColorMatrix > u
LinOpSysSolverMGProtoClover::T T
static QDP_ColorVector * in
::std::string string
Definition: gtest.h:1979
Source construction.
Hold group xml and type id.
void writeXML(XMLWriter &in, const std::string &path) const
Read an XML group as a std::string.