/********************************************************** This software is part of J.-S. Caux's ABACUS library. Copyright (c) J.-S. Caux. ----------------------------------------------------------- File: ABACUS_State_Ensemble.h Purpose: Define state ensembles. ***********************************************************/ #ifndef ABACUS_STATE_ENSEMBLE_H #define ABACUS_STATE_ENSEMBLE_H #include "ABACUS.h" namespace ABACUS { struct LiebLin_Diagonal_State_Ensemble { int nstates; Vect state; Vect weight; LiebLin_Diagonal_State_Ensemble (); LiebLin_Diagonal_State_Ensemble (const LiebLin_Bethe_State& RefState, int nstates_req); LiebLin_Diagonal_State_Ensemble (DP c_int, DP L, int N, const Root_Density& rho); LiebLin_Diagonal_State_Ensemble& operator= (const LiebLin_Diagonal_State_Ensemble& rhs); void Load (DP c_int, DP L, int N, const char* ensfile_Cstr); void Save (const char* ensfile_Cstr); }; LiebLin_Diagonal_State_Ensemble LiebLin_Thermal_Saddle_Point_Ensemble (DP c_int, DP L, int N, DP kBT); } // namespace ABACUS #endif