23#ifndef VOTCA_XTP_QMPAIR_H
24#define VOTCA_XTP_QMPAIR_H
79 if (type ==
"Hopping") {
81 }
else if (type ==
"Excitoncl") {
84 throw std::runtime_error(
"get_Enum input is invalid");
89 const Eigen::Vector3d& delta_R);
91 QMPair(
const data& d,
const std::vector<Segment>& segments) {
98 const Eigen::Vector3d&
R()
const {
return R_; }
99 double Dist()
const {
return R_.norm(); }
109 return segments_.first->getU_nX_nN(state) +
113 return segments_.first->getU_xN_xX(state) +
122 Jeff2_.setValue(Jeff2, state);
126 return segments_.first->getSiteEnergy(state) -
143 void ReadData(
const data& d,
const std::vector<Segment>& segments);
149 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)
double getJeff(QMStateType state) const
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 > Jeff_
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
void setJeff(double Jeff, QMStateType state)
QMStateCarrierStorage< double > Jeff2_
Storage class for properties of QMStateTypes, which can be used in KMC.
Provides a means for comparing floating point numbers.