.. index:: pair: namespace; site .. _doxid-namespacesite: namespace site ============== .. toctree:: :hidden: enum_site_Family.rst enum_site_IonState.rst enum_site_Kind.rst struct_site_DensityZ.rst struct_site_GuestOccupancy.rst struct_site_IonEnvironment.rst struct_site_Table.rst Overview ~~~~~~~~ .. ref-code-block:: cpp :class: doxyrest-overview-code-block namespace site { // enums enum :ref:`Family`; enum :ref:`IonState`; enum :ref:`Kind`; // structs struct :ref:`DensityZ`; struct :ref:`GuestOccupancy`; struct :ref:`IonEnvironment`; struct :ref:`Table`; // global functions :ref:`DensityZ` :ref:`densityZ`(const :ref:`molSys::PointCloud`<:ref:`molSys::Point`, double>& yCloud, int typeI, int nbin, int axis); :ref:`DensityZ` :ref:`densityZ`(const :ref:`molSys::PointCloud`<:ref:`molSys::Point`, double>& yCloud, const :ref:`Table`& table, :ref:`Kind` kind, int nbin, int axis); bool :target:`iceScoreAllowed`(:ref:`Family` f); const char* :target:`refuseIceScore`(:ref:`Family` f); const char* :target:`familyName`(:ref:`Family` f); :ref:`Family` :target:`parseFamily`(std::string_view name); std::vector :target:`indicesOf`(const :ref:`molSys::PointCloud`<:ref:`molSys::Point`, double>& yCloud, const :ref:`Table`& table, :ref:`Kind` kind); int :target:`lammpsTypeOfKind`(const :ref:`Table`& table, :ref:`Kind` kind); :ref:`molSys::PointCloud`<:ref:`molSys::Point`, double> :target:`ionCloud`(const :ref:`molSys::PointCloud`<:ref:`molSys::Point`, double>& src, const :ref:`Table`& table); :ref:`Table` :target:`parseSiteSpec`(std::string_view spec); :ref:`IonEnvironment` :ref:`ionEnvironment`(const :ref:`molSys::PointCloud`<:ref:`molSys::Point`, double>& yCloud, const std::vector& iceFlag, const std::vector& ionIndices, int waterType, double cutoff); std::vector :ref:`shellRingCensus`(const std::vector>& rings, const std::vector& shell, int maxRingSize); :ref:`GuestOccupancy` :ref:`guestOccupancy`(const :ref:`molSys::PointCloud`<:ref:`molSys::Point`, double>& yCloud, const std::vector>& cages, const std::vector& guestIndices, double radius); std::array :ref:`periodicCentroid`(const :ref:`molSys::PointCloud`<:ref:`molSys::Point`, double>& yCloud, const std::vector& atoms); } // namespace site .. _details-namespacesite: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Global Functions ---------------- .. index:: pair: function; densityZ .. _doxid-namespacesite_1a75c8588cd72dda60fecb01240009ca6c: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DensityZ` densityZ(const :ref:`molSys::PointCloud`<:ref:`molSys::Point`, double>& yCloud, int typeI, int nbin, int axis) Histogram Point::{x,y,z} for typeI (0 = every atom). axis is 0, 1, or 2. .. index:: pair: function; densityZ .. _doxid-namespacesite_1a0e086c58b6a8de67c895bd1e034f58e6: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`DensityZ` densityZ(const :ref:`molSys::PointCloud`<:ref:`molSys::Point`, double>& yCloud, const :ref:`Table`& table, :ref:`Kind` kind, int nbin, int axis) Same histogram, restricted to atoms whose :ref:`Table ` kind matches. .. index:: pair: function; ionEnvironment .. _doxid-namespacesite_1a59c0f056c026caebb259d8c8e0d032e1: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`IonEnvironment` ionEnvironment(const :ref:`molSys::PointCloud`<:ref:`molSys::Point`, double>& yCloud, const std::vector& iceFlag, const std::vector& ionIndices, int waterType, double cutoff) ``iceFlag`` is indexed like ``yCloud.pts``; ``waterType`` selects the water oxygens (0 accepts every atom that is not an ion); ``cutoff`` is the first shell radius in the cloud's length unit. .. index:: pair: function; shellRingCensus .. _doxid-namespacesite_1a3327b0f82b57a80d113b241dec0eb711: .. ref-code-block:: cpp :class: doxyrest-title-code-block std::vector shellRingCensus(const std::vector>& rings, const std::vector& shell, int maxRingSize) Rings of the water network that pass through a first shell: the census by size of every ring with at least one vertex in ``shell``. An ion is not a vertex of the network, so the rings it would have closed are gone and the rings its shell still carries measure how far the network survives around it (the hydration-shell ring census of a brine or an ionic solution). ``census[s]`` counts rings of size s up to ``maxRingSize``. .. index:: pair: function; guestOccupancy .. _doxid-namespacesite_1adf97b42407e86bc9d067855b19397ac8: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`GuestOccupancy` guestOccupancy(const :ref:`molSys::PointCloud`<:ref:`molSys::Point`, double>& yCloud, const std::vector>& cages, const std::vector& guestIndices, double radius) ``cages`` are vertex index lists into ``yCloud.pts``; ``radius`` in the cloud's length unit (half the cage diameter, about 4 A for a 5^12 cage). .. index:: pair: function; periodicCentroid .. _doxid-namespacesite_1a208c6e1f8e6106530d6c75bb16dccaad: .. ref-code-block:: cpp :class: doxyrest-title-code-block std::array periodicCentroid(const :ref:`molSys::PointCloud`<:ref:`molSys::Point`, double>& yCloud, const std::vector& atoms) Periodic centroid of a set of atoms: every atom is unwrapped to its minimum image about the first, and the mean is taken there.