Package cds.healpix

# Interface AuxiliaryAxis

public interface AuxiliaryAxis
Define an auxiliary axis, i.e. a 3rd dimension to be taken into account when computing an HEALPix index.
To compute a hash using the auxiliary axis, the values must be projected along the z-axis ranging from 0 (inclusive) to 1 (exclusive).
The maximum depth when using an auxiliary axis is 19 (4 + 19 * 3 = 61 bits). So the maximum number of intervals is 2^19 = 524288.
At a given `depth`, the [0.0, 1.0[ interval is divided into `NSIDE` (=2^depth) segments.
The resolution at a given `depth` is thus abs(unproject(1) - unproject(0)) / `NSIDE`.
If we want to represent temporal data, we can represent:

- about 1 years with intervals being time ranges of 1 min;
- 60.68 years with intervals being time ranges of 1 hour.

We recall that when a double is divided by a power of two, there is no loss in precision since the mantissa remains unchanged (only the exponent part changes).
Example: depth 12 => NSIDE = 4096 => angular resolution = 51.5 arcsec => 4096 / 365 = 11.222 years with a resolution = 1 day

Author:
  F.-X. Pineau

## Method Summary

Modifier and Type
Method
Description
`String`
`name()`
Returns the name of the auxiliary axis.
`double`
`project(double x)`
Project (or normalize) the given auxiliary axis value into the [0.0, 1.0[ range.
`double`
`unproject(double y)`
Unproject (denormalize) the value from the [0.0, 1.0[ range.

## Method Details

### name

String name()
Returns the name of the auxiliary axis.

Returns:
  the name of the auxiliary axis.

### project

double project(double x)
Project (or normalize) the given auxiliary axis value into the [0.0, 1.0[ range.

Parameters:
  `x` - the auxiliary axis value to be projected (normalized).
Returns:
  the projected (normalized) value on the auxiliary axis, in [0.0, 1.0[.

### unproject

double unproject(double y)
Unproject (denormalize) the value from the [0.0, 1.0[ range.

Parameters:
  `y` - the projected (normalized) value on the auxiliary axis, in [0.0, 1.0[
Returns:
  the unprojected (denormalize) value on the auxiliary axis.