Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
ImproperDihedralsEvaluator.h
Go to the documentation of this file.
1 
8 #ifndef MMIMPROPERDIHEDRALSEVALUATOR_H
9 #define MMIMPROPERDIHEDRALSEVALUATOR_H
10 
11 #include "ImproperDihedralTerm.h"
12 #include <Eigen/Core>
13 #include <vector>
14 
15 namespace Scine {
16 
17 namespace Qmmm {
18 class InteractionTermEliminator;
19 } // namespace Qmmm
20 
21 namespace MolecularMechanics {
22 
23 struct ImproperDihedralType;
24 
30  public:
34  explicit ImproperDihedralsEvaluator(const Utils::PositionCollection& positions);
42  void setImproperDihedralTerms(std::vector<ImproperDihedralTerm>&& improperDihedralTerms);
43 
44  private:
45  // friend class declaration
47  const Utils::PositionCollection& positions_;
48 
49  std::vector<ImproperDihedralTerm> improperDihedrals_;
50 };
51 
52 } // namespace MolecularMechanics
53 } // namespace Scine
54 
55 #endif // MMIMPROPERDIHEDRALSEVALUATOR_H
This class calculates the total energy and its derivatives for all improper dihedral terms...
Definition: ImproperDihedralsEvaluator.h:29
double evaluate(Utils::AtomicSecondDerivativeCollection &derivatives)
Evaluates the energy and updates the derivatives.
Definition: ImproperDihedralsEvaluator.cpp:17
void setImproperDihedralTerms(std::vector< ImproperDihedralTerm > &&improperDihedralTerms)
Sets a vector of instances of the ImproperDihedralTerm class.
Definition: ImproperDihedralsEvaluator.cpp:27
This class handles the elimination of MM interaction terms, which are already covered by the QM calcu...
Definition: InteractionTermEliminator.h:39
ImproperDihedralsEvaluator(const Utils::PositionCollection &positions)
Constructor from positions.
Definition: ImproperDihedralsEvaluator.cpp:13