bpmsimulation/get_dipole_response.c

Go to the documentation of this file.
00001 
00005 #include <bpm/bpm_messages.h>
00006 #include <bpm/bpm_simulation.h>
00007 
00025 int get_dipole_response( double bunchcharge, double chargesens,
00026                          double pos, double possens, 
00027                          double tilt, double tiltsens,
00028                          double arrivaltime, double cavityfreq,
00029                          double *amp, double *phase ) {
00030 
00031   // The pos/tilt sensistivity is given at 1.e10 electrons so calculate
00032   // as normal and scale with appropriate charge
00033   double I = ( pos * possens ) * bunchcharge;
00034   double Q = ( tilt * tiltsens ) * bunchcharge;
00035 
00036   *amp = sqrt( I * I + Q * Q );
00037   *phase = ( I > 0 ? asin(I / *amp) : PI - asin(I / *amp) );
00038     
00039   return BPM_SUCCESS;
00040 }
00041 
00042 // end of file

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