Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
BondsEvaluator.h
Go to the documentation of this file.
1 
8 #ifndef MOLECULARMECHANICS_BONDSEVALUATOR_H
9 #define MOLECULARMECHANICS_BONDSEVALUATOR_H
10 
11 #include "BondedTerm.h"
12 #include <Utils/Typenames.h>
13 #include <vector>
14 
15 namespace Scine {
16 
17 namespace Qmmm {
18 class InteractionTermEliminator;
19 } // namespace Qmmm
20 
21 namespace Utils {
22 class AtomicSecondDerivativeCollection;
23 } // namespace Utils
24 
25 namespace MolecularMechanics {
31  public:
35  explicit BondsEvaluator(const Utils::PositionCollection& positions);
43  void setBondTerms(std::vector<BondedTerm>&& bondTerms);
44 
45  private:
46  // friend class declaration
48  const Utils::PositionCollection& positions_;
49  std::vector<BondedTerm> bonds_;
50 };
51 
52 } // namespace MolecularMechanics
53 } // namespace Scine
54 #endif // MOLECULARMECHANICS_BONDSEVALUATOR_H
void setBondTerms(std::vector< BondedTerm > &&bondTerms)
Sets a vector of instances of the BondedTerm class.
Definition: BondsEvaluator.cpp:27
BondsEvaluator(const Utils::PositionCollection &positions)
Constructor from positions.
Definition: BondsEvaluator.cpp:14
double evaluate(Utils::AtomicSecondDerivativeCollection &derivatives)
This function evaluates and returns the energy for all bonded interactions and updates the derivative...
Definition: BondsEvaluator.cpp:17
This class handles the elimination of MM interaction terms, which are already covered by the QM calcu...
Definition: InteractionTermEliminator.h:39
BondsEvaluator BondsEvaluator.h.
Definition: BondsEvaluator.h:30