Skip to content

Class TempLat::RadialProjector

template <typename T>

ClassList > TempLat > RadialProjector

A class which projects any N-D lattice on its positive-definite radial coordinate. In other words, integrating out all the angular dimensions. When in Fourier-space, this routine takes into account what the redundancies are. Only the unique values are counted. Real-valued entries get weight 0.5 (they only contribute one float value out of the two for each complex value), and of the hermitian pairs, only the positivePartner is taken into account. More...

  • #include <radialprojector.h>

Public Types

Type Name
typedef typename RadialProjectionResult< sType >::floatType floatType
typedef RadialProjectionResult< sType > resultType
typedef typename GetFloatType< vType >::type sType
typedef typename GetGetReturnType< T >::type vType

Public Static Attributes

Type Name
constexpr size_t NDim = GetNDim::get&lt;T&gt;()
constexpr bool isComplexValued = [**GetGetReturnType**](structTempLat_1_1GetGetReturnType.md)&lt;T&gt;::isComplex

Public Functions

Type Name
RadialProjector (const T & instance, SpaceStateType spaceType, device::memory::host_ptr< MemoryToolBox< NDim > > pToolBox, bool pUseCentralBinValues)
RadialProjectionResult< sType > computeConfigurationSpace (BINCOMPUTETYPE binComputer, RadialProjectionResult< sType > baseWorkSpace, bool excludeOrigin)
UnbinnedRadialProjectionResult< sType > computeConfigurationSpaceUnbinned (UnbinnedRadialProjectionResult< sType > baseWorkSpace, bool excludeOrigin)
RadialProjectionResult< sType > computeFourierSpace (BINCOMPUTETYPE binComputer, RadialProjectionResult< sType > baseWorkSpace, bool excludeOrigin)
UnbinnedRadialProjectionResult< sType > computeFourierSpaceUnbinned (UnbinnedRadialProjectionResult< sType > baseWorkSpace, bool excludeOrigin)
RadialProjectionResult< sType > measure (sType maxValue, sType deltakBins=1, bool excludeOrigin=true)
Measure the projection of your n-dimensional lattice onto the radial direction. Only supports linear binning, so if you want to transform to e.g. logarithmic binning, you will simply have a pass a large number of linear bins here, and do the logarithmic binning yourself. Default is nGrid ^ (nDimensions - 1).
UnbinnedRadialProjectionResult< sType > measureUnbinned (device::Idx N, bool excludeOrigin=true)

Detailed Description

See RadialProjectionResult for a description of the result type.

Unit test: ctest -R test-radialprojector

Public Types Documentation

typedef floatType

using TempLat::RadialProjector< T >::floatType =  typename RadialProjectionResult<sType>::floatType;

typedef resultType

using TempLat::RadialProjector< T >::resultType =  RadialProjectionResult<sType>;

typedef sType

using TempLat::RadialProjector< T >::sType =  typename GetFloatType<vType>::type;

typedef vType

using TempLat::RadialProjector< T >::vType =  typename GetGetReturnType<T>::type;

Public Static Attributes Documentation

variable NDim

constexpr size_t TempLat::RadialProjector< T >::NDim;

variable isComplexValued

constexpr bool TempLat::RadialProjector< T >::isComplexValued;

Public Functions Documentation

function RadialProjector

inline TempLat::RadialProjector::RadialProjector (
    const T & instance,
    SpaceStateType spaceType,
    device::memory::host_ptr < MemoryToolBox < NDim > > pToolBox,
    bool pUseCentralBinValues
) 

function computeConfigurationSpace

template<typename BINCOMPUTETYPE>
inline RadialProjectionResult < sType > TempLat::RadialProjector::computeConfigurationSpace (
    BINCOMPUTETYPE binComputer,
    RadialProjectionResult < sType > baseWorkSpace,
    bool excludeOrigin
) 

function computeConfigurationSpaceUnbinned

inline UnbinnedRadialProjectionResult < sType > TempLat::RadialProjector::computeConfigurationSpaceUnbinned (
    UnbinnedRadialProjectionResult < sType > baseWorkSpace,
    bool excludeOrigin
) 

function computeFourierSpace

template<typename BINCOMPUTETYPE>
inline RadialProjectionResult < sType > TempLat::RadialProjector::computeFourierSpace (
    BINCOMPUTETYPE binComputer,
    RadialProjectionResult < sType > baseWorkSpace,
    bool excludeOrigin
) 

function computeFourierSpaceUnbinned

inline UnbinnedRadialProjectionResult < sType > TempLat::RadialProjector::computeFourierSpaceUnbinned (
    UnbinnedRadialProjectionResult < sType > baseWorkSpace,
    bool excludeOrigin
) 

function measure

Measure the projection of your n-dimensional lattice onto the radial direction. Only supports linear binning, so if you want to transform to e.g. logarithmic binning, you will simply have a pass a large number of linear bins here, and do the logarithmic binning yourself. Default is nGrid ^ (nDimensions - 1).

inline RadialProjectionResult < sType > TempLat::RadialProjector::measure (
    sType maxValue,
    sType deltakBins=1,
    bool excludeOrigin=true
) 


function measureUnbinned

inline UnbinnedRadialProjectionResult < sType > TempLat::RadialProjector::measureUnbinned (
    device::Idx N,
    bool excludeOrigin=true
) 


The documentation for this class was generated from the following file cosmolatticeweb/tmp/code_source/templat/include/TempLat/lattice/measuringtools/radialprojector.h