VieSched++
VieVS VLBI Scheduling Software
VieVS::LookupTable Class Reference

fast lookup tables with reduced accuracy More...

#include <LookupTable.h>

Static Public Member Functions

static void initialize ()
 initialize lookup tables More...
 
static double sinLookup (double x)
 sinus lookup table More...
 
static double cosLookup (double x)
 cosine lookup table More...
 
static double acosLookup (double x)
 arcus cosine lookup table More...
 
static float angularDistance (const PointingVector &p1, const PointingVector &p2) noexcept
 angular distance between two points More...
 
static float angularDistance (double phi1, double theta1, double phi2, double theta2) noexcept
 angular distance between two points More...
 

Static Private Attributes

static std::vector< std::vector< std::vector< float > > > angularDistanceLookup = {}
 lookup table for angular distance between two points More...
 
static std::vector< double > sinLookupTable
 table for fast lookup for sine function with reduced accuracy. Key is fraction of .001 pi More...
 
static std::vector< double > cosLookupTable
 table for fast lookup for cosine function with reuced accuracy. Key is fraction of .001 pi More...
 
static std::vector< double > acosLookupTable
 

Detailed Description

fast lookup tables with reduced accuracy

the key is always an integer that counts in .001 intervals (using th sinLookup with a key of 327 would mean you get sin(0.327) as a return value)

Author
Matthias Schartner
Date
02.08.2017

Member Function Documentation

double LookupTable::acosLookup ( double  x)
static

arcus cosine lookup table

Author
Matthias Schartner
Parameters
xargument in radians
Returns
arcus cosine of argument
float LookupTable::angularDistance ( const PointingVector p1,
const PointingVector p2 
)
staticnoexcept

angular distance between two points

Author
Matthias Schartner
Parameters
p1start pointing vector
p2end pointing vector
Returns
angular distance between two points in radians

Here is the caller graph for this function:

float LookupTable::angularDistance ( double  phi1,
double  theta1,
double  phi2,
double  theta2 
)
staticnoexcept

angular distance between two points

Author
Matthias Schartner
Parameters
phi1start phi in radians
theta1start theta in radians
phi2end phi in radians
theta2end thatet in radians
Returns
angular distance between two points in radians
double LookupTable::cosLookup ( double  x)
static

cosine lookup table

Author
Matthias Schartner
Parameters
xargument in radians
Returns
cosine of argument

Here is the caller graph for this function:

void LookupTable::initialize ( )
static

initialize lookup tables

Author
Matthias Schartner

Here is the caller graph for this function:

double LookupTable::sinLookup ( double  x)
static

sinus lookup table

Author
Matthias Schartner
Parameters
xargument in radians
Returns
sinus of argument

Member Data Documentation

std::vector< double > VieVS::LookupTable::acosLookupTable
staticprivate

table for fast lookup for inverse cosine function with reduced accuracy. Key is fraction of .001 pi

vector< vector< vector< float > > > VieVS::LookupTable::angularDistanceLookup = {}
staticprivate

lookup table for angular distance between two points

std::vector< double > VieVS::LookupTable::cosLookupTable
staticprivate

table for fast lookup for cosine function with reuced accuracy. Key is fraction of .001 pi

std::vector< double > VieVS::LookupTable::sinLookupTable
staticprivate

table for fast lookup for sine function with reduced accuracy. Key is fraction of .001 pi


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