21#ifndef VOTCA_XTP_EEINTERACTOR_H
22#define VOTCA_XTP_EEINTERACTOR_H
49 template <
class T, enum Estatic>
52 template <enum Estatic>
56 template <
class S1,
class S2>
77 const Eigen::Vector3d&
data()
const {
return data_; }
80 Eigen::Vector3d
data_ = Eigen::Vector3d::Zero();
83 template <
class S1,
class S2>
98 template <enum Estatic>
100 template <enum Estatic>
Class to represent Atom/Site in electrostatic+polarization.
Class to represent Atom/Site in electrostatic.
const Eigen::Vector3d & data() const
E_terms & operator+=(const E_terms &right)
E_terms operator+(E_terms right) const
Mediates interaction between polar and static sites.
double ApplyStaticField_site(const StaticSite &site1, PolarSite &site2) const
double ApplyStaticField(const T &segment1, PolarSegment &segment2) const
double ApplyInducedField(const PolarSegment &segment1, PolarSegment &segment2) const
double CalcStaticEnergy_site(const StaticSite &site1, const StaticSite &site2) const
eeInteractor(double expdamping)
Eigen::Matrix< double, N, 1 > VSiteA(const StaticSite &site1, const StaticSite &site2) const
E_terms CalcPolarEnergy(const S1 &segment1, const S2 &segment2) const
Eigen::VectorXd Cholesky_IntraSegment(const PolarSegment &seg) const
double CalcPolar_stat_Energy_site(const PolarSite &site1, const StaticSite &site2) const
E_terms CalcPolarEnergy_site(const PolarSite &site1, const StaticSite &site2) const
Eigen::Matrix3d FillTholeInteraction(const PolarSite &site1, const PolarSite &site2) const
double CalcStaticEnergy_IntraSegment(const S &seg) const
double ApplyInducedField_site(const PolarSite &site1, PolarSite &site2) const
double CalcStaticEnergy(const S1 &segment1, const S2 &segment2) const
double CalcPolarEnergy_IntraSegment(const PolarSegment &seg) const
base class for all analysis tools