1 | /*
|
---|
2 | * fragmentation_helpers.hpp
|
---|
3 | *
|
---|
4 | * Created on: Oct 18, 2011
|
---|
5 | * Author: heber
|
---|
6 | */
|
---|
7 |
|
---|
8 | #ifndef FRAGMENTATION_HELPERS_HPP_
|
---|
9 | #define FRAGMENTATION_HELPERS_HPP_
|
---|
10 |
|
---|
11 |
|
---|
12 | #ifdef HAVE_CONFIG_H
|
---|
13 | #include <config.h>
|
---|
14 | #endif
|
---|
15 |
|
---|
16 | #include <deque>
|
---|
17 | #include <list>
|
---|
18 | #include <map>
|
---|
19 | #include <string>
|
---|
20 | #include <vector>
|
---|
21 |
|
---|
22 | typedef std::deque<int> KeyStack;
|
---|
23 |
|
---|
24 | class bond;
|
---|
25 | class Graph;
|
---|
26 | class KeySet;
|
---|
27 | class molecule;
|
---|
28 |
|
---|
29 | bool ScanBufferIntoKeySet(char *buffer, KeySet &CurrentSet);
|
---|
30 | bool ParseKeySetFile(std::string &path, Graph *&FragmentList);
|
---|
31 | bool ParseTEFactorsFile(char *path, Graph *FragmentList);
|
---|
32 | bool StoreKeySetFile(Graph &KeySetList, std::string &path);
|
---|
33 | bool StoreTEFactorsFile(Graph &KeySetList, char *path);
|
---|
34 | std::map<int,KeySet> * GraphToIndexedKeySet(Graph *GlobalKeySetList);
|
---|
35 | void InsertIntoAdaptiveCriteriaList(std::map<int, std::pair<double,int> > *AdaptiveCriteriaList, std::map<int,KeySet> &IndexKeySetList, int FragOrder, int No, double Value);
|
---|
36 | int CountLinesinFile(std::ifstream &InputFile);
|
---|
37 | std::map<int, std::pair<double,int> > * ScanAdaptiveFileIntoMap(std::string &path, std::map<int,KeySet> &IndexKeySetList);
|
---|
38 | std::map<double, std::pair<int,int> > * ReMapAdaptiveCriteriaListToValue(std::map<int, std::pair<double,int> > *AdaptiveCriteriaList, molecule *mol);
|
---|
39 | bool MarkUpdateCandidates(bool *AtomMask, std::map<double, std::pair<int,int> > &FinalRootCandidates, int Order, molecule *mol);
|
---|
40 | void PrintAtomMask(bool *AtomMask, int AtomCount);
|
---|
41 |
|
---|
42 | int CombineAllOrderListIntoOne(Graph *&FragmentList, Graph ***FragmentLowerOrdersList, KeyStack &RootStack, molecule *mol);
|
---|
43 | void FreeAllOrdersList(Graph ***FragmentLowerOrdersList, KeyStack &RootStack, molecule *mol);
|
---|
44 |
|
---|
45 | #endif /* FRAGMENTATION_HELPERS_HPP_ */
|
---|