/* **********************************************************************
 * *                                                                    *
 * *    Examiners directory header file                                 *
 * *                                                                    *
 * **********************************************************************
 * File: iris/examiners/examiners.h
 *
 *               COPYRIGHT (c) 2002, 2003, 2005, 2006 BY
 *             VAISALA INC., WESTFORD MASSACHUSETTS, U.S.A.
 * 
 * THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
 * ONLY  IN  ACCORDANCE WITH  THE  TERMS  OF  SUCH  LICENSE  AND WITH THE
 * INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE  OR  ANY OTHER
 * COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
 * OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
 * TRANSFERED.
 */

void askmoments			/* File: raysubs.c */
(const char *sPrompt_a,
 const struct dsp_data_mask *pAvailable_a,
 UINT2 *idata_a,
 UINT2 idefault_a );

void asksweep			/* File: raysubs.c */
(SINT2 isweepcnt_a,
 SINT2 *isweep_a,
 UINT2 idefault_a );

void ClearRayAverages(void);    /* File: raysubs.C */

#define DATATYPE_OK      (0)
#define DATATYPE_INVALID (1)
#define DATATYPE_MISSING (2)
int DataTypeFromStr             /* File: raysubs.C */
(UINT2 *idata_a,
 const char *sString_a,   /* String to convert */
 const struct dsp_data_mask *pAvailable_a,
 UINT2 idefault_a );

UINT1 lAskRange
(FLT4 *fBinStartKm_a,  /* Start range in km, N/A for performance data or XHDR */
 UINT2 iparam_a);

#ifdef SIGMET_PRODUCT_H
void product_catch              /* File: product_catch.C */
(const struct catch_product *phead_a,
 SINT4 iLineLength_a);
#endif  /* #ifdef SIGMET_PRODUCT_H */

#ifdef SIGMET_PRODUCT_H
void product_fcast              /* file: product_fcast.c */
(const struct product_hdr *phead_a,
 SINT4 iLineLength_a );
#endif  /* #ifdef SIGMET_PRODUCT_H */

#ifdef SIGMET_PRODUCT_H
void product_gage               /* File: product_gage.c */
(const struct product_hdr *phead_a,
 SINT4 iLineLength_a);
#endif  /* #ifdef SIGMET_PRODUCT_H */

#ifdef SIGMET_PRODUCT_H
void product_ndop               /* File: product_ndop.c */
( const struct product_hdr *phead_a,
  SINT4 ilinelength_a ) ;
#endif  /* #ifdef SIGMET_PRODUCT_H */

#ifdef SIGMET_PRODUCT_H
void product_raw		/* File: product_raw.C */
(const struct raw_product *pRaw_a,
  SINT4 ilinelength_a ) ;
#endif

#ifdef SIGMET_PRODUCT_H
#ifdef SIGMET_SETUP_H
void product_sline              /* File: product_warn.c */
(const struct sline_product *pSline_a,
 UINT2 icentroid_label_a );
#endif  /* #ifdef SIGMET_SETUP_H */
#endif  /* #ifdef SIGMET_PRODUCT_H */

#ifdef SIGMET_PRODUCT_H
void product_status             /* File: product_stat.c */
(const struct stat_product *pStatus_a);
#endif  /* #ifdef SIGMET_PRODUCT_H */

#ifdef SIGMET_PRODUCT_H
void product_tdwr               /* File: product_warn.c */
(const struct product_hdr *phead_a );
#endif  /* #ifdef SIGMET_PRODUCT_H */

#ifdef SIGMET_PRODUCT_H
#ifdef SIGMET_SETUP_H
void product_track              /* File: product_warn.c */
  (const struct track_product *pTrack_a,
   UINT2 icentroid_label_a );
#endif  /* #ifdef SIGMET_SETUP_H */
#endif  /* #ifdef SIGMET_PRODUCT_H */

#ifdef SIGMET_PRODUCT_H
void product_vvp                /* File: product_vvp.c */
(SINT4 iswitch_a,
 SINT4 iIntervals_a,
 const struct vvp_results *results_a ) ;
#endif  /* #ifdef SIGMET_PRODUCT_H */

#ifdef SIGMET_PRODUCT_H
void product_warn               /* File: product_warn.C */
(const struct warn_product *pWarn_a,
 UINT2 icentroid_label_a );
#endif  /* #ifdef SIGMET_PRODUCT_H */

#ifdef SIGMET_INGEST_HEADER_DEFINED
void raylist			/* File: raysubs.c */
(const struct task_configuration *tco_a,
 const struct data_ray *ray_a,
 const struct ingest_data_header *header_a,
 SINT4 inumber_a,
 UINT2 lmissing_a,
 SINT4 istart_bin_a,
 const struct ingest_header *ing_sum_a,
 SINT4 iMaxLenght_a );     /* Maximum line length */
#endif  /* #ifdef SIGMET_INGEST_HEADER_DEFINED */

#ifdef SIGMET_INGEST_HEADER_DEFINED
void showsummary		/* File: raysubs.c */
(const struct ingest_header *ingsum_a) ;
#endif  /* #ifdef SIGMET_INGEST_HEADER_DEFINED */

#ifdef SIGMET_PRODUCT_H
#ifdef SIGMET_SETUP_H
void show_product		/* File: show_product.c */
(const struct product_hdr *phead_a,
 const struct site_setup *pSite_a,
 SINT4 isize_a,
 const char *sfile_a,
 UINT2 *lok_a ) ;
#endif  /* #ifdef SIGMET_SETUP_H */
#endif

void ShowRayAverages            /* File: raysubs.C */
( SINT4 iprm_a,
  SINT4 istart_bin_a,   /* Bin number to start displaying at, origin 1 */
  SINT4 iMaxLength_a );

char *sStringFromData           /* File: product_catch.c */
( UINT2 iData_a,
  UINT2 iDataType_a,
  const struct data_convert *pConvert_a );
