CHROMA
dilution_scheme.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Dilution Schemes
4  */
5 
6 #ifndef __dilution_scheme_h__
7 #define __dilution_scheme_h__
8 
9 #include "chromabase.h"
10 
11 namespace Chroma
12 {
13  //! Abstract dilution scheme
14  /*! @ingroup hadron
15  *
16  * Supports creation of (abstract) dilution schemes used in
17  * stochastic sources and solutions
18  */
19  template<typename T>
21  {
22  public:
23  //! Virtual destructor to help with cleanup;
24  virtual ~DilutionScheme() {}
25 
26  //! The decay direction
27  virtual int getDecayDir() const = 0;
28 
29  //! The seed identifies this quark
30  virtual const Seed& getSeed() const = 0;
31 
32  virtual int getT0(int t0) const = 0 ;
33 
34  virtual int getDilSize(int t0) const = 0 ;
35 
36  virtual int getNumTimeSlices() const = 0;
37 
38  virtual Real getKappa() const = 0;
39 
40  virtual std::string getCfgInfo() const = 0;
41 
42  virtual std::string getPropHeader(int t0, int dil) const = 0;
43 
44  virtual std::string getSourceHeader(int t0, int dil) const = 0;
45 
46  //! Return the diluted source std::vector
47  /*! MAYBE THIS SHOULD BE A CONST REFERENCE?? PROBABLY NO */
48  virtual T dilutedSource(int t0, int dil ) const = 0;
49 
50  //! Return the solution std::vector corresponding to the diluted source
51  /*! MAYBE THIS SHOULD BE A CONST REFERENCE?? POSSIBLY YES */
52  virtual T dilutedSolution(int t0, int dil ) const = 0;
53 
54  };
55 
56 } // namespace Chroma
57 
58 
59 #endif
Primary include file for CHROMA library code.
Abstract dilution scheme.
virtual T dilutedSolution(int t0, int dil) const =0
Return the solution std::vector corresponding to the diluted source.
virtual std::string getSourceHeader(int t0, int dil) const =0
virtual T dilutedSource(int t0, int dil) const =0
Return the diluted source std::vector.
virtual Real getKappa() const =0
virtual int getNumTimeSlices() const =0
virtual const Seed & getSeed() const =0
The seed identifies this quark.
virtual int getT0(int t0) const =0
virtual ~DilutionScheme()
Virtual destructor to help with cleanup;.
virtual int getDecayDir() const =0
The decay direction.
virtual std::string getPropHeader(int t0, int dil) const =0
virtual int getDilSize(int t0) const =0
virtual std::string getCfgInfo() const =0
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
LinOpSysSolverMGProtoClover::T T
::std::string string
Definition: gtest.h:1979