1 #ifndef CASM_ECICONTAINER_HH
2 #define CASM_ECICONTAINER_HH
28 template<
typename SparseECIIterator,
typename OrbitIndexIterator>
29 ECIContainer(SparseECIIterator eci_begin, SparseECIIterator eci_end, OrbitIndexIterator index_begin) {
30 auto eci_it = eci_begin;
31 auto index_it = index_begin;
32 for(; eci_it != eci_end; ++eci_it, ++index_it) {
44 const std::vector<double> &
value()
const {
49 const std::vector<size_type> &
index()
const {
ECIContainer(SparseECIIterator eci_begin, SparseECIIterator eci_end, OrbitIndexIterator index_begin)
Construct from range of ECI values and corresponding orbit indices.
Clexulator_impl::Base::size_type size_type
Clexulator::size_type size_type
size_type size() const
Number of eci specified (no guarentee they are all non-zero)
ECIContainer read_eci(const fs::path &filepath)
Read eci.json file from specified path.
const std::vector< double > & value() const
const Access ECI values
std::vector< double > m_value
Efective cluster interaction values.
BasisSet operator*(const SymOp &LHS, const BasisSet &RHS)
ECIContainer()
Default constructor.
ECIContainer read_eci_out(const fs::path &filepath)
Read eci.out file from specified path (deprecated)
const std::vector< size_type > & index() const
const Access orbit indices of ECI values
std::vector< size_type > m_index
Orbit index for each coefficient in m_value.
Eigen::VectorXd Correlation
A sparse container of ECI values and their corresponding orbit indices.