Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
MMParameters.h
Go to the documentation of this file.
1 
8 #ifndef MOLECULARMECHANICS_MMPARAMETERS_H
9 #define MOLECULARMECHANICS_MMPARAMETERS_H
10 
13 #include "Topology/AngleType.h"
14 #include "Topology/BondType.h"
15 #include <map>
16 
17 namespace Scine {
18 
19 namespace Utils {
20 class AtomCollection;
21 } // namespace Utils
22 
23 namespace MolecularMechanics {
30 class MMParameters {
31  public:
33  virtual Bond getMMBond(std::string t1, std::string t2) const;
35  virtual Angle getMMAngle(std::string t1, std::string t2, std::string t3) const;
36 
38  virtual void addBond(BondType bondType, BondParameters bondParameters);
40  virtual void addAngle(AngleType angleType, AngleParameters angleParameters);
41 
42  protected:
43  std::map<BondType, BondParameters> bonds_;
44  std::map<AngleType, AngleParameters> angles_;
45 };
46 
47 } // namespace MolecularMechanics
48 } // namespace Scine
49 
50 #endif // MOLECULARMECHANICS_MMPARAMETERS_H
Describes a bond uniquely for given atom types. (useful for maps/unordered_maps)
Definition: BondType.h:25
virtual Angle getMMAngle(std::string t1, std::string t2, std::string t3) const
Get Angle for the three atom types t1, t2 and t3.
Definition: MMParameters.cpp:22
Class containing the parameters for an MM angle.
Definition: AngleParameters.h:19
Class treating a bonded interaction, based solely on the bond length. (i.e. in 1 dimension) ...
Definition: Bond.h:19
Class treating an angle interaction,based solely on the angle (in rad), i.e. in 1 dimension...
Definition: Angle.h:19
Describes a bond uniquely for given atom types. (useful for maps/unordered_maps)
Definition: AngleType.h:24
Class containing the parameters for an MM bond.
Definition: BondParameters.h:19
virtual void addAngle(AngleType angleType, AngleParameters angleParameters)
Adds an angle to the angles_ container.
Definition: MMParameters.cpp:34
Base class for the MM parameters classes, which holds and manages the bond and angle parameters as th...
Definition: MMParameters.h:30
virtual void addBond(BondType bondType, BondParameters bondParameters)
Adds a bond to the bonds_ container.
Definition: MMParameters.cpp:30
virtual Bond getMMBond(std::string t1, std::string t2) const
Get Bond for the two atom types t1 and t2.
Definition: MMParameters.cpp:14