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) |