2017-09-19 16:33:05 +02:00

2577 lines
121 KiB
HTML

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>slsDetectorUsers Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<img id="MSearchSelect" src="search/search.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</div>
</li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>slsDetectorUsers Class Reference</h1><!-- doxytag: class="slsDetectorUsers" -->
<p>Class for detector functionalitiesto embed the detector controls in the users custom interface e.g. EPICS, Lima etc.
<a href="#_details">More...</a></p>
<p><code>#include &lt;<a class="el" href="slsDetectorUsers_8h_source.html">slsDetectorUsers.h</a>&gt;</code></p>
<p><a href="classslsDetectorUsers-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a17323cd635b9e5c2916be3ca30ec748c">slsDetectorUsers</a> (int id=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">default constructor <a href="#a17323cd635b9e5c2916be3ca30ec748c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a0d1daf6539befe56d6e3df0b24f5d68b">~slsDetectorUsers</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">virtual destructor <a href="#a0d1daf6539befe56d6e3df0b24f5d68b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a30c2ba51c33cc914f290a0b7891da4ec">getDetectorDeveloper</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">useful to define subset of working functions <a href="#a30c2ba51c33cc914f290a0b7891da4ec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#aee622153ebd6b0dad065d95b07221955">setOnline</a> (int const online=-1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets the onlineFlag <a href="#aee622153ebd6b0dad065d95b07221955"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#aa34810bb0e872fdf929ebe62d8582bd3">startMeasurement</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">start measurement and acquires <a href="#aa34810bb0e872fdf929ebe62d8582bd3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a2abc673c45c1fe006f6b0fea6188e3a9">stopMeasurement</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">stop measurement <a href="#a2abc673c45c1fe006f6b0fea6188e3a9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#ac7d0254e38b8fe783204f691a4ee05b2">getDetectorStatus</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get run status <a href="#ac7d0254e38b8fe783204f691a4ee05b2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a81969295c2b08f14e9c3d4fa1f7d4e16">getFilePath</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns the default output files path <a href="#a81969295c2b08f14e9c3d4fa1f7d4e16"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#ad833e1051299e101a5b5097c598ba9cb">setFilePath</a> (string s)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets the default output files path <a href="#ad833e1051299e101a5b5097c598ba9cb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a5f30c83e8bf07a92fad0916d43e3799c">getFileName</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#aff4a8ff4852e50d4ec05204cbc7fea9e">setFileName</a> (string s)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets the default output files path <a href="#aff4a8ff4852e50d4ec05204cbc7fea9e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a6e3467bf3c0c246f69f85d485d84dd62">getFileIndex</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a6b92ea7e237c77aa5107d7aabf76fe2d">setFileIndex</a> (int i)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets the default output file index <a href="#a6b92ea7e237c77aa5107d7aabf76fe2d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a0b20511a94205abd689f31bd1a2d4c18">getFlatFieldCorrectionDir</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get flat field corrections file directory <a href="#a0b20511a94205abd689f31bd1a2d4c18"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a65b112dac3d8b94f219f4d64c13cf0f9">setFlatFieldCorrectionDir</a> (string dir)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set flat field corrections file directory <a href="#a65b112dac3d8b94f219f4d64c13cf0f9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#aa83083f73523557e6129f33b59f38327">getFlatFieldCorrectionFile</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get flat field corrections file name <a href="#aa83083f73523557e6129f33b59f38327"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#aad9e6da8683ba2887174505fd3b7d739">setFlatFieldCorrectionFile</a> (string fname=&quot;&quot;)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set flat field correction file <a href="#aad9e6da8683ba2887174505fd3b7d739"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a94c74499f7653116cd8aff9ec0d14c43">enableFlatFieldCorrection</a> (int i=-1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">enable/disable flat field corrections (without changing file name) <a href="#a94c74499f7653116cd8aff9ec0d14c43"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a82efe2f57758d63d330d78b121f8e77e">enableCountRateCorrection</a> (int i=-1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">enable/disable count rate corrections <a href="#a82efe2f57758d63d330d78b121f8e77e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#ae5bc1c9c8e7e6cb7c9cde06a3133d263">enablePixelMaskCorrection</a> (int i=-1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">enable/disable bad channel corrections <a href="#ae5bc1c9c8e7e6cb7c9cde06a3133d263"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a51f92b69e05e8ee2e0c547ec4a6e97da">enableAngularConversion</a> (int i=-1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">enable/disable angular conversion <a href="#a51f92b69e05e8ee2e0c547ec4a6e97da"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a6d54a79ae4cfdb808f5db9969537efd3">enableWriteToFile</a> (int i=-1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#af296c05ee6134fb8d53d08a025e89775">setPositions</a> (int nPos, double *pos)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set positions for the acquisition <a href="#af296c05ee6134fb8d53d08a025e89775"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#ae6e5f06995e3ef110824adc5f8b095e9">getPositions</a> (double *pos=NULL)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get positions for the acquisition <a href="#ae6e5f06995e3ef110824adc5f8b095e9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a42c97d03516a2457f8e9a98a16a9a43d">setDetectorSize</a> (int x0=-1, int y0=-1, int nx=-1, int ny=-1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets the detector size <a href="#a42c97d03516a2457f8e9a98a16a9a43d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a7f4fb3cefff5f0175cd2e4fd57ee1be4">getDetectorSize</a> (int &amp;x0, int &amp;y0, int &amp;nx, int &amp;ny)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">gets detector size <a href="#a7f4fb3cefff5f0175cd2e4fd57ee1be4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a588a5e1d231cd6778f6f78fdc53b9681">getMaximumDetectorSize</a> (int &amp;nx, int &amp;ny)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">setsthe maximum detector size <a href="#a588a5e1d231cd6778f6f78fdc53b9681"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#aff667cf0665154cdff5d5f3dbc3526ba">setBitDepth</a> (int i=-1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set/get dynamic range <a href="#aff667cf0665154cdff5d5f3dbc3526ba"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a31b25d2659d3b244bb10b5516a9fd957">setSettings</a> (int isettings=-1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set detector settings <a href="#a31b25d2659d3b244bb10b5516a9fd957"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#afe8029788742125c44383817f89214ca">getThresholdEnergy</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get threshold energy <a href="#afe8029788742125c44383817f89214ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a1354266fd1bfaccd58992a3f51bbbd1d">setThresholdEnergy</a> (int e_eV)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set threshold energy <a href="#a1354266fd1bfaccd58992a3f51bbbd1d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a134225893d41bc97e9f1d645e035a04a">setExposureTime</a> (double t=-1, bool inseconds=false)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set/get exposure time value <a href="#a134225893d41bc97e9f1d645e035a04a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#acac89084aba58ebe81420c7c9ac4217a">setExposurePeriod</a> (double t=-1, bool inseconds=false)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set/get exposure period <a href="#acac89084aba58ebe81420c7c9ac4217a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a99f67fab7edfe68cc8b2300e282ff3f2">setDelayAfterTrigger</a> (double t=-1, bool inseconds=false)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set/get delay after trigger <a href="#a99f67fab7edfe68cc8b2300e282ff3f2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a61d4acb00c997c5e02be6a191401c4ce">setNumberOfGates</a> (int64_t t=-1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set/get number of gates <a href="#a61d4acb00c997c5e02be6a191401c4ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#afc82f608bf74d10f3aa866bff94cbbab">setNumberOfFrames</a> (int64_t t=-1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set/get number of frames i.e. number of exposure per trigger <a href="#afc82f608bf74d10f3aa866bff94cbbab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a8b741851c4eaef4e29322c99fd17cb3b">setNumberOfCycles</a> (int64_t t=-1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set/get number of cycles i.e. number of triggers <a href="#a8b741851c4eaef4e29322c99fd17cb3b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#ae2825524756c4bdf418a6233e137b4d7">setTimingMode</a> (int pol=-1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set/get the external communication mode <a href="#ae2825524756c4bdf418a6233e137b4d7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a8aeda7c2cbc270c7f8756761823e8d95">readConfigurationFile</a> (string const fname)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reads the configuration file -- will contain all the informations needed for the configuration (e.g. for a PSI detector caldir, settingsdir, angconv, badchannels, hostname etc.). <a href="#a8aeda7c2cbc270c7f8756761823e8d95"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#ad6b968f4d520342324762c496ebeb481">dumpDetectorSetup</a> (string const fname)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reads the parameters from the detector and writes them to file. <a href="#ad6b968f4d520342324762c496ebeb481"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a8769c8ea5020b43dc3557c86f9e4159b">retrieveDetectorSetup</a> (string const fname)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Loads the detector setup from file. <a href="#a8769c8ea5020b43dc3557c86f9e4159b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a5292a3d9c12696512b81bcc6c579a03c">getDetectorType</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">useful for data plotting etc. <a href="#a5292a3d9c12696512b81bcc6c579a03c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#adb084473ffe61960b86abdfa8efcc80d">setReceiverMode</a> (int n=-1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets the mode by which gui requests data from receiver <a href="#adb084473ffe61960b86abdfa8efcc80d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#add821d94da9b03fe500d27e4433c01f5">registerDataCallback</a> (int(*userCallback)(<a class="el" href="classdetectorData.html">detectorData</a> *d, int f, int s, void *), void *pArg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">register calbback for accessing detector final data <a href="#add821d94da9b03fe500d27e4433c01f5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a898cf0db148f0d3de7d4725cc8342c56">registerRawDataCallback</a> (int(*userCallback)(double *p, int n, void *), void *pArg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">register callback for accessing raw data - if the rawDataCallback is registered, no filewriting/postprocessing will be carried on automatically by the software - the raw data are deleted by the software <a href="#a898cf0db148f0d3de7d4725cc8342c56"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a56fa8890298a01fc58baad413dfdf1c1">initDataset</a> (int refresh)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">function to initalize a set of measurements (reset binning if angular conversion, reset summing otherwise) - can be overcome by the user's functions thanks to the virtual property <a href="#a56fa8890298a01fc58baad413dfdf1c1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a5128e295a5b926ccabdb48083d324789">addFrame</a> (double *data, double pos, double i0, double t, string fname, double var)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">adds frame to merging/summation - can be overcome by the user's functions thanks to the virtual property <a href="#a5128e295a5b926ccabdb48083d324789"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a9cbe00dac8a19b71de88ebbdf3b0ea29">finalizeDataset</a> (double *a, double *v, double *e, int &amp;np)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">finalizes the data set returning the array of angles, values and errors to be used as final data - can be overcome by the user's functions thanks to the virtual property <a href="#a9cbe00dac8a19b71de88ebbdf3b0ea29"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a5c85f5c94b585a1915307fa7f4bc46f6">enableDataStreamingFromReceiver</a> (int i=-1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a09ded3b9c81e4544d42bb0697c3b7624">getModuleFirmwareVersion</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a5c0e9f8836e1a8a2d986408e4f5dfd3b">getModuleSerialNumber</a> (int imod=-1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a2cbba4518b585064f7870ae2d39a8b8b">getDetectorFirmwareVersion</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a1c79314ceeda9b3085ca118e25882669">getDetectorSerialNumber</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a1857f2afea58227cb96ad92f5e562a5e">getDetectorSoftwareVersion</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a547feb09262a2f0fa1ec4de82e92ab63">getThisSoftwareVersion</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a2a85e28ff08e3ec1e08bea3ba7d0fb08">registerAcquisitionFinishedCallback</a> (int(*func)(double, int, void *), void *pArg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">register calbback for accessing detector final data <a href="#a2a85e28ff08e3ec1e08bea3ba7d0fb08"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#ac2b87416288e657a209e1374c778eb16">registerGetPositionCallback</a> (double(*func)(void *), void *arg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">register calbback for reading detector position <a href="#ac2b87416288e657a209e1374c778eb16"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#ad1ab73675435879c2c5cef7adab02c32">registerConnectChannelsCallback</a> (int(*func)(void *), void *arg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">register callback for connecting to the epics channels <a href="#ad1ab73675435879c2c5cef7adab02c32"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#aa94dd8fce8548ba8e79201ec50fe27d6">registerDisconnectChannelsCallback</a> (int(*func)(void *), void *arg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">register callback to disconnect the epics channels <a href="#aa94dd8fce8548ba8e79201ec50fe27d6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a0f7c9bd3c46647d5dda2fa5312f3ef92">registerGoToPositionCallback</a> (int(*func)(double, void *), void *arg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">register callback for moving the detector <a href="#a0f7c9bd3c46647d5dda2fa5312f3ef92"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#ae807e9f4a015a4bbcb22e36b80577ea5">registerGoToPositionNoWaitCallback</a> (int(*func)(double, void *), void *arg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">register callback for moving the detector without waiting <a href="#ae807e9f4a015a4bbcb22e36b80577ea5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a1969785197030aa8e2d3c3d48a9cb45c">registerGetI0Callback</a> (double(*func)(int, void *), void *arg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">register calbback reading to I0 <a href="#a1969785197030aa8e2d3c3d48a9cb45c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a5f7c26833decef59c1abfd7d745c4671">putCommand</a> (int narg, char *args[], int pos=-1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets parameters in command interface <a href="http://www.psi.ch/detectors/UsersSupportEN/slsDetectorClientHowTo.pdf">http://www.psi.ch/detectors/UsersSupportEN/slsDetectorClientHowTo.pdf</a> <a href="#a5f7c26833decef59c1abfd7d745c4671"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#adc83b8005abccc735b35464c1c6d3ea7">getCommand</a> (int narg, char *args[], int pos=-1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">gets parameters in command interface <a href="http://www.psi.ch/detectors/UsersSupportEN/slsDetectorClientHowTo.pdf">http://www.psi.ch/detectors/UsersSupportEN/slsDetectorClientHowTo.pdf</a> <a href="#adc83b8005abccc735b35464c1c6d3ea7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a3ed110b9453d37df1c27b74999eb3f6e">setClockDivider</a> (int value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets clock divider of detector <a href="#a3ed110b9453d37df1c27b74999eb3f6e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#ae9c434b7dbf720bad0399b5f7d34bafd">getContinuousReadoutFlag</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">gets continuous readout flag <a href="#ae9c434b7dbf720bad0399b5f7d34bafd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#afeef4bb5c43f76c3c3fb89ee814f8942">setContinuousReadoutFlag</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets continuous readout flag <a href="#afeef4bb5c43f76c3c3fb89ee814f8942"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a3458b79458a63352642a8ac0b55fc61b">getStoreInRamReadoutFlag</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">gets store in ram readout flag <a href="#a3458b79458a63352642a8ac0b55fc61b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a8dbe78d07df9e5f8eae53549c6140d37">setStoreInRamReadoutFlag</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets store in ram readout flag <a href="#a8dbe78d07df9e5f8eae53549c6140d37"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#aa9921ba9c75e006e7aac1034faccfa7b">getParallelReadoutFlag</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">gets parallel readout flag <a href="#aa9921ba9c75e006e7aac1034faccfa7b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a3d44556ebca618acb0a877363bc8f9f5">setParallelReadoutFlag</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets parallel readout flag <a href="#a3d44556ebca618acb0a877363bc8f9f5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a9ddf0fb7a6fbb4921934c28f51139661">getNonParallelReadoutFlag</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">gets non parallel readout flag <a href="#a9ddf0fb7a6fbb4921934c28f51139661"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a7e2876e8663138a7cd992d3e643ffdf7">setNonParallelReadoutFlag</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets non parallel readout flag <a href="#a7e2876e8663138a7cd992d3e643ffdf7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a3ff2a8ba7a16ec094ac37f064f56192d">getSafeReadoutFlag</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">gets safe readout flag <a href="#a3ff2a8ba7a16ec094ac37f064f56192d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#aa13684691ca1825049006afa0e4dfd2f">setSafeReadoutFlag</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets safe readout flag <a href="#aa13684691ca1825049006afa0e4dfd2f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a006e8916bdc59a6cc8d21800843c4fa9">setAllTrimbits</a> (int val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets all trimbits to value (only available for eiger) <a href="#a006e8916bdc59a6cc8d21800843c4fa9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#ac7211473f671363668d5d55f25d7edf5">setDAC</a> (int id, int dacindex, int val)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">set dac value <a href="#ac7211473f671363668d5d55f25d7edf5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#aa7f24f5ff4438c907db6f1a19e80e692">getADC</a> (int id, int adcindex)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get adc value <a href="#aa7f24f5ff4438c907db6f1a19e80e692"></a><br/></td></tr>
<tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a2c073513ae3ac53f3e040bc2911b6ee2">runStatusType</a> (int s)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns string from run status index <a href="#a2c073513ae3ac53f3e040bc2911b6ee2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a7f2e97b2fa0e106b364c9c200a5d74ad">getDetectorSettings</a> (string s)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns detector settings string from index <a href="#a7f2e97b2fa0e106b364c9c200a5d74ad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#aa66defec09b568a514e57b444dbe0d7f">getDetectorSettings</a> (int s)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns detector settings string from index <a href="#aa66defec09b568a514e57b444dbe0d7f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#a420880726f4036bf9da83edfcb2d6cf0">getTimingMode</a> (int f)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns external communication mode string from index <a href="#a420880726f4036bf9da83edfcb2d6cf0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html#ae88a9626e4e661c1c0e1d27ba4a57d50">getTimingMode</a> (string s)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">returns external communication mode string from index <a href="#ae88a9626e4e661c1c0e1d27ba4a57d50"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Class for detector functionalitiesto embed the detector controls in the users custom interface e.g. EPICS, Lima etc. </p>
<p>The <a class="el" href="classslsDetectorUsers.html" title="Class for detector functionalitiesto embed the detector controls in the users custom...">slsDetectorUsers</a> class is a minimal interface class which should be instantiated by the users in their acquisition software (EPICS, spec etc.). More advanced configuration functions are not implemented and can be written in a configuration or parameters file that can be read/written. </p>
<p>Definition at line <a class="el" href="slsDetectorUsers_8h_source.html#l00085">85</a> of file <a class="el" href="slsDetectorUsers_8h_source.html">slsDetectorUsers.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a17323cd635b9e5c2916be3ca30ec748c"></a><!-- doxytag: member="slsDetectorUsers::slsDetectorUsers" ref="a17323cd635b9e5c2916be3ca30ec748c" args="(int id=0)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">slsDetectorUsers::slsDetectorUsers </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>id</em> = <code>0</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>default constructor </p>
</div>
</div>
<a class="anchor" id="a0d1daf6539befe56d6e3df0b24f5d68b"></a><!-- doxytag: member="slsDetectorUsers::~slsDetectorUsers" ref="a0d1daf6539befe56d6e3df0b24f5d68b" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual slsDetectorUsers::~slsDetectorUsers </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>virtual destructor </p>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a5128e295a5b926ccabdb48083d324789"></a><!-- doxytag: member="slsDetectorUsers::addFrame" ref="a5128e295a5b926ccabdb48083d324789" args="(double *data, double pos, double i0, double t, string fname, double var)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void slsDetectorUsers::addFrame </td>
<td>(</td>
<td class="paramtype">double *&nbsp;</td>
<td class="paramname"> <em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>pos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>i0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>t</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">string&nbsp;</td>
<td class="paramname"> <em>fname</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>var</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>adds frame to merging/summation - can be overcome by the user's functions thanks to the virtual property </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>pointer to the raw data </td></tr>
<tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>encoder position </td></tr>
<tr><td valign="top"></td><td valign="top"><em>i0</em>&nbsp;</td><td>beam monitor readout for intensity normalization (if 0 not performed) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>exposure time in seconds, required only if rate corrections </td></tr>
<tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>file name (unused since filewriting would be performed by the user) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>var</em>&nbsp;</td><td>optional parameter - unused. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ad6b968f4d520342324762c496ebeb481"></a><!-- doxytag: member="slsDetectorUsers::dumpDetectorSetup" ref="ad6b968f4d520342324762c496ebeb481" args="(string const fname)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::dumpDetectorSetup </td>
<td>(</td>
<td class="paramtype">string const &nbsp;</td>
<td class="paramname"> <em>fname</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Reads the parameters from the detector and writes them to file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>file to write to </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>OK or FAIL </dd></dl>
</div>
</div>
<a class="anchor" id="a51f92b69e05e8ee2e0c547ec4a6e97da"></a><!-- doxytag: member="slsDetectorUsers::enableAngularConversion" ref="a51f92b69e05e8ee2e0c547ec4a6e97da" args="(int i=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::enableAngularConversion </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>i</em> = <code>-1</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>enable/disable angular conversion </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>0 disables, 1 enables, -1 gets </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if angular conversion disabled, 1 if enabled </dd></dl>
</div>
</div>
<a class="anchor" id="a82efe2f57758d63d330d78b121f8e77e"></a><!-- doxytag: member="slsDetectorUsers::enableCountRateCorrection" ref="a82efe2f57758d63d330d78b121f8e77e" args="(int i=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::enableCountRateCorrection </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>i</em> = <code>-1</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>enable/disable count rate corrections </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>0 disables, 1 enable, -1 gets </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if count corrections disabled, 1 if enabled </dd></dl>
</div>
</div>
<a class="anchor" id="a5c85f5c94b585a1915307fa7f4bc46f6"></a><!-- doxytag: member="slsDetectorUsers::enableDataStreamingFromReceiver" ref="a5c85f5c94b585a1915307fa7f4bc46f6" args="(int i=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::enableDataStreamingFromReceiver </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>i</em> = <code>-1</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Enable data streaming from receiver (zmq) </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>1 to set, 0 to reset and -1 to get </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>data streaming enable </dd></dl>
</div>
</div>
<a class="anchor" id="a94c74499f7653116cd8aff9ec0d14c43"></a><!-- doxytag: member="slsDetectorUsers::enableFlatFieldCorrection" ref="a94c74499f7653116cd8aff9ec0d14c43" args="(int i=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::enableFlatFieldCorrection </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>i</em> = <code>-1</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>enable/disable flat field corrections (without changing file name) </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>0 disables, 1 enables, -1 gets </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if ff corrections disabled, 1 if enabled </dd></dl>
</div>
</div>
<a class="anchor" id="ae5bc1c9c8e7e6cb7c9cde06a3133d263"></a><!-- doxytag: member="slsDetectorUsers::enablePixelMaskCorrection" ref="ae5bc1c9c8e7e6cb7c9cde06a3133d263" args="(int i=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::enablePixelMaskCorrection </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>i</em> = <code>-1</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>enable/disable bad channel corrections </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>0 disables, 1 enables, -1 gets </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if bad channels corrections disabled, 1 if enabled </dd></dl>
</div>
</div>
<a class="anchor" id="a6d54a79ae4cfdb808f5db9969537efd3"></a><!-- doxytag: member="slsDetectorUsers::enableWriteToFile" ref="a6d54a79ae4cfdb808f5db9969537efd3" args="(int i=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::enableWriteToFile </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>i</em> = <code>-1</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Enable write file function included </p>
</div>
</div>
<a class="anchor" id="a9cbe00dac8a19b71de88ebbdf3b0ea29"></a><!-- doxytag: member="slsDetectorUsers::finalizeDataset" ref="a9cbe00dac8a19b71de88ebbdf3b0ea29" args="(double *a, double *v, double *e, int &amp;np)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void slsDetectorUsers::finalizeDataset </td>
<td>(</td>
<td class="paramtype">double *&nbsp;</td>
<td class="paramname"> <em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&nbsp;</td>
<td class="paramname"> <em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&nbsp;</td>
<td class="paramname"> <em>e</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int &amp;&nbsp;</td>
<td class="paramname"> <em>np</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>finalizes the data set returning the array of angles, values and errors to be used as final data - can be overcome by the user's functions thanks to the virtual property </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>pointer to the array of angles - can be null if no angular coversion is required </td></tr>
<tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>pointer to the array of values </td></tr>
<tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>pointer to the array of errors </td></tr>
<tr><td valign="top"></td><td valign="top"><em>np</em>&nbsp;</td><td>reference returning the number of points </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aa7f24f5ff4438c907db6f1a19e80e692"></a><!-- doxytag: member="slsDetectorUsers::getADC" ref="aa7f24f5ff4438c907db6f1a19e80e692" args="(int id, int adcindex)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::getADC </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>adcindex</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>get adc value </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>module index (-1 for all) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>adcindex</em>&nbsp;</td><td>adc index </td></tr>
</table>
</dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>dacIndex </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>adc value </dd></dl>
</div>
</div>
<a class="anchor" id="adc83b8005abccc735b35464c1c6d3ea7"></a><!-- doxytag: member="slsDetectorUsers::getCommand" ref="adc83b8005abccc735b35464c1c6d3ea7" args="(int narg, char *args[], int pos=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string slsDetectorUsers::getCommand </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>narg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>args</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>pos</em> = <code>-1</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>gets parameters in command interface <a href="http://www.psi.ch/detectors/UsersSupportEN/slsDetectorClientHowTo.pdf">http://www.psi.ch/detectors/UsersSupportEN/slsDetectorClientHowTo.pdf</a> </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>narg</em>&nbsp;</td><td>value to be set </td></tr>
<tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>value to be set </td></tr>
<tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>position of detector in multislsdetector list </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>answer string </dd></dl>
</div>
</div>
<a class="anchor" id="ae9c434b7dbf720bad0399b5f7d34bafd"></a><!-- doxytag: member="slsDetectorUsers::getContinuousReadoutFlag" ref="ae9c434b7dbf720bad0399b5f7d34bafd" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::getContinuousReadoutFlag </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>gets continuous readout flag </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>gets continuous readout flag </dd></dl>
</div>
</div>
<a class="anchor" id="a30c2ba51c33cc914f290a0b7891da4ec"></a><!-- doxytag: member="slsDetectorUsers::getDetectorDeveloper" ref="a30c2ba51c33cc914f290a0b7891da4ec" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string slsDetectorUsers::getDetectorDeveloper </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>useful to define subset of working functions </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>"PSI" or "Dectris" </dd></dl>
</div>
</div>
<a class="anchor" id="a2cbba4518b585064f7870ae2d39a8b8b"></a><!-- doxytag: member="slsDetectorUsers::getDetectorFirmwareVersion" ref="a2cbba4518b585064f7870ae2d39a8b8b" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t slsDetectorUsers::getDetectorFirmwareVersion </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>get get Detector Firmware Version </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>id </dd></dl>
</div>
</div>
<a class="anchor" id="a1c79314ceeda9b3085ca118e25882669"></a><!-- doxytag: member="slsDetectorUsers::getDetectorSerialNumber" ref="a1c79314ceeda9b3085ca118e25882669" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t slsDetectorUsers::getDetectorSerialNumber </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>get get Detector Serial Number </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>id </dd></dl>
</div>
</div>
<a class="anchor" id="aa66defec09b568a514e57b444dbe0d7f"></a><!-- doxytag: member="slsDetectorUsers::getDetectorSettings" ref="aa66defec09b568a514e57b444dbe0d7f" args="(int s)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static string slsDetectorUsers::getDetectorSettings </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>s</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>returns detector settings string from index </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>settings index </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>standard, fast, highgain, dynamicgain, lowgain, mediumgain, veryhighgain, undefined when wrong index </dd></dl>
<p>Definition at line <a class="el" href="slsDetectorUsers_8h_source.html#l00682">682</a> of file <a class="el" href="slsDetectorUsers_8h_source.html">slsDetectorUsers.h</a>.</p>
</div>
</div>
<a class="anchor" id="a7f2e97b2fa0e106b364c9c200a5d74ad"></a><!-- doxytag: member="slsDetectorUsers::getDetectorSettings" ref="a7f2e97b2fa0e106b364c9c200a5d74ad" args="(string s)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static int slsDetectorUsers::getDetectorSettings </td>
<td>(</td>
<td class="paramtype">string&nbsp;</td>
<td class="paramname"> <em>s</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>returns detector settings string from index </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>can be standard, fast, highgain, dynamicgain, lowgain, mediumgain, veryhighgain </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>setting index (-1 unknown string) </dd></dl>
<p>Definition at line <a class="el" href="slsDetectorUsers_8h_source.html#l00668">668</a> of file <a class="el" href="slsDetectorUsers_8h_source.html">slsDetectorUsers.h</a>.</p>
</div>
</div>
<a class="anchor" id="a7f4fb3cefff5f0175cd2e4fd57ee1be4"></a><!-- doxytag: member="slsDetectorUsers::getDetectorSize" ref="a7f4fb3cefff5f0175cd2e4fd57ee1be4" args="(int &amp;x0, int &amp;y0, int &amp;nx, int &amp;ny)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::getDetectorSize </td>
<td>(</td>
<td class="paramtype">int &amp;&nbsp;</td>
<td class="paramname"> <em>x0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int &amp;&nbsp;</td>
<td class="paramname"> <em>y0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int &amp;&nbsp;</td>
<td class="paramname"> <em>nx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int &amp;&nbsp;</td>
<td class="paramname"> <em>ny</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>gets detector size </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>x0</em>&nbsp;</td><td>horizontal position origin in channel number </td></tr>
<tr><td valign="top"></td><td valign="top"><em>y0</em>&nbsp;</td><td>vertical position origin in channel number </td></tr>
<tr><td valign="top"></td><td valign="top"><em>nx</em>&nbsp;</td><td>number of channels in horiziontal </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ny</em>&nbsp;</td><td>number of channels in vertical </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>OK/FAIL </dd></dl>
</div>
</div>
<a class="anchor" id="a1857f2afea58227cb96ad92f5e562a5e"></a><!-- doxytag: member="slsDetectorUsers::getDetectorSoftwareVersion" ref="a1857f2afea58227cb96ad92f5e562a5e" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t slsDetectorUsers::getDetectorSoftwareVersion </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>get get Detector Software Version </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>id </dd></dl>
</div>
</div>
<a class="anchor" id="ac7d0254e38b8fe783204f691a4ee05b2"></a><!-- doxytag: member="slsDetectorUsers::getDetectorStatus" ref="ac7d0254e38b8fe783204f691a4ee05b2" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::getDetectorStatus </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>get run status </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>status mask </dd></dl>
</div>
</div>
<a class="anchor" id="a5292a3d9c12696512b81bcc6c579a03c"></a><!-- doxytag: member="slsDetectorUsers::getDetectorType" ref="a5292a3d9c12696512b81bcc6c579a03c" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string slsDetectorUsers::getDetectorType </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>useful for data plotting etc. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Mythen, Eiger, Gotthard etc. </dd></dl>
</div>
</div>
<a class="anchor" id="a6e3467bf3c0c246f69f85d485d84dd62"></a><!-- doxytag: member="slsDetectorUsers::getFileIndex" ref="a6e3467bf3c0c246f69f85d485d84dd62" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::getFileIndex </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>the default output file index </dd></dl>
</div>
</div>
<a class="anchor" id="a5f30c83e8bf07a92fad0916d43e3799c"></a><!-- doxytag: member="slsDetectorUsers::getFileName" ref="a5f30c83e8bf07a92fad0916d43e3799c" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string slsDetectorUsers::getFileName </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>the default output files root name </dd></dl>
</div>
</div>
<a class="anchor" id="a81969295c2b08f14e9c3d4fa1f7d4e16"></a><!-- doxytag: member="slsDetectorUsers::getFilePath" ref="a81969295c2b08f14e9c3d4fa1f7d4e16" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string slsDetectorUsers::getFilePath </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>returns the default output files path </p>
</div>
</div>
<a class="anchor" id="a0b20511a94205abd689f31bd1a2d4c18"></a><!-- doxytag: member="slsDetectorUsers::getFlatFieldCorrectionDir" ref="a0b20511a94205abd689f31bd1a2d4c18" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string slsDetectorUsers::getFlatFieldCorrectionDir </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>get flat field corrections file directory </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>flat field correction file directory </dd></dl>
</div>
</div>
<a class="anchor" id="aa83083f73523557e6129f33b59f38327"></a><!-- doxytag: member="slsDetectorUsers::getFlatFieldCorrectionFile" ref="aa83083f73523557e6129f33b59f38327" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string slsDetectorUsers::getFlatFieldCorrectionFile </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>get flat field corrections file name </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>flat field correction file name </dd></dl>
</div>
</div>
<a class="anchor" id="a588a5e1d231cd6778f6f78fdc53b9681"></a><!-- doxytag: member="slsDetectorUsers::getMaximumDetectorSize" ref="a588a5e1d231cd6778f6f78fdc53b9681" args="(int &amp;nx, int &amp;ny)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::getMaximumDetectorSize </td>
<td>(</td>
<td class="paramtype">int &amp;&nbsp;</td>
<td class="paramname"> <em>nx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int &amp;&nbsp;</td>
<td class="paramname"> <em>ny</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>setsthe maximum detector size </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>x0</em>&nbsp;</td><td>horizontal position origin in channel number </td></tr>
<tr><td valign="top"></td><td valign="top"><em>y0</em>&nbsp;</td><td>vertical position origin in channel number </td></tr>
<tr><td valign="top"></td><td valign="top"><em>nx</em>&nbsp;</td><td>number of channels in horiziontal </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ny</em>&nbsp;</td><td>number of channels in vertical </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>OK/FAIL </dd></dl>
</div>
</div>
<a class="anchor" id="a09ded3b9c81e4544d42bb0697c3b7624"></a><!-- doxytag: member="slsDetectorUsers::getModuleFirmwareVersion" ref="a09ded3b9c81e4544d42bb0697c3b7624" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t slsDetectorUsers::getModuleFirmwareVersion </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>get get Module Firmware Version </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>id </dd></dl>
</div>
</div>
<a class="anchor" id="a5c0e9f8836e1a8a2d986408e4f5dfd3b"></a><!-- doxytag: member="slsDetectorUsers::getModuleSerialNumber" ref="a5c0e9f8836e1a8a2d986408e4f5dfd3b" args="(int imod=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t slsDetectorUsers::getModuleSerialNumber </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>imod</em> = <code>-1</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>get get Module Serial Number </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>imod</em>&nbsp;</td><td>module number </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>id </dd></dl>
</div>
</div>
<a class="anchor" id="a9ddf0fb7a6fbb4921934c28f51139661"></a><!-- doxytag: member="slsDetectorUsers::getNonParallelReadoutFlag" ref="a9ddf0fb7a6fbb4921934c28f51139661" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::getNonParallelReadoutFlag </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>gets non parallel readout flag </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>gets non parallel readout flag </dd></dl>
</div>
</div>
<a class="anchor" id="aa9921ba9c75e006e7aac1034faccfa7b"></a><!-- doxytag: member="slsDetectorUsers::getParallelReadoutFlag" ref="aa9921ba9c75e006e7aac1034faccfa7b" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::getParallelReadoutFlag </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>gets parallel readout flag </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>gets parallel readout flag </dd></dl>
</div>
</div>
<a class="anchor" id="ae6e5f06995e3ef110824adc5f8b095e9"></a><!-- doxytag: member="slsDetectorUsers::getPositions" ref="ae6e5f06995e3ef110824adc5f8b095e9" args="(double *pos=NULL)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::getPositions </td>
<td>(</td>
<td class="paramtype">double *&nbsp;</td>
<td class="paramname"> <em>pos</em> = <code>NULL</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>get positions for the acquisition </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>array which will contain the encoder positions </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of positions </dd></dl>
</div>
</div>
<a class="anchor" id="a3ff2a8ba7a16ec094ac37f064f56192d"></a><!-- doxytag: member="slsDetectorUsers::getSafeReadoutFlag" ref="a3ff2a8ba7a16ec094ac37f064f56192d" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::getSafeReadoutFlag </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>gets safe readout flag </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>gets safe readout flag </dd></dl>
</div>
</div>
<a class="anchor" id="a3458b79458a63352642a8ac0b55fc61b"></a><!-- doxytag: member="slsDetectorUsers::getStoreInRamReadoutFlag" ref="a3458b79458a63352642a8ac0b55fc61b" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::getStoreInRamReadoutFlag </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>gets store in ram readout flag </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>gets store in ram readout flag </dd></dl>
</div>
</div>
<a class="anchor" id="a547feb09262a2f0fa1ec4de82e92ab63"></a><!-- doxytag: member="slsDetectorUsers::getThisSoftwareVersion" ref="a547feb09262a2f0fa1ec4de82e92ab63" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t slsDetectorUsers::getThisSoftwareVersion </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>get this Software Version </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>id </dd></dl>
</div>
</div>
<a class="anchor" id="afe8029788742125c44383817f89214ca"></a><!-- doxytag: member="slsDetectorUsers::getThresholdEnergy" ref="afe8029788742125c44383817f89214ca" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::getThresholdEnergy </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>get threshold energy </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>current threshold value for imod in ev (-1 failed) </dd></dl>
</div>
</div>
<a class="anchor" id="ae88a9626e4e661c1c0e1d27ba4a57d50"></a><!-- doxytag: member="slsDetectorUsers::getTimingMode" ref="ae88a9626e4e661c1c0e1d27ba4a57d50" args="(string s)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static int slsDetectorUsers::getTimingMode </td>
<td>(</td>
<td class="paramtype">string&nbsp;</td>
<td class="paramname"> <em>s</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>returns external communication mode string from index </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>index for communication mode </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>auto, trigger, ro_trigger, gating, triggered_gating, unknown when wrong mode </dd></dl>
<p>Definition at line <a class="el" href="slsDetectorUsers_8h_source.html#l00718">718</a> of file <a class="el" href="slsDetectorUsers_8h_source.html">slsDetectorUsers.h</a>.</p>
</div>
</div>
<a class="anchor" id="a420880726f4036bf9da83edfcb2d6cf0"></a><!-- doxytag: member="slsDetectorUsers::getTimingMode" ref="a420880726f4036bf9da83edfcb2d6cf0" args="(int f)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static string slsDetectorUsers::getTimingMode </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>f</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>returns external communication mode string from index </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>f</em>&nbsp;</td><td>index for communication mode </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>auto, trigger, ro_trigger, gating, triggered_gating, unknown when wrong mode </dd></dl>
<p>Definition at line <a class="el" href="slsDetectorUsers_8h_source.html#l00702">702</a> of file <a class="el" href="slsDetectorUsers_8h_source.html">slsDetectorUsers.h</a>.</p>
</div>
</div>
<a class="anchor" id="a56fa8890298a01fc58baad413dfdf1c1"></a><!-- doxytag: member="slsDetectorUsers::initDataset" ref="a56fa8890298a01fc58baad413dfdf1c1" args="(int refresh)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void slsDetectorUsers::initDataset </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>refresh</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>function to initalize a set of measurements (reset binning if angular conversion, reset summing otherwise) - can be overcome by the user's functions thanks to the virtual property </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>refresh</em>&nbsp;</td><td>if 1, all parameters like ffcoefficients, badchannels, ratecorrections etc. are reset (should be called at least onece with this option), if 0 simply reset merging/ summation </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a5f7c26833decef59c1abfd7d745c4671"></a><!-- doxytag: member="slsDetectorUsers::putCommand" ref="a5f7c26833decef59c1abfd7d745c4671" args="(int narg, char *args[], int pos=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string slsDetectorUsers::putCommand </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>narg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>args</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>pos</em> = <code>-1</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>sets parameters in command interface <a href="http://www.psi.ch/detectors/UsersSupportEN/slsDetectorClientHowTo.pdf">http://www.psi.ch/detectors/UsersSupportEN/slsDetectorClientHowTo.pdf</a> </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>narg</em>&nbsp;</td><td>value to be set </td></tr>
<tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>value to be set </td></tr>
<tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>position of detector in multislsdetector list </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>answer string </dd></dl>
</div>
</div>
<a class="anchor" id="a8aeda7c2cbc270c7f8756761823e8d95"></a><!-- doxytag: member="slsDetectorUsers::readConfigurationFile" ref="a8aeda7c2cbc270c7f8756761823e8d95" args="(string const fname)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::readConfigurationFile </td>
<td>(</td>
<td class="paramtype">string const &nbsp;</td>
<td class="paramname"> <em>fname</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Reads the configuration file -- will contain all the informations needed for the configuration (e.g. for a PSI detector caldir, settingsdir, angconv, badchannels, hostname etc.). </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>file name </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>OK or FAIL </dd></dl>
</div>
</div>
<a class="anchor" id="a2a85e28ff08e3ec1e08bea3ba7d0fb08"></a><!-- doxytag: member="slsDetectorUsers::registerAcquisitionFinishedCallback" ref="a2a85e28ff08e3ec1e08bea3ba7d0fb08" args="(int(*func)(double, int, void *), void *pArg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsDetectorUsers::registerAcquisitionFinishedCallback </td>
<td>(</td>
<td class="paramtype">int(*)(double, int, void *)&nbsp;</td>
<td class="paramname"> <em>func</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>pArg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>register calbback for accessing detector final data </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>function to be called at the end of the acquisition. gets detector status and progress index as arguments </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ad1ab73675435879c2c5cef7adab02c32"></a><!-- doxytag: member="slsDetectorUsers::registerConnectChannelsCallback" ref="ad1ab73675435879c2c5cef7adab02c32" args="(int(*func)(void *), void *arg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsDetectorUsers::registerConnectChannelsCallback </td>
<td>(</td>
<td class="paramtype">int(*)(void *)&nbsp;</td>
<td class="paramname"> <em>func</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>register callback for connecting to the epics channels </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>function for connecting to the epics channels </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="add821d94da9b03fe500d27e4433c01f5"></a><!-- doxytag: member="slsDetectorUsers::registerDataCallback" ref="add821d94da9b03fe500d27e4433c01f5" args="(int(*userCallback)(detectorData *d, int f, int s, void *), void *pArg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsDetectorUsers::registerDataCallback </td>
<td>(</td>
<td class="paramtype">int(*)(<a class="el" href="classdetectorData.html">detectorData</a> *d, int f, int s, void *)&nbsp;</td>
<td class="paramname"> <em>userCallback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>pArg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>register calbback for accessing detector final data </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>userCallback</em>&nbsp;</td><td>function for plotting/analyzing the data. Its arguments are the data structure d and the frame number f, s is for subframe number for eiger for 32 bit mode </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aa94dd8fce8548ba8e79201ec50fe27d6"></a><!-- doxytag: member="slsDetectorUsers::registerDisconnectChannelsCallback" ref="aa94dd8fce8548ba8e79201ec50fe27d6" args="(int(*func)(void *), void *arg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsDetectorUsers::registerDisconnectChannelsCallback </td>
<td>(</td>
<td class="paramtype">int(*)(void *)&nbsp;</td>
<td class="paramname"> <em>func</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>register callback to disconnect the epics channels </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>function to disconnect the epics channels </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a1969785197030aa8e2d3c3d48a9cb45c"></a><!-- doxytag: member="slsDetectorUsers::registerGetI0Callback" ref="a1969785197030aa8e2d3c3d48a9cb45c" args="(double(*func)(int, void *), void *arg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsDetectorUsers::registerGetI0Callback </td>
<td>(</td>
<td class="paramtype">double(*)(int, void *)&nbsp;</td>
<td class="paramname"> <em>func</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>register calbback reading to I0 </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>function for reading the I0 (called with parameter 0 before the acquisition, 1 after and the return value used as I0) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ac2b87416288e657a209e1374c778eb16"></a><!-- doxytag: member="slsDetectorUsers::registerGetPositionCallback" ref="ac2b87416288e657a209e1374c778eb16" args="(double(*func)(void *), void *arg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsDetectorUsers::registerGetPositionCallback </td>
<td>(</td>
<td class="paramtype">double(*)(void *)&nbsp;</td>
<td class="paramname"> <em>func</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>register calbback for reading detector position </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>function for reading the detector position </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a0f7c9bd3c46647d5dda2fa5312f3ef92"></a><!-- doxytag: member="slsDetectorUsers::registerGoToPositionCallback" ref="a0f7c9bd3c46647d5dda2fa5312f3ef92" args="(int(*func)(double, void *), void *arg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsDetectorUsers::registerGoToPositionCallback </td>
<td>(</td>
<td class="paramtype">int(*)(double, void *)&nbsp;</td>
<td class="paramname"> <em>func</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>register callback for moving the detector </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>function for moving the detector </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ae807e9f4a015a4bbcb22e36b80577ea5"></a><!-- doxytag: member="slsDetectorUsers::registerGoToPositionNoWaitCallback" ref="ae807e9f4a015a4bbcb22e36b80577ea5" args="(int(*func)(double, void *), void *arg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsDetectorUsers::registerGoToPositionNoWaitCallback </td>
<td>(</td>
<td class="paramtype">int(*)(double, void *)&nbsp;</td>
<td class="paramname"> <em>func</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>register callback for moving the detector without waiting </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>function for moving the detector </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a898cf0db148f0d3de7d4725cc8342c56"></a><!-- doxytag: member="slsDetectorUsers::registerRawDataCallback" ref="a898cf0db148f0d3de7d4725cc8342c56" args="(int(*userCallback)(double *p, int n, void *), void *pArg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsDetectorUsers::registerRawDataCallback </td>
<td>(</td>
<td class="paramtype">int(*)(double *p, int n, void *)&nbsp;</td>
<td class="paramname"> <em>userCallback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>pArg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>register callback for accessing raw data - if the rawDataCallback is registered, no filewriting/postprocessing will be carried on automatically by the software - the raw data are deleted by the software </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>userCallback</em>&nbsp;</td><td>function for postprocessing and saving the data - p is the pointer to the data, n is the number of channels </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a8769c8ea5020b43dc3557c86f9e4159b"></a><!-- doxytag: member="slsDetectorUsers::retrieveDetectorSetup" ref="a8769c8ea5020b43dc3557c86f9e4159b" args="(string const fname)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::retrieveDetectorSetup </td>
<td>(</td>
<td class="paramtype">string const &nbsp;</td>
<td class="paramname"> <em>fname</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Loads the detector setup from file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>file to read from </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>OK or FAIL </dd></dl>
</div>
</div>
<a class="anchor" id="a2c073513ae3ac53f3e040bc2911b6ee2"></a><!-- doxytag: member="slsDetectorUsers::runStatusType" ref="a2c073513ae3ac53f3e040bc2911b6ee2" args="(int s)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static string slsDetectorUsers::runStatusType </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>s</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>returns string from run status index </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>run status index </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>string error, waiting, running, data, finished or unknown when wrong index </dd></dl>
<p>Definition at line <a class="el" href="slsDetectorUsers_8h_source.html#l00650">650</a> of file <a class="el" href="slsDetectorUsers_8h_source.html">slsDetectorUsers.h</a>.</p>
</div>
</div>
<a class="anchor" id="a006e8916bdc59a6cc8d21800843c4fa9"></a><!-- doxytag: member="slsDetectorUsers::setAllTrimbits" ref="a006e8916bdc59a6cc8d21800843c4fa9" args="(int val)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::setAllTrimbits </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>val</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>sets all trimbits to value (only available for eiger) </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>value to be set (-1 gets) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>value set </dd></dl>
</div>
</div>
<a class="anchor" id="aff667cf0665154cdff5d5f3dbc3526ba"></a><!-- doxytag: member="slsDetectorUsers::setBitDepth" ref="aff667cf0665154cdff5d5f3dbc3526ba" args="(int i=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::setBitDepth </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>i</em> = <code>-1</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>set/get dynamic range </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>dynamic range (-1 get) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>current dynamic range </dd></dl>
</div>
</div>
<a class="anchor" id="a3ed110b9453d37df1c27b74999eb3f6e"></a><!-- doxytag: member="slsDetectorUsers::setClockDivider" ref="a3ed110b9453d37df1c27b74999eb3f6e" args="(int value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::setClockDivider </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>value</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>sets clock divider of detector </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>value to be set (-1 gets) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>speed of detector </dd></dl>
</div>
</div>
<a class="anchor" id="afeef4bb5c43f76c3c3fb89ee814f8942"></a><!-- doxytag: member="slsDetectorUsers::setContinuousReadoutFlag" ref="afeef4bb5c43f76c3c3fb89ee814f8942" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsDetectorUsers::setContinuousReadoutFlag </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>sets continuous readout flag </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>OK if successful, else false </dd></dl>
</div>
</div>
<a class="anchor" id="ac7211473f671363668d5d55f25d7edf5"></a><!-- doxytag: member="slsDetectorUsers::setDAC" ref="ac7211473f671363668d5d55f25d7edf5" args="(int id, int dacindex, int val)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::setDAC </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>dacindex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>val</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>set dac value </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>module index (-1 for all) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>dacindex</em>&nbsp;</td><td>dac index </td></tr>
</table>
</dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>dacIndex </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>value to be set (-1 gets) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>dac value </dd></dl>
</div>
</div>
<a class="anchor" id="a99f67fab7edfe68cc8b2300e282ff3f2"></a><!-- doxytag: member="slsDetectorUsers::setDelayAfterTrigger" ref="a99f67fab7edfe68cc8b2300e282ff3f2" args="(double t=&#45;1, bool inseconds=false)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double slsDetectorUsers::setDelayAfterTrigger </td>
<td>(</td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>t</em> = <code>-1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&nbsp;</td>
<td class="paramname"> <em>inseconds</em> = <code>false</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>set/get delay after trigger </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>time in ns (-1 gets) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>inseconds</em>&nbsp;</td><td>true if the value is in s, else ns </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer set value in ns, or s if specified </dd></dl>
</div>
</div>
<a class="anchor" id="a42c97d03516a2457f8e9a98a16a9a43d"></a><!-- doxytag: member="slsDetectorUsers::setDetectorSize" ref="a42c97d03516a2457f8e9a98a16a9a43d" args="(int x0=&#45;1, int y0=&#45;1, int nx=&#45;1, int ny=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::setDetectorSize </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>x0</em> = <code>-1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>y0</em> = <code>-1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>nx</em> = <code>-1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>ny</em> = <code>-1</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>sets the detector size </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>x0</em>&nbsp;</td><td>horizontal position origin in channel number (-1 unchanged) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>y0</em>&nbsp;</td><td>vertical position origin in channel number (-1 unchanged) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>nx</em>&nbsp;</td><td>number of channels in horiziontal (-1 unchanged) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ny</em>&nbsp;</td><td>number of channels in vertical (-1 unchanged) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>OK/FAIL </dd></dl>
</div>
</div>
<a class="anchor" id="acac89084aba58ebe81420c7c9ac4217a"></a><!-- doxytag: member="slsDetectorUsers::setExposurePeriod" ref="acac89084aba58ebe81420c7c9ac4217a" args="(double t=&#45;1, bool inseconds=false)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double slsDetectorUsers::setExposurePeriod </td>
<td>(</td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>t</em> = <code>-1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&nbsp;</td>
<td class="paramname"> <em>inseconds</em> = <code>false</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>set/get exposure period </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>time in ns (-1 gets) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>inseconds</em>&nbsp;</td><td>true if the value is in s, else ns </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer set value in ns, or s if specified </dd></dl>
</div>
</div>
<a class="anchor" id="a134225893d41bc97e9f1d645e035a04a"></a><!-- doxytag: member="slsDetectorUsers::setExposureTime" ref="a134225893d41bc97e9f1d645e035a04a" args="(double t=&#45;1, bool inseconds=false)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double slsDetectorUsers::setExposureTime </td>
<td>(</td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>t</em> = <code>-1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&nbsp;</td>
<td class="paramname"> <em>inseconds</em> = <code>false</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>set/get exposure time value </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>time in sn (-1 gets) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>inseconds</em>&nbsp;</td><td>true if the value is in s, else ns </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>timer set value in ns, or s if specified </dd></dl>
</div>
</div>
<a class="anchor" id="a6b92ea7e237c77aa5107d7aabf76fe2d"></a><!-- doxytag: member="slsDetectorUsers::setFileIndex" ref="a6b92ea7e237c77aa5107d7aabf76fe2d" args="(int i)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::setFileIndex </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>i</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>sets the default output file index </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>file index </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the default output file index </dd></dl>
</div>
</div>
<a class="anchor" id="aff4a8ff4852e50d4ec05204cbc7fea9e"></a><!-- doxytag: member="slsDetectorUsers::setFileName" ref="aff4a8ff4852e50d4ec05204cbc7fea9e" args="(string s)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string slsDetectorUsers::setFileName </td>
<td>(</td>
<td class="paramtype">string&nbsp;</td>
<td class="paramname"> <em>s</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>sets the default output files path </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>file name </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the default output files root name </dd></dl>
</div>
</div>
<a class="anchor" id="ad833e1051299e101a5b5097c598ba9cb"></a><!-- doxytag: member="slsDetectorUsers::setFilePath" ref="ad833e1051299e101a5b5097c598ba9cb" args="(string s)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string slsDetectorUsers::setFilePath </td>
<td>(</td>
<td class="paramtype">string&nbsp;</td>
<td class="paramname"> <em>s</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>sets the default output files path </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>file path </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>file path </dd></dl>
</div>
</div>
<a class="anchor" id="a65b112dac3d8b94f219f4d64c13cf0f9"></a><!-- doxytag: member="slsDetectorUsers::setFlatFieldCorrectionDir" ref="a65b112dac3d8b94f219f4d64c13cf0f9" args="(string dir)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string slsDetectorUsers::setFlatFieldCorrectionDir </td>
<td>(</td>
<td class="paramtype">string&nbsp;</td>
<td class="paramname"> <em>dir</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>set flat field corrections file directory </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>dir</em>&nbsp;</td><td>flat field correction file directory </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>flat field correction file directory </dd></dl>
</div>
</div>
<a class="anchor" id="aad9e6da8683ba2887174505fd3b7d739"></a><!-- doxytag: member="slsDetectorUsers::setFlatFieldCorrectionFile" ref="aad9e6da8683ba2887174505fd3b7d739" args="(string fname=&quot;&quot;)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::setFlatFieldCorrectionFile </td>
<td>(</td>
<td class="paramtype">string&nbsp;</td>
<td class="paramname"> <em>fname</em> = <code>&quot;&quot;</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>set flat field correction file </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>name of the flat field file (or "" if disable) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if disable (or file could not be read), &gt;0 otherwise </dd></dl>
</div>
</div>
<a class="anchor" id="a7e2876e8663138a7cd992d3e643ffdf7"></a><!-- doxytag: member="slsDetectorUsers::setNonParallelReadoutFlag" ref="a7e2876e8663138a7cd992d3e643ffdf7" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsDetectorUsers::setNonParallelReadoutFlag </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>sets non parallel readout flag </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>OK if successful, else false </dd></dl>
</div>
</div>
<a class="anchor" id="a8b741851c4eaef4e29322c99fd17cb3b"></a><!-- doxytag: member="slsDetectorUsers::setNumberOfCycles" ref="a8b741851c4eaef4e29322c99fd17cb3b" args="(int64_t t=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t slsDetectorUsers::setNumberOfCycles </td>
<td>(</td>
<td class="paramtype">int64_t&nbsp;</td>
<td class="paramname"> <em>t</em> = <code>-1</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>set/get number of cycles i.e. number of triggers </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>number of frames (-1 gets) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of frames </dd></dl>
</div>
</div>
<a class="anchor" id="afc82f608bf74d10f3aa866bff94cbbab"></a><!-- doxytag: member="slsDetectorUsers::setNumberOfFrames" ref="afc82f608bf74d10f3aa866bff94cbbab" args="(int64_t t=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t slsDetectorUsers::setNumberOfFrames </td>
<td>(</td>
<td class="paramtype">int64_t&nbsp;</td>
<td class="paramname"> <em>t</em> = <code>-1</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>set/get number of frames i.e. number of exposure per trigger </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>number of frames (-1 gets) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of frames </dd></dl>
</div>
</div>
<a class="anchor" id="a61d4acb00c997c5e02be6a191401c4ce"></a><!-- doxytag: member="slsDetectorUsers::setNumberOfGates" ref="a61d4acb00c997c5e02be6a191401c4ce" args="(int64_t t=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t slsDetectorUsers::setNumberOfGates </td>
<td>(</td>
<td class="paramtype">int64_t&nbsp;</td>
<td class="paramname"> <em>t</em> = <code>-1</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>set/get number of gates </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>number of gates (-1 gets) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of gates </dd></dl>
</div>
</div>
<a class="anchor" id="aee622153ebd6b0dad065d95b07221955"></a><!-- doxytag: member="slsDetectorUsers::setOnline" ref="aee622153ebd6b0dad065d95b07221955" args="(int const online=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::setOnline </td>
<td>(</td>
<td class="paramtype">int const &nbsp;</td>
<td class="paramname"> <em>online</em> = <code>-1</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>sets the onlineFlag </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>online</em>&nbsp;</td><td>can be: -1 returns wether the detector is in online (1) or offline (0) state; 0 detector in offline state; 1 detector in online state </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 (offline) or 1 (online) </dd></dl>
</div>
</div>
<a class="anchor" id="a3d44556ebca618acb0a877363bc8f9f5"></a><!-- doxytag: member="slsDetectorUsers::setParallelReadoutFlag" ref="a3d44556ebca618acb0a877363bc8f9f5" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsDetectorUsers::setParallelReadoutFlag </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>sets parallel readout flag </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>OK if successful, else false </dd></dl>
</div>
</div>
<a class="anchor" id="af296c05ee6134fb8d53d08a025e89775"></a><!-- doxytag: member="slsDetectorUsers::setPositions" ref="af296c05ee6134fb8d53d08a025e89775" args="(int nPos, double *pos)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::setPositions </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>nPos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&nbsp;</td>
<td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>set positions for the acquisition </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>nPos</em>&nbsp;</td><td>number of positions </td></tr>
<tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>array with the encoder positions </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of positions </dd></dl>
</div>
</div>
<a class="anchor" id="adb084473ffe61960b86abdfa8efcc80d"></a><!-- doxytag: member="slsDetectorUsers::setReceiverMode" ref="adb084473ffe61960b86abdfa8efcc80d" args="(int n=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::setReceiverMode </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>n</em> = <code>-1</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>sets the mode by which gui requests data from receiver </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>is 0 for random requests for fast acquisitions and greater than 0 for nth read requests </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the mode set in the receiver </dd></dl>
</div>
</div>
<a class="anchor" id="aa13684691ca1825049006afa0e4dfd2f"></a><!-- doxytag: member="slsDetectorUsers::setSafeReadoutFlag" ref="aa13684691ca1825049006afa0e4dfd2f" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsDetectorUsers::setSafeReadoutFlag </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>sets safe readout flag </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>OK if successful, else false </dd></dl>
</div>
</div>
<a class="anchor" id="a31b25d2659d3b244bb10b5516a9fd957"></a><!-- doxytag: member="slsDetectorUsers::setSettings" ref="a31b25d2659d3b244bb10b5516a9fd957" args="(int isettings=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::setSettings </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>isettings</em> = <code>-1</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>set detector settings </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>isettings</em>&nbsp;</td><td>settings index (-1 gets) </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>current settings </dd></dl>
</div>
</div>
<a class="anchor" id="a8dbe78d07df9e5f8eae53549c6140d37"></a><!-- doxytag: member="slsDetectorUsers::setStoreInRamReadoutFlag" ref="a8dbe78d07df9e5f8eae53549c6140d37" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsDetectorUsers::setStoreInRamReadoutFlag </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>sets store in ram readout flag </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>OK if successful, else false </dd></dl>
</div>
</div>
<a class="anchor" id="a1354266fd1bfaccd58992a3f51bbbd1d"></a><!-- doxytag: member="slsDetectorUsers::setThresholdEnergy" ref="a1354266fd1bfaccd58992a3f51bbbd1d" args="(int e_eV)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::setThresholdEnergy </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>e_eV</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>set threshold energy </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>e_eV</em>&nbsp;</td><td>threshold in eV </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>current threshold value for imod in ev (-1 failed) </dd></dl>
</div>
</div>
<a class="anchor" id="ae2825524756c4bdf418a6233e137b4d7"></a><!-- doxytag: member="slsDetectorUsers::setTimingMode" ref="ae2825524756c4bdf418a6233e137b4d7" args="(int pol=&#45;1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::setTimingMode </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>pol</em> = <code>-1</code></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>set/get the external communication mode </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>pol</em>&nbsp;</td><td>value to be set </td></tr>
</table>
</dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classslsDetectorUsers.html#a420880726f4036bf9da83edfcb2d6cf0" title="returns external communication mode string from index">getTimingMode</a> </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>current external communication mode </dd></dl>
</div>
</div>
<a class="anchor" id="aa34810bb0e872fdf929ebe62d8582bd3"></a><!-- doxytag: member="slsDetectorUsers::startMeasurement" ref="aa34810bb0e872fdf929ebe62d8582bd3" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsDetectorUsers::startMeasurement </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>start measurement and acquires </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>OK/FAIL </dd></dl>
</div>
</div>
<a class="anchor" id="a2abc673c45c1fe006f6b0fea6188e3a9"></a><!-- doxytag: member="slsDetectorUsers::stopMeasurement" ref="a2abc673c45c1fe006f6b0fea6188e3a9" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsDetectorUsers::stopMeasurement </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>stop measurement </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>OK/FAIL </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="slsDetectorUsers_8h_source.html">slsDetectorUsers.h</a></li>
</ul>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on 19 Sep 2017 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>