> Below is one of our old emails about storing different partial charges. That > is the reason I added the charges to OBMol rather than OBAtom. Maybe, I > misunderstood your email. Here, I concluded that you recommend to add partial > charges to OBMol as generic data.
There are pro/con reasons for storing on the atom or the molecule. The big problem I have with the patch, is that you're storing the charges really inefficiently even if it's on the OBMol. Here was my suggestion: > OBPartialChargeList - then have an std::map of std::vector<float> that stores > named sets of partial charges. You're storing a set of atom indexes and floats. You don't need that - it's inefficient, not only in the memory required but in searching. std::vector<float> mpaCharges; mpaCharges.resize(mol.NumAtoms()); // you *know* there will be a charge for each atom. Then instead of keeping an index, you just do something like this: mpaCharges[i] = charge; So the OBPartialCharges type would have an std::map keyed by the name of the partial charges. -Geoff ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ OpenBabel-Devel mailing list OpenBabel-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-devel