QNANO
K_Point_List.h
1 #ifndef QNANO_NEW_KPOINT_LIST_DEFINED_H
2 #define QNANO_NEW_KPOINT_LIST_DEFINED_H
3 
4 #include "tools/List_Class.h"
5 #include "structure/Lattice.h"
6 #include "tools/Parameter_Map.h"
7 
8 
13 class K_Point_List: public List_Class<Vec3d> {
14 public:
16  Vec3d get_k(int i, const Lattice &lat)const;
17 
19  virtual void setup(Parameter_Map &param_map);
21  virtual void read(const std::string &filename);
23  void print(const std::string &filename)const;
24 
26  void add_path(const Vec3d &from, const Vec3d &to, int N);
27 
28 
29  K_Point_List(){}
30  K_Point_List(Parameter_Map &param_map){ setup(param_map); }
31  K_Point_List(const std::string &filename){
32  read(filename);
33  }
34 
35 };
36 
37 #endif
Definition: Parameter_Map.h:12
Class to store positions and to handle operations on 3d vectors.
Definition: Vec3d.h:9
Definition: List_Class.h:8
void print(const std::string &filename) const
print
Definition: K_Point_List.cc:99
Definition: K_Point_List.h:13
virtual void setup(Parameter_Map &param_map)
setup from command line parameters
Definition: K_Point_List.cc:7
Vec3d get_k(int i, const Lattice &lat) const
get k-vector; convert from lattice units to 1/nm using the specified lattice
Definition: K_Point_List.cc:3
virtual void read(const std::string &filename)
read from Quantum Espresso file
Definition: K_Point_List.cc:49
Definition: Lattice.h:36
void add_path(const Vec3d &from, const Vec3d &to, int N)
add path with N equidistant sample points excluding the point &#39;to&#39; (Quantum Espresso convention) ...
Definition: K_Point_List.cc:108