Map from Atom DOF identifiers to contained values class.
- Author
- Stuart G. Mentzer (Stuar.nosp@m.t_Me.nosp@m.ntzer.nosp@m.@obj.nosp@m.exx.c.nosp@m.om)
- Note
- Implemented as a vector< AtomID_Map > for fast lookup but this has slower insertion/deletion than a std::map or other associative containers
- The outer vector is indexed by the DOF_Type
- The inner map is indexed by the AtomID (pair of residue number and atom number)
- The DOF layer is on the outside for simple global setting for a DOF and to reuse the AtomID_Map code
- The map can be sized by first calling resize( n_res ) and then calling resize( i_res, n_atom ) for each residue to set the number of atoms
- DOF-specific and uniform default values can be set with the overloaded default_value() functions
- Invariant: The DOF_Map is always of size n_DOF_Type
- When the Value type (T) is bool note that the vector< bool > specialization is used so the values returned by the indexing lookups are not actually references