CHROMA
distillution_noise.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! \file
3  * \brief Support for distillution - random time-slices and quark line noises
4  */
5 
6 #ifndef __distillution_noise_h__
7 #define __distillution_noise_h__
8 
9 #include "chromabase.h"
10 
11 namespace Chroma
12 {
13  //---------------------------------------------------------------------
14  //! Keys for lattice noise
15  /*!
16  * \ingroup ferm
17  *
18  * Key is used to generate a random number sequence
19  */
21  {
22  int num_vecs; /*!< Number of eigenvectors */
23  int quark_line; /*!< Quark line */
24  bool annih; /*!< Annihilation quark line */
25  std::string mass; /*!< Mass label */
26  };
27 
28 
29  //---------------------------------------------------------------------
30  //! Lattice origin
31  /*! \ingroup ferm */
33  {
34  public:
35  //! Default constructor
36  DistillutionNoise(const std::string& ensemble, const std::string& sequence_label, int decay_dir);
37 
38  //! Destructor
40 
41  //! Return the ensemble
42  virtual std::string getEnsemble() const {return ensemble;}
43 
44  //! Return the sequence
45  virtual std::string getSequence() const {return seqno;}
46 
47  //! Return the decay direction
48  virtual int getDecayDir() const {return decay_dir;}
49 
50  //! Return the actual time origin
51  virtual int getOrigin() const {return t_origin;}
52 
53  //! Convenience - get shifted time
54  /*!< Returns the shifted time taking account of periodicity */
55  virtual int getTime(int t_slice) const;
56 
57  //! Return the RN-s needed for this line
58  /*! Indexing is (t_slice,vector_num) */
59  virtual multi2d<Complex> getRNG(const DistQuarkLines_t& info) const;
60 
61  private:
62  std::string ensemble; /*!< Ensemble used for seed of RNG */
63  std::string seqno; /*!< Sequence label used for seed of RNG */
64  int decay_dir; /*!< Decay direction */
65  int t_origin; /*!< Actual time origin */
66  };
67 
68 } // namespace Chroma
69 
70 #endif
Primary include file for CHROMA library code.
virtual std::string getSequence() const
Return the sequence.
virtual int getTime(int t_slice) const
Convenience - get shifted time.
virtual int getDecayDir() const
Return the decay direction.
virtual std::string getEnsemble() const
Return the ensemble.
DistillutionNoise(const std::string &ensemble, const std::string &sequence_label, int decay_dir)
Default constructor.
virtual multi2d< Complex > getRNG(const DistQuarkLines_t &info) const
Return the RN-s needed for this line.
virtual int getOrigin() const
Return the actual time origin.
int t_slice
Definition: meslate.cc:23
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
static QOP_info_t info
::std::string string
Definition: gtest.h:1979
Keys for lattice noise.