Package uk.ac.starlink.ttools.scheme
Class SkySimData
java.lang.Object
uk.ac.starlink.ttools.scheme.SkySimData
Stores information required to simulate a sky catalogue.
It contains data for a number of rows, each row representing
a region of the sky with the capability to generate representative
catalogue quantities in that region.
The current implementation uses HEALPix tiles.
The data is held in arrays in memory, so that access including concurrent access will be fast. It is therefore only intended to hold information for a modest number of sky areas.
- Since:
- 6 Aug 2020
- Author:
- Mark Taylor
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Defines an object that can return a sample value for a given region. -
Method Summary
Modifier and TypeMethodDescriptioncreateCoordColumn
(boolean isLat) Returns a column object that can give simulated sky positions.Returns an array of column objects that can report statistically defined quantities.uk.ac.starlink.table.HealpixTableInfo
Returns the HEALPix setup of the statistics file on which this simulation data is based.int
getRandomRowIndex
(long seed) Returns a sky area at random.int
Returns the number of sky areas represented.static SkySimData
readData
(uk.ac.starlink.table.StarTable table, uk.ac.starlink.table.HealpixTableInfo hpxInfo, String cnameWeight, String stdevSuffix) Assembles a SkySimData instance by using statistical information in a given HEALPix table (one with a row for each healpix tile).
-
Method Details
-
getRowCount
public int getRowCount()Returns the number of sky areas represented.- Returns:
- row count
-
getHealpixInfo
public uk.ac.starlink.table.HealpixTableInfo getHealpixInfo()Returns the HEALPix setup of the statistics file on which this simulation data is based.- Returns:
- healpix info
-
getRandomRowIndex
public int getRandomRowIndex(long seed) Returns a sky area at random. The returned value is weighted by the number of objects in the original data set, so that the sky distribution of the original data set can be replicated- Parameters:
seed
- random seed- Returns:
- weighted random row index in this data set
-
createCoordColumn
Returns a column object that can give simulated sky positions.- Parameters:
isLat
- true for latitude, false for longitude
-
createQuantityColumns
Returns an array of column objects that can report statistically defined quantities.- Returns:
- columns for quantities that can generate numeric values
-
readData
public static SkySimData readData(uk.ac.starlink.table.StarTable table, uk.ac.starlink.table.HealpixTableInfo hpxInfo, String cnameWeight, String stdevSuffix) throws IOException Assembles a SkySimData instance by using statistical information in a given HEALPix table (one with a row for each healpix tile). As well as a column containing the healpix index (as characterised by the HealpixTableInfo parameter), it can have pairs of columnX
,X<stdevSuffix>
containing respectively the mean and sample standard deviation respectively of quantities per region.- Parameters:
table
- table containing statistical informationhpxInfo
- HEALPix characterisation of the tablecnameWeight
- name of the table column containing region weight (for instance a source count)stdevSuffix
- column name suffix indicating sample standard deviation- Returns:
- SkySimData instance
- Throws:
IOException
-