21#ifndef VOTCA_XTP_EWALDRECIPROCALSPACESUM_H
22#define VOTCA_XTP_EWALDRECIPROCALSPACESUM_H
188 template <enum Estatic CE>
199 template <enum Estatic CE>
260 const std::vector<std::pair<const PolarSite*, Eigen::Vector3d>>&
262 const std::vector<const PolarSite*>& background_exclusions,
281 const std::vector<std::pair<const PolarSite*, Eigen::Vector3d>>&
283 const std::vector<const PolarSite*>& background_exclusions,
EwaldReciprocalSpaceSum(const Eigen::Matrix3d &box, const EwaldRegistry ®istry, double alpha, double k_max)
double CalcInducedSourceEnergyBetween(const std::vector< std::pair< const PolarSite *, Eigen::Vector3d > > &foreground, const std::vector< const PolarSite * > &background_exclusions, EwaldChargeState source_state) const
double CalcStaticEnergyBetween(const std::vector< std::pair< const PolarSite *, Eigen::Vector3d > > &foreground, const std::vector< const PolarSite * > &background_exclusions, EwaldChargeState source_state) const
Eigen::Matrix3d SelfFieldMatrix() const
std::function< void(std::size_t, std::size_t)> ProgressCallback
std::vector< KVector > kvectors_
std::vector< std::complex< double > > TotalStructureFactors(EwaldChargeState source_state, const ProgressCallback &progress) const
std::size_t NumKVectors() const
Eigen::VectorXd PotentialAtMany(const std::vector< Eigen::Vector3d > &points, EwaldChargeState source_state, const ProgressCallback &progress=ProgressCallback()) const
void AddFieldAtMany(const std::vector< PolarSite * > &targets, EwaldChargeState source_state, const ProgressCallback &progress=ProgressCallback()) const
void AddFieldAt(PolarSite &target, EwaldChargeState source_state) const
std::vector< KVector > GenerateKVectors() const
const EwaldRegistry & registry_
Class to represent Atom/Site in electrostatic+polarization.
Provides a means for comparing floating point numbers.