bpmprocess/bpm_process.h File Reference


Detailed Description

libbpm main processing routines

This header contains the definitions for libbpm's main BPM processing routines

Definition in file bpm_process.h.

#include <float.h>
#include <math.h>
#include <bpm/bpm_defs.h>
#include <bpm/bpm_interface.h>

Include dependency graph for bpm_process.h:

Go to the source code of this file.

Defines

#define PROC_DEFAULT
#define PROC_DO_FFT
#define PROC_DO_FIT
#define PROC_DO_DDC
#define PROC_DDC_CALIBFREQ
#define PROC_DDC_CALIBTDECAY
#define PROC_DDC_FITFREQ
#define PROC_DDC_FITTDECAY
#define PROC_DDC_FFTFREQ
#define PROC_DDC_FFTTDECAY
#define PROC_DDC_STOREFULL
#define PROC_FIT_DDC

Functions

EXTERN int process_diode (bpmconf_t *, bpmsignal_t *, bpmproc_t *)
EXTERN int process_waveform (enum bpmtype_t type, bpmconf_t *bpm, bpmcalib_t *cal, bpmsignal_t *sig, bpmproc_t *proc, bpmproc_t *trig, unsigned int mode)
EXTERN int process_monopole (bpmconf_t *bpm, bpmcalib_t *cal, bpmsignal_t *sig, bpmproc_t *proc, bpmproc_t *trig, unsigned int mode)
EXTERN int process_dipole (bpmconf_t *bpm, bpmcalib_t *cal, bpmsignal_t *sig, bpmproc_t *proc, bpmproc_t *trig, bpmproc_t *ref, unsigned int mode)
EXTERN int fit_waveform (int *wf, int ns, double t0, double fs, double i_freq, double i_tdecay, double i_amp, double i_phase, double *freq, double *tdecay, double *amp, double *phase)
EXTERN int fit_diodepulse (int *wf, int ns, double fs, double *t0)
EXTERN int fit_ddc (double *ddc, int ns, double *tdecay)
EXTERN int fit_fft_prepare (double **fft, int ns, double fs, int *n1, int *n2, double *amp, double *freq, double *fwhm)
EXTERN int fit_fft (double **fft, int ns, double fs, double *freq, double *tdecay, double *A, double *C)
EXTERN int fft_waveform (int *wf, int ns, double **fft)
EXTERN int fft_waveform_double (double *wf, int ns, double **fft)
EXTERN int handle_saturation (int *wf, int ns, int imax, int nbits, int threshold, int *iunsat)
EXTERN int downmix_waveform (double *wf, int ns, double fs, double freq, double t0, double **out)
EXTERN int ddc_gaussfilter_step (double **ddc, int ns, double fs, int istart, int istop, double tfilter, double filtBW, double *out)
EXTERN int ddc_gaussfilter (double **ddc, int ns, double fs, double filtBW, double epsFilt, double **out)
EXTERN int ddc_waveform (int *wf, int ns, int nbits, double fs, double t0, double freq, double tdecay, double filtBW, double epsFilt, double **out)
EXTERN int ddc_sample_waveform (int *wf, int ns, int nbits, double fs, double t0, double t0Offset, double freq, double tdecay, double filtBW, double epsFilt, double *amp, double *phase)
EXTERN int get_pedestal (int *wf, int ns, int range, double *offset, double *rms)
EXTERN int basic_stats (int *wf, int ns, int range, int nbits, double *offset, double *rms, int *max, int *min, int *unsat_sample)
EXTERN int int_to_double_waveform (double *wf_double, int *wf_int, int ns)
EXTERN int copy_waveform (double *wf_src, double *wf_dst, int ns)
EXTERN int add_scalar_waveform (double *wf, int ns, double add)
EXTERN int mult_scalar_waveform (double *wf, int ns, double mult)
EXTERN int mult_waveform (double *wf1, double *wf2, int ns)
EXTERN int get_t0 (int *wf, int ns, double fs, double *t0)
EXTERN int get_IQ (double amp, double phase, double refamp, double refphase, double *Q, double *I)
EXTERN int get_pos (double Q, double I, double IQphase, double posscale, double *pos)
EXTERN int get_slope (double Q, double I, double IQphase, double slopescale, double *slope)
EXTERN int time_to_sample (double fs, int ns, double t, int *iS)
EXTERN int sample_to_time (double fs, int ns, int iS, double *t)
EXTERN int freq_to_sample (double fs, int ns, double f, int *iS)
EXTERN int sample_to_freq (double fs, int ns, int iS, double *f)


Generated on Thu Jan 10 10:18:21 2008 for libbpm by  doxygen 1.5.1