QMCPACK
SkParserBase.h
Go to the documentation of this file.
1 #ifndef SK_PARSER_BASE_H
2 #define SK_PARSER_BASE_H
3 
4 #include "einspline/bspline.h"
5 #include "einspline/bspline_structs.h"
6 #include "Configuration.h"
8 #include <vector>
9 
10 
11 namespace qmcplusplus
12 {
13 /** Base class for Sk parser
14  *
15  * parse is the only pure virtual function that must be overridden
16  * holds various information about S(k) and access functions used by
17  * qmcfinitesize
18  */
19 class SkParserBase : public QMCTraits
20 {
21 public:
23 
24  SkParserBase();
25  virtual ~SkParserBase() {}
26 
27  virtual void parse(const std::string& fname) = 0;
28 
29 
31  void get_sk(std::vector<RealType>& sk, std::vector<RealType>& skerr);
32 
33  std::vector<PosType> get_grid_raw() { return kgridraw; };
34  std::vector<RealType> get_sk_raw() { return skraw; };
35  std::vector<RealType> get_skerr_raw() { return skerr_raw; };
36 
37  void compute_sk();
38  void set_grid(const std::vector<PosType>& gridpoints);
39  void set_grid(const std::vector<TinyVector<int, OHMMS_DIM>>& gridpoints);
40 
41  void compute_grid();
42 
43  inline bool is_normalized() { return isNormalized; }
44  inline bool has_grid() { return hasGrid; }
45 
46  void setName(std::string in_name) { skname = in_name; }
47 
48 protected:
52  bool hasGrid;
54 
58 
59  std::vector<RealType> skraw;
60  std::vector<RealType> skerr_raw;
61  std::vector<PosType> kgridraw;
62 
63  std::vector<RealType> sk;
64  std::vector<RealType> skerr;
65  std::vector<PosType> kgrid;
66 
67  std::string skname;
68 };
69 
70 } // namespace qmcplusplus
71 #endif
std::vector< RealType > skerr_raw
Definition: SkParserBase.h:60
void get_sk(std::vector< RealType > &sk, std::vector< RealType > &skerr)
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
std::vector< PosType > kgridraw
Definition: SkParserBase.h:61
std::vector< RealType > skraw
Definition: SkParserBase.h:59
std::vector< RealType > get_skerr_raw()
Definition: SkParserBase.h:35
std::vector< PosType > kgrid
Definition: SkParserBase.h:65
Decalaration of One-Dimesional grids.
std::vector< PosType > get_grid_raw()
Definition: SkParserBase.h:33
virtual void parse(const std::string &fname)=0
void get_grid(Grid_t &xgrid, Grid_t &ygrid, Grid_t &zgrid)
std::vector< RealType > get_sk_raw()
Definition: SkParserBase.h:34
void set_grid(const std::vector< PosType > &gridpoints)
traits for QMC variables
Definition: Configuration.h:49
void setName(std::string in_name)
Definition: SkParserBase.h:46
Base class for Sk parser.
Definition: SkParserBase.h:19
std::vector< RealType > sk
Definition: SkParserBase.h:63
std::vector< RealType > skerr
Definition: SkParserBase.h:64