23#ifndef VOTCA_XTP_QMPAIR_H
24#define VOTCA_XTP_QMPAIR_H
74 if (type ==
"Hopping") {
76 }
else if (type ==
"Excitoncl") {
79 throw std::runtime_error(
"get_Enum input is invalid");
84 const Eigen::Vector3d& delta_R);
86 QMPair(
const data& d,
const std::vector<Segment>& segments) {
93 const Eigen::Vector3d&
R()
const {
return R_; }
94 double Dist()
const {
return R_.norm(); }
104 return segments_.first->getU_nX_nN(state) +
108 return segments_.first->getU_xN_xX(state) +
118 return segments_.first->getSiteEnergy(state) -
135 void ReadData(
const data& d,
const std::vector<Segment>& segments);
141 Eigen::Vector3d
R_ = Eigen::Vector3d::Zero();
const Segment * Seg2() const
void setLambdaO(double lO, QMStateType state)
double getJeff2(QMStateType state) const
double getReorg21(QMStateType state) const
const Segment * Seg1() const
static PairType get_Enum(std::string type)
static std::string get_name(PairType type)
QMPair(Index id, const Segment *seg1, const Segment *seg2, const Eigen::Vector3d &delta_R)
void setType(PairType pair_type)
Segment Seg2PbCopy() const
std::pair< const Segment *, const Segment * > segments_
void WriteData(data &d) const
const Eigen::Vector3d & R() const
static void SetupCptTable(CptTable &table)
void setJeff2(double Jeff2, QMStateType state)
QMPair(const data &d, const std::vector< Segment > &segments)
double getLambdaO(QMStateType state) const
QMStateCarrierStorage< double > lambda0_
void ReadData(const data &d, const std::vector< Segment > &segments)
double getdE12(QMStateType state) const
const PairType & getType() const
double getReorg12(QMStateType state) const
QMStateCarrierStorage< double > Jeff2_
Storage class for properties of QMStateTypes, which can be used in KMC.
T getValue(QMStateType t) const
void setValue(T value, QMStateType t)
base class for all analysis tools