Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
AnglesEvaluator.h
Go to the documentation of this file.
1 
8 #ifndef MOLECULARMECHANICS_ANGLESEVALUATOR_H
9 #define MOLECULARMECHANICS_ANGLESEVALUATOR_H
10 
11 #include "AngleTerm.h"
12 #include <vector>
13 
14 namespace Scine {
15 
16 namespace Qmmm {
17 class InteractionTermEliminator;
18 } // namespace Qmmm
19 
20 namespace MolecularMechanics {
21 
22 struct AngleType;
23 
25  public:
29  explicit AnglesEvaluator(const Utils::PositionCollection& positions);
37  void setAngleTerms(std::vector<AngleTerm>&& angleTerms);
38 
39  private:
40  // friend class declaration
42  const Utils::PositionCollection& positions_;
43  std::vector<AngleTerm> angles_;
44 };
45 
46 } // namespace MolecularMechanics
47 } // namespace Scine
48 
49 #endif // MOLECULARMECHANICS_ANGLESEVALUATOR_H
void setAngleTerms(std::vector< AngleTerm > &&angleTerms)
Sets a vector of instances of AngleTerm.
Definition: AnglesEvaluator.cpp:25
Definition: AnglesEvaluator.h:24
This class handles the elimination of MM interaction terms, which are already covered by the QM calcu...
Definition: InteractionTermEliminator.h:39
AnglesEvaluator(const Utils::PositionCollection &positions)
Constructor from positions.
Definition: AnglesEvaluator.cpp:12
double evaluate(Utils::AtomicSecondDerivativeCollection &derivatives)
This function evaluates and returns the energy for all angle interactions and updates the derivatives...
Definition: AnglesEvaluator.cpp:15