Gromacs  2024.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Classes | Public Member Functions
gmx::GaussTransform3D Class Reference

#include <gromacs/math/include/gromacs/math/gausstransform.h>

Description

Sums Gaussian values at three dimensional lattice coordinates. The Gaussian is defined as $A \frac{1}{\sigma^3 \sqrt(2^3\pi^3)} * \exp(-\frac{(x-x0)^2}{2 \sigma^2})$.

x0:              X           x
              /   \        / \
            --     --    --   --
  lattice: |    |    |    |    |    |    |

The lattice has spacing 1, all coordinates are given with respect to the lattice coordinates.

Classes

class  Impl
 Private implementation class for GaussTransform3D. More...
 

Public Member Functions

 GaussTransform3D (const dynamicExtents3D &extent, const GaussianSpreadKernelParameters::Shape &globalParameters)
 Construct a three-dimensional Gauss transform. More...
 
 GaussTransform3D (const GaussTransform3D &other)
 Copy constructor.
 
GaussTransform3Doperator= (const GaussTransform3D &other)
 Copy assignment.
 
 GaussTransform3D (GaussTransform3D &&other) noexcept
 Move constructor.
 
GaussTransform3Doperator= (GaussTransform3D &&other) noexcept
 Move assignment.
 
void add (const GaussianSpreadKernelParameters::PositionAndAmplitude &localParameters)
 Add a three dimensional Gaussian with given amplitude at a coordinate. More...
 
void setZero ()
 Set all values on the lattice to zero.
 
basic_mdspan< float,
dynamicExtents3D
view ()
 Return a view on the spread lattice.
 
basic_mdspan< const float,
dynamicExtents3D
constView () const
 Return a const view on the spread lattice.
 

Constructor & Destructor Documentation

gmx::GaussTransform3D::GaussTransform3D ( const dynamicExtents3D extent,
const GaussianSpreadKernelParameters::Shape globalParameters 
)

Construct a three-dimensional Gauss transform.

Transform lattice values will be zero-initialized.

Parameters
[in]extentof the spread lattice
[in]globalParametersof the spreading kernel

Member Function Documentation

void gmx::GaussTransform3D::add ( const GaussianSpreadKernelParameters::PositionAndAmplitude localParameters)

Add a three dimensional Gaussian with given amplitude at a coordinate.

Parameters
[in]localParametersof the spreading kernel

The documentation for this class was generated from the following files: