From Paul
I'm uneasy about using pointers to the MagresAtom's. Using an index into the atom list would be more robust, although I'm not sure whether this is efficient with STL's std::list. The current implementation is OK if the object is being returned as const.