8 #ifndef SWOOSE_QMMM_QMMMREFERENCEDATAMANAGER_H
9 #define SWOOSE_QMMM_QMMMREFERENCEDATAMANAGER_H
11 #include <Eigen/Dense>
24 class BondOrderCollection;
29 using ForcesCollection = Eigen::Matrix<double, Eigen::Dynamic, 3, Eigen::RowMajor>;
37 std::vector<ForcesCollection>
forces;
57 const std::vector<QmmmModel>& qmmmReferenceModels);
67 void calculateSymmetryScores(
QmmmData& data)
const;
69 void calculateLinkAtomNumbers(
QmmmData& data)
const;
71 void handleReferenceCalculations(
QmmmData& data);
79 const std::vector<QmmmModel>& qmmmModelCandidates_;
81 const std::vector<QmmmModel>& qmmmReferenceModels_;
89 #endif // SWOOSE_QMMM_QMMMREFERENCEDATAMANAGER_H
QmmmReferenceDataManager(const Utils::Settings &settings, Core::Log &log, const Utils::AtomCollection &structure, const Utils::BondOrderCollection &bondOrders, const std::vector< QmmmModel > &qmmmModelCandidates, const std::vector< QmmmModel > &qmmmReferenceModels)
Constructor.
Definition: QmmmReferenceDataManager.cpp:23
Definition: QmmmReferenceDataManager.h:35
Manages the calculation of all data contained in the QmmmData struct.
Definition: QmmmReferenceDataManager.h:50
std::vector< ForcesCollection > forces
Container for the atomic forces calculated with each QM/MM model.
Definition: QmmmReferenceDataManager.h:37
int nRef
Number of reference calculations. The last nRef data points in the objects above correspond to these...
Definition: QmmmReferenceDataManager.h:43
QmmmData calculateData()
Calculates the properties in the QmmmData struct for the QM/MM candidate models and reference models...
Definition: QmmmReferenceDataManager.cpp:36
std::vector< double > symmetryScores
Container for the symmetry scores for each QM/MM model.
Definition: QmmmReferenceDataManager.h:39
std::vector< int > linkAtomNumbers
Container for the number of link atoms for each QM/MM model.
Definition: QmmmReferenceDataManager.h:41