8 #ifndef MOLECULARMECHANICS_ELECTROSTATICEVALUATOR_H
9 #define MOLECULARMECHANICS_ELECTROSTATICEVALUATOR_H
17 class InteractionTermEliminator;
20 namespace MolecularMechanics {
23 static constexpr
double defaultAtomicChargesScalingFactor = 1.0;
58 const std::vector<double>& atomicCharges_;
59 std::vector<ElectrostaticTerm> electrostaticTerms_;
61 double scalingFactor_ = Defaults::defaultAtomicChargesScalingFactor;
67 #endif // MOLECULARMECHANICS_ELECTROSTATICEVALUATOR_H
void setScalingFactor(const double &scalingFactor)
Setter for the scaling factor for each atomic charge.
Definition: ElectrostaticEvaluator.cpp:34
This class handles the elimination of MM interaction terms, which are already covered by the QM calcu...
Definition: InteractionTermEliminator.h:38
ElectrostaticEvaluator(const Utils::PositionCollection &positions, const std::vector< double > &atomicCharges)
Constructor from positions and partial atomic charges.
Definition: ElectrostaticEvaluator.cpp:12
void setElectrostaticTerms(std::vector< ElectrostaticTerm > &&electrostaticTerms)
Sets a vector of instances of the ElectrostaticTerm class.
Definition: ElectrostaticEvaluator.cpp:26
const std::vector< double > & getAtomicCharges()
Constant accessor for the partial atomic charges.
Definition: ElectrostaticEvaluator.cpp:30
double evaluate(Utils::FullSecondDerivativeCollection &derivatives)
Function to evaluate and return the total electrostatic energy and update the derivatives.
Definition: ElectrostaticEvaluator.cpp:16
Class evaluating the total energy and derivatives from the electrostatic interactions.
Definition: ElectrostaticEvaluator.h:30