9 #ifndef ELECTRON_OPTIMISATION_HPP 10 #define ELECTRON_OPTIMISATION_HPP 12 #include "../classes/electron_graph.hpp" 13 #include "../classes/molecular_graph.hpp" 17 #include <unordered_map> 22 class ElectronOptimisationAlgorithm;
23 class LocalOptimisation;
24 class AStarOptimisation;
25 class FPTOptimisation;
39 std::unordered_map<uint32_t, FCSCORE>
scores_;
40 std::shared_ptr<algorithm::ElectronOptimisationAlgorithm>
algo_;
54 void DetermineElectronsToAdd();
55 void DeterminePotentialElectronLocations();
57 void SortPotentialLocations();
MolecularGraph molGraph_
Definition: electron_optimisation.hpp:37
std::shared_ptr< _ElectronGraph > ElectronGraph
Definition: electron_graph.hpp:54
friend class indigox::algorithm::FPTOptimisation
Definition: electron_optimisation.hpp:32
std::unordered_map< uint32_t, FCSCORE > scores_
Definition: electron_optimisation.hpp:39
Namespace for all graph related functionality.
Definition: access.hpp:7
friend class indigox::algorithm::LocalOptimisation
Definition: electron_optimisation.hpp:30
friend class indigox::algorithm::ElectronOptimisationAlgorithm
Definition: electron_optimisation.hpp:29
void SetMolecularGraph(MolecularGraph G)
FCSCORE GetMinimisedEnergy()
Definition: electron_optimisation.hpp:50
FCSCORE finalScore_
Definition: electron_optimisation.hpp:41
std::vector< MolVertPair > possibleLocations_
Definition: electron_optimisation.hpp:36
Definition: electron_optimisation.hpp:28
std::shared_ptr< algorithm::ElectronOptimisationAlgorithm > algo_
Definition: electron_optimisation.hpp:40
uint32_t electronsToAdd_
Definition: electron_optimisation.hpp:35
ElectronGraph elnGraph_
Definition: electron_optimisation.hpp:38
friend class indigox::algorithm::AStarOptimisation
Definition: electron_optimisation.hpp:31
bool ApplyElectronAssigment(size_t)