30 std::string indices = options.
get(
"fragment").
as<std::string>();
46 throw std::runtime_error(
"ChargeTransfer filter only works for excitons.");
48 std::vector<Index> indexes;
53 std::vector<QMFragment<BSE_Population> > loc = {frag};
55 Eigen::VectorXd dq = (loc[0].value().
H + loc[0].value().E).cwiseAbs();
56 for (
Index i = 0; i < dq.size(); i++) {
void WriteToCpt(CheckpointWriter &w) final
void Info(Logger &log) const final
void ReadFromCpt(CheckpointReader &r) final
QMFragment< double > fragment_
void Initialize(const tools::Property &options) final
void UpdateHist(const Orbitals &orb, QMState state) final
std::vector< Index > CalcIndeces(const Orbitals &orb, QMStateType type) const 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