21#ifndef VOTCA_XTP_EWALDSHAPECORRECTION_H
22#define VOTCA_XTP_EWALDSHAPECORRECTION_H
79 template <enum Estatic CE>
135 const std::vector<std::pair<const PolarSite*, Eigen::Vector3d>>&
137 const std::vector<const PolarSite*>& background_exclusions,
158 const std::vector<std::pair<const PolarSite*, Eigen::Vector3d>>&
160 const std::vector<const PolarSite*>& background_exclusions,
166 Eigen::VectorXd
PotentialAtMany(
const std::vector<Eigen::Vector3d>& points,
177 Eigen::Vector3d
q1 = Eigen::Vector3d::Zero();
178 Eigen::Matrix3d
q2 = Eigen::Matrix3d::Zero();
182 const Eigen::Vector3d& pos);
193 const std::vector<const PolarSite*>& exclusions)
const;
198 const std::vector<const PolarSite*>& exclusions)
const;
EwaldShapeCorrection(double volume, const EwaldRegistry ®istry, EwaldShape shape)
double CalcStaticEnergyBetween(const std::vector< std::pair< const PolarSite *, Eigen::Vector3d > > &foreground, const std::vector< const PolarSite * > &background_exclusions, EwaldChargeState source_state) const
Moments BackgroundMoments(EwaldChargeState source_state, const std::vector< const PolarSite * > &exclusions) const
static void Accumulate(Moments &m, const PolarSite &site, const Eigen::Vector3d &pos)
Eigen::VectorXd PotentialAtMany(const std::vector< Eigen::Vector3d > &points, EwaldChargeState source_state) const
const EwaldRegistry & registry_
double StaticShapeEnergy(const Moments &fg, const Moments &bg) const
double InducedShapeEnergy(const Moments &fg, const Moments &bg) const
Moments BackgroundInducedMoments(EwaldChargeState source_state, const std::vector< const PolarSite * > &exclusions) const
double CalcInducedSourceEnergyBetween(const std::vector< std::pair< const PolarSite *, Eigen::Vector3d > > &foreground, const std::vector< const PolarSite * > &background_exclusions, EwaldChargeState source_state) const
void AddFieldAt(PolarSite &target, EwaldChargeState source_state) const
Eigen::Vector3d TotalDipoleMoment(EwaldChargeState source_state) const
Class to represent Atom/Site in electrostatic+polarization.
Provides a means for comparing floating point numbers.