QNANO
Select_Orbitals_List.h
1 #ifndef QNANO_NEW_SELECT_ORBITALS_LIST_DEFINED_H
2 #define QNANO_NEW_SELECT_ORBITALS_LIST_DEFINED_H
3 
4 #include "tools/Has_Print.h"
5 #include "tools/List_Class.h"
6 #include "tools/Parameter_Map.h"
7 #include "orbitals/Select_Orbitals.h"
8 #include "structure/Atom_List.h"
9 
10 class Select_Orbitals_List: public List_Class<Select_Orbitals>, public Has_Print {
11  bool spinless;
12 public:
13  bool is_spinless()const{return spinless;}
14  void check_spin_consistency();
15 
16  void setup(Parameter_Map &map);
17  void add_from_material_file(const std::string &res_dir, const std::string &materialfile);
18  void add_from_positions_file(const std::string &materialdirectory, const std::string &positionfile);
19 
20  Select_Orbitals_List():spinless(true){}
21  Select_Orbitals_List(Parameter_Map &param_map){ setup(param_map);}
22 
23  virtual int find(int element)const;
24  virtual int find_check(int element)const;
25  void print(std::ostream &ofs=std::cout)const;
26 
27  const Select_Orbitals & get_from_element(int element)const{return list[find_check(element)];}
28 
29 };
30 
31 #endif
Definition: Parameter_Map.h:12
Interface for classes that have a "print" function.
Definition: Has_Print.h:7
Definition: Select_Orbitals.h:11
Definition: List_Class.h:8
Definition: Select_Orbitals_List.h:10