diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-03-05 18:05:27 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-03-05 18:05:27 -0500 |
commit | 4a3aef3f7236d2b3267aead61f11c587c6f4bddb (patch) | |
tree | bea89287f8cf6290fc230fb82fb11b3b9a5c6e0f /include/calfuse.h | |
parent | 9166f1762976cb64acfd8c9ecc067132ffefa615 (diff) | |
download | calfuse-4a3aef3f7236d2b3267aead61f11c587c6f4bddb.tar.gz |
Further improvements
Diffstat (limited to 'include/calfuse.h')
-rw-r--r-- | include/calfuse.h | 536 |
1 files changed, 0 insertions, 536 deletions
diff --git a/include/calfuse.h b/include/calfuse.h deleted file mode 100644 index a1ab6e9..0000000 --- a/include/calfuse.h +++ /dev/null @@ -1,536 +0,0 @@ -/***************************************************************************** - * Johns Hopkins University - * Center For Astrophysical Sciences - * FUSE - ***************************************************************************** - * - * Synopsis: #include "calfuse.h" - * - * Description: Master include file for FUSE calibration pipeline processing - * system. Global shared variables and structures are defined - * here, as well as symbols and default values of parameters. - * - * Arguments: none - * - * Returns: none - * - * History: 11/01/02 1.1 peb Begin work - * 12/10/02 1.3 wvd Continue work - * 12/20/02 1.4 wvd Change flags to unsigned char in - * screening routines. - * 01/14/03 1.5 wvd Change cf_fpa_pos to cf_read_fpa_pos - * 01/17/03 1.6 wvd Added new calibration files - * DIGI_CAL and SPEC_CAL - * Added cf_check_digitizer and DIGI_COR - * 02/05/03 1.7 wvd Added spectral extraction routines - * Interpolate between FLUX_CAL files. - * Define HC - * 02/12/03 1.8 wvd Added convert_to_ergs - * Replace FLUX_CAL with AEFF_CAL - * 02/14/03 1.9 wvd Added FLAT, WGTS and WORM calibration - * file keywords. - * 02/24/03 1.10 wvd Added subroutines of cf_extract - * and char *cf_hist_file(char *); - * 02/28/03 1.12 peb Added function definitions for - * cf_rebin_and_flux_calibrate_backround, - * cf_standard_or_optimal_extraction, - * cf_optimal_extraction, and - * cf_write_extracted_spectrum. - * 03/04/03 1.13 peb Added astig_read_file, - * astig_check_input_image, - * astig_target_aperture - * 03/05/03 1.14 wvd Added cf_target_count_rate - * 03/07/03 1.15 peb Changed cf_error_init, added - * cf_verbose, and made pha, timeflgs, and - * loc_flgs function type consistent. - * 03/11/03 1.16 wvd Changed channel from unsigned char to - * char in a few subroutines. - * 03/18/03 1.17 wvd variable argument list for cf_verbose - * 03/25/03 1.18 peb variable argument list for cf_if_error - * and cf_if_warning - * 03/21/03 1.19 wvd Add flag for photon in pot hole - * 04/01/03 1.21 wvd Delete cf_errmsg; obsolete - * 04/08/03 1.22 wvd Change definition of cf_apply_filters - * 04/09/03 1.23 wvd Add bad-pixel maps to calibration files. - * 04/17/03 1.25 wvd Add final_call to cf_identify_channel - * Add final_call and weight to - * cf_calculate_y_centroid - * 04/18/03 1.26 wvd Add cf_find_spectra - * 04/21/03 1.27 wvd Modify cf_grating_motion, - * cf_mirror_motion, and - * cf_satellite_jitter. - * Define FRAME_TOLERANCE. - * 04/28/03 v1.28 wvd Modified cf_fuv_init not to extrapolate - * the last two calibration files forward. - * 05/10/03 v1.29 wvd Pass locflag to cf_set_photon_flags - * 05/16/03 v1.30 wvd Add cf_make_mask. - * Set PERFORM keywords for HIST data. - * 05/28/03 v1.31 rdr Modified def of cf_optimal_extraction - * and cf_write_extracted_spectrum - * 05/30/03 v1.34 wvd Pass WEIGHTS to cf_set_photon_flags - * 06/09/03 v1.35 rdr Change definition of cf_apply_filters - * 06/11/03 v1.36 wvd Change HV array to type short. - * 06/11/03 v1.37 wvd Pass datatype to cf_read_col and - * cf_write_col. - * 07/16/03 v1.38 wvd Move initialization routines to libcf - * 07/23/03 v1.39 wvd Add HSKP_CAL to list of cal files - * Increment OPUS_VERSION to 2.7 - * 08/01/03 v1.40 wvd Add cf_apply_dead_time to pipeline, - * modify arguments of dead-time routines. - * 08/04/03 v1.41 wvd Convert count-rate arrays to shorts. - * 08/06/03 v1.42 wvd Delete GTI's from cf_satellite_jitter - * 08/21/03 v1.43 wvd Change channel array to unsigned char - * in subroutines of cf_remove_motion - * 08/22/03 v1.44 wvd Add cf_get_extraction_limits. - * 08/22/03 v1.45 wvd Change limits of extraction window - * from type int to type short. - * 08/25/03 v1.46 wvd Add cf_nint, change coltype in - * cf_idf_io routines from string to int - * 08/28/03 v1.47 wvd Modify structure saareg - * 09/10/03 v1.48 wvd Define cf_set_user_gtis - * Modify args of cf_screen_burst - * 09/15/03 v1.49 wvd Add structure top_level_routines - * Delete astig_read_file and - * astig_target_aperture. - * Modify args of cf_identify_channel - * 10/02/03 v1.50 wvd Exchange PHA and GTI flags. - * Change version number to 3.0.2. - * 10/08/03 v1.51 wvd Change counts_out to type long - * 10/26/03 v1.52 wvd Change arguments of cf_find_spectra - * and cf_calculate_y_centroid. - * 10/31/03 v1.53 wvd Change channel to unsigned char - * throughout. - * 11/26/03 v1.54 wvd Change aic_rate and fec_rate to float - * throughout. - * 12/21/03 v1.55 wvd Remove underscore from idf and bpm - * filenames. - * Change version number to 3.0.3. - * 02/09/04 v1.56 wvd Employ new scheme for dead-time - * correction. Add cf_nlong() and - * cf_screen_fifo_overflow. - * Change version number to 3.0.4. - * 02/27/04 v1.57 rdr Change def of cf_thermal_distortion - * 03/02/04 v1.58 wvd Implement WPC array in extraction - * routine. - * Add cf_x2lambda. - * Change version number to 3.0.5. - * 03/16/04 v1.59 wvd Delete WPC array. - * Smooth HIST data in X. - * Comment out cf_astig_farf. - * Change version number to 3.0.6. - * 04/05/04 v1.60 wvd Modify cf_geometric_distort to - * rescale SPECBINY only for HIST data. - * 04/09/04 v1.61 wvd Fix bugs in cf_optimal_extraction. - * Change version number to 3.0.7. - * 04/09/04 v1.62 bjg Define FILL_DATA and LOCATION_FILL - * 04/26/04 v1.63 wvd Replace cf_rebin_and_flux_ - * calibrate_background with - * cf_rebin_background. - * Modify args to cf_optimal_extraction - * and cf_find_spectra. - * 06/02/04 v1.64 wvd Add cf_modify_hist_times. - * Populate the header keywords - * TIME_COR, COMB_COR, and QUIK_COR - * Modify args to cf_calculate_y_centroid, - * cf_find_spectra, cf_satellite_jitter, - * cf_apply_filters, and - * cf_write_extracted_spectrum. - * Modify order of CALIBRATION_STEP_KEYS. - * 08/19/04 v1.65 wvd Add FES definitions and subroutines. - * 10/12/04 v1.66 wvd Change version number to 3.0.8 - * 02/01/05 v1.67 wvd Change version number to 3.1.0 - * Modify args to cf_screen_burst - * 03/02/05 v1.68 wvd Add cf_modify_hist_pha and PHAH_COR. - * Walk correct HIST data. - * Change cf_ttag_bkgd to cf_scale_bkgd - * and pass weights array to it. - * Change cf_get_extraction_limits to - * cf_extraction_limits; it now returns - * X limits of extraction window. - * Add cf_screen_airglow. - * 03/22/05 v1.69 wvd Change TIME_SUNRISE and TIME_SUNSET - * from floats to shorts. - * 04/19/05 v1.70 wvd Change version number to 3.1.1 - * 06/15/05 v1.71 wvd BUG FIX: cf_extract_spectra always - * read the point-source probability - * array from WGTS_CAL file. Now uses - * variable "extended" to determine - * which HDU to read. Modify args to - * cf_rebin_probability_array - * Change version number to 3.1.2 - * Delete QUIK_COR from structure - * CALIBRATION_STEP_KEYS. - * 08/30/05 v1.72 wvd Define MAX_EXPTIME = 55000 - * Delete cf_read_fpa_pos - * Change version number to 3.1.3 - * 09/19/05 v1.73 wvd Reinstall cf_read_fpa_pos, as it is - * needed by ttag_combine. - * 09/30/05 v1.74 wvd Change version number to 3.1.4 - * Pass photon array to - * cf_screen_fifo_overflow. - * 11/22/05 v1.75 wvd Add cf_screen_bad_pixels, - * cf_screen_jitter, and - * cf_get_potholes - * Change version number to 3.1.5 - * 01/24/06 v1.76 wvd Change version number to 3.1.6 - * 02/03/06 v1.77 wvd Change version number to 3.1.7 - * 05/15/06 v1.78 wvd Divide cf_astigmatism_and_dispersion - * into two separate routines. Incorporate - * cf_x2lambda into cf_dispersion. - * Change version number to 3.1.8 - * Delete cf_astig_farf. - * 06/12/06 v1.79 wvd Add pole_ang.c - * Change version number to 3.1.9 - * Add -a to cf_remove_motions - * 11/02/06 v1.80 wvd Add cf_time_xy_distort.c - * Change version number to 3.2.0 - * Add APER_COR to list of cal steps. - * Change cf_screen_fifo_overflow to - * cf_fifo_deadtime. Modify args to - * it, cf_apply_dead_time, and - * cf_target_count_rate. Run - * cf_target_count_rate on HIST data. - * 03/07/07 v1.81 wvd Modify arguments to space_vel. - * 05/18/07 v1.82 wvd Change version number to 3.2.1. - * 09/15/07 v1.83 bot Change version number to 3.2.2. - * 10/16/07 v1.84 bot Added brackets in - * FES_CALIBRATION_STEP_KEYS - * and in CALIBRATION_FILE_KEYS. - * 08/22/08 v1.85 wvd Change version number to 3.2.3. - * Many changes to better handle - * bright-earth observations & - * 900-level airglow exposures. - * - ****************************************************************************/ - -#include "calfitsio.h" - -#define CALFUSE_VERSION "3.2.3" - -#define LARGEMJD 9999999999.0 -#define OPUS_VERSION 2.7 /* Oldest compatible version of OPUS */ -#define PI 3.1415926535897932384626433832795028841971693993751 -#define RADIAN 0.017453292519943295769236907684886127134428718885417 -#define C 299792.458 -#define HC 1.98644746104e-8 /* erg A */ -#define MU 3.986005E5 /* km^3 s^-2 */ -#define RE 6371.00 /* km */ -#define RS 6.960E5 -#define AU 1.495978707E8 -#define FRAME_TOLERANCE 0.004 - -#define FESPIX 266256 /* This is 516*516 */ -#define FILL_DATA 21865 -#define NXMAX 16384 -#define NYMAX 1024 - -#define TEMPORAL_DAY (0x01<<0) -#define TEMPORAL_LIMB (0x01<<1) -#define TEMPORAL_SAA (0x01<<2) -#define TEMPORAL_HV (0x01<<3) -#define TEMPORAL_BRST (0x01<<4) -#define TEMPORAL_OPUS (0x01<<5) -#define TEMPORAL_JITR (0x01<<6) -#define TEMPORAL_USER (0x01<<7) - -#define LOCATION_SHLD (0x01<<0) -#define LOCATION_AIR (0x01<<1) -#define LOCATION_STIML (0x01<<2) -#define LOCATION_STIMR (0x01<<3) -#define LOCATION_PHA (0x01<<4) -#define LOCATION_BADPX (0x01<<5) -#define LOCATION_FILL (0x01<<6) - -#define MAX_EXPTIME 55000 - -struct fes_keyword_tab -{ - char name[9]; - char value[8]; - char proc[18]; -}; - -#define NUM_FES_PROC_STEPS 6 - -#define FES_CALIBRATION_STEP_KEYS { \ - {"INIT_FES\0","PERFORM\0","cf_fes_init\0"},\ - {"MASK_FES\0","PERFORM\0","cf_fes_mask\0"},\ - {"BIAS_FES\0","PERFORM\0","cf_fes_bias\0"},\ - {"FLAT_FES\0","PERFORM\0","cf_fes_flat\0"},\ - {"UNDS_FES\0","PERFORM\0","cf_fes_undistort\0"},\ - {"FLUX_FES\0","PERFORM\0","cf_fes_flux\0"},\ -} - -#define NUM_FES_CAL_KEYS 5 - -#define FES_CALIBRATION_FILE_KEYS { \ - "MASK",1,"FCL","\0","\0","\0",0.0,0.0,LARGEMJD,0,0,0,\ - "BIAS",2,"FCL","\0","\0","\0",0.0,0.0,LARGEMJD,0,0,0,\ - "FFLT",2,"FCL","\0","\0","\0",0.0,0.0,LARGEMJD,0,0,0,\ - "FGEO",1,"FCL","\0","\0","\0",0.0,0.0,LARGEMJD,0,0,0,\ - "FFLX",2,"FCL","\0","\0","\0",0.0,0.0,LARGEMJD,0,0,0\ - } - -typedef struct { - double ra_ap; - double dec_ap; - double limb; -} orbital; - -typedef struct { - long n_points; - float *lat; - float *lon; -} saareg; - -typedef struct { - long ntimes; /* The number of intervals */ - double *start; /* An array of starting times (in seconds) */ - double *stop; /* An array of stoping times (in seconds) */ -} GTI; /* Good Time Intervals */ - -struct keyword_tab -{ - char name[9]; - char hist_value[8]; - char hist_proc[32]; - char ttag_value[8]; - char ttag_proc[32]; -}; - -#define NTOP_LEVEL_ROUTINES 11 - -#define TOP_LEVEL_ROUTINES { \ - "cf_ttag_init", \ - "cf_hist_init", \ - "cf_convert_to_farf", \ - "cf_ttag_countmap", \ - "cf_ttag_gainmap", \ - "cf_remove_motions", \ - "cf_assign_wavelength", \ - "cf_screen_photons", \ - "cf_flux_calibrate", \ - "cf_bad_pixels", \ - "cf_extract_spectra" \ -} - -#define NUM_PROC_STEPS 40 - -#define CALIBRATION_STEP_KEYS { \ - {"INIT_COR", "PERFORM", "cf_hist_init", "PERFORM", "cf_ttag_init"}, \ - {"DIGI_COR", "PERFORM", "cf_check_digitizer", "PERFORM", "cf_check_digitizer"}, \ - {"IDS__COR", "PERFORM", "cf_ids_dead_time", "PERFORM", "cf_ids_dead_time"}, \ - {"ELEC_COR", "PERFORM", "cf_electronics_dead_time", "PERFORM", "cf_electronics_dead_time"}, \ - {"FIFO_COR", "OMIT", "cf_fifo_dead_time", "PERFORM", "cf_fifo_dead_time"}, \ - {"DEAD_COR", "PERFORM", "cf_apply_dead_time", "PERFORM", "cf_apply_dead_time"}, \ - {"THRM_COR", "PERFORM", "cf_thermal_distort", "PERFORM", "cf_thermal_distort"}, \ - {"RATE_COR", "PERFORM", "cf_count_rate_y_distort", "PERFORM", "cf_count_rate_y_distort"}, \ - {"TMXY_COR", "PERFORM", "cf_time_xy_distort", "PERFORM", "cf_time_xy_distort"}, \ - {"GEOM_COR", "PERFORM", "cf_geometric_distort", "PERFORM", "cf_geometric_distort"}, \ - {"PHAH_COR", "PERFORM", "cf_modify_hist_pha", "OMIT", "cf_modify_hist_pha"}, \ - {"PHAX_COR", "PERFORM", "cf_pha_x_distort", "PERFORM", "cf_pha_x_distort"}, \ - {"ACTV_COR", "PERFORM", "cf_active_region", "PERFORM", "cf_active_region"}, \ - {"LIMB_COR", "PERFORM", "cf_screen_limb_angle", "PERFORM", "cf_screen_limb_angle"}, \ - {"SAA__COR", "PERFORM", "cf_screen_saa", "PERFORM", "cf_screen_saa"}, \ - {"VOLT_COR", "PERFORM", "cf_screen_high_voltage", "PERFORM", "cf_screen_high_voltage"}, \ - {"BRST_COR", "OMIT", "cf_screen_burst", "PERFORM", "cf_screen_burst"}, \ - {"APER_COR", "PERFORM", "cf_screen_jitter", "PERFORM", "cf_screen_jitter"}, \ - {"UGTI_COR", "OMIT", "cf_set_user_gtis", "PERFORM", "cf_set_user_gtis"}, \ - {"FLAG_COR", "PERFORM", "cf_set_photon_flags", "PERFORM", "cf_set_photon_flags"}, \ - {"GTI__COR", "PERFORM", "cf_set_good_time_intervals", "PERFORM", "cf_set_good_time_intervals"}, \ - {"TIME_COR", "PERFORM", "cf_modify_hist_times", "OMIT", "cf_modify_hist_times"}, \ - {"AIRG_COR", "PERFORM", "cf_screen_airglow", "PERFORM", "cf_screen_airglow"}, \ - {"BPIX_COR", "PERFORM", "cf_screen_bad_pixels", "PERFORM", "cf_screen_bad_pixels"}, \ - {"PHA__COR", "OMIT", "cf_screen_pulse_height", "PERFORM", "cf_screen_pulse_height"}, \ - {"FIND_COR", "PERFORM", "cf_find_spectra", "PERFORM", "cf_find_spectra"}, \ - {"YMOT_COR", "OMIT", "cf_calculate_ycent_motion", "PERFORM", "cf_calculate_ycent_motion"}, \ - {"GRAT_COR", "PERFORM", "cf_grating_motion", "PERFORM", "cf_grating_motion"}, \ - {"FPA__COR", "PERFORM", "cf_fpa_position", "PERFORM", "cf_fpa_position"}, \ - {"MIRR_COR", "PERFORM", "cf_mirror_motion", "PERFORM", "cf_mirror_motion"}, \ - {"JITR_COR", "OMIT", "cf_satellite_jitter", "PERFORM", "cf_satellite_jitter"}, \ - {"YCNT_COR", "PERFORM", "cf_calculate_y_centroid", "PERFORM", "cf_calculate_y_centroid"}, \ - {"CHID_COR", "PERFORM", "cf_identify_channel", "PERFORM", "cf_identify_channel"}, \ - {"TCRT_COR", "PERFORM", "cf_target_count_rate", "PERFORM", "cf_target_count_rate"}, \ - {"ASTG_COR", "PERFORM", "cf_astigmatism", "PERFORM", "cf_astigmatism"}, \ - {"WAVE_COR", "PERFORM", "cf_dispersion", "PERFORM", "cf_dispersion"}, \ - {"DOPP_COR", "PERFORM", "cf_doppler_and_heliocentric", "PERFORM", "cf_doppler_and_heliocentric"}, \ - {"FLAT_COR", "OMIT", "cf_flat_field", "OMIT", "cf_flat_field"}, \ - {"FLUX_COR", "PERFORM", "cf_convert_to_ergs", "PERFORM", "cf_convert_to_ergs"}, \ - {"COMB_COR", "PERFORM", "cf_coadd", "PERFORM", "cf_coadd"} \ -} - - -struct cal_file_tab -{ - char name[5]; - int numfiles; - char extension[4]; - char filenames[3][19]; - float aftermjd[3]; - int interp[3]; -}; - -#define NUMCALKEYS 28 - -#define CALIBRATION_FILE_KEYS { \ - {"AEFF", 2, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"AIRG", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"ASTG", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"BCHR", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"BKGD", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"CHID", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"DIGI", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"ELEC", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"FLAT", 2, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"GEOM", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"GRAT", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"HSKP", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"JITR", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"MIRR", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"PARM", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"PHAH", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"PHAX", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"QUAL", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"RATE", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"TMXY", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"SAAC", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"SCRN", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"SPEC", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"STIM", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"VOLT", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"WAVE", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"WGTS", 1, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}},\ - {"WORM", 2, "CAL", {"", "", ""}, {0.0, 0.0, LARGEMJD}, {0, 0, 0}} \ -} - -extern int verbose_level; - -void cf_error_init(const char *, const char *, FILE *); -void cf_verbose(int, const char *, ...); -void cf_if_fits_error(int); -void cf_if_warning(char *, ...); -void cf_if_error(char *, ...); -void *cf_malloc(size_t); -void *cf_calloc(size_t, size_t); - -void cf_timestamp(const char *, const char *, char *); -int cf_proc_check(fitsfile *, char *); -int cf_proc_update(fitsfile *, char *, char *); -int cf_fuv_init(fitsfile *); - -char *cf_cal_file(char *); -char *cf_parm_file(char *); -int eclipse(double *, double, double *); -double geod_mag(double, double); -double helio_vel(double, double, double); -double lsrd_vel(double, double); -double lsrk_vel(double, double); -void month_day(int, int, int*, int*); -void read_tle(fitsfile *); -double pole_ang(double *, double *, double, double); -double solar_ang(double, double, double); -int saa(saareg *, double, double); -double space_vel(double *, double, double); -void state_geod(double *, double, double *, double *, double *); -double state_limb(double *, double, double, double, double *,int *); -void cf_velang(fitsfile *, double); -int astig_check_input_image(fitsfile *); - -long cf_read_col(fitsfile *, int, char *, void **); -int cf_write_col(fitsfile *, int, char *, void *, long); -int cf_nint (double); -long cf_nlong (double); - -int cf_fes_proc_check(fitsfile *, char *); -int cf_fes_proc_update(fitsfile *, char *, char *); - -int cf_add_header_keywords(fitsfile *); -long cf_get_times(fitsfile *, double **); -int cf_get_gti(fitsfile *, double **, double **); -int cf_get_geocorona(fitsfile *, short **, short **, short **, short **); -int cf_get_potholes(fitsfile *, float **, float **, float **, float **); -int cf_timeline(fitsfile *); -int cf_set_background_limits(fitsfile *); -long cf_extraction_limits(fitsfile *, int, int, short **, short **, - short*, short*); - -int cf_check_digitizer(fitsfile *); -int cf_ids_dead_time(fitsfile *, long, float *, float *); -int cf_electronics_dead_time(fitsfile *, long, float *, float *); -int cf_fifo_dead_time(fitsfile *, long, float *, long, float *, float *, - float *); -int cf_apply_dead_time(fitsfile *, long, float *, float *, - long, float *, float *, float *); -int cf_thermal_distort(fitsfile *, long, float *, float *, float *, - unsigned char *); -int cf_count_rate_y_distort(fitsfile *, long, float *, float *, - unsigned char *, long, float *, float *); -int cf_time_xy_distort(fitsfile *, long, float *, float *, unsigned char *); -int cf_geometric_distort(fitsfile *, long, float *, float *, - unsigned char *); -int cf_modify_hist_pha(fitsfile *, long, unsigned char *, unsigned char *); -int cf_pha_x_distort(fitsfile *, long, unsigned char *, float *, - unsigned char *); -int cf_active_region(fitsfile *, long, float *, float *, unsigned char *); - -int cf_find_spectra(fitsfile *, long, float *, float *, float *, - unsigned char *, unsigned char *, unsigned char *, int); -int cf_identify_channel(fitsfile *, long, float *, float *, unsigned char *, - unsigned char *, int, int); -int cf_calculate_ycent_motion(fitsfile*, long, float*, float*, - unsigned char*, unsigned char*, long, float*, float*, float*); -int cf_source_aper(fitsfile*, int*); -int cf_grating_motion(fitsfile *, long, float *, float *, float *, - unsigned char *, long, float *, short *); -int cf_fpa_position(fitsfile *, long, float *, unsigned char *); -int cf_read_fpa_pos (fitsfile *, float *, float *); -int cf_mirror_motion(fitsfile *, long, float *, float *, float *, - unsigned char *, long, float *, short *); -int cf_satellite_jitter(fitsfile *, long, float *, float *, float *, - unsigned char *, long, float *, unsigned char *); -int cf_calculate_y_centroid(fitsfile*, long, float*, float*, float*, - unsigned char*, unsigned char*, unsigned char*); -int cf_target_count_rate(fitsfile *, long, float *, float *, unsigned char *, - unsigned char *, long, float *, float *, float *); -int cf_screen_limb_angle(fitsfile *, long, unsigned char *, float *); -int cf_screen_saa(fitsfile *, long, unsigned char *, float *, float *); -int cf_screen_airglow(fitsfile *, long, float *, float *, unsigned char *); -int cf_screen_bad_pixels(fitsfile *, long, float *, float *, unsigned char *); -int cf_screen_burst(fitsfile *, long, float *, float *, float *, - unsigned char *, GTI *, long, float *, unsigned char *, float *, - short *); -int cf_screen_jitter(fitsfile *, long, float *, unsigned char *); -int cf_set_user_gtis(fitsfile *, long, float *, unsigned char *); -int cf_screen_high_voltage(fitsfile *, long, unsigned char *, short *); -int cf_screen_pulse_height(fitsfile *, long, unsigned char *, unsigned char *); -int cf_set_photon_flags(fitsfile *, long, float *, float *, unsigned char *, - unsigned char *, long, float *, unsigned char *); -int cf_set_good_time_intervals(fitsfile *, long, float *, unsigned char *, - GTI *); -int cf_modify_hist_times(fitsfile *, long, float *, GTI *); -int cf_astigmatism(fitsfile *, long, float *, float *, unsigned char *); -int cf_dispersion(fitsfile *, long , float *, unsigned char *, float *); -int cf_doppler_and_heliocentric(fitsfile *, long, float *, unsigned char *, - float *, long, float *, float *); -int cf_convert_to_ergs(fitsfile *, long , float *, float *, - unsigned char *, float *); -int cf_apply_filters(fitsfile *, int, long, unsigned char *, unsigned char *, - long, unsigned char *, long *, long *, long *, long **); -int cf_scale_bkgd(fitsfile *, long, float *, float *, float *, unsigned char *, - unsigned char *, unsigned char *, long, - long *, long, long, int *, int *, int *, int *, int *, float **, - int *, int *, int *, float **); -int cf_make_mask(fitsfile *, int, long, float *, int, int, float **); -int cf_make_wave_array(fitsfile *, int, long *, float **); -int cf_rebin_probability_array(fitsfile *, int, int, long, float *, int *, - float *, float **); -int cf_rebin_background(fitsfile *, int, long, float *, - int, int, int, int, float *, float **); -int cf_standard_or_optimal_extraction(fitsfile *, int *); -int cf_optimal_extraction(fitsfile *, int, int, float *, float *, - unsigned char *, float *, long, long *, float *, - float *, int, float, float *, long, float *, float **, - float **, long **, float **, float **, short **); -int cf_write_extracted_spectrum(fitsfile *, int, int, long, float *, - float *, float *, long *, float *, float *, short *, char *); -char *cf_hist_file(char *); |