00001
00012 #ifndef BPMCALIBRATION_H__
00013 #define BPMCALIBRATION_H__
00014
00015
00016
00017
00018 #include <math.h>
00019 #include <bpm/bpm_defs.h>
00020 #include <bpm/bpm_interface.h>
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032
00033
00034
00035
00036
00066 EXTERN int setup_calibration( bpmconf_t *cnf, bpmproc_t *proc, int npulses, int startpulse,
00067 int stoppulse, double angle, double startpos, double endpos,
00068 int num_steps, beamconf_t *beam );
00069
00070
00089 EXTERN int calibrate( bpmconf_t *bpm, beamconf_t *beam, bpmproc_t *proc, int npulses,
00090 bpmcalib_t *cal );
00091
00092
00104 EXTERN int update_freq_tdecay( bpmproc_t *proc, int npulses, bpmcalib_t *cal );
00105
00106
00107
00138 EXTERN int calibrate_svd( beamconf_t **beam, bpmconf_t **bpm, bpmproc_t **proc, int npulses,
00139 int nbpms, int *bpmidx, bpmcalib_t *cal );
00140
00150 EXTERN int save_calibration( char *fname, bpmconf_t *bpm, bpmcalib_t *cal, int num_bpms );
00151
00152
00163 EXTERN int load_calibration( char *fname, bpmconf_t *bpm, bpmcalib_t *cal, int num_bpms );
00164
00165 #ifdef __cplusplus
00166 }
00167 #endif
00168
00169 #endif
00170
00171