QNANO
TB_Hopping_Parameter.h
1 #ifndef QNANO_NEW_TB_HOPPING_PARAMETER_DEFINED_H
2 #define QNANO_NEW_TB_HOPPING_PARAMETER_DEFINED_H
3 
4 #include "tools/Reader.h"
5 
6 
12 public:
13  static const size_t PARVEC_SIZE=(21+21);
14  union {
15  double parvec[PARVEC_SIZE];
16  struct{
17  double T_ss,T_sp,T_ps;
18  double T_pp_sigma,T_pp_pi;
19  double T_ssstar, T_sstars,T_psstar,T_sstarp,T_sstarsstar;
20  double T_sd,T_ds, T_pd_sigma,T_dp_sigma,T_pd_pi,T_dp_pi;
21  double T_sstard,T_dsstar;
22  double T_dd_sigma,T_dd_pi,T_dd_delta;
23 
24  double N_ss,N_sp,N_ps;
25  double N_pp_sigma,N_pp_pi;
26  double N_ssstar, N_sstars,N_psstar,N_sstarp,N_sstarsstar;
27  double N_sd,N_ds, N_pd_sigma,N_dp_sigma,N_pd_pi,N_dp_pi;
28  double N_sstard,N_dsstar;
29  double N_dd_sigma,N_dd_pi,N_dd_delta;
30  };
31  };
32 
33  //Get pointer to variable by name:
34  double * name_to_ptr(const std::string &str);
35  double * name_to_ptr_check(const std::string &str, const std::string &complain="");
36 
37 
38  void print(int e1, int e2, std::ostream &os=std::cout)const;
39  void print(int e1, int e2, const std::string &filename)const;
40 
41  void clear(){
42  for(size_t i=0; i<PARVEC_SIZE; i++)parvec[i]=0;
43  }
45  clear();
46  }
47 
48 };
49 
50 #endif
Definition: TB_Hopping_Parameter.h:11