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<T>() |
| constexpr bool | isComplexValued = [**GetGetReturnType**](structTempLat_1_1GetGetReturnType.md)<T>::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
typedef resultType
typedef sType
typedef vType
Public Static Attributes Documentation
variable NDim
variable 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