Scine::Core  3.0.0
Module management and core interface definitions
 All Classes Files Functions Variables Typedefs Pages
MMParametrizer.h
Go to the documentation of this file.
1 
8 #ifndef CORE_MMPARAMETRIZER_H
9 #define CORE_MMPARAMETRIZER_H
10 
12 #include <string>
13 
14 namespace Scine {
15 
16 namespace Utils {
17 class AtomCollection;
18 class Settings;
19 } // namespace Utils
20 
21 namespace Core {
26 class MMParametrizer : public ObjectWithLog {
27  public:
28  static constexpr const char* interface = "mm_parametrizer";
29 
31  MMParametrizer() = default;
33  virtual ~MMParametrizer() = default;
34 
43  virtual void parametrize(Utils::AtomCollection structure) = 0;
48  virtual Utils::Settings& settings() = 0;
53  virtual const Utils::Settings& settings() const = 0;
58  virtual std::string name() const = 0;
59 };
60 
61 } // namespace Core
62 } // namespace Scine
63 
64 #endif // CORE_MMPARAMETRIZER_H
Base class for objects with a Log member.
Definition: ObjectWithLog.h:25
virtual std::string name() const =0
Getter for the name of the MM parametrizer.
virtual void parametrize(Utils::AtomCollection structure)=0
This function generates the MM parameters for a given structure.
The interface for all classes parametrizing a molecular mechanics model.
Definition: MMParametrizer.h:26
MMParametrizer()=default
Default constructor.
virtual ~MMParametrizer()=default
Default destructor.
virtual Utils::Settings & settings()=0
Accessor for the settings.