28#ifndef VISIR_SPC_OPTMOD_H
29#define VISIR_SPC_OPTMOD_H
36#define VISIR_SPC_OPTMOD_SIZEOF (4*sizeof(int) + 14 * sizeof(double))
40#define VISIR_SPC_LRP_CWLEN 10.91
43#define VISIR_SPC_LRP_RESOL 300.
46#define VISIR_SPC_LRP_RESOL_DISP 121412177.
49#define VISIR_SPC_LRP_WLEN0 6.70e-6
52#define VISIR_SPC_LRP_WLEN1 14.21e-6
54#define VISIR_SPC_LRP_NAME "LRP"
60enum visir_spc_resol_ {
69typedef enum visir_spc_resol_ visir_spc_resol;
79 double ensure_alignment;
80 char contents[VISIR_SPC_OPTMOD_SIZEOF -
sizeof(double)];
83typedef struct visir_optmod_ visir_optmod;
85#undef VISIR_SPC_OPTMOD_SIZEOF
91int visir_spc_optmod_init(visir_spc_resol,
double, visir_optmod *,
int);
92double visir_spc_optmod_wlen(
const visir_optmod *,
double *,
double *);
93double visir_spc_optmod_cross_dispersion(
const visir_optmod *,
double);
94double visir_spc_optmod_echelle(
const visir_optmod *,
double,
int);
95double visir_spc_optmod_resolution(
const visir_optmod *);
96double visir_spc_optmod_dispersion(
const visir_optmod *);
97int visir_spc_optmod_side_is_A(
const visir_optmod *);
98int visir_spc_optmod_get_echelle_order(
const visir_optmod *);