76 int returnvalue = -1 ;
79 CPL_TYPE_INT, &returnvalue ),
95 double returnvalue = -1 ;
98 CPL_TYPE_DOUBLE, &returnvalue ),
116 double returnvalue = 0.0;
119 CPL_TYPE_DOUBLE, &returnvalue),
136 double returnvalue = 0.0;
139 CPL_TYPE_DOUBLE, &returnvalue),
156 double returnvalue = 0.0;
159 CPL_TYPE_DOUBLE, &returnvalue),
176 int returnvalue = 0.0;
199 double returnvalue = 0.0;
224 double returnvalue = 0;
227 CPL_TYPE_DOUBLE, &returnvalue),
246 double returnvalue = 0;
249 CPL_TYPE_DOUBLE, &returnvalue),
269 double returnvalue = 0;
272 CPL_TYPE_DOUBLE, &returnvalue),
842 double returnvalue = 0.0;
845 CPL_TYPE_DOUBLE, &returnvalue),
915 check_msg (cpl_propertylist_update_double
968 check_msg (cpl_propertylist_update_double
1098 const char* slit_width_kw =
"NONE";
1100 slit_width_kw =
"ESO INS OPTI3 NAME";
1102 slit_width_kw =
"ESO INS OPTI4 NAME";
1104 slit_width_kw =
"ESO INS OPTI5 NAME";
1106 if(source_list != NULL && cpl_propertylist_has(source_list,slit_width_kw)){
1107 cpl_property *prop_hval = cpl_propertylist_get_property(source_list, slit_width_kw);
1109 const char* hval = cpl_property_get_string(prop_hval);
1111 cpl_propertylist_update_string(set_list,
"ESO QC SLIT WIDTH",strtok(hval,
"x"));
1151 xsh_msg(
"QC Parameter '%s' not in recipe '%s'",
1157 if ( strchr( pqc->
kw_name,
'i' ) != NULL ) {
1164 for( pk = pqc->
kw_name, pm = kformat ; *pk !=
'\0' ; pk++ )
1166 strcpy( pm,
"%d" ) ;
1172 sprintf( real_kw, kformat, idx ) ;
1177 check_msg(cpl_propertylist_update_int( plist, real_kw,
1179 "error writing keyword '%s'", kw ) ;
1181 case CPL_TYPE_FLOAT:
1182 check_msg(cpl_propertylist_update_float( plist, real_kw,
1184 "error writing keyword '%s'", kw ) ;
1186 case CPL_TYPE_DOUBLE:
1187 check_msg(cpl_propertylist_update_double( plist, real_kw,
1189 "error writing keyword '%s'", kw ) ;
1191 case CPL_TYPE_STRING:
1192 check_msg(cpl_propertylist_update_string( plist, real_kw, (
char *)value),
1193 "error writing keyword '%s'", kw ) ;
1228 xsh_msg(
"QC Parameter '%s' not in recipe '%s'",
1238 "error writing keyword '%s'", kw ) ;
1240 case CPL_TYPE_FLOAT:
1243 "error writing keyword '%s'", kw ) ;
1245 case CPL_TYPE_DOUBLE:
1248 "error writing keyword '%s'", kw ) ;
1250 case CPL_TYPE_STRING:
1253 "error writing keyword '%s'", kw ) ;
static xsh_instrument * instrument
#define check_msg(COMMAND,...)
#define XSH_ASSURE_NOT_NULL(pointer)
XSH_ARM xsh_instrument_get_arm(xsh_instrument *i)
Get an arm on instrument structure.
#define xsh_msg(...)
Print a message on info level.
#define xsh_msg_dbg_high(...)
void xsh_pfits_set_qc_mbiasrms(cpl_propertylist *plist, double value)
Write the QC.MBIASRMS value.
void xsh_pfits_set_qc_mdarkmed(cpl_propertylist *plist, double value)
Write the QC.MDARKMED value.
double xsh_pfits_get_qc_structy(const cpl_propertylist *plist)
int xsh_pfits_get_qc_ncrh(const cpl_propertylist *plist)
Find out the QC NCRH value.
void xsh_pfits_set_qc_ord_orderpos_residavg(cpl_propertylist *plist, double value)
void xsh_pfits_set_qc_ncrh_mean(cpl_propertylist *plist, const double value)
Write the QC.NCRH.AVG value.
void xsh_pfits_set_qc_mbiasmed(cpl_propertylist *plist, double value)
Write the QC.MBIASMED value.
void xsh_pfits_set_qc_ord_orderpos_residmax(cpl_propertylist *plist, double value)
void xsh_pfits_set_qc_ord_orderpos_residrms(cpl_propertylist *plist, double value)
double xsh_pfits_get_qc_mbiasavg(const cpl_propertylist *plist)
find out the QC.MBIASAVG value
void xsh_pfits_set_qc_darkmed_ave(cpl_propertylist *plist, double value)
Write the QC.DARKMED_AVE value.
void xsh_pfits_set_qc_nlinecat(cpl_propertylist *plist, double value)
void xsh_pfits_set_qc_ord_orderpos_max_pred(cpl_propertylist *plist, int value)
void xsh_pfits_set_qc_ord_orderpos_nposall(cpl_propertylist *plist, int value)
double xsh_pfits_get_qc_ncrh_mean(const cpl_propertylist *plist)
Find out the QC NCRH value.
double xsh_pfits_get_qc_mbiasrms(const cpl_propertylist *plist)
find out the QC.MBIASRMS value
void xsh_pfits_set_qc_ord_orderpos_ndet(cpl_propertylist *plist, int value)
void xsh_pfits_set_qc_norm_fpn(cpl_propertylist *plist, double value)
Write the QC.NORMFPN value.
int xsh_pfits_get_qc_nhpix(const cpl_propertylist *plist)
find out the QC.NHPIX value
void xsh_pfits_set_qc_ron_master(cpl_propertylist *plist, double value)
Write the QC.RON.MASTER value.
void xsh_pfits_set_qc_nlinecat_clean(cpl_propertylist *plist, double value)
void xsh_pfits_set_qc_ord_orderpos_npred(cpl_propertylist *plist, int value)
void xsh_pfits_set_qc_multi(cpl_propertylist *plist, void *value, const char *kw, xsh_instrument *instrument, int idx)
double xsh_pfits_get_qc_ron(const cpl_propertylist *plist)
void xsh_pfits_set_qc_darkmed_stdev(cpl_propertylist *plist, double value)
Write the QC.MDARKAVG value.
void xsh_pfits_set_qc_ron_err(cpl_propertylist *plist, double value)
void xsh_pfits_set_qc_ncrh(cpl_propertylist *plist, int value)
Write the QC.NCRH value.
double xsh_pfits_get_qc_mbiasslope(const cpl_propertylist *plist)
find out the QC.MBIASSLOPE value
void xsh_pfits_set_qc_nlinefound_clean(cpl_propertylist *plist, double value)
void xsh_pfits_set_qc_nlinefound_fib4(cpl_propertylist *plist, double value)
void xsh_pfits_set_qc_mbiasavg(cpl_propertylist *plist, double value)
Write the QC.MBIASAVG value.
void xsh_pfits_set_qc_ron1(cpl_propertylist *plist, double value)
void xsh_pfits_set_qc_crrate(cpl_propertylist *plist, double value)
Write the QC.CRRATE value.
void xsh_pfits_set_qc_ron1_err(cpl_propertylist *plist, double value)
void xsh_pfits_set_qc_ncrh_tot(cpl_propertylist *plist, const int value)
Write the QC.NCRH.TOT value.
void xsh_pfits_set_qc_nhpix(cpl_propertylist *plist, int value)
Write the QC.NHPIX value.
void xsh_pfits_set_qc_contamination(cpl_propertylist *plist, double value)
Write the contamination value.
void xsh_pfits_set_qc_nlinefound(cpl_propertylist *plist, double value)
void xsh_pfits_set_qc_ron2_err(cpl_propertylist *plist, double value)
double xsh_pfits_get_qc_mbiasmed(const cpl_propertylist *plist)
find out the QC.MBIASMED value
void xsh_pfits_set_qc_ord_orderpos_min_pred(cpl_propertylist *plist, int value)
void xsh_pfits_set_qc_noisepix(cpl_propertylist *plist, int value)
Write the QC.NHPIX value.
void xsh_pfits_set_qc_ord_orderpos_residmin(cpl_propertylist *plist, double value)
Write the ? value.
void xsh_pfits_set_qc_eff_fclip(cpl_propertylist *plist, double value)
void xsh_pfits_set_qc_reg1_structy(cpl_propertylist *plist, double value)
Write the QC.STRUCTY value.
double xsh_pfits_get_qc_mdarkmed(cpl_propertylist *plist)
Read the QC.MDARKMED value.
void xsh_pfits_set_qc_bp_map_ntotal(cpl_propertylist *plist, int value)
Write the contamination value.
double xsh_pfits_get_qc_structx(const cpl_propertylist *plist)
void xsh_pfits_set_qc_fpn_err(cpl_propertylist *plist, double value)
Write the QC.FPN value.
void xsh_pfits_set_qc_mdarkavg(cpl_propertylist *plist, double value)
Write the QC.MDARKAVG value.
void xsh_pfits_set_qc_fpn_master(cpl_propertylist *plist, double value)
Write the QC.FPN.MASTER value.
void xsh_pfits_set_qc_ron(cpl_propertylist *plist, double value)
void xsh_pfits_set_qc_fpn(cpl_propertylist *plist, double value)
Write the QC.FPN value.
void xsh_pfits_set_qc_nlinefound_clean_fib4(cpl_propertylist *plist, double value)
void xsh_pfits_set_qc_ord_orderpos_npossel(cpl_propertylist *plist, int value)
void xsh_pfits_set_qc_mdarkslope(cpl_propertylist *plist, double value)
Write the QC.MDARKSLOPE value.
void xsh_pfits_set_qc_mdarkrms(cpl_propertylist *plist, double value)
Write the QC.MDARKRMS value.
void xsh_pfits_set_qc_mbiasslope(cpl_propertylist *plist, double value)
Write the QC.MBIASSLOPE value.
void xsh_pfits_set_qc_norm_fpn_err(cpl_propertylist *plist, double value)
Write the QC.NORMFPN.ERR value.
void xsh_pfits_set_qc_ron2(cpl_propertylist *plist, double value)
void xsh_pfits_set_qc_reg2_structx(cpl_propertylist *plist, double value)
Write the QC.STRUCTX value.
void xsh_pfits_set_qc_reg1_structx(cpl_propertylist *plist, double value)
Write the QC.STRUCTX value.
void xsh_pfits_set_qc_slit_width(cpl_propertylist *source_list, cpl_propertylist *set_list, xsh_instrument *instrument)
void xsh_pfits_set_qc_eff_nclip(cpl_propertylist *plist, int value)
void xsh_pfits_set_qc_reg2_structy(cpl_propertylist *plist, double value)
Write the QC.STRUCTY value.
void xsh_pfits_set_qc(cpl_propertylist *plist, void *value, const char *kw, xsh_instrument *instrument)
int xsh_qc_in_recipe(qc_description *pqc, xsh_instrument *instrument)
qc_description * xsh_get_qc_desc_by_kw(const char *kw)
cpl_error_code xsh_get_property_value(const cpl_propertylist *plist, const char *keyword, cpl_type keywordtype, void *result)
Read a property value from a property list.
#define QC_ORD_ORDERPOS_NPOSSEL
#define QC_ORD_ORDERPOS_RESIDMAX
#define XSH_QC_MBIASSLOPE
#define XSH_QC_MASTER_RON
#define XSH_QC_DARKMED_STDEV
#define QC_ORD_ORDERPOS_RESIDAVG
#define QC_ORD_ORDERPOS_MAX_PRED
#define XSH_QC_MDARKSLOPE
#define QC_ORD_ORDERPOS_NPRED
#define XSH_QC_DARKMED_AVE
#define QC_ORD_ORDERPOS_RESIDMIN
#define XSH_QC_MASTER_FPN
#define XSH_QC_MASTER_FPN_C
#define QC_ORD_ORDERPOS_NPOSALL
#define QC_ORD_ORDERPOS_RESIDRMS
#define XSH_QC_MASTER_RON_C
#define QC_ORD_ORDERPOS_NDET
#define XSH_QC_BP_MAP_PICKUP_NOISE_PIX
#define QC_ORD_ORDERPOS_MIN_PRED
#define XSH_QC_STRUCT_X_REG1
#define XSH_QC_MASTER_DARK_MEDIAN
#define XSH_QC_STRUCT_Y_REG2
#define XSH_QC_BP_MAP_NTOTAL
#define XSH_QC_MASTER_DARK_MEAN
#define XSH_QC_RON_REG1_ERR
#define XSH_QC_RON_REG2_ERR
#define XSH_QC_MASTER_BIAS_MEAN
#define XSH_QC_MASTER_DARK_RMS
#define XSH_QC_NLINE_CAT_CLEAN_C
#define XSH_QC_CRH_NUMBER_C
#define XSH_QC_CRH_NUMBER_TOT_C
#define XSH_QC_RON_REG1_C
#define XSH_QC_RON_REG2_C
#define XSH_QC_STRUCT_X_REG2
#define XSH_QC_NLINE_FOUND
#define XSH_QC_CRH_NUMBER_TOT
#define XSH_QC_BP_MAP_NTOTAL_C
#define XSH_QC_MASTER_BIAS_RMS
#define XSH_QC_MASTER_BIAS_MEDIAN_C
#define XSH_QC_STRUCT_X_REG1_C
#define XSH_QC_STRUCT_X_REG2_C
#define XSH_QC_CRH_NUMBER_MEAN
#define XSH_QC_MASTER_DARK_MEAN_C
#define XSH_QC_MASTER_DARK_MEDIAN_C
#define XSH_QC_MASTER_BIAS_RMS_C
#define XSH_QC_NLINE4_FOUND_C
#define XSH_QC_STRUCT_Y_REG2_C
#define XSH_QC_NLINE_FOUND_CLEAN
#define XSH_QC_CRH_NUMBER
#define XSH_QC_RON_REG2_ERR_C
#define XSH_QC_MASTER_BIAS_MEDIAN
#define XSH_QC_NORM_FPN_ERR
#define XSH_QC_MASTER_DARK_RMS_C
#define XSH_QC_NLINE_FOUND_C
#define XSH_QC_NLINE_FOUND_CLEAN_C
#define XSH_QC_STRUCT_Y_REG1
#define XSH_QC_CRH_RATE_C
#define XSH_QC_MASTER_BIAS_MEAN_C
#define XSH_QC_CRH_NUMBER_MEAN_C
#define XSH_QC_STRUCT_Y_REG1_C
#define XSH_QC_NLINE4_FOUND_CLEAN
#define XSH_QC_NLINE4_FOUND
#define XSH_QC_NLINE_CAT_C
#define XSH_QC_RON_REG1_ERR_C
#define XSH_QC_NORM_FPN_C
#define XSH_QC_NLINE4_FOUND_CLEAN_C
#define XSH_QC_NORM_FPN_ERR_C
#define XSH_QC_NLINE_CAT_CLEAN