/* * fragmentation_helpers.hpp * * Created on: Oct 18, 2011 * Author: heber */ #ifndef FRAGMENTATION_HELPERS_HPP_ #define FRAGMENTATION_HELPERS_HPP_ #ifdef HAVE_CONFIG_H #include #endif #include #include #include #include #include "graph.hpp" class bond; class molecule; bool ScanBufferIntoKeySet(char *buffer, KeySet &CurrentSet); bool ParseKeySetFile(std::string &path, Graph *&FragmentList); bool ParseTEFactorsFile(char *path, Graph *FragmentList); bool StoreKeySetFile(Graph &KeySetList, std::string &path); bool StoreTEFactorsFile(Graph &KeySetList, char *path); std::map * GraphToIndexedKeySet(Graph *GlobalKeySetList); void InsertIntoAdaptiveCriteriaList(std::map > *AdaptiveCriteriaList, std::map &IndexKeySetList, int FragOrder, int No, double Value); int CountLinesinFile(std::ifstream &InputFile); std::map > * ScanAdaptiveFileIntoMap(std::string &path, std::map &IndexKeySetList); std::map > * ReMapAdaptiveCriteriaListToValue(std::map > *AdaptiveCriteriaList, molecule *mol); bool MarkUpdateCandidates(bool *AtomMask, std::map > &FinalRootCandidates, int Order, molecule *mol); void PrintAtomMask(bool *AtomMask, int AtomCount); int CombineAllOrderListIntoOne(Graph *&FragmentList, Graph ***FragmentLowerOrdersList, KeyStack &RootStack, molecule *mol); void FreeAllOrdersList(Graph ***FragmentLowerOrdersList, KeyStack &RootStack, molecule *mol); #endif /* FRAGMENTATION_HELPERS_HPP_ */