Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
HydrogenBondTerm.h
Go to the documentation of this file.
1 
8 #ifndef MOLECULARMECHANICS_HYDROGENBONDTERM_H
9 #define MOLECULARMECHANICS_HYDROGENBONDTERM_H
10 
11 #include "HydrogenBond.h"
12 #include "InteractionTermBase.h"
13 #include <vector>
14 
15 namespace Scine {
16 
17 namespace Utils {
18 class AtomicSecondDerivativeCollection;
19 class AtomCollection;
20 } // namespace Utils
21 
22 namespace MolecularMechanics {
28  public:
29  using AtomIndex = int;
33  HydrogenBondTerm(AtomIndex donorAtom, AtomIndex hydrogenAtom, AtomIndex acceptorAtom, const HydrogenBond& hydrogenBond);
38 
43  const std::vector<double>& atomicCharges) const;
44 
46  int getDonorAtom() const;
47 
49  int getHydrogenAtom() const;
50 
52  int getAcceptorAtom() const;
53 
54  private:
55  AtomIndex donorAtom_, hydrogenAtom_, acceptorAtom_;
56  HydrogenBond hydrogenBond_;
57 };
58 
59 } // namespace MolecularMechanics
60 } // namespace Scine
61 
62 #endif // MOLECULARMECHANICS_HYDROGENBONDTERM_H
int getHydrogenAtom() const
Getter for the hydrogen atom index.
Definition: HydrogenBondTerm.cpp:88
int getDonorAtom() const
Getter for the donor atom index.
Definition: HydrogenBondTerm.cpp:84
This class evaluates the energy and its derivatives for one hydrogen bond term.
Definition: HydrogenBondTerm.h:27
Class calculating the energy and derivatives for a hydrogen bond based solely on the distance or on t...
Definition: HydrogenBond.h:20
Base class for all interaction terms.
Definition: InteractionTermBase.h:18
HydrogenBondTerm(AtomIndex donorAtom, AtomIndex hydrogenAtom, AtomIndex acceptorAtom, const HydrogenBond &hydrogenBond)
Constructor from the three corresponding atoms and an instance of the HydrogenBond class...
Definition: HydrogenBondTerm.cpp:22
int getAcceptorAtom() const
Getter for the acceptor atom index.
Definition: HydrogenBondTerm.cpp:92
double evaluateHydrogenBondTerm(const Utils::AtomCollection &structure, Utils::AtomicSecondDerivativeCollection &derivatives, const std::vector< double > &atomicCharges) const
Evaluates energy contribution and adds the derivatives.
Definition: HydrogenBondTerm.cpp:29