#ifndef TA_ROSAT_PARAM_H
#define TA_ROSAT_PARAM_H

#ifdef __cplusplus
extern "C" {
#endif

/*
 * ROSAT target selection interface
 */

#include <dervish.h>
#include "taCalibObj.h"
#include "arTargetType.h"
#include "arDetectionFlag.h"
#include "arObjectStatus.h"
#include "arObjectType.h"



/* ROSAT target selection parameters */
typedef struct taRosatParams
{
  float uMin;			/* min u mag */
  float uMax;			/* max u mag */
  float gMin;			/* min g mag */
  float gMax;			/* max g mag */
  float rMin;			/* min r mag */
  float rMax;			/* max r mag */
  float iMin;			/* min i mag */
  float iMax;			/* max i mag */
  float uerrMin;		/* min u err */
  float uerrMax;		/* max u err */
  float gerrMin;		/* min g err */
  float gerrMax;		/* max g err */
  float rerrMin;		/* min r err */
  float rerrMax;		/* max r err */
  float ierrMin;		/* min i err */
  float ierrMax;		/* max i err */
  float rBrtStar;		/* max r mag for bright star */
  float rBrtGal;		/* max r mag for bright gal */
  float ugMinQSO;		/* min u-g mag for QSO */
  float ugMaxQSO;		/* max u-g mag for QSO */
  float ugMinUVStar;		/* min u-g mag for UV Star */
  float ugMaxUVStar;		/* max u-g mag for UV Star */
  float grMinBlueGal;		/* min g-r mag for Blue Gal */
  float grMaxBlueGal;		/* max g-r mag for Blue Gal */
  int priorD;                   /* priority for ROSAT_D */
  int priorBrtStar;             /* priority for bright star ROSAT_C */
  int priorBrtGal;              /* priority for bright galaxy ROSAT_C */
  int priorBlueGal;             /* priority for blue gal ROSAT_C */
  int priorUVStar;              /* priority for UV Star ROSAT_C */
  int priorQSORej;              /* priority for QSO reject box ROSAT_B */
  int priorUVAGN;               /* priority for UVX AGN ROSAT_B */
  int priorQSO;                 /* priority for quasar WG QSO ROSAT_B */
  int priorFIRST;               /* priority for first source ROSAT_A */
  int priorFIRSTQSO;            /* priority for first QSO (quasar WG) ROSAT_A */
  float deltaMax;               /* max positional offset to get fiber */
  float detectLikeMin;          /* min detecion likelihood for fiber */
} TA_ROSAT_PARAMS;  /* pragma SCHEMA */

/* Prototypes */
int taRosatTargetSelect(TA_CALIB_OBJ *obj, const TA_ROSAT_PARAMS *params);

#ifdef __cplusplus
}
#endif

#endif
