Saturates a mapped QMMolecule's own, real, external (i.e. covalently bonded at the MD level, but mapped out of this fragment/segment) bonds with new H atoms.
This is deliberately the isolated, purely geometric placement step only – given a direction (already recorded on each QMAtom by SegmentMapper, and already rigid-body-transformed into this fragment's own, mapped/idealized reference frame – see QMAtom::hasExternalBond()/getExternalBondDirection() and Md2QmEngine::map()'s own header comment for how that direction was originally computed), places a new H atom at a standard, typical bond length along it. It does NOT attempt any relaxation of the new H's own position at all – confirmed directly, this session, by an actual, real DFT-level test, that this initial, purely geometric placement alone carries a real, non-trivial error (~0.08 Angstrom, for a deliberately, realistically distorted MD segment) – a follow-up, constrained relaxation step (planned separately, not yet implemented) is expected to be necessary for most real use, not merely an optional refinement. This class's own, single responsibility is only the initial placement itself.
Definition at line 52 of file fragmentsaturator.h.