Chemical Data Processing Library C++ API - Version 1.1.1
Public Types | Public Member Functions | List of all members
CDPL::Descr::AutoCorrelation3DVectorCalculator< T > Class Template Reference

AutoCorrelation3DVectorCalculator. More...

#include <AutoCorrelation3DVectorCalculator.hpp>

+ Inheritance diagram for CDPL::Descr::AutoCorrelation3DVectorCalculator< T >:

Public Types

typedef T EntityType
 
typedef std::function< double(const EntityType &, const EntityType &)> EntityPairWeightFunction
 Type of the generic functor class used to store a user-defined entity pair weight function. More...
 
typedef std::function< const Math::Vector3D &(const EntityType &)> Entity3DCoordinatesFunction
 Type of the generic functor class used to store a user-defined entity 3D coordinates function. More...
 

Public Member Functions

 AutoCorrelation3DVectorCalculator ()
 Constructs the AutoCorrelation3DVectorCalculator instance. More...
 
void setStartRadius (double start_radius)
 Sets the starting value of the radius. More...
 
double getStartRadius () const
 Returns the starting value of the radius. More...
 
void setRadiusIncrement (double radius_inc)
 Sets the radius step size between successive autocorrelation vector elements. More...
 
double getRadiusIncrement () const
 Returns the radius step size between successive autocorrelation vector elements. More...
 
void setNumSteps (std::size_t num_steps)
 Sets the number of desired radius incrementation steps. More...
 
std::size_t getNumSteps () const
 Returns the number of performed radius incrementation steps. More...
 
void setEntityPairWeightFunction (const EntityPairWeightFunction &func)
 Allows to specify a custom entity pair weight function. More...
 
void setEntity3DCoordinatesFunction (const Entity3DCoordinatesFunction &func)
 Allows to specify the entity 3D coordinates function. More...
 
template<typename Iter , typename Vec >
void calculate (Iter beg, Iter end, Vec &vec)
 Calculates the RDF code of an entity sequence. More...
 

Detailed Description

template<typename T>
class CDPL::Descr::AutoCorrelation3DVectorCalculator< T >

AutoCorrelation3DVectorCalculator.

Member Typedef Documentation

◆ EntityType

template<typename T >
typedef T CDPL::Descr::AutoCorrelation3DVectorCalculator< T >::EntityType

◆ EntityPairWeightFunction

template<typename T >
typedef std::function<double(const EntityType&, const EntityType&)> CDPL::Descr::AutoCorrelation3DVectorCalculator< T >::EntityPairWeightFunction

Type of the generic functor class used to store a user-defined entity pair weight function.

The specified function (or function object) is required to take the two entitys (as a const reference to EntityType) as its arguments and return the weight of the entity pair as a floating-point value of type double (see [FUNWRP]).

◆ Entity3DCoordinatesFunction

template<typename T >
typedef std::function<const Math::Vector3D&(const EntityType&)> CDPL::Descr::AutoCorrelation3DVectorCalculator< T >::Entity3DCoordinatesFunction

Type of the generic functor class used to store a user-defined entity 3D coordinates function.

The provided specified function (or function object) is required to take the entity (as a const reference to EntityType) as its argument and return the coordinates of the entity as a const reference to Math::Vector3D (see [FUNWRP]).

Constructor & Destructor Documentation

◆ AutoCorrelation3DVectorCalculator()

Constructs the AutoCorrelation3DVectorCalculator instance.

Member Function Documentation

◆ setStartRadius()

template<typename T >
void CDPL::Descr::AutoCorrelation3DVectorCalculator< T >::setStartRadius ( double  start_radius)

Sets the starting value of the radius.

Parameters
start_radiusThe starting value of the radius.
Note
The default starting radius is 0.0Å.

◆ getStartRadius()

template<typename T >
double CDPL::Descr::AutoCorrelation3DVectorCalculator< T >::getStartRadius

Returns the starting value of the radius.

Returns
The current radius starting value.

◆ setRadiusIncrement()

template<typename T >
void CDPL::Descr::AutoCorrelation3DVectorCalculator< T >::setRadiusIncrement ( double  radius_inc)

Sets the radius step size between successive autocorrelation vector elements.

Parameters
radius_incThe radius step size.
Note
The default radius step size is 0.1Å.

◆ getRadiusIncrement()

template<typename T >
double CDPL::Descr::AutoCorrelation3DVectorCalculator< T >::getRadiusIncrement

Returns the radius step size between successive autocorrelation vector elements.

Returns
The applied radius step size.

◆ setNumSteps()

template<typename T >
void CDPL::Descr::AutoCorrelation3DVectorCalculator< T >::setNumSteps ( std::size_t  num_steps)

Sets the number of desired radius incrementation steps.

The number of performed radius incrementation steps defines the size of the calculated autocorrelation vector which is equal to the number of steps plus 1.

Parameters
num_stepsThe number of radius incrementation steps.
Note
The default number of steps is 99.

◆ getNumSteps()

template<typename T >
std::size_t CDPL::Descr::AutoCorrelation3DVectorCalculator< T >::getNumSteps

Returns the number of performed radius incrementation steps.

Returns
The number of performed radius incrementation steps.

◆ setEntityPairWeightFunction()

template<typename T >
void CDPL::Descr::AutoCorrelation3DVectorCalculator< T >::setEntityPairWeightFunction ( const EntityPairWeightFunction func)

Allows to specify a custom entity pair weight function.

Parameters
funcA AutoCorrelation3DVectorCalculator::EntityPairWeightFunction instance that wraps the target function.
Note
The default entity pair weight function returns the value 1.

◆ setEntity3DCoordinatesFunction()

template<typename T >
void CDPL::Descr::AutoCorrelation3DVectorCalculator< T >::setEntity3DCoordinatesFunction ( const Entity3DCoordinatesFunction func)

Allows to specify the entity 3D coordinates function.

Parameters
funcA AutoCorrelation3DVectorCalculator::Entity3DCoordinatesFunction instance that wraps the target function.
Note
The coordinates function must be specified before calling calculate(), otherwise a zero distance for each entity pair will be used for the calculation.

◆ calculate()

template<typename T >
template<typename Iter , typename Vec >
void CDPL::Descr::AutoCorrelation3DVectorCalculator< T >::calculate ( Iter  beg,
Iter  end,
Vec &  vec 
)

Calculates the RDF code of an entity sequence.

The elements of the returned vector correspond to the values of the 3D autocorrelation function for the different interval centers. The total number of calculated vector elements is given by the specified number of incrementation steps (see setNumSteps()).

Parameters
begAn iterator pointing to the beginning of the entity sequence.
endAn iterator pointing one past the end of the entity sequence.
vecThe calculated 3D autocorrelation vector.

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