Ignore:
Timestamp:
May 8, 2008, 5:31:04 PM (17 years ago)
Author:
Frederik Heber <heber@…>
Children:
310b25
Parents:
461e93
Message:

molecule::CheckOrderAtSite() now interprets negative Orders as adaptive increase by parsing EnergyPerFragment.da
t

positive Order is global increase till all sites have at least this order, Order 0 means single global increase step, negative Order is the exponent in 10{-Order} to give the threshold value: ENERGYPERFRAGMENT is scanned in
to a map (sorted by values) and all fragments still above the threshold are taken into AtomMask for increase. Jo
iner has to write this file with (Root id of Fragment, energy contribution) pairs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/molecules.hpp

    r461e93 ra3ff7b2  
    3737#define KeyStack deque<int>
    3838#define KeySet set<int>
    39 #define Graph map<KeySet, pair<int, double>, KeyCompare >
    40 #define GraphPair pair<KeySet, pair<int, double> >
     39#define NumberValuePair pair<int, double>
     40#define Graph map<KeySet, NumberValuePair, KeyCompare >
     41#define GraphPair pair<KeySet, NumberValuePair >
    4142#define KeySetTestPair pair<KeySet::iterator, bool>
    4243#define GraphTestPair pair<Graph::iterator, bool>
     
    340341  /// Fragment molecule by two different approaches:
    341342  void FragmentMolecule(ofstream *out, int Order, config *configuration);
    342   bool CheckOrderAtSite(ofstream *out, int Order);
     343  bool CheckOrderAtSite(ofstream *out, bool *AtomMask, Graph *GlobalKeySetList, int Order, char *path = NULL);
    343344  bool StoreAdjacencyToFile(ofstream *out, char *path);
    344345  bool CheckAdjacencyFileAgainstMolecule(ofstream *out, char *path, atom **ListOfAtoms);
     
    412413  bool AddLeaf(molecule *ptr, MoleculeLeafClass *Previous);
    413414  bool FillBondStructureFromReference(ofstream *out, molecule *reference, int &FragmentCounter, atom ***&ListOfLocalAtoms, bool FreeList = false);
    414   bool FillRootStackForSubgraphs(ofstream *out, KeyStack *&RootStack, int Order, int &FragmentCounter);
     415  bool FillRootStackForSubgraphs(ofstream *out, KeyStack *&RootStack, bool *AtomMask, int Order, int &FragmentCounter);
    415416  bool AssignKeySetsToFragment(ofstream *out, molecule *reference, Graph *KeySetList, atom ***&ListOfLocalAtoms, Graph **&FragmentList, int &FragmentCounter, bool FreeList = false);
    416417  bool FillListOfLocalAtoms(ofstream *out, atom ***&ListOfLocalAtoms, int &FragmentCounter, int GlobalAtomCount, bool &FreeList);
Note: See TracChangeset for help on using the changeset viewer.