8 #ifndef SWOOSE_QMMM_QMMMREFERENCEDATAMANAGER_H
9 #define SWOOSE_QMMM_QMMMREFERENCEDATAMANAGER_H
11 #include <Eigen/Dense>
24 class BondOrderCollection;
30 using ForcesCollection = Eigen::Matrix<double, Eigen::Dynamic, 3, Eigen::RowMajor>;
38 std::vector<ForcesCollection>
forces;
59 const std::vector<QmmmModel>& qmmmReferenceModels);
69 void calculateSymmetryScores(
QmmmData& data)
const;
71 void calculateLinkAtomNumbers(
QmmmData& data)
const;
73 void handleReferenceCalculations(
QmmmData& data);
81 const std::vector<QmmmModel>& qmmmModelCandidates_;
83 const std::vector<QmmmModel>& qmmmReferenceModels_;
87 std::shared_ptr<QmmmCalculator> qmmmCalculator_;
93 #endif // SWOOSE_QMMM_QMMMREFERENCEDATAMANAGER_H
Definition: QmmmReferenceDataManager.h:36
Manages the calculation of all data contained in the QmmmData struct.
Definition: QmmmReferenceDataManager.h:51
std::vector< ForcesCollection > forces
Container for the atomic forces calculated with each QM/MM model.
Definition: QmmmReferenceDataManager.h:38
int nRef
Number of reference calculations. The last nRef data points in the objects above correspond to these...
Definition: QmmmReferenceDataManager.h:44
QmmmData calculateData()
Calculates the properties in the QmmmData struct for the QM/MM candidate models and reference models...
Definition: QmmmReferenceDataManager.cpp:39
std::vector< double > symmetryScores
Container for the symmetry scores for each QM/MM model.
Definition: QmmmReferenceDataManager.h:40
std::vector< int > linkAtomNumbers
Container for the number of link atoms for each QM/MM model.
Definition: QmmmReferenceDataManager.h:42
QmmmReferenceDataManager(std::shared_ptr< QmmmCalculator > qmmmCalculator, 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:24