1\contentsline {section}{\numberline {1}libbpm}{1} 2\contentsline {subsection}{\numberline {1.1}Introduction}{1} 3\contentsline {subsection}{\numberline {1.2}Documentation structure}{1} 4\contentsline {subsection}{\numberline {1.3}Compilation}{2} 5\contentsline {subsubsection}{\numberline {1.3.1}Compilation under Linux/Unix/MacOS}{2} 6\contentsline {subsubsection}{\numberline {1.3.2}Note on Compilation under Windows}{2} 7\contentsline {subsection}{\numberline {1.4}Using libbpm in your programs}{2} 8\contentsline {section}{\numberline {2}GNU General Public License, v2}{3} 9\contentsline {section}{\numberline {3}Module Index}{7} 10\contentsline {subsection}{\numberline {3.1}Modules}{7} 11\contentsline {section}{\numberline {4}Data Structure Index}{7} 12\contentsline {subsection}{\numberline {4.1}Data Structures}{7} 13\contentsline {section}{\numberline {5}File Index}{8} 14\contentsline {subsection}{\numberline {5.1}File List}{8} 15\contentsline {section}{\numberline {6}Module Documentation}{12} 16\contentsline {subsection}{\numberline {6.1}Analysis routines}{12} 17\contentsline {subsubsection}{\numberline {6.1.1}Detailed Description}{12} 18\contentsline {subsubsection}{\numberline {6.1.2}Define Documentation}{13} 19\contentsline {paragraph}{\numberline {6.1.2.1}BPM\_\discretionary {-}{}{}GOOD\_\discretionary {-}{}{}EVENT}{13} 20\contentsline {paragraph}{\numberline {6.1.2.2}BPM\_\discretionary {-}{}{}BAD\_\discretionary {-}{}{}EVENT}{13} 21\contentsline {paragraph}{\numberline {6.1.2.3}ANA\_\discretionary {-}{}{}SVD\_\discretionary {-}{}{}TILT}{13} 22\contentsline {paragraph}{\numberline {6.1.2.4}ANA\_\discretionary {-}{}{}SVD\_\discretionary {-}{}{}NOTILT}{13} 23\contentsline {subsubsection}{\numberline {6.1.3}Function Documentation}{13} 24\contentsline {paragraph}{\numberline {6.1.3.1}ana\_\discretionary {-}{}{}set\_\discretionary {-}{}{}cutfn}{13} 25\contentsline {paragraph}{\numberline {6.1.3.2}ana\_\discretionary {-}{}{}get\_\discretionary {-}{}{}svd\_\discretionary {-}{}{}coeffs}{14} 26\contentsline {paragraph}{\numberline {6.1.3.3}ana\_\discretionary {-}{}{}compute\_\discretionary {-}{}{}residual}{14} 27\contentsline {paragraph}{\numberline {6.1.3.4}ana\_\discretionary {-}{}{}def\_\discretionary {-}{}{}cutfn}{15} 28\contentsline {subsubsection}{\numberline {6.1.4}Variable Documentation}{15} 29\contentsline {paragraph}{\numberline {6.1.4.1}ana\_\discretionary {-}{}{}cutfn}{15} 30\contentsline {subsection}{\numberline {6.2}Calibration routines}{15} 31\contentsline {subsubsection}{\numberline {6.2.1}Detailed Description}{15} 32\contentsline {subsubsection}{\numberline {6.2.2}Function Documentation}{15} 33\contentsline {paragraph}{\numberline {6.2.2.1}setup\_\discretionary {-}{}{}calibration}{15} 34\contentsline {paragraph}{\numberline {6.2.2.2}calibrate}{16} 35\contentsline {subsection}{\numberline {6.3}Beam orbit generation}{17} 36\contentsline {subsubsection}{\numberline {6.3.1}Detailed Description}{17} 37\contentsline {subsubsection}{\numberline {6.3.2}Function Documentation}{17} 38\contentsline {paragraph}{\numberline {6.3.2.1}get\_\discretionary {-}{}{}rbend}{17} 39\contentsline {paragraph}{\numberline {6.3.2.2}get\_\discretionary {-}{}{}sbend}{18} 40\contentsline {paragraph}{\numberline {6.3.2.3}get\_\discretionary {-}{}{}bpmhit}{18} 41\contentsline {paragraph}{\numberline {6.3.2.4}get\_\discretionary {-}{}{}bpmhits}{18} 42\contentsline {paragraph}{\numberline {6.3.2.5}v\_\discretionary {-}{}{}copy}{19} 43\contentsline {paragraph}{\numberline {6.3.2.6}v\_\discretionary {-}{}{}mag}{19} 44\contentsline {paragraph}{\numberline {6.3.2.7}v\_\discretionary {-}{}{}scale}{19} 45\contentsline {paragraph}{\numberline {6.3.2.8}v\_\discretionary {-}{}{}norm}{19} 46\contentsline {paragraph}{\numberline {6.3.2.9}v\_\discretionary {-}{}{}matmult}{19} 47\contentsline {paragraph}{\numberline {6.3.2.10}v\_\discretionary {-}{}{}add}{19} 48\contentsline {paragraph}{\numberline {6.3.2.11}v\_\discretionary {-}{}{}sub}{19} 49\contentsline {paragraph}{\numberline {6.3.2.12}v\_\discretionary {-}{}{}dot}{20} 50\contentsline {paragraph}{\numberline {6.3.2.13}v\_\discretionary {-}{}{}cross}{20} 51\contentsline {paragraph}{\numberline {6.3.2.14}v\_\discretionary {-}{}{}print}{20} 52\contentsline {paragraph}{\numberline {6.3.2.15}m\_\discretionary {-}{}{}rotmat}{20} 53\contentsline {paragraph}{\numberline {6.3.2.16}m\_\discretionary {-}{}{}matmult}{20} 54\contentsline {paragraph}{\numberline {6.3.2.17}m\_\discretionary {-}{}{}matadd}{20} 55\contentsline {paragraph}{\numberline {6.3.2.18}m\_\discretionary {-}{}{}print}{21} 56\contentsline {subsection}{\numberline {6.4}Front-end interface}{21} 57\contentsline {subsubsection}{\numberline {6.4.1}Detailed Description}{21} 58\contentsline {subsubsection}{\numberline {6.4.2}Typedef Documentation}{22} 59\contentsline {paragraph}{\numberline {6.4.2.1}bpmconf\_\discretionary {-}{}{}t}{22} 60\contentsline {paragraph}{\numberline {6.4.2.2}bpmcalib\_\discretionary {-}{}{}t}{22} 61\contentsline {paragraph}{\numberline {6.4.2.3}bpmproc\_\discretionary {-}{}{}t}{22} 62\contentsline {paragraph}{\numberline {6.4.2.4}beamconf\_\discretionary {-}{}{}t}{22} 63\contentsline {paragraph}{\numberline {6.4.2.5}bunchconf\_\discretionary {-}{}{}t}{22} 64\contentsline {subsubsection}{\numberline {6.4.3}Enumeration Type Documentation}{22} 65\contentsline {paragraph}{\numberline {6.4.3.1}bpmtype\_\discretionary {-}{}{}t}{22} 66\contentsline {paragraph}{\numberline {6.4.3.2}triggertype}{22} 67\contentsline {paragraph}{\numberline {6.4.3.3}bpmpol\_\discretionary {-}{}{}t}{23} 68\contentsline {paragraph}{\numberline {6.4.3.4}bpmphase\_\discretionary {-}{}{}t}{23} 69\contentsline {subsubsection}{\numberline {6.4.4}Variable Documentation}{23} 70\contentsline {paragraph}{\numberline {6.4.4.1}bpm\_\discretionary {-}{}{}verbose}{23} 71\contentsline {paragraph}{\numberline {6.4.4.2}libbpm\_\discretionary {-}{}{}evtnum}{23} 72\contentsline {subsection}{\numberline {6.5}Error/warning messages}{23} 73\contentsline {subsubsection}{\numberline {6.5.1}Detailed Description}{23} 74\contentsline {subsubsection}{\numberline {6.5.2}Function Documentation}{24} 75\contentsline {paragraph}{\numberline {6.5.2.1}bpm\_\discretionary {-}{}{}error}{24} 76\contentsline {paragraph}{\numberline {6.5.2.2}bpm\_\discretionary {-}{}{}warning}{24} 77\contentsline {subsection}{\numberline {6.6}Numerical routines}{25} 78\contentsline {subsubsection}{\numberline {6.6.1}Detailed Description}{25} 79\contentsline {subsubsection}{\numberline {6.6.2}Define Documentation}{29} 80\contentsline {paragraph}{\numberline {6.6.2.1}GCF\_\discretionary {-}{}{}ITMAX}{29} 81\contentsline {paragraph}{\numberline {6.6.2.2}\_\discretionary {-}{}{}\_\discretionary {-}{}{}LM\_\discretionary {-}{}{}BLOCKSZ\_\discretionary {-}{}{}\_\discretionary {-}{}{}}{29} 82\contentsline {paragraph}{\numberline {6.6.2.3}LM\_\discretionary {-}{}{}DER\_\discretionary {-}{}{}WORKSZ}{29} 83\contentsline {paragraph}{\numberline {6.6.2.4}LM\_\discretionary {-}{}{}DIF\_\discretionary {-}{}{}WORKSZ}{30} 84\contentsline {paragraph}{\numberline {6.6.2.5}NR\_\discretionary {-}{}{}FFTFORWARD}{30} 85\contentsline {paragraph}{\numberline {6.6.2.6}NR\_\discretionary {-}{}{}FFTBACKWARD}{30} 86\contentsline {paragraph}{\numberline {6.6.2.7}\_\discretionary {-}{}{}\_\discretionary {-}{}{}LM\_\discretionary {-}{}{}MEDIAN3}{30} 87\contentsline {subsubsection}{\numberline {6.6.3}Function Documentation}{30} 88\contentsline {paragraph}{\numberline {6.6.3.1}nr\_\discretionary {-}{}{}gammln}{30} 89\contentsline {paragraph}{\numberline {6.6.3.2}nr\_\discretionary {-}{}{}gammq}{30} 90\contentsline {paragraph}{\numberline {6.6.3.3}nr\_\discretionary {-}{}{}gcf}{31} 91\contentsline {paragraph}{\numberline {6.6.3.4}nr\_\discretionary {-}{}{}gser}{31} 92\contentsline {paragraph}{\numberline {6.6.3.5}nr\_\discretionary {-}{}{}fit}{31} 93\contentsline {paragraph}{\numberline {6.6.3.6}nr\_\discretionary {-}{}{}is\_\discretionary {-}{}{}pow2}{31} 94\contentsline {paragraph}{\numberline {6.6.3.7}nr\_\discretionary {-}{}{}four1}{32} 95\contentsline {paragraph}{\numberline {6.6.3.8}nr\_\discretionary {-}{}{}realft}{32} 96\contentsline {paragraph}{\numberline {6.6.3.9}nr\_\discretionary {-}{}{}ran1}{33} 97\contentsline {paragraph}{\numberline {6.6.3.10}nr\_\discretionary {-}{}{}seed}{33} 98\contentsline {paragraph}{\numberline {6.6.3.11}nr\_\discretionary {-}{}{}ranuniform}{33} 99\contentsline {paragraph}{\numberline {6.6.3.12}nr\_\discretionary {-}{}{}rangauss}{33} 100\contentsline {paragraph}{\numberline {6.6.3.13}nr\_\discretionary {-}{}{}median}{34} 101\contentsline {paragraph}{\numberline {6.6.3.14}nr\_\discretionary {-}{}{}select}{34} 102\contentsline {paragraph}{\numberline {6.6.3.15}gsl\_\discretionary {-}{}{}matrix\_\discretionary {-}{}{}column}{34} 103\contentsline {paragraph}{\numberline {6.6.3.16}gsl\_\discretionary {-}{}{}matrix\_\discretionary {-}{}{}submatrix}{35} 104\contentsline {paragraph}{\numberline {6.6.3.17}gsl\_\discretionary {-}{}{}matrix\_\discretionary {-}{}{}get}{35} 105\contentsline {paragraph}{\numberline {6.6.3.18}gsl\_\discretionary {-}{}{}matrix\_\discretionary {-}{}{}set}{35} 106\contentsline {paragraph}{\numberline {6.6.3.19}gsl\_\discretionary {-}{}{}matrix\_\discretionary {-}{}{}swap\_\discretionary {-}{}{}columns}{35} 107\contentsline {paragraph}{\numberline {6.6.3.20}gsl\_\discretionary {-}{}{}vector\_\discretionary {-}{}{}subvector}{36} 108\contentsline {paragraph}{\numberline {6.6.3.21}gsl\_\discretionary {-}{}{}vector\_\discretionary {-}{}{}get}{36} 109\contentsline {paragraph}{\numberline {6.6.3.22}gsl\_\discretionary {-}{}{}vector\_\discretionary {-}{}{}set}{36} 110\contentsline {paragraph}{\numberline {6.6.3.23}gsl\_\discretionary {-}{}{}linalg\_\discretionary {-}{}{}householder\_\discretionary {-}{}{}hm}{37} 111\contentsline {paragraph}{\numberline {6.6.3.24}gsl\_\discretionary {-}{}{}linalg\_\discretionary {-}{}{}householder\_\discretionary {-}{}{}hm1}{37} 112\contentsline {paragraph}{\numberline {6.6.3.25}gsl\_\discretionary {-}{}{}linalg\_\discretionary {-}{}{}householder\_\discretionary {-}{}{}transform}{37} 113\contentsline {paragraph}{\numberline {6.6.3.26}gsl\_\discretionary {-}{}{}linalg\_\discretionary {-}{}{}householder\_\discretionary {-}{}{}mh}{37} 114\contentsline {paragraph}{\numberline {6.6.3.27}gsl\_\discretionary {-}{}{}blas\_\discretionary {-}{}{}dnrm2}{37} 115\contentsline {paragraph}{\numberline {6.6.3.28}gsl\_\discretionary {-}{}{}block\_\discretionary {-}{}{}alloc}{38} 116\contentsline {paragraph}{\numberline {6.6.3.29}nr\_\discretionary {-}{}{}quadinterpol}{38} 117\contentsline {paragraph}{\numberline {6.6.3.30}sinc}{38} 118\contentsline {paragraph}{\numberline {6.6.3.31}lanczos}{38} 119\contentsline {paragraph}{\numberline {6.6.3.32}dround}{38} 120\contentsline {subsection}{\numberline {6.7}RF simulation routines}{39} 121\contentsline {subsubsection}{\numberline {6.7.1}Detailed Description}{39} 122\contentsline {subsubsection}{\numberline {6.7.2}Function Documentation}{39} 123\contentsline {paragraph}{\numberline {6.7.2.1}rf\_\discretionary {-}{}{}setup}{39} 124\contentsline {paragraph}{\numberline {6.7.2.2}rf\_\discretionary {-}{}{}rectify}{40} 125\contentsline {paragraph}{\numberline {6.7.2.3}rf\_\discretionary {-}{}{}addLO}{40} 126\contentsline {paragraph}{\numberline {6.7.2.4}rf\_\discretionary {-}{}{}mixer}{41} 127\contentsline {paragraph}{\numberline {6.7.2.5}rf\_\discretionary {-}{}{}amplify}{41} 128\contentsline {paragraph}{\numberline {6.7.2.6}rf\_\discretionary {-}{}{}amplify\_\discretionary {-}{}{}complex}{42} 129\contentsline {paragraph}{\numberline {6.7.2.7}rf\_\discretionary {-}{}{}phase\_\discretionary {-}{}{}shifter}{43} 130\contentsline {subsubsection}{\numberline {6.7.3}Variable Documentation}{43} 131\contentsline {paragraph}{\numberline {6.7.3.1}rf\_\discretionary {-}{}{}nsamples}{43} 132\contentsline {paragraph}{\numberline {6.7.3.2}rf\_\discretionary {-}{}{}samplefreq}{43} 133\contentsline {subsection}{\numberline {6.8}BPM signal simulation routines}{43} 134\contentsline {subsubsection}{\numberline {6.8.1}Detailed Description}{43} 135\contentsline {subsubsection}{\numberline {6.8.2}Define Documentation}{44} 136\contentsline {paragraph}{\numberline {6.8.2.1}K\_\discretionary {-}{}{}SAMPLE}{44} 137\contentsline {subsubsection}{\numberline {6.8.3}Function Documentation}{44} 138\contentsline {paragraph}{\numberline {6.8.3.1}set\_\discretionary {-}{}{}temp}{44} 139\contentsline {paragraph}{\numberline {6.8.3.2}set\_\discretionary {-}{}{}time}{45} 140\contentsline {paragraph}{\numberline {6.8.3.3}generate\_\discretionary {-}{}{}bpmsignal}{45} 141\contentsline {paragraph}{\numberline {6.8.3.4}add\_\discretionary {-}{}{}mode\_\discretionary {-}{}{}response}{45} 142\contentsline {paragraph}{\numberline {6.8.3.5}get\_\discretionary {-}{}{}mode\_\discretionary {-}{}{}amplitude}{46} 143\contentsline {paragraph}{\numberline {6.8.3.6}generate\_\discretionary {-}{}{}diodesignal}{46} 144\contentsline {paragraph}{\numberline {6.8.3.7}get\_\discretionary {-}{}{}mode\_\discretionary {-}{}{}response}{47} 145\contentsline {paragraph}{\numberline {6.8.3.8}digitise}{47} 146\contentsline {subsubsection}{\numberline {6.8.4}Variable Documentation}{48} 147\contentsline {paragraph}{\numberline {6.8.4.1}ambient\_\discretionary {-}{}{}temp}{48} 148\contentsline {paragraph}{\numberline {6.8.4.2}system\_\discretionary {-}{}{}time}{48} 149\contentsline {subsection}{\numberline {6.9}Digital Signal Processing Routines}{48} 150\contentsline {subsubsection}{\numberline {6.9.1}Detailed Description}{48} 151\contentsline {subsubsection}{\numberline {6.9.2}The digital filtering routines}{48} 152\contentsline {paragraph}{\numberline {6.9.2.1}General usage}{48} 153\contentsline {paragraph}{\numberline {6.9.2.2}The Bessel, Butterworth and Chebyshev filters}{49} 154\contentsline {paragraph}{\numberline {6.9.2.3}The Resonator filter}{49} 155\contentsline {paragraph}{\numberline {6.9.2.4}The gaussian filter}{49} 156\contentsline {subsubsection}{\numberline {6.9.3}The Digital Downconversion Algorithm (DDC)}{50} 157\contentsline {subsubsection}{\numberline {6.9.4}Discrete (Fast) Fourier Transforms}{50} 158\contentsline {paragraph}{\numberline {6.9.4.1}Complex Discrete Fourier Transform}{50} 159\contentsline {paragraph}{\numberline {6.9.4.2}Real Discrete Fourier Transform}{51} 160\contentsline {paragraph}{\numberline {6.9.4.3}Reference for FFT routines}{51} 161\contentsline {paragraph}{\numberline {6.9.4.4}Copyright statement for FFT routines}{51} 162\contentsline {subsubsection}{\numberline {6.9.5}DSP example program}{51} 163\contentsline {subsubsection}{\numberline {6.9.6}Define Documentation}{55} 164\contentsline {paragraph}{\numberline {6.9.6.1}BESSEL}{55} 165\contentsline {paragraph}{\numberline {6.9.6.2}BUTTERWORTH}{55} 166\contentsline {paragraph}{\numberline {6.9.6.3}CHEBYSHEV}{55} 167\contentsline {paragraph}{\numberline {6.9.6.4}RAISEDCOSINE}{55} 168\contentsline {paragraph}{\numberline {6.9.6.5}RESONATOR}{56} 169\contentsline {paragraph}{\numberline {6.9.6.6}GAUSSIAN}{56} 170\contentsline {paragraph}{\numberline {6.9.6.7}BILINEAR\_\discretionary {-}{}{}Z\_\discretionary {-}{}{}TRANSFORM}{56} 171\contentsline {paragraph}{\numberline {6.9.6.8}MATCHED\_\discretionary {-}{}{}Z\_\discretionary {-}{}{}TRANSFORM}{56} 172\contentsline {paragraph}{\numberline {6.9.6.9}NO\_\discretionary {-}{}{}PREWARP}{56} 173\contentsline {paragraph}{\numberline {6.9.6.10}CAUSAL}{56} 174\contentsline {paragraph}{\numberline {6.9.6.11}ANTICAUSAL}{56} 175\contentsline {paragraph}{\numberline {6.9.6.12}NONCAUSAL}{56} 176\contentsline {paragraph}{\numberline {6.9.6.13}GAUSSIAN\_\discretionary {-}{}{}SIGMA\_\discretionary {-}{}{}BW}{57} 177\contentsline {paragraph}{\numberline {6.9.6.14}LOWPASS}{57} 178\contentsline {paragraph}{\numberline {6.9.6.15}HIGHPASS}{57} 179\contentsline {paragraph}{\numberline {6.9.6.16}BANDPASS}{57} 180\contentsline {paragraph}{\numberline {6.9.6.17}BANDSTOP}{57} 181\contentsline {paragraph}{\numberline {6.9.6.18}NOTCH}{57} 182\contentsline {paragraph}{\numberline {6.9.6.19}ALLPASS}{57} 183\contentsline {paragraph}{\numberline {6.9.6.20}FIR}{57} 184\contentsline {paragraph}{\numberline {6.9.6.21}IIR}{58} 185\contentsline {paragraph}{\numberline {6.9.6.22}MAXORDER}{58} 186\contentsline {paragraph}{\numberline {6.9.6.23}MAXPZ}{58} 187\contentsline {paragraph}{\numberline {6.9.6.24}FILT\_\discretionary {-}{}{}EPS}{58} 188\contentsline {paragraph}{\numberline {6.9.6.25}MAX\_\discretionary {-}{}{}RESONATOR\_\discretionary {-}{}{}ITER}{58} 189\contentsline {paragraph}{\numberline {6.9.6.26}FFT\_\discretionary {-}{}{}FORWARD}{58} 190\contentsline {paragraph}{\numberline {6.9.6.27}FFT\_\discretionary {-}{}{}BACKWARD}{58} 191\contentsline {subsubsection}{\numberline {6.9.7}Function Documentation}{58} 192\contentsline {paragraph}{\numberline {6.9.7.1}create\_\discretionary {-}{}{}filter}{58} 193\contentsline {paragraph}{\numberline {6.9.7.2}apply\_\discretionary {-}{}{}filter}{59} 194\contentsline {paragraph}{\numberline {6.9.7.3}print\_\discretionary {-}{}{}filter}{60} 195\contentsline {paragraph}{\numberline {6.9.7.4}delete\_\discretionary {-}{}{}filter}{60} 196\contentsline {paragraph}{\numberline {6.9.7.5}filter\_\discretionary {-}{}{}step\_\discretionary {-}{}{}response}{60} 197\contentsline {paragraph}{\numberline {6.9.7.6}filter\_\discretionary {-}{}{}impulse\_\discretionary {-}{}{}response}{61} 198\contentsline {paragraph}{\numberline {6.9.7.7}create\_\discretionary {-}{}{}splane\_\discretionary {-}{}{}representation}{61} 199\contentsline {paragraph}{\numberline {6.9.7.8}create\_\discretionary {-}{}{}resonator\_\discretionary {-}{}{}representation}{61} 200\contentsline {paragraph}{\numberline {6.9.7.9}zplane\_\discretionary {-}{}{}transform}{62} 201\contentsline {paragraph}{\numberline {6.9.7.10}print\_\discretionary {-}{}{}filter\_\discretionary {-}{}{}representation}{62} 202\contentsline {paragraph}{\numberline {6.9.7.11}normalise\_\discretionary {-}{}{}filter}{62} 203\contentsline {paragraph}{\numberline {6.9.7.12}calculate\_\discretionary {-}{}{}filter\_\discretionary {-}{}{}coefficients}{63} 204\contentsline {paragraph}{\numberline {6.9.7.13}gaussian\_\discretionary {-}{}{}filter\_\discretionary {-}{}{}coeffs}{63} 205\contentsline {paragraph}{\numberline {6.9.7.14}\_\discretionary {-}{}{}expand\_\discretionary {-}{}{}complex\_\discretionary {-}{}{}polynomial}{64} 206\contentsline {paragraph}{\numberline {6.9.7.15}\_\discretionary {-}{}{}eval\_\discretionary {-}{}{}complex\_\discretionary {-}{}{}polynomial}{64} 207\contentsline {paragraph}{\numberline {6.9.7.16}ddc\_\discretionary {-}{}{}initialise}{64} 208\contentsline {paragraph}{\numberline {6.9.7.17}ddc\_\discretionary {-}{}{}cleanup}{65} 209\contentsline {paragraph}{\numberline {6.9.7.18}ddc}{65} 210\contentsline {paragraph}{\numberline {6.9.7.19}fft\_\discretionary {-}{}{}gen\_\discretionary {-}{}{}tables}{65} 211\contentsline {paragraph}{\numberline {6.9.7.20}fft\_\discretionary {-}{}{}initialise}{65} 212\contentsline {paragraph}{\numberline {6.9.7.21}fft\_\discretionary {-}{}{}cleanup}{66} 213\contentsline {paragraph}{\numberline {6.9.7.22}complexfft}{66} 214\contentsline {paragraph}{\numberline {6.9.7.23}realfft}{66} 215\contentsline {paragraph}{\numberline {6.9.7.24}norm\_\discretionary {-}{}{}phase}{67} 216\contentsline {subsection}{\numberline {6.10}BPM Processing Routines}{67} 217\contentsline {subsubsection}{\numberline {6.10.1}Detailed Description}{67} 218\contentsline {subsubsection}{\numberline {6.10.2}General structure of the BPM signal processing}{67} 219\contentsline {paragraph}{\numberline {6.10.2.1}Diode signal processing}{67} 220\contentsline {paragraph}{\numberline {6.10.2.2}Monopole signal processing}{67} 221\contentsline {paragraph}{\numberline {6.10.2.3}Dipole signal processing}{69} 222\contentsline {subsubsection}{\numberline {6.10.3}Processing flow}{70} 223\contentsline {subsubsection}{\numberline {6.10.4}About trigger pulses, internal vs. external clock}{70} 224\contentsline {paragraph}{\numberline {6.10.4.1}External clock triggering}{70} 225\contentsline {paragraph}{\numberline {6.10.4.2}Internal clock triggering}{71} 226\contentsline {subsubsection}{\numberline {6.10.5}calibration tone information}{71} 227\contentsline {subsubsection}{\numberline {6.10.6}Define Documentation}{73} 228\contentsline {paragraph}{\numberline {6.10.6.1}PROC\_\discretionary {-}{}{}DEFAULT}{73} 229\contentsline {subsubsection}{\numberline {6.10.7}Function Documentation}{73} 230\contentsline {paragraph}{\numberline {6.10.7.1}process\_\discretionary {-}{}{}diode}{73} 231\contentsline {paragraph}{\numberline {6.10.7.2}process\_\discretionary {-}{}{}monopole}{73} 232\contentsline {paragraph}{\numberline {6.10.7.3}process\_\discretionary {-}{}{}dipole}{74} 233\contentsline {paragraph}{\numberline {6.10.7.4}process\_\discretionary {-}{}{}waveform}{74} 234\contentsline {paragraph}{\numberline {6.10.7.5}postprocess\_\discretionary {-}{}{}waveform}{76} 235\contentsline {paragraph}{\numberline {6.10.7.6}process\_\discretionary {-}{}{}caltone}{76} 236\contentsline {paragraph}{\numberline {6.10.7.7}correct\_\discretionary {-}{}{}gain}{77} 237\contentsline {paragraph}{\numberline {6.10.7.8}fit\_\discretionary {-}{}{}waveform}{77} 238\contentsline {paragraph}{\numberline {6.10.7.9}fit\_\discretionary {-}{}{}diodepulse}{78} 239\contentsline {paragraph}{\numberline {6.10.7.10}fft\_\discretionary {-}{}{}waveform}{78} 240\contentsline {paragraph}{\numberline {6.10.7.11}fit\_\discretionary {-}{}{}fft\_\discretionary {-}{}{}prepare}{79} 241\contentsline {paragraph}{\numberline {6.10.7.12}fit\_\discretionary {-}{}{}fft}{79} 242\contentsline {paragraph}{\numberline {6.10.7.13}check\_\discretionary {-}{}{}saturation}{80} 243\contentsline {paragraph}{\numberline {6.10.7.14}downmix\_\discretionary {-}{}{}waveform}{80} 244\contentsline {paragraph}{\numberline {6.10.7.15}ddc\_\discretionary {-}{}{}waveform}{81} 245\contentsline {paragraph}{\numberline {6.10.7.16}ddc\_\discretionary {-}{}{}sample\_\discretionary {-}{}{}waveform}{81} 246\contentsline {paragraph}{\numberline {6.10.7.17}get\_\discretionary {-}{}{}pedestal}{81} 247\contentsline {paragraph}{\numberline {6.10.7.18}get\_\discretionary {-}{}{}t0}{82} 248\contentsline {paragraph}{\numberline {6.10.7.19}get\_\discretionary {-}{}{}IQ}{82} 249\contentsline {paragraph}{\numberline {6.10.7.20}get\_\discretionary {-}{}{}pos}{83} 250\contentsline {paragraph}{\numberline {6.10.7.21}get\_\discretionary {-}{}{}slope}{83} 251\contentsline {subsection}{\numberline {6.11}Waveform handling routines}{84} 252\contentsline {subsubsection}{\numberline {6.11.1}Detailed Description}{84} 253\contentsline {subsubsection}{\numberline {6.11.2}Memory management}{84} 254\contentsline {subsubsection}{\numberline {6.11.3}Waveform handling}{84} 255\contentsline {subsubsection}{\numberline {6.11.4}Filling the waveforms}{84} 256\contentsline {subsubsection}{\numberline {6.11.5}Note on the interpolation options.}{85} 257\contentsline {subsubsection}{\numberline {6.11.6}For examples...}{85} 258\contentsline {subsubsection}{\numberline {6.11.7}Todo list}{85} 259\contentsline {subsubsection}{\numberline {6.11.8}Define Documentation}{88} 260\contentsline {paragraph}{\numberline {6.11.8.1}WF\_\discretionary {-}{}{}EPS}{88} 261\contentsline {paragraph}{\numberline {6.11.8.2}MAX\_\discretionary {-}{}{}ALLOWED\_\discretionary {-}{}{}NS}{88} 262\contentsline {paragraph}{\numberline {6.11.8.3}WF\_\discretionary {-}{}{}NEAREST}{88} 263\contentsline {paragraph}{\numberline {6.11.8.4}WF\_\discretionary {-}{}{}LINEAR}{88} 264\contentsline {paragraph}{\numberline {6.11.8.5}WF\_\discretionary {-}{}{}QUADRATIC}{88} 265\contentsline {paragraph}{\numberline {6.11.8.6}WF\_\discretionary {-}{}{}SINC}{89} 266\contentsline {paragraph}{\numberline {6.11.8.7}WF\_\discretionary {-}{}{}LANCZOS}{89} 267\contentsline {subsubsection}{\numberline {6.11.9}Function Documentation}{89} 268\contentsline {paragraph}{\numberline {6.11.9.1}wfstat\_\discretionary {-}{}{}reset}{89} 269\contentsline {paragraph}{\numberline {6.11.9.2}wfstat\_\discretionary {-}{}{}print}{89} 270\contentsline {paragraph}{\numberline {6.11.9.3}doublewf}{89} 271\contentsline {paragraph}{\numberline {6.11.9.4}doublewf\_\discretionary {-}{}{}time\_\discretionary {-}{}{}series}{90} 272\contentsline {paragraph}{\numberline {6.11.9.5}doublewf\_\discretionary {-}{}{}sample\_\discretionary {-}{}{}series}{90} 273\contentsline {paragraph}{\numberline {6.11.9.6}doublewf\_\discretionary {-}{}{}frequency\_\discretionary {-}{}{}series}{90} 274\contentsline {paragraph}{\numberline {6.11.9.7}doublewf\_\discretionary {-}{}{}setvalues}{91} 275\contentsline {paragraph}{\numberline {6.11.9.8}doublewf\_\discretionary {-}{}{}setfunction}{91} 276\contentsline {paragraph}{\numberline {6.11.9.9}doublewf\_\discretionary {-}{}{}copy}{91} 277\contentsline {paragraph}{\numberline {6.11.9.10}doublewf\_\discretionary {-}{}{}copy\_\discretionary {-}{}{}new}{92} 278\contentsline {paragraph}{\numberline {6.11.9.11}doublewf\_\discretionary {-}{}{}subset}{92} 279\contentsline {paragraph}{\numberline {6.11.9.12}doublewf\_\discretionary {-}{}{}reset}{92} 280\contentsline {paragraph}{\numberline {6.11.9.13}doublewf\_\discretionary {-}{}{}delete}{93} 281\contentsline {paragraph}{\numberline {6.11.9.14}intwf\_\discretionary {-}{}{}cast\_\discretionary {-}{}{}new}{93} 282\contentsline {paragraph}{\numberline {6.11.9.15}intwf\_\discretionary {-}{}{}cast}{93} 283\contentsline {paragraph}{\numberline {6.11.9.16}doublewf\_\discretionary {-}{}{}compat}{94} 284\contentsline {paragraph}{\numberline {6.11.9.17}doublewf\_\discretionary {-}{}{}add}{94} 285\contentsline {paragraph}{\numberline {6.11.9.18}doublewf\_\discretionary {-}{}{}subtract}{94} 286\contentsline {paragraph}{\numberline {6.11.9.19}doublewf\_\discretionary {-}{}{}multiply}{95} 287\contentsline {paragraph}{\numberline {6.11.9.20}doublewf\_\discretionary {-}{}{}divide}{95} 288\contentsline {paragraph}{\numberline {6.11.9.21}doublewf\_\discretionary {-}{}{}scale}{95} 289\contentsline {paragraph}{\numberline {6.11.9.22}doublewf\_\discretionary {-}{}{}bias}{96} 290\contentsline {paragraph}{\numberline {6.11.9.23}doublewf\_\discretionary {-}{}{}add\_\discretionary {-}{}{}cwtone}{96} 291\contentsline {paragraph}{\numberline {6.11.9.24}doublewf\_\discretionary {-}{}{}add\_\discretionary {-}{}{}dcywave}{96} 292\contentsline {paragraph}{\numberline {6.11.9.25}doublewf\_\discretionary {-}{}{}add\_\discretionary {-}{}{}ampnoise}{97} 293\contentsline {paragraph}{\numberline {6.11.9.26}doublewf\_\discretionary {-}{}{}basic\_\discretionary {-}{}{}stats}{97} 294\contentsline {paragraph}{\numberline {6.11.9.27}doublewf\_\discretionary {-}{}{}derive}{98} 295\contentsline {paragraph}{\numberline {6.11.9.28}doublewf\_\discretionary {-}{}{}integrate}{98} 296\contentsline {paragraph}{\numberline {6.11.9.29}doublewf\_\discretionary {-}{}{}print}{98} 297\contentsline {paragraph}{\numberline {6.11.9.30}doublewf\_\discretionary {-}{}{}getvalue}{98} 298\contentsline {paragraph}{\numberline {6.11.9.31}doublewf\_\discretionary {-}{}{}resample}{99} 299\contentsline {paragraph}{\numberline {6.11.9.32}intwf}{99} 300\contentsline {paragraph}{\numberline {6.11.9.33}intwf\_\discretionary {-}{}{}sample\_\discretionary {-}{}{}series}{100} 301\contentsline {paragraph}{\numberline {6.11.9.34}intwf\_\discretionary {-}{}{}setvalues}{100} 302\contentsline {paragraph}{\numberline {6.11.9.35}intwf\_\discretionary {-}{}{}setfunction}{100} 303\contentsline {paragraph}{\numberline {6.11.9.36}intwf\_\discretionary {-}{}{}copy}{101} 304\contentsline {paragraph}{\numberline {6.11.9.37}intwf\_\discretionary {-}{}{}copy\_\discretionary {-}{}{}new}{101} 305\contentsline {paragraph}{\numberline {6.11.9.38}intwf\_\discretionary {-}{}{}subset}{101} 306\contentsline {paragraph}{\numberline {6.11.9.39}intwf\_\discretionary {-}{}{}reset}{102} 307\contentsline {paragraph}{\numberline {6.11.9.40}intwf\_\discretionary {-}{}{}delete}{102} 308\contentsline {paragraph}{\numberline {6.11.9.41}doublewf\_\discretionary {-}{}{}cast\_\discretionary {-}{}{}new}{102} 309\contentsline {paragraph}{\numberline {6.11.9.42}doublewf\_\discretionary {-}{}{}cast}{102} 310\contentsline {paragraph}{\numberline {6.11.9.43}intwf\_\discretionary {-}{}{}compat}{103} 311\contentsline {paragraph}{\numberline {6.11.9.44}intwf\_\discretionary {-}{}{}add}{103} 312\contentsline {paragraph}{\numberline {6.11.9.45}intwf\_\discretionary {-}{}{}subtract}{103} 313\contentsline {paragraph}{\numberline {6.11.9.46}intwf\_\discretionary {-}{}{}multiply}{104} 314\contentsline {paragraph}{\numberline {6.11.9.47}intwf\_\discretionary {-}{}{}divide}{104} 315\contentsline {paragraph}{\numberline {6.11.9.48}intwf\_\discretionary {-}{}{}scale}{104} 316\contentsline {paragraph}{\numberline {6.11.9.49}intwf\_\discretionary {-}{}{}bias}{105} 317\contentsline {paragraph}{\numberline {6.11.9.50}intwf\_\discretionary {-}{}{}add\_\discretionary {-}{}{}cwtone}{105} 318\contentsline {paragraph}{\numberline {6.11.9.51}intwf\_\discretionary {-}{}{}add\_\discretionary {-}{}{}dcywave}{105} 319\contentsline {paragraph}{\numberline {6.11.9.52}intwf\_\discretionary {-}{}{}add\_\discretionary {-}{}{}ampnoise}{106} 320\contentsline {paragraph}{\numberline {6.11.9.53}intwf\_\discretionary {-}{}{}basic\_\discretionary {-}{}{}stats}{106} 321\contentsline {paragraph}{\numberline {6.11.9.54}intwf\_\discretionary {-}{}{}derive}{106} 322\contentsline {paragraph}{\numberline {6.11.9.55}intwf\_\discretionary {-}{}{}integrate}{107} 323\contentsline {paragraph}{\numberline {6.11.9.56}intwf\_\discretionary {-}{}{}print}{107} 324\contentsline {paragraph}{\numberline {6.11.9.57}intwf\_\discretionary {-}{}{}getvalue}{107} 325\contentsline {paragraph}{\numberline {6.11.9.58}intwf\_\discretionary {-}{}{}resample}{108} 326\contentsline {paragraph}{\numberline {6.11.9.59}complexwf}{108} 327\contentsline {paragraph}{\numberline {6.11.9.60}complexwf\_\discretionary {-}{}{}copy\_\discretionary {-}{}{}new}{108} 328\contentsline {paragraph}{\numberline {6.11.9.61}complexwf\_\discretionary {-}{}{}copy}{109} 329\contentsline {paragraph}{\numberline {6.11.9.62}complexwf\_\discretionary {-}{}{}subset}{109} 330\contentsline {paragraph}{\numberline {6.11.9.63}complexwf\_\discretionary {-}{}{}setvalues}{109} 331\contentsline {paragraph}{\numberline {6.11.9.64}complexwf\_\discretionary {-}{}{}setfunction}{110} 332\contentsline {paragraph}{\numberline {6.11.9.65}complexwf\_\discretionary {-}{}{}reset}{110} 333\contentsline {paragraph}{\numberline {6.11.9.66}complexwf\_\discretionary {-}{}{}delete}{110} 334\contentsline {paragraph}{\numberline {6.11.9.67}complexwf\_\discretionary {-}{}{}compat}{111} 335\contentsline {paragraph}{\numberline {6.11.9.68}complexwf\_\discretionary {-}{}{}add}{111} 336\contentsline {paragraph}{\numberline {6.11.9.69}complexwf\_\discretionary {-}{}{}subtract}{111} 337\contentsline {paragraph}{\numberline {6.11.9.70}complexwf\_\discretionary {-}{}{}multiply}{112} 338\contentsline {paragraph}{\numberline {6.11.9.71}complexwf\_\discretionary {-}{}{}divide}{112} 339\contentsline {paragraph}{\numberline {6.11.9.72}complexwf\_\discretionary {-}{}{}scale}{112} 340\contentsline {paragraph}{\numberline {6.11.9.73}complexwf\_\discretionary {-}{}{}bias}{112} 341\contentsline {paragraph}{\numberline {6.11.9.74}complexwf\_\discretionary {-}{}{}add\_\discretionary {-}{}{}cwtone}{113} 342\contentsline {paragraph}{\numberline {6.11.9.75}complexwf\_\discretionary {-}{}{}add\_\discretionary {-}{}{}dcywave}{113} 343\contentsline {paragraph}{\numberline {6.11.9.76}complexwf\_\discretionary {-}{}{}add\_\discretionary {-}{}{}noise}{114} 344\contentsline {paragraph}{\numberline {6.11.9.77}complexwf\_\discretionary {-}{}{}add\_\discretionary {-}{}{}ampnoise}{114} 345\contentsline {paragraph}{\numberline {6.11.9.78}complexwf\_\discretionary {-}{}{}add\_\discretionary {-}{}{}phasenoise}{114} 346\contentsline {paragraph}{\numberline {6.11.9.79}complexwf\_\discretionary {-}{}{}print}{115} 347\contentsline {paragraph}{\numberline {6.11.9.80}complexwf\_\discretionary {-}{}{}getreal}{115} 348\contentsline {paragraph}{\numberline {6.11.9.81}complexwf\_\discretionary {-}{}{}getimag}{115} 349\contentsline {paragraph}{\numberline {6.11.9.82}complexwf\_\discretionary {-}{}{}getamp}{116} 350\contentsline {paragraph}{\numberline {6.11.9.83}complexwf\_\discretionary {-}{}{}getphase}{116} 351\contentsline {paragraph}{\numberline {6.11.9.84}complexwf\_\discretionary {-}{}{}getreal\_\discretionary {-}{}{}new}{116} 352\contentsline {paragraph}{\numberline {6.11.9.85}complexwf\_\discretionary {-}{}{}getimag\_\discretionary {-}{}{}new}{117} 353\contentsline {paragraph}{\numberline {6.11.9.86}complexwf\_\discretionary {-}{}{}getamp\_\discretionary {-}{}{}new}{117} 354\contentsline {paragraph}{\numberline {6.11.9.87}complexwf\_\discretionary {-}{}{}getphase\_\discretionary {-}{}{}new}{117} 355\contentsline {paragraph}{\numberline {6.11.9.88}complexwf\_\discretionary {-}{}{}setreal}{118} 356\contentsline {paragraph}{\numberline {6.11.9.89}complexwf\_\discretionary {-}{}{}setimag}{118} 357\contentsline {section}{\numberline {7}Data Structure Documentation}{118} 358\contentsline {subsection}{\numberline {7.1}beamconf Struct Reference}{118} 359\contentsline {subsubsection}{\numberline {7.1.1}Detailed Description}{119} 360\contentsline {subsubsection}{\numberline {7.1.2}Field Documentation}{119} 361\contentsline {paragraph}{\numberline {7.1.2.1}train\_\discretionary {-}{}{}num}{119} 362\contentsline {paragraph}{\numberline {7.1.2.2}beamrate}{119} 363\contentsline {paragraph}{\numberline {7.1.2.3}bunchrate}{120} 364\contentsline {paragraph}{\numberline {7.1.2.4}nbunches}{120} 365\contentsline {paragraph}{\numberline {7.1.2.5}bunch}{120} 366\contentsline {paragraph}{\numberline {7.1.2.6}position}{120} 367\contentsline {paragraph}{\numberline {7.1.2.7}positionsigma}{120} 368\contentsline {paragraph}{\numberline {7.1.2.8}slope}{120} 369\contentsline {paragraph}{\numberline {7.1.2.9}slopesigma}{120} 370\contentsline {paragraph}{\numberline {7.1.2.10}tilt}{120} 371\contentsline {paragraph}{\numberline {7.1.2.11}tiltsigma}{120} 372\contentsline {paragraph}{\numberline {7.1.2.12}bunchlength}{121} 373\contentsline {paragraph}{\numberline {7.1.2.13}bunchlengthsigma}{121} 374\contentsline {paragraph}{\numberline {7.1.2.14}energy}{121} 375\contentsline {paragraph}{\numberline {7.1.2.15}energysigma}{121} 376\contentsline {paragraph}{\numberline {7.1.2.16}charge}{121} 377\contentsline {paragraph}{\numberline {7.1.2.17}chargesigma}{121} 378\contentsline {subsection}{\numberline {7.2}bpmcalib Struct Reference}{121} 379\contentsline {subsubsection}{\numberline {7.2.1}Detailed Description}{121} 380\contentsline {subsubsection}{\numberline {7.2.2}Field Documentation}{122} 381\contentsline {paragraph}{\numberline {7.2.2.1}ddc\_\discretionary {-}{}{}IQphase}{122} 382\contentsline {paragraph}{\numberline {7.2.2.2}ddc\_\discretionary {-}{}{}posscale}{122} 383\contentsline {paragraph}{\numberline {7.2.2.3}ddc\_\discretionary {-}{}{}slopescale}{122} 384\contentsline {paragraph}{\numberline {7.2.2.4}ddc\_\discretionary {-}{}{}ct\_\discretionary {-}{}{}amp}{122} 385\contentsline {paragraph}{\numberline {7.2.2.5}ddc\_\discretionary {-}{}{}ct\_\discretionary {-}{}{}phase}{122} 386\contentsline {paragraph}{\numberline {7.2.2.6}fit\_\discretionary {-}{}{}IQphase}{122} 387\contentsline {paragraph}{\numberline {7.2.2.7}fit\_\discretionary {-}{}{}posscale}{123} 388\contentsline {paragraph}{\numberline {7.2.2.8}fit\_\discretionary {-}{}{}slopescale}{123} 389\contentsline {paragraph}{\numberline {7.2.2.9}fit\_\discretionary {-}{}{}ct\_\discretionary {-}{}{}amp}{123} 390\contentsline {paragraph}{\numberline {7.2.2.10}fit\_\discretionary {-}{}{}ct\_\discretionary {-}{}{}phase}{123} 391\contentsline {subsection}{\numberline {7.3}bpmconf Struct Reference}{123} 392\contentsline {subsubsection}{\numberline {7.3.1}Detailed Description}{124} 393\contentsline {subsubsection}{\numberline {7.3.2}Field Documentation}{125} 394\contentsline {paragraph}{\numberline {7.3.2.1}name}{125} 395\contentsline {paragraph}{\numberline {7.3.2.2}cav\_\discretionary {-}{}{}type}{125} 396\contentsline {paragraph}{\numberline {7.3.2.3}cav\_\discretionary {-}{}{}polarisation}{125} 397\contentsline {paragraph}{\numberline {7.3.2.4}cav\_\discretionary {-}{}{}phasetype}{126} 398\contentsline {paragraph}{\numberline {7.3.2.5}cav\_\discretionary {-}{}{}length}{126} 399\contentsline {paragraph}{\numberline {7.3.2.6}cav\_\discretionary {-}{}{}freq}{126} 400\contentsline {paragraph}{\numberline {7.3.2.7}cav\_\discretionary {-}{}{}decaytime}{126} 401\contentsline {paragraph}{\numberline {7.3.2.8}cav\_\discretionary {-}{}{}phase}{126} 402\contentsline {paragraph}{\numberline {7.3.2.9}cav\_\discretionary {-}{}{}iqrotation}{126} 403\contentsline {paragraph}{\numberline {7.3.2.10}cav\_\discretionary {-}{}{}chargesens}{126} 404\contentsline {paragraph}{\numberline {7.3.2.11}cav\_\discretionary {-}{}{}possens}{126} 405\contentsline {paragraph}{\numberline {7.3.2.12}cav\_\discretionary {-}{}{}tiltsens}{126} 406\contentsline {paragraph}{\numberline {7.3.2.13}rf\_\discretionary {-}{}{}LOfreq}{127} 407\contentsline {paragraph}{\numberline {7.3.2.14}digi\_\discretionary {-}{}{}trigtimeoffset}{127} 408\contentsline {paragraph}{\numberline {7.3.2.15}digi\_\discretionary {-}{}{}freq}{127} 409\contentsline {paragraph}{\numberline {7.3.2.16}digi\_\discretionary {-}{}{}nbits}{127} 410\contentsline {paragraph}{\numberline {7.3.2.17}digi\_\discretionary {-}{}{}nsamples}{127} 411\contentsline {paragraph}{\numberline {7.3.2.18}digi\_\discretionary {-}{}{}ampnoise}{127} 412\contentsline {paragraph}{\numberline {7.3.2.19}digi\_\discretionary {-}{}{}voltageoffset}{127} 413\contentsline {paragraph}{\numberline {7.3.2.20}digi\_\discretionary {-}{}{}phasenoise}{127} 414\contentsline {paragraph}{\numberline {7.3.2.21}t0}{127} 415\contentsline {paragraph}{\numberline {7.3.2.22}ddc\_\discretionary {-}{}{}freq}{128} 416\contentsline {paragraph}{\numberline {7.3.2.23}ddc\_\discretionary {-}{}{}tdecay}{128} 417\contentsline {paragraph}{\numberline {7.3.2.24}ddc\_\discretionary {-}{}{}tOffset}{128} 418\contentsline {paragraph}{\numberline {7.3.2.25}ddc\_\discretionary {-}{}{}filter}{128} 419\contentsline {paragraph}{\numberline {7.3.2.26}fit\_\discretionary {-}{}{}inifreq}{128} 420\contentsline {paragraph}{\numberline {7.3.2.27}fit\_\discretionary {-}{}{}initdecay}{128} 421\contentsline {paragraph}{\numberline {7.3.2.28}fit\_\discretionary {-}{}{}tOffset}{128} 422\contentsline {paragraph}{\numberline {7.3.2.29}ddc\_\discretionary {-}{}{}ct\_\discretionary {-}{}{}freq}{128} 423\contentsline {paragraph}{\numberline {7.3.2.30}ddc\_\discretionary {-}{}{}ct\_\discretionary {-}{}{}filter}{129} 424\contentsline {paragraph}{\numberline {7.3.2.31}ddc\_\discretionary {-}{}{}ct\_\discretionary {-}{}{}iSample}{129} 425\contentsline {paragraph}{\numberline {7.3.2.32}geom\_\discretionary {-}{}{}pos}{129} 426\contentsline {paragraph}{\numberline {7.3.2.33}geom\_\discretionary {-}{}{}tilt}{129} 427\contentsline {paragraph}{\numberline {7.3.2.34}ref\_\discretionary {-}{}{}idx}{129} 428\contentsline {paragraph}{\numberline {7.3.2.35}diode\_\discretionary {-}{}{}idx}{129} 429\contentsline {paragraph}{\numberline {7.3.2.36}forced\_\discretionary {-}{}{}trigger}{129} 430\contentsline {paragraph}{\numberline {7.3.2.37}ddc\_\discretionary {-}{}{}buffer\_\discretionary {-}{}{}re}{129} 431\contentsline {paragraph}{\numberline {7.3.2.38}ddc\_\discretionary {-}{}{}buffer\_\discretionary {-}{}{}im}{130} 432\contentsline {subsection}{\numberline {7.4}bpmmode Struct Reference}{130} 433\contentsline {subsubsection}{\numberline {7.4.1}Detailed Description}{130} 434\contentsline {subsubsection}{\numberline {7.4.2}Field Documentation}{130} 435\contentsline {paragraph}{\numberline {7.4.2.1}name}{130} 436\contentsline {paragraph}{\numberline {7.4.2.2}frequency}{131} 437\contentsline {paragraph}{\numberline {7.4.2.3}Q}{131} 438\contentsline {paragraph}{\numberline {7.4.2.4}order}{131} 439\contentsline {paragraph}{\numberline {7.4.2.5}polarisation}{131} 440\contentsline {paragraph}{\numberline {7.4.2.6}sensitivity}{131} 441\contentsline {paragraph}{\numberline {7.4.2.7}response}{131} 442\contentsline {paragraph}{\numberline {7.4.2.8}buffer}{131} 443\contentsline {subsection}{\numberline {7.5}bpmproc Struct Reference}{132} 444\contentsline {subsubsection}{\numberline {7.5.1}Detailed Description}{132} 445\contentsline {subsubsection}{\numberline {7.5.2}Field Documentation}{133} 446\contentsline {paragraph}{\numberline {7.5.2.1}ampnoise}{133} 447\contentsline {paragraph}{\numberline {7.5.2.2}voltageoffset}{133} 448\contentsline {paragraph}{\numberline {7.5.2.3}t0}{133} 449\contentsline {paragraph}{\numberline {7.5.2.4}saturated}{133} 450\contentsline {paragraph}{\numberline {7.5.2.5}iunsat}{133} 451\contentsline {paragraph}{\numberline {7.5.2.6}dc}{134} 452\contentsline {paragraph}{\numberline {7.5.2.7}ft}{134} 453\contentsline {paragraph}{\numberline {7.5.2.8}fft\_\discretionary {-}{}{}success}{134} 454\contentsline {paragraph}{\numberline {7.5.2.9}fft\_\discretionary {-}{}{}amp}{134} 455\contentsline {paragraph}{\numberline {7.5.2.10}fft\_\discretionary {-}{}{}freq}{134} 456\contentsline {paragraph}{\numberline {7.5.2.11}fft\_\discretionary {-}{}{}tdecay}{134} 457\contentsline {paragraph}{\numberline {7.5.2.12}fft\_\discretionary {-}{}{}offset}{134} 458\contentsline {paragraph}{\numberline {7.5.2.13}ddc\_\discretionary {-}{}{}success}{134} 459\contentsline {paragraph}{\numberline {7.5.2.14}ddc\_\discretionary {-}{}{}tSample}{135} 460\contentsline {paragraph}{\numberline {7.5.2.15}ddc\_\discretionary {-}{}{}iSample}{135} 461\contentsline {paragraph}{\numberline {7.5.2.16}ddc\_\discretionary {-}{}{}Q}{135} 462\contentsline {paragraph}{\numberline {7.5.2.17}ddc\_\discretionary {-}{}{}I}{135} 463\contentsline {paragraph}{\numberline {7.5.2.18}ddc\_\discretionary {-}{}{}amp}{135} 464\contentsline {paragraph}{\numberline {7.5.2.19}ddc\_\discretionary {-}{}{}phase}{135} 465\contentsline {paragraph}{\numberline {7.5.2.20}ddc\_\discretionary {-}{}{}tdecay}{135} 466\contentsline {paragraph}{\numberline {7.5.2.21}ddc\_\discretionary {-}{}{}pos}{135} 467\contentsline {paragraph}{\numberline {7.5.2.22}ddc\_\discretionary {-}{}{}slope}{136} 468\contentsline {paragraph}{\numberline {7.5.2.23}ddc\_\discretionary {-}{}{}ct\_\discretionary {-}{}{}amp}{136} 469\contentsline {paragraph}{\numberline {7.5.2.24}ddc\_\discretionary {-}{}{}ct\_\discretionary {-}{}{}phase}{136} 470\contentsline {paragraph}{\numberline {7.5.2.25}fit\_\discretionary {-}{}{}success}{136} 471\contentsline {paragraph}{\numberline {7.5.2.26}fit\_\discretionary {-}{}{}Q}{136} 472\contentsline {paragraph}{\numberline {7.5.2.27}fit\_\discretionary {-}{}{}I}{136} 473\contentsline {paragraph}{\numberline {7.5.2.28}fit\_\discretionary {-}{}{}amp}{136} 474\contentsline {paragraph}{\numberline {7.5.2.29}fit\_\discretionary {-}{}{}phase}{136} 475\contentsline {paragraph}{\numberline {7.5.2.30}fit\_\discretionary {-}{}{}freq}{137} 476\contentsline {paragraph}{\numberline {7.5.2.31}fit\_\discretionary {-}{}{}tdecay}{137} 477\contentsline {paragraph}{\numberline {7.5.2.32}fit\_\discretionary {-}{}{}offset}{137} 478\contentsline {paragraph}{\numberline {7.5.2.33}fit\_\discretionary {-}{}{}pos}{137} 479\contentsline {paragraph}{\numberline {7.5.2.34}fit\_\discretionary {-}{}{}slope}{137} 480\contentsline {paragraph}{\numberline {7.5.2.35}fit\_\discretionary {-}{}{}ct\_\discretionary {-}{}{}amp}{137} 481\contentsline {paragraph}{\numberline {7.5.2.36}fit\_\discretionary {-}{}{}ct\_\discretionary {-}{}{}phase}{137} 482\contentsline {subsection}{\numberline {7.6}bunchconf Struct Reference}{138} 483\contentsline {subsubsection}{\numberline {7.6.1}Detailed Description}{138} 484\contentsline {subsubsection}{\numberline {7.6.2}Field Documentation}{138} 485\contentsline {paragraph}{\numberline {7.6.2.1}train\_\discretionary {-}{}{}num}{138} 486\contentsline {paragraph}{\numberline {7.6.2.2}bunch\_\discretionary {-}{}{}num}{138} 487\contentsline {paragraph}{\numberline {7.6.2.3}energy}{138} 488\contentsline {paragraph}{\numberline {7.6.2.4}energyspread}{138} 489\contentsline {paragraph}{\numberline {7.6.2.5}length}{139} 490\contentsline {paragraph}{\numberline {7.6.2.6}arrival\_\discretionary {-}{}{}time}{139} 491\contentsline {paragraph}{\numberline {7.6.2.7}position}{139} 492\contentsline {paragraph}{\numberline {7.6.2.8}slope}{139} 493\contentsline {paragraph}{\numberline {7.6.2.9}tilt}{139} 494\contentsline {paragraph}{\numberline {7.6.2.10}bpmposition}{139} 495\contentsline {paragraph}{\numberline {7.6.2.11}bpmslope}{139} 496\contentsline {paragraph}{\numberline {7.6.2.12}bpmtilt}{139} 497\contentsline {subsection}{\numberline {7.7}complex\_\discretionary {-}{}{}t Struct Reference}{140} 498\contentsline {subsubsection}{\numberline {7.7.1}Detailed Description}{140} 499\contentsline {subsection}{\numberline {7.8}complexwf\_\discretionary {-}{}{}t Struct Reference}{140} 500\contentsline {subsubsection}{\numberline {7.8.1}Detailed Description}{140} 501\contentsline {subsubsection}{\numberline {7.8.2}Field Documentation}{141} 502\contentsline {paragraph}{\numberline {7.8.2.1}ns}{141} 503\contentsline {paragraph}{\numberline {7.8.2.2}fs}{141} 504\contentsline {paragraph}{\numberline {7.8.2.3}wf}{141} 505\contentsline {subsection}{\numberline {7.9}doublewf\_\discretionary {-}{}{}t Struct Reference}{141} 506\contentsline {subsubsection}{\numberline {7.9.1}Detailed Description}{141} 507\contentsline {subsubsection}{\numberline {7.9.2}Field Documentation}{142} 508\contentsline {paragraph}{\numberline {7.9.2.1}ns}{142} 509\contentsline {paragraph}{\numberline {7.9.2.2}fs}{142} 510\contentsline {paragraph}{\numberline {7.9.2.3}wf}{142} 511\contentsline {subsection}{\numberline {7.10}filter\_\discretionary {-}{}{}t Struct Reference}{143} 512\contentsline {subsubsection}{\numberline {7.10.1}Detailed Description}{143} 513\contentsline {subsubsection}{\numberline {7.10.2}Field Documentation}{144} 514\contentsline {paragraph}{\numberline {7.10.2.1}name}{144} 515\contentsline {paragraph}{\numberline {7.10.2.2}options}{144} 516\contentsline {paragraph}{\numberline {7.10.2.3}order}{144} 517\contentsline {paragraph}{\numberline {7.10.2.4}fs}{144} 518\contentsline {paragraph}{\numberline {7.10.2.5}f1}{144} 519\contentsline {paragraph}{\numberline {7.10.2.6}f2}{145} 520\contentsline {paragraph}{\numberline {7.10.2.7}alpha1}{145} 521\contentsline {paragraph}{\numberline {7.10.2.8}alpha2}{145} 522\contentsline {paragraph}{\numberline {7.10.2.9}w\_\discretionary {-}{}{}alpha1}{145} 523\contentsline {paragraph}{\numberline {7.10.2.10}w\_\discretionary {-}{}{}alpha2}{145} 524\contentsline {paragraph}{\numberline {7.10.2.11}cheb\_\discretionary {-}{}{}ripple}{145} 525\contentsline {paragraph}{\numberline {7.10.2.12}Q}{145} 526\contentsline {paragraph}{\numberline {7.10.2.13}gauss\_\discretionary {-}{}{}cutoff}{145} 527\contentsline {paragraph}{\numberline {7.10.2.14}dc\_\discretionary {-}{}{}gain}{146} 528\contentsline {paragraph}{\numberline {7.10.2.15}fc\_\discretionary {-}{}{}gain}{146} 529\contentsline {paragraph}{\numberline {7.10.2.16}hf\_\discretionary {-}{}{}gain}{146} 530\contentsline {paragraph}{\numberline {7.10.2.17}gain}{146} 531\contentsline {paragraph}{\numberline {7.10.2.18}cplane}{146} 532\contentsline {paragraph}{\numberline {7.10.2.19}nxc}{146} 533\contentsline {paragraph}{\numberline {7.10.2.20}xc}{146} 534\contentsline {paragraph}{\numberline {7.10.2.21}nxc\_\discretionary {-}{}{}ac}{147} 535\contentsline {paragraph}{\numberline {7.10.2.22}xc\_\discretionary {-}{}{}ac}{147} 536\contentsline {paragraph}{\numberline {7.10.2.23}nyc}{147} 537\contentsline {paragraph}{\numberline {7.10.2.24}yc}{147} 538\contentsline {paragraph}{\numberline {7.10.2.25}nyc\_\discretionary {-}{}{}ac}{147} 539\contentsline {paragraph}{\numberline {7.10.2.26}yc\_\discretionary {-}{}{}ac}{147} 540\contentsline {paragraph}{\numberline {7.10.2.27}xv}{147} 541\contentsline {paragraph}{\numberline {7.10.2.28}xv\_\discretionary {-}{}{}ac}{147} 542\contentsline {paragraph}{\numberline {7.10.2.29}yv}{148} 543\contentsline {paragraph}{\numberline {7.10.2.30}yv\_\discretionary {-}{}{}ac}{148} 544\contentsline {paragraph}{\numberline {7.10.2.31}ns}{148} 545\contentsline {paragraph}{\numberline {7.10.2.32}wfbuffer}{148} 546\contentsline {subsection}{\numberline {7.11}filterrep\_\discretionary {-}{}{}t Struct Reference}{148} 547\contentsline {subsubsection}{\numberline {7.11.1}Detailed Description}{148} 548\contentsline {subsubsection}{\numberline {7.11.2}Field Documentation}{149} 549\contentsline {paragraph}{\numberline {7.11.2.1}npoles}{149} 550\contentsline {paragraph}{\numberline {7.11.2.2}nzeros}{149} 551\contentsline {paragraph}{\numberline {7.11.2.3}pole}{149} 552\contentsline {paragraph}{\numberline {7.11.2.4}zero}{149} 553\contentsline {subsection}{\numberline {7.12}intwf\_\discretionary {-}{}{}t Struct Reference}{149} 554\contentsline {subsubsection}{\numberline {7.12.1}Detailed Description}{149} 555\contentsline {subsubsection}{\numberline {7.12.2}Field Documentation}{150} 556\contentsline {paragraph}{\numberline {7.12.2.1}ns}{150} 557\contentsline {paragraph}{\numberline {7.12.2.2}fs}{150} 558\contentsline {paragraph}{\numberline {7.12.2.3}wf}{150} 559\contentsline {subsection}{\numberline {7.13}lm\_\discretionary {-}{}{}fstate Struct Reference}{150} 560\contentsline {subsubsection}{\numberline {7.13.1}Detailed Description}{150} 561\contentsline {subsection}{\numberline {7.14}m33 Struct Reference}{151} 562\contentsline {subsubsection}{\numberline {7.14.1}Detailed Description}{151} 563\contentsline {subsubsection}{\numberline {7.14.2}Field Documentation}{151} 564\contentsline {paragraph}{\numberline {7.14.2.1}e}{151} 565\contentsline {subsection}{\numberline {7.15}rfmodel Struct Reference}{151} 566\contentsline {subsubsection}{\numberline {7.15.1}Detailed Description}{152} 567\contentsline {subsubsection}{\numberline {7.15.2}Field Documentation}{152} 568\contentsline {paragraph}{\numberline {7.15.2.1}name}{152} 569\contentsline {paragraph}{\numberline {7.15.2.2}nmodes}{152} 570\contentsline {paragraph}{\numberline {7.15.2.3}mode}{152} 571\contentsline {subsection}{\numberline {7.16}v3 Struct Reference}{153} 572\contentsline {subsubsection}{\numberline {7.16.1}Detailed Description}{153} 573\contentsline {subsubsection}{\numberline {7.16.2}Field Documentation}{153} 574\contentsline {paragraph}{\numberline {7.16.2.1}x}{153} 575\contentsline {paragraph}{\numberline {7.16.2.2}y}{153} 576\contentsline {paragraph}{\numberline {7.16.2.3}z}{153} 577\contentsline {subsection}{\numberline {7.17}wfstat\_\discretionary {-}{}{}t Struct Reference}{153} 578\contentsline {subsubsection}{\numberline {7.17.1}Detailed Description}{154} 579\contentsline {subsubsection}{\numberline {7.17.2}Field Documentation}{154} 580\contentsline {paragraph}{\numberline {7.17.2.1}imax}{154} 581\contentsline {paragraph}{\numberline {7.17.2.2}imin}{154} 582\contentsline {paragraph}{\numberline {7.17.2.3}max}{154} 583\contentsline {paragraph}{\numberline {7.17.2.4}min}{154} 584\contentsline {paragraph}{\numberline {7.17.2.5}mean}{154} 585\contentsline {paragraph}{\numberline {7.17.2.6}rms}{155} 586\contentsline {section}{\numberline {8}File Documentation}{155} 587\contentsline {subsection}{\numberline {8.1}bpm\_\discretionary {-}{}{}units.h File Reference}{155} 588\contentsline {subsubsection}{\numberline {8.1.1}Detailed Description}{155} 589\contentsline {subsection}{\numberline {8.2}bpmanalysis/ana\_\discretionary {-}{}{}compute\_\discretionary {-}{}{}residual.c File Reference}{156} 590\contentsline {subsubsection}{\numberline {8.2.1}Detailed Description}{156} 591\contentsline {subsection}{\numberline {8.3}bpmanalysis/ana\_\discretionary {-}{}{}def\_\discretionary {-}{}{}cutfn.c File Reference}{156} 592\contentsline {subsubsection}{\numberline {8.3.1}Detailed Description}{156} 593\contentsline {subsection}{\numberline {8.4}bpmanalysis/ana\_\discretionary {-}{}{}get\_\discretionary {-}{}{}svd\_\discretionary {-}{}{}coeffs.c File Reference}{157} 594\contentsline {subsubsection}{\numberline {8.4.1}Detailed Description}{157} 595\contentsline {subsection}{\numberline {8.5}bpmanalysis/ana\_\discretionary {-}{}{}set\_\discretionary {-}{}{}cutfn.c File Reference}{157} 596\contentsline {subsubsection}{\numberline {8.5.1}Detailed Description}{157} 597\contentsline {subsection}{\numberline {8.6}bpmanalysis/bpm\_\discretionary {-}{}{}analysis.h File Reference}{158} 598\contentsline {subsubsection}{\numberline {8.6.1}Detailed Description}{158} 599\contentsline {subsection}{\numberline {8.7}bpmcalibration/bpm\_\discretionary {-}{}{}calibration.h File Reference}{158} 600\contentsline {subsubsection}{\numberline {8.7.1}Detailed Description}{158} 601\contentsline {subsection}{\numberline {8.8}bpmcalibration/calibrate.c File Reference}{159} 602\contentsline {subsubsection}{\numberline {8.8.1}Detailed Description}{159} 603\contentsline {subsection}{\numberline {8.9}bpmcalibration/setup\_\discretionary {-}{}{}calibration.c File Reference}{159} 604\contentsline {subsubsection}{\numberline {8.9.1}Detailed Description}{159} 605\contentsline {subsection}{\numberline {8.10}bpmdsp/bpm\_\discretionary {-}{}{}dsp.h File Reference}{160} 606\contentsline {subsubsection}{\numberline {8.10.1}Detailed Description}{160} 607\contentsline {subsection}{\numberline {8.11}bpmdsp/calculate\_\discretionary {-}{}{}filter\_\discretionary {-}{}{}coefficients.c File Reference}{162} 608\contentsline {subsubsection}{\numberline {8.11.1}Detailed Description}{162} 609\contentsline {subsection}{\numberline {8.12}bpmdsp/create\_\discretionary {-}{}{}filter.c File Reference}{162} 610\contentsline {subsubsection}{\numberline {8.12.1}Detailed Description}{162} 611\contentsline {subsection}{\numberline {8.13}bpmdsp/create\_\discretionary {-}{}{}resonator\_\discretionary {-}{}{}representation.c File Reference}{163} 612\contentsline {subsubsection}{\numberline {8.13.1}Detailed Description}{163} 613\contentsline {subsection}{\numberline {8.14}bpmdsp/create\_\discretionary {-}{}{}splane\_\discretionary {-}{}{}representation.c File Reference}{163} 614\contentsline {subsubsection}{\numberline {8.14.1}Detailed Description}{163} 615\contentsline {subsection}{\numberline {8.15}bpmdsp/ddc.c File Reference}{163} 616\contentsline {subsubsection}{\numberline {8.15.1}Detailed Description}{163} 617\contentsline {subsection}{\numberline {8.16}bpmdsp/delete\_\discretionary {-}{}{}filter.c File Reference}{164} 618\contentsline {subsubsection}{\numberline {8.16.1}Detailed Description}{164} 619\contentsline {subsection}{\numberline {8.17}bpmdsp/discrete\_\discretionary {-}{}{}fourier\_\discretionary {-}{}{}transforms.c File Reference}{164} 620\contentsline {subsubsection}{\numberline {8.17.1}Detailed Description}{164} 621\contentsline {subsection}{\numberline {8.18}bpmdsp/filter\_\discretionary {-}{}{}impulse\_\discretionary {-}{}{}response.c File Reference}{165} 622\contentsline {subsubsection}{\numberline {8.18.1}Detailed Description}{165} 623\contentsline {subsection}{\numberline {8.19}bpmdsp/filter\_\discretionary {-}{}{}step\_\discretionary {-}{}{}response.c File Reference}{165} 624\contentsline {subsubsection}{\numberline {8.19.1}Detailed Description}{165} 625\contentsline {subsection}{\numberline {8.20}bpmdsp/gaussian\_\discretionary {-}{}{}filter\_\discretionary {-}{}{}coeffs.c File Reference}{166} 626\contentsline {subsubsection}{\numberline {8.20.1}Detailed Description}{166} 627\contentsline {subsection}{\numberline {8.21}bpmdsp/norm\_\discretionary {-}{}{}phase.c File Reference}{166} 628\contentsline {subsubsection}{\numberline {8.21.1}Detailed Description}{166} 629\contentsline {subsection}{\numberline {8.22}bpmdsp/normalise\_\discretionary {-}{}{}filter.c File Reference}{167} 630\contentsline {subsubsection}{\numberline {8.22.1}Detailed Description}{167} 631\contentsline {subsection}{\numberline {8.23}bpmdsp/print\_\discretionary {-}{}{}filter.c File Reference}{167} 632\contentsline {subsubsection}{\numberline {8.23.1}Detailed Description}{167} 633\contentsline {subsection}{\numberline {8.24}bpmdsp/print\_\discretionary {-}{}{}filter\_\discretionary {-}{}{}representation.c File Reference}{167} 634\contentsline {subsubsection}{\numberline {8.24.1}Detailed Description}{167} 635\contentsline {subsection}{\numberline {8.25}bpmdsp/zplane\_\discretionary {-}{}{}transform.c File Reference}{168} 636\contentsline {subsubsection}{\numberline {8.25.1}Detailed Description}{168} 637\contentsline {subsection}{\numberline {8.26}bpminterface/bpm\_\discretionary {-}{}{}interface.h File Reference}{168} 638\contentsline {subsubsection}{\numberline {8.26.1}Detailed Description}{168} 639\contentsline {subsection}{\numberline {8.27}bpmmessages/bpm\_\discretionary {-}{}{}error.c File Reference}{169} 640\contentsline {subsubsection}{\numberline {8.27.1}Detailed Description}{169} 641\contentsline {subsection}{\numberline {8.28}bpmmessages/bpm\_\discretionary {-}{}{}messages.h File Reference}{170} 642\contentsline {subsubsection}{\numberline {8.28.1}Detailed Description}{170} 643\contentsline {subsection}{\numberline {8.29}bpmmessages/bpm\_\discretionary {-}{}{}warning.c File Reference}{170} 644\contentsline {subsubsection}{\numberline {8.29.1}Detailed Description}{170} 645\contentsline {subsection}{\numberline {8.30}bpmnr/bpm\_\discretionary {-}{}{}nr.h File Reference}{171} 646\contentsline {subsubsection}{\numberline {8.30.1}Detailed Description}{171} 647\contentsline {subsection}{\numberline {8.31}bpmnr/dround.c File Reference}{175} 648\contentsline {subsubsection}{\numberline {8.31.1}Detailed Description}{175} 649\contentsline {subsection}{\numberline {8.32}bpmnr/gsl\_\discretionary {-}{}{}blas.c File Reference}{175} 650\contentsline {subsubsection}{\numberline {8.32.1}Detailed Description}{175} 651\contentsline {subsection}{\numberline {8.33}bpmnr/gsl\_\discretionary {-}{}{}block.c File Reference}{176} 652\contentsline {subsubsection}{\numberline {8.33.1}Detailed Description}{176} 653\contentsline {subsection}{\numberline {8.34}bpmnr/gsl\_\discretionary {-}{}{}eigen.c File Reference}{176} 654\contentsline {subsubsection}{\numberline {8.34.1}Detailed Description}{176} 655\contentsline {subsection}{\numberline {8.35}bpmnr/gsl\_\discretionary {-}{}{}linalg.c File Reference}{177} 656\contentsline {subsubsection}{\numberline {8.35.1}Detailed Description}{177} 657\contentsline {subsection}{\numberline {8.36}bpmnr/gsl\_\discretionary {-}{}{}matrix.c File Reference}{178} 658\contentsline {subsubsection}{\numberline {8.36.1}Detailed Description}{178} 659\contentsline {subsection}{\numberline {8.37}bpmnr/gsl\_\discretionary {-}{}{}vector.c File Reference}{178} 660\contentsline {subsubsection}{\numberline {8.37.1}Detailed Description}{178} 661\contentsline {subsection}{\numberline {8.38}bpmnr/nr\_\discretionary {-}{}{}checks.c File Reference}{179} 662\contentsline {subsubsection}{\numberline {8.38.1}Detailed Description}{179} 663\contentsline {subsubsection}{\numberline {8.38.2}Function Documentation}{179} 664\contentsline {paragraph}{\numberline {8.38.2.1}nr\_\discretionary {-}{}{}is\_\discretionary {-}{}{}int}{179} 665\contentsline {subsection}{\numberline {8.39}bpmnr/nr\_\discretionary {-}{}{}complex.c File Reference}{180} 666\contentsline {subsubsection}{\numberline {8.39.1}Detailed Description}{180} 667\contentsline {subsection}{\numberline {8.40}bpmnr/nr\_\discretionary {-}{}{}fit.c File Reference}{180} 668\contentsline {subsubsection}{\numberline {8.40.1}Detailed Description}{180} 669\contentsline {subsection}{\numberline {8.41}bpmnr/nr\_\discretionary {-}{}{}four1.c File Reference}{181} 670\contentsline {subsubsection}{\numberline {8.41.1}Detailed Description}{181} 671\contentsline {subsection}{\numberline {8.42}bpmnr/nr\_\discretionary {-}{}{}gammln.c File Reference}{181} 672\contentsline {subsubsection}{\numberline {8.42.1}Detailed Description}{181} 673\contentsline {subsection}{\numberline {8.43}bpmnr/nr\_\discretionary {-}{}{}gammq.c File Reference}{182} 674\contentsline {subsubsection}{\numberline {8.43.1}Detailed Description}{182} 675\contentsline {subsection}{\numberline {8.44}bpmnr/nr\_\discretionary {-}{}{}gcf.c File Reference}{182} 676\contentsline {subsubsection}{\numberline {8.44.1}Detailed Description}{182} 677\contentsline {subsection}{\numberline {8.45}bpmnr/nr\_\discretionary {-}{}{}gser.c File Reference}{182} 678\contentsline {subsubsection}{\numberline {8.45.1}Detailed Description}{182} 679\contentsline {subsection}{\numberline {8.46}bpmnr/nr\_\discretionary {-}{}{}levmar.c File Reference}{183} 680\contentsline {subsubsection}{\numberline {8.46.1}Detailed Description}{183} 681\contentsline {subsection}{\numberline {8.47}bpmnr/nr\_\discretionary {-}{}{}median.c File Reference}{184} 682\contentsline {subsubsection}{\numberline {8.47.1}Detailed Description}{184} 683\contentsline {subsection}{\numberline {8.48}bpmnr/nr\_\discretionary {-}{}{}quadinterpol.c File Reference}{185} 684\contentsline {subsubsection}{\numberline {8.48.1}Detailed Description}{185} 685\contentsline {subsection}{\numberline {8.49}bpmnr/nr\_\discretionary {-}{}{}ran1.c File Reference}{185} 686\contentsline {subsubsection}{\numberline {8.49.1}Detailed Description}{185} 687\contentsline {subsection}{\numberline {8.50}bpmnr/nr\_\discretionary {-}{}{}rangauss.c File Reference}{185} 688\contentsline {subsubsection}{\numberline {8.50.1}Detailed Description}{185} 689\contentsline {subsection}{\numberline {8.51}bpmnr/nr\_\discretionary {-}{}{}ranuniform.c File Reference}{186} 690\contentsline {subsubsection}{\numberline {8.51.1}Detailed Description}{186} 691\contentsline {subsection}{\numberline {8.52}bpmnr/nr\_\discretionary {-}{}{}realft.c File Reference}{186} 692\contentsline {subsubsection}{\numberline {8.52.1}Detailed Description}{186} 693\contentsline {subsection}{\numberline {8.53}bpmnr/nr\_\discretionary {-}{}{}seed.c File Reference}{187} 694\contentsline {subsubsection}{\numberline {8.53.1}Detailed Description}{187} 695\contentsline {subsubsection}{\numberline {8.53.2}Variable Documentation}{187} 696\contentsline {paragraph}{\numberline {8.53.2.1}bpm\_\discretionary {-}{}{}rseed}{187} 697\contentsline {subsection}{\numberline {8.54}bpmnr/nr\_\discretionary {-}{}{}select.c File Reference}{187} 698\contentsline {subsubsection}{\numberline {8.54.1}Detailed Description}{187} 699\contentsline {subsection}{\numberline {8.55}bpmnr/nr\_\discretionary {-}{}{}sinc.c File Reference}{188} 700\contentsline {subsubsection}{\numberline {8.55.1}Detailed Description}{188} 701\contentsline {subsection}{\numberline {8.56}bpmorbit/bpm\_\discretionary {-}{}{}orbit.h File Reference}{188} 702\contentsline {subsubsection}{\numberline {8.56.1}Detailed Description}{188} 703\contentsline {subsection}{\numberline {8.57}bpmorbit/get\_\discretionary {-}{}{}bpmhit.c File Reference}{189} 704\contentsline {subsubsection}{\numberline {8.57.1}Detailed Description}{189} 705\contentsline {subsection}{\numberline {8.58}bpmorbit/vm.c File Reference}{190} 706\contentsline {subsubsection}{\numberline {8.58.1}Detailed Description}{190} 707\contentsline {subsection}{\numberline {8.59}bpmprocess/bpm\_\discretionary {-}{}{}process.h File Reference}{190} 708\contentsline {subsubsection}{\numberline {8.59.1}Detailed Description}{190} 709\contentsline {subsection}{\numberline {8.60}bpmprocess/check\_\discretionary {-}{}{}saturation.c File Reference}{192} 710\contentsline {subsubsection}{\numberline {8.60.1}Detailed Description}{192} 711\contentsline {subsection}{\numberline {8.61}bpmprocess/correct\_\discretionary {-}{}{}gain.c File Reference}{192} 712\contentsline {subsubsection}{\numberline {8.61.1}Detailed Description}{192} 713\contentsline {subsection}{\numberline {8.62}bpmprocess/ddc\_\discretionary {-}{}{}sample\_\discretionary {-}{}{}waveform.c File Reference}{193} 714\contentsline {subsubsection}{\numberline {8.62.1}Detailed Description}{193} 715\contentsline {subsection}{\numberline {8.63}bpmprocess/ddc\_\discretionary {-}{}{}waveform.c File Reference}{193} 716\contentsline {subsubsection}{\numberline {8.63.1}Detailed Description}{193} 717\contentsline {subsection}{\numberline {8.64}bpmprocess/downmix\_\discretionary {-}{}{}waveform.c File Reference}{194} 718\contentsline {subsubsection}{\numberline {8.64.1}Detailed Description}{194} 719\contentsline {subsection}{\numberline {8.65}bpmprocess/fft\_\discretionary {-}{}{}waveform.c File Reference}{194} 720\contentsline {subsubsection}{\numberline {8.65.1}Detailed Description}{194} 721\contentsline {subsection}{\numberline {8.66}bpmprocess/fit\_\discretionary {-}{}{}diodepulse.c File Reference}{195} 722\contentsline {subsubsection}{\numberline {8.66.1}Detailed Description}{195} 723\contentsline {subsection}{\numberline {8.67}bpmprocess/fit\_\discretionary {-}{}{}fft.c File Reference}{195} 724\contentsline {subsubsection}{\numberline {8.67.1}Detailed Description}{195} 725\contentsline {subsection}{\numberline {8.68}bpmprocess/fit\_\discretionary {-}{}{}waveform.c File Reference}{196} 726\contentsline {subsubsection}{\numberline {8.68.1}Detailed Description}{196} 727\contentsline {subsection}{\numberline {8.69}bpmprocess/get\_\discretionary {-}{}{}IQ.c File Reference}{197} 728\contentsline {subsubsection}{\numberline {8.69.1}Detailed Description}{197} 729\contentsline {subsection}{\numberline {8.70}bpmprocess/get\_\discretionary {-}{}{}pedestal.c File Reference}{197} 730\contentsline {subsubsection}{\numberline {8.70.1}Detailed Description}{197} 731\contentsline {subsection}{\numberline {8.71}bpmprocess/get\_\discretionary {-}{}{}pos.c File Reference}{198} 732\contentsline {subsubsection}{\numberline {8.71.1}Detailed Description}{198} 733\contentsline {subsection}{\numberline {8.72}bpmprocess/get\_\discretionary {-}{}{}slope.c File Reference}{198} 734\contentsline {subsubsection}{\numberline {8.72.1}Detailed Description}{198} 735\contentsline {subsection}{\numberline {8.73}bpmprocess/get\_\discretionary {-}{}{}t0.c File Reference}{198} 736\contentsline {subsubsection}{\numberline {8.73.1}Detailed Description}{198} 737\contentsline {subsection}{\numberline {8.74}bpmprocess/postprocess\_\discretionary {-}{}{}waveform.c File Reference}{199} 738\contentsline {subsubsection}{\numberline {8.74.1}Detailed Description}{199} 739\contentsline {subsection}{\numberline {8.75}bpmprocess/process\_\discretionary {-}{}{}caltone.c File Reference}{199} 740\contentsline {subsubsection}{\numberline {8.75.1}Detailed Description}{199} 741\contentsline {subsection}{\numberline {8.76}bpmprocess/process\_\discretionary {-}{}{}diode.c File Reference}{200} 742\contentsline {subsubsection}{\numberline {8.76.1}Detailed Description}{200} 743\contentsline {subsection}{\numberline {8.77}bpmprocess/process\_\discretionary {-}{}{}dipole.c File Reference}{200} 744\contentsline {subsubsection}{\numberline {8.77.1}Detailed Description}{200} 745\contentsline {subsection}{\numberline {8.78}bpmprocess/process\_\discretionary {-}{}{}monopole.c File Reference}{201} 746\contentsline {subsubsection}{\numberline {8.78.1}Detailed Description}{201} 747\contentsline {subsection}{\numberline {8.79}bpmprocess/process\_\discretionary {-}{}{}waveform.c File Reference}{201} 748\contentsline {subsubsection}{\numberline {8.79.1}Detailed Description}{201} 749\contentsline {subsection}{\numberline {8.80}bpmrf/bpm\_\discretionary {-}{}{}rf.h File Reference}{202} 750\contentsline {subsubsection}{\numberline {8.80.1}Detailed Description}{202} 751\contentsline {subsection}{\numberline {8.81}bpmrf/rf\_\discretionary {-}{}{}addLO.c File Reference}{203} 752\contentsline {subsubsection}{\numberline {8.81.1}Detailed Description}{203} 753\contentsline {subsection}{\numberline {8.82}bpmrf/rf\_\discretionary {-}{}{}amplify.c File Reference}{203} 754\contentsline {subsubsection}{\numberline {8.82.1}Detailed Description}{203} 755\contentsline {subsection}{\numberline {8.83}bpmrf/rf\_\discretionary {-}{}{}amplify\_\discretionary {-}{}{}complex.c File Reference}{204} 756\contentsline {subsubsection}{\numberline {8.83.1}Detailed Description}{204} 757\contentsline {subsection}{\numberline {8.84}bpmrf/rf\_\discretionary {-}{}{}mixer.c File Reference}{204} 758\contentsline {subsubsection}{\numberline {8.84.1}Detailed Description}{204} 759\contentsline {subsection}{\numberline {8.85}bpmrf/rf\_\discretionary {-}{}{}phase\_\discretionary {-}{}{}shifter.c File Reference}{205} 760\contentsline {subsubsection}{\numberline {8.85.1}Detailed Description}{205} 761\contentsline {subsection}{\numberline {8.86}bpmrf/rf\_\discretionary {-}{}{}rectify.c File Reference}{205} 762\contentsline {subsubsection}{\numberline {8.86.1}Detailed Description}{205} 763\contentsline {subsection}{\numberline {8.87}bpmrf/rf\_\discretionary {-}{}{}setup.c File Reference}{205} 764\contentsline {subsubsection}{\numberline {8.87.1}Detailed Description}{205} 765\contentsline {subsection}{\numberline {8.88}bpmsimulation/add\_\discretionary {-}{}{}mode\_\discretionary {-}{}{}response.c File Reference}{206} 766\contentsline {subsubsection}{\numberline {8.88.1}Detailed Description}{206} 767\contentsline {subsection}{\numberline {8.89}bpmsimulation/bpm\_\discretionary {-}{}{}simulation.h File Reference}{206} 768\contentsline {subsubsection}{\numberline {8.89.1}Detailed Description}{206} 769\contentsline {subsection}{\numberline {8.90}bpmsimulation/digitise.c File Reference}{208} 770\contentsline {subsubsection}{\numberline {8.90.1}Detailed Description}{208} 771\contentsline {subsection}{\numberline {8.91}bpmsimulation/generate\_\discretionary {-}{}{}bpmsignal.c File Reference}{208} 772\contentsline {subsubsection}{\numberline {8.91.1}Detailed Description}{208} 773\contentsline {subsection}{\numberline {8.92}bpmsimulation/generate\_\discretionary {-}{}{}diodesignal.c File Reference}{209} 774\contentsline {subsubsection}{\numberline {8.92.1}Detailed Description}{209} 775\contentsline {subsection}{\numberline {8.93}bpmsimulation/get\_\discretionary {-}{}{}mode\_\discretionary {-}{}{}amplitude.c File Reference}{209} 776\contentsline {subsubsection}{\numberline {8.93.1}Detailed Description}{209} 777\contentsline {subsection}{\numberline {8.94}bpmsimulation/get\_\discretionary {-}{}{}mode\_\discretionary {-}{}{}response.c File Reference}{209} 778\contentsline {subsubsection}{\numberline {8.94.1}Detailed Description}{209} 779\contentsline {subsection}{\numberline {8.95}bpmsimulation/set\_\discretionary {-}{}{}temp.c File Reference}{210} 780\contentsline {subsubsection}{\numberline {8.95.1}Detailed Description}{210} 781\contentsline {subsection}{\numberline {8.96}bpmsimulation/set\_\discretionary {-}{}{}time.c File Reference}{210} 782\contentsline {subsubsection}{\numberline {8.96.1}Detailed Description}{210} 783\contentsline {subsection}{\numberline {8.97}bpmwf/bpm\_\discretionary {-}{}{}wf.h File Reference}{211} 784\contentsline {subsubsection}{\numberline {8.97.1}Detailed Description}{211} 785\contentsline {subsection}{\numberline {8.98}bpmwf/complexwf.c File Reference}{214} 786\contentsline {subsubsection}{\numberline {8.98.1}Detailed Description}{214} 787\contentsline {subsection}{\numberline {8.99}bpmwf/doublewf.c File Reference}{215} 788\contentsline {subsubsection}{\numberline {8.99.1}Detailed Description}{215} 789\contentsline {subsection}{\numberline {8.100}bpmwf/freq\_\discretionary {-}{}{}to\_\discretionary {-}{}{}sample.c File Reference}{216} 790\contentsline {subsubsection}{\numberline {8.100.1}Detailed Description}{216} 791\contentsline {subsection}{\numberline {8.101}bpmwf/intwf.c File Reference}{216} 792\contentsline {subsubsection}{\numberline {8.101.1}Detailed Description}{216} 793\contentsline {subsection}{\numberline {8.102}bpmwf/sample\_\discretionary {-}{}{}to\_\discretionary {-}{}{}freq.c File Reference}{217} 794\contentsline {subsubsection}{\numberline {8.102.1}Detailed Description}{217} 795\contentsline {subsection}{\numberline {8.103}bpmwf/sample\_\discretionary {-}{}{}to\_\discretionary {-}{}{}time.c File Reference}{218} 796\contentsline {subsubsection}{\numberline {8.103.1}Detailed Description}{218} 797\contentsline {subsection}{\numberline {8.104}bpmwf/time\_\discretionary {-}{}{}to\_\discretionary {-}{}{}sample.c File Reference}{218} 798\contentsline {subsubsection}{\numberline {8.104.1}Detailed Description}{218} 799\contentsline {subsection}{\numberline {8.105}bpmwf/wfstats.c File Reference}{219} 800\contentsline {subsubsection}{\numberline {8.105.1}Detailed Description}{219} 801