/* * 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); void SPFragmentGenerator_ClearingTouched(int verbosity, int *&TouchedList, int SubOrder, int &TouchedIndex); int AddPowersetToSnakeStack(int verbosity, int CurrentCombination, int SetDimension, KeySet *FragmentSet, std::vector &BondsSet, int *&TouchedList, int &TouchedIndex); int CountSetMembers(std::list::const_iterator SetFirst, std::list::const_iterator SetLast, int *&TouchedList, int TouchedIndex); int FillBondsList(std::vector &BondsList, std::list::const_iterator SetFirst, std::list::const_iterator SetLast, int *&TouchedList, int TouchedIndex); void RemoveAllTouchedFromSnakeStack(int verbosity, KeySet *FragmentSet, int *&TouchedList, int &TouchedIndex); int CombineAllOrderListIntoOne(Graph *&FragmentList, Graph ***FragmentLowerOrdersList, KeyStack &RootStack, molecule *mol); void FreeAllOrdersList(Graph ***FragmentLowerOrdersList, KeyStack &RootStack, molecule *mol); #endif /* FRAGMENTATION_HELPERS_HPP_ */