30 std::string indices = options.
get(
"fragment").
as<std::string>();
46 throw std::runtime_error(
"Localisation filter only works for excitons.");
48 std::vector<Index> indexes;
52 std::vector<QMFragment<BSE_Population> > loc = {frag};
54 const Eigen::VectorXd& popE = loc[0].value().E;
55 const Eigen::VectorXd& popH = loc[0].value().H;
56 for (
Index i = 0; i < popE.size(); i++) {
QMFragment< double > fragment_
void UpdateHist(const Orbitals &orb, QMState state) final
std::vector< Index > CalcIndeces(const Orbitals &orb, QMStateType type) const final
void Info(Logger &log) const final
void ReadFromCpt(CheckpointReader &r) final
void WriteToCpt(CheckpointWriter &w) final
void Initialize(const tools::Property &options) final
Logger is used for thread-safe output of messages.
container for molecular orbitals
void CalcChargeperFragment(std::vector< QMFragment< BSE_Population > > &frags, const Orbitals &orbitals, QMStateType type) const
void ReadFromCpt(CheckpointReader &r)
void WriteToCpt(CheckpointWriter &w) const
void copy_withoutvalue(const QMFragment< T2 > &frag)
Identifier for QMstates. Strings like S1 are converted into enum +zero indexed int.
#define XTP_LOG(level, log)
base class for all analysis tools