Scine::Readuct  6.0.0
This is the SCINE module ReaDuct.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
ReactionProfile.h
Go to the documentation of this file.
1 
8 #ifndef READUCT_ELEMENTARYSTEPOPTIMIZATION_REACTIONPROFILE_H
9 #define READUCT_ELEMENTARYSTEPOPTIMIZATION_REACTIONPROFILE_H
10 
11 #include "ProfileEnergies.h"
13 
14 // TODO: Improve documentation
15 
16 namespace Scine {
17 namespace Readuct {
18 
19 namespace ElementaryStepOptimization {
20 
26  public:
27  explicit ReactionProfile(Utils::BSplines::MolecularSpline spline = {}, ProfileEnergies energies = {});
28 
29  void setProfileEnergies(ProfileEnergies energies);
30 
31  bool hasEnergies() const;
32 
33  Utils::BSplines::MolecularSpline& getMolecularSpline();
34  const Utils::BSplines::MolecularSpline& getMolecularSpline() const;
35 
36  ProfileEnergies& getProfileEnergies();
37  const ProfileEnergies& getProfileEnergies() const;
38 
39  private:
41  ProfileEnergies energies_;
42 };
43 
44 inline ReactionProfile::ReactionProfile(Utils::BSplines::MolecularSpline spline, ProfileEnergies energies)
45  : spline_(std::move(spline)), energies_(std::move(energies)) {
46 }
47 
48 inline void ReactionProfile::setProfileEnergies(ProfileEnergies energies) {
49  energies_ = std::move(energies);
50 }
51 
52 inline bool ReactionProfile::hasEnergies() const {
53  return !energies_.empty();
54 }
55 
56 inline Utils::BSplines::MolecularSpline& ReactionProfile::getMolecularSpline() {
57  return spline_;
58 }
59 
60 inline const Utils::BSplines::MolecularSpline& ReactionProfile::getMolecularSpline() const {
61  return spline_;
62 }
63 
64 inline ProfileEnergies& ReactionProfile::getProfileEnergies() {
65  return energies_;
66 }
67 
68 inline const ProfileEnergies& ReactionProfile::getProfileEnergies() const {
69  return energies_;
70 }
71 
72 } // namespace ElementaryStepOptimization
73 
74 } // namespace Readuct
75 } // namespace Scine
76 
77 #endif // ELEMENTARYSTEPOPTIMIZATION_REACTIONPROFILE_H