2#ifndef XSH_EQWIDTH_LIB_H
3#define XSH_EQWIDTH_LIB_H
10#include <gsl/gsl_multifit.h>
11#include <gsl/gsl_interp.h>
12#include <gsl/gsl_rng.h>
13#include <gsl/gsl_randist.h>
14#include <gsl/gsl_vector.h>
15#include <gsl/gsl_blas.h>
16#include <gsl/gsl_multifit_nlin.h>
17#include <gsl/gsl_interp.h>
18#include <gsl/gsl_sf_bessel.h>
24#define max(a,b) (((a)>(b))?(a):(b))
32 cpl_table** spec_region);
44 double det_line_thres,
45 double det_line_resol,
47 cpl_table** line_table);
56 cpl_table* spec_region,
57 double cont_rejt,
double line);
60void smooth(
double vec[],
long n,
int w,
double svec[]);
71 cpl_table* line_table,
72 double fit_ngauss_width);
74double check_ew(cpl_table* line_table,
76 double det_line_resol,
85void deriv(
double x[],
double y[],
double dy[],
long n);
88 double acoef[],
double acoef_er[],
int para,
int *status2);
cpl_error_code esp_det_line(cpl_table *spec_region, double det_line_thres, double det_line_resol, int det_line_smwidth, cpl_table **line_table)
Performs a local normalization of the spectrum region.
double maxele_vec(double vec[], long nvec)
cpl_error_code esp_fit_ngauss(cpl_table *spec_cont_region, cpl_table *line_table, double fit_ngauss_width)
Fit a list of absorption lines with n Gaussian profiles and compute the equivalent width of each line...
void smooth(double vec[], long n, int w, double svec[])
cpl_size get_nm_to_index_scale(cpl_table *spec_total, double nm)
void fitngauss(double t[], double y[], double sigma[], long nvec, double acoef[], double acoef_er[], int para, int *status2)
double check_ew(cpl_table *line_table, double line, double det_line_resol, int *index_line, int *n_lines, double *ew_error)
cpl_error_code espda_create_line_table(cpl_table **tab, cpl_size size)
Create a LINE table with a given row size.
void find_left_right_continuum_pos(int *xind1, int *xind2, cpl_table *spec_region, double cont_rejt, double line)
cpl_error_code esp_fit_lcont(cpl_table *spec_region, double cont_rejt, int cont_iter)
Performs a local normalization of the spectrum region.
void deriv(double x[], double y[], double dy[], long n)
cpl_error_code select_local_spec(cpl_table *spec_total, double ew_space, double lambda, cpl_table **spec_region)
Select_local_spec.