mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-05-03 19:30:04 +02:00

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@1 951219d9-93cf-4727-9268-0efd64621fa3
4675 lines
214 KiB
HTML
4675 lines
214 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
|
<title>slsDetector Class Reference</title>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
|
<link href="tabs.css" rel="stylesheet" type="text/css">
|
|
</head><body>
|
|
<!-- Generated by Doxygen 1.4.7 -->
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
</ul></div>
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="annotated.html"><span>Class List</span></a></li>
|
|
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
|
<li><a href="functions.html"><span>Class Members</span></a></li>
|
|
</ul></div>
|
|
<h1>slsDetector Class Reference</h1><!-- doxytag: class="slsDetector" -->This is the base class for all SLS detector functionalities.
|
|
<a href="#_details">More...</a>
|
|
<p>
|
|
<code>#include <<a class="el" href="slsDetector_8h-source.html">slsDetector.h</a>></code>
|
|
<p>
|
|
<p>Inheritance diagram for slsDetector:
|
|
<p><center><img src="classslsDetector.png" usemap="#slsDetector_map" border="0" alt=""></center>
|
|
<map name="slsDetector_map">
|
|
<area href="classeigerDetector.html" alt="eigerDetector" shape="rect" coords="0,56,100,80">
|
|
<area href="classmythenDetector.html" alt="mythenDetector" shape="rect" coords="110,56,210,80">
|
|
</map>
|
|
<a href="classslsDetector-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
|
|
<tr><td></td></tr>
|
|
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structslsDetector_1_1sharedSlsDetector.html">slsDetector::sharedSlsDetector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#2dd6bff7d94ab8005c2797152b19264e">sharedSlsDetector</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure allocated in shared memory to store detector settings and be accessed in parallel by several applications (take care of possible conflicts!). <a href="#2dd6bff7d94ab8005c2797152b19264e"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#ac085f1939dcfed328dc6ff4b11fdb44617c55ac8cf00235b76c1c1481238abb">GET_ONLINE_FLAG</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#ac085f1939dcfed328dc6ff4b11fdb44da0a4f5b33e634292bc99256a9552f2f">OFFLINE_FLAG</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#ac085f1939dcfed328dc6ff4b11fdb44d3b612a2eb0d1029bd260b502afcf632">ONLINE_FLAG</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom">{ <a class="el" href="classslsDetector.html#ac085f1939dcfed328dc6ff4b11fdb44617c55ac8cf00235b76c1c1481238abb">GET_ONLINE_FLAG</a>,
|
|
<a class="el" href="classslsDetector.html#ac085f1939dcfed328dc6ff4b11fdb44da0a4f5b33e634292bc99256a9552f2f">OFFLINE_FLAG</a>,
|
|
<a class="el" href="classslsDetector.html#ac085f1939dcfed328dc6ff4b11fdb44d3b612a2eb0d1029bd260b502afcf632">ONLINE_FLAG</a>
|
|
}</td></tr>
|
|
|
|
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#eea9fc044ff9d496e4338efaaf176498">slsDetector</a> (<a class="el" href="sls__detector__defs_8h.html#ab9f984f7b6798e684c8f3e6b63c6301">detectorType</a> type=GENERIC, int id=0)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#7653e532ff88dbf403e270769bccc509">~slsDetector</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#f041f723f702c17de292061d6d609698">setOnline</a> (int const online)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#bf592960cebe5b3f1e2fdc77f770f17a">exists</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#49c88825b21dc040269f6980e9725a3a">readConfigurationFile</a> (string const fname)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#82628148e11f4890c9d935ec921c1121">writeConfigurationFile</a> (string const fname)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#dc4f62e536b4ef6d0d2d178e3bfbec5e">dumpDetectorSetup</a> (string const fname)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#233c3d27e9a946fb42b0aa49717d9251">retrieveDetectorSetup</a> (string const fname)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#019a01c4465c5ee572293cb6c00d9904">setTCPSocket</a> (string const name="", int const control_port=-1, int const stop_port=-1, int const data_port=-1)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#fad06908ad59bfd8a8577899d6aa1843">getHostname</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#40ffd69f1c40b26575954e826cdf606a">getControlPort</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#80ab8f7f4cc6b2e92017a0c77f961b70">getStopPort</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#35043766eecb3d760fd95d891bed8b16">getDataPort</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#d4a858d9b3a1b31c5d5decdc9d757267">getTrimDir</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#646f389e75c23c2c8627c62fb1df2890">setTrimDir</a> (string s)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#fa24d8a0ec1393c7e27e4e558e72cf87">getTrimEn</a> (int *en)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsls__detector__module.html">sls_detector_module</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#e84b8a7a2b27db3f89a98f9f8a81efca">readTrimFile</a> (string fname, <a class="el" href="structsls__detector__module.html">sls_detector_module</a> *myMod=NULL)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#9cbb1f97b8e48bd4b108a2dfa992c6af">writeTrimFile</a> (string fname, <a class="el" href="structsls__detector__module.html">sls_detector_module</a> mod)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#afe675432bf8e5dcb47774da3cc81106">writeTrimFile</a> (string fname, int imod)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#57c4587267e50a21ba13ead83294bdb4">setFilePath</a> (string s)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#ec565bab03357d783cccae55232b03ba">setFileName</a> (string s)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#22326d5e85503bfd16e4bdb279babb43">setFileIndex</a> (int i)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#b4158bdacd10fccedeab9eacbd1f4304">getFilePath</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#717a3c59681f81ceaf5245a073eeacdb">getFileName</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#68b41fa20ddd8c6c67ac00dfea3c9796">getFileIndex</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#d055c470ae6faa973980f4dbf021132d">createFileName</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#889c060afb5693830ca2be4fc6a5442c">writeDataFile</a> (string fname, float *data, float *err=NULL, float *ang=NULL, char dataformat='f', int nch=-1)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#3e1a8e49fbfb34a54381452abc8b5258">writeDataFile</a> (string fname, int *data)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#ffd62fa6a3487693316209ea71502b4b">readDataFile</a> (string fname, float *data, float *err=NULL, float *ang=NULL, char dataformat='f', int nch=0)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#0d27017bc1140cc9da3e797f03848f2e">readDataFile</a> (string fname, int *data)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#102679594e60ed261daff24b4aeac21a">getCalDir</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#9c4d2c796c176852537ff3cff4f5974b">setCalDir</a> (string s)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#9305060e7499cfcabac23b99c884b92b">readCalibrationFile</a> (string fname, float &gain, float &offset)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#8eb676a1ab6ef35601ba5cae942ba380">writeCalibrationFile</a> (string fname, float gain, float offset)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#23398787e01e519bf8ac5f313ca5af01">readAngularConversion</a> (string fname="")</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#921f212286be085d7e1b8d0d11110d9c">writeAngularConversion</a> (string fname="")</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#9fc0c9161e967094a535cc40bc33cc6b">execCommand</a> (string cmd, string answer)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#e76a665a8d7a6b37d85aff129d3afdef">setDetectorType</a> (<a class="el" href="sls__detector__defs_8h.html#ab9f984f7b6798e684c8f3e6b63c6301">detectorType</a> type=GET_DETECTOR_TYPE)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#4bebb4f131fe345fa561428e070a933d">setDetectorType</a> (string type)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#d63d6420e411ff4b962930d9c4fd615d">getDetectorType</a> (char *type)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#9e4117c0234d51b22922a2d638e118ab">setNumberOfModules</a> (int n, <a class="el" href="sls__detector__defs_8h.html#83314ec5aea2e25bc6255af2e5d36dc9">dimension</a> d=X)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#d608a77a1c64989ad82175991be0a9b5">getMaxNumberOfModules</a> (<a class="el" href="sls__detector__defs_8h.html#83314ec5aea2e25bc6255af2e5d36dc9">dimension</a> d=X)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="sls__detector__defs_8h.html#a436b9d7264c77b77021fe6adc33f6ed">externalSignalFlag</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#5878c33a1353f1d32c383be4169531e7">setExternalSignalFlags</a> (<a class="el" href="sls__detector__defs_8h.html#a436b9d7264c77b77021fe6adc33f6ed">externalSignalFlag</a> pol=GET_EXTERNAL_SIGNAL_FLAG, int signalindex=0)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="sls__detector__defs_8h.html#51d6eb28d9d010319da9ce5da86ed32f">externalCommunicationMode</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#2f7bac599bf5bb103debcd9342b65edd">setExternalCommunicationMode</a> (<a class="el" href="sls__detector__defs_8h.html#51d6eb28d9d010319da9ce5da86ed32f">externalCommunicationMode</a> pol=GET_EXTERNAL_COMMUNICATION_MODE)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#92f9261c62652e3643eebfdfa9942099">getId</a> (<a class="el" href="sls__detector__defs_8h.html#fc5d5f295e6405046702fc95e6d6d0ea">idMode</a> mode, int imod=0)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#40906e79010db5b8082d4855a3824aa7">digitalTest</a> (<a class="el" href="sls__detector__defs_8h.html#e4663256797974408ea7fbe5b86635c8">digitalTestMode</a> mode, int imod=0)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#18f91f8cf70d2d4eef9b3488b90bac51">analogTest</a> (<a class="el" href="sls__detector__defs_8h.html#44f69dfb7317afdfb166d178f4b1a6fe">analogTestMode</a> mode)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#a83074759c48f194af2e45d1281cc818">enableAnalogOutput</a> (int ichan)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#b20fef344ee47114fccb4d1bc8c6e5bd">enableAnalogOutput</a> (int imod, int ichip, int ichan)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#a8fafd5690120579f484e326dc6fd9be">giveCalibrationPulse</a> (float vcal, int npulses)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#742c8c6b4e7f3cad4f7e60c8c7c0c18b">writeRegister</a> (int addr, int val)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#89ba6d2d8e79a60270e7e1c217df2d79">readRegister</a> (int addr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#cfcce08c547e24dc09968a74e35daf40">setDAC</a> (float val, <a class="el" href="sls__detector__defs_8h.html#049814e50aa3d3237f51a4d7185ad4fe">dacIndex</a> index, int imod=-1)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#fa99bd04043c23b7ab583159dabebf93">getADC</a> (<a class="el" href="sls__detector__defs_8h.html#049814e50aa3d3237f51a4d7185ad4fe">dacIndex</a> index, int imod=0)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#bed71bb89a69cbf24de31de9f5f478bc">setChannel</a> (int64_t reg, int ichan=-1, int ichip=-1, int imod=-1)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#71bf1ef7be9f51c44cf6bc4a0dfea1e2">setChannel</a> (<a class="el" href="structsls__detector__channel.html">sls_detector_channel</a> chan)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsls__detector__channel.html">sls_detector_channel</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#bbf8573e249da1f0a436f581d0dc62e4">getChannel</a> (int ichan, int ichip, int imod)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#18cf730c59f5981fb5e22ebf460b9abc">setChip</a> (int reg, int ichip=-1, int imod=-1)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#3a327b952866525e1b5c8fe541834c68">setChip</a> (<a class="el" href="structsls__detector__chip.html">sls_detector_chip</a> chip)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsls__detector__chip.html">sls_detector_chip</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#6dd6b42b668610dbd03a7700de84b845">getChip</a> (int ichip, int imod)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#1be9e16689befa0d654345bc30ccd68e">setModule</a> (int reg, int imod=-1)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#d659b9a8ae9a29cea616e6333e2e7be4">setModule</a> (<a class="el" href="structsls__detector__module.html">sls_detector_module</a> module)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsls__detector__module.html">sls_detector_module</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#d1b14626e602ceaebfcf4321f6f40997">getModule</a> (int imod)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#f2da634bb9551730c12e07e2b772bf06">getThresholdEnergy</a> (int imod=-1)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#ab00a8eeca28831751121054e35d4c6b">setThresholdEnergy</a> (int e_eV, int imod=-1, <a class="el" href="sls__detector__defs_8h.html#754e2e1fdf9e993405c39b6050528d56">detectorSettings</a> isettings=GET_SETTINGS)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="sls__detector__defs_8h.html#754e2e1fdf9e993405c39b6050528d56">detectorSettings</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#d112702360f31a967bfad9fe2aabf6f6">getSettings</a> (int imod=-1)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="sls__detector__defs_8h.html#754e2e1fdf9e993405c39b6050528d56">detectorSettings</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#765072d5c8aaff56ca79734072607188">setSettings</a> (<a class="el" href="sls__detector__defs_8h.html#754e2e1fdf9e993405c39b6050528d56">detectorSettings</a> isettings, int imod=-1)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#49f44b9f27ce82d384ddfa0d229a0dee">startAcquisition</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#07a3d8c3c0e03ec8f286a87673911c28">stopAcquisition</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#8314acd65ffb54f355967a5c6827448e">startReadOut</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#567629b942b153a03cfc66d4d26c5daa">getRunStatus</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#fb4bb3d4e734c98684b60d283f34f128">startAndReadAll</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#2e0a975f982971744ada81d346d84489">startAndReadAllNoWait</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#5b678231f1a0fafc518a95b6e58f00a8">getDataFromDetectorNoWait</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#b352d85c5a4f415d1ec930d17bae87fa">readFrame</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#87acdd8cd43d30dc3dd88763b6e23d08">readAll</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#ee85bddb6aa7b37c99f1397112e6c8b6">popDataQueue</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#b78e1d801e92a9f5a06008d9e9731549">setTimer</a> (<a class="el" href="sls__detector__defs_8h.html#07c87ebf35dffccd06fe39859a3ca603">timerIndex</a> index, int64_t t=-1)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#61f072fcaf0a359148f52ea34769c846">getTimeLeft</a> (<a class="el" href="sls__detector__defs_8h.html#07c87ebf35dffccd06fe39859a3ca603">timerIndex</a> index)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#49af64998d4a4d44e965eb0adb1facb2">setClockDivider</a> (int i)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#12b884821edc41fe9821f2ab084a0baf">getClockDivider</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#f936cf5840bded81acb3f93b6b5fdd1c">setSetLength</a> (int i)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#51a88168bf9e4cd2ef7730b973963055">getSetLength</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#57d00f77b9c12d9a01407d5a74bacddb">setDynamicRange</a> (int n=-1)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#e2a0716ddc050b79a45c552236ff2284">setROI</a> (int nroi=-1, int *xmin=NULL, int *xmax=NULL, int *ymin=NULL, int *ymax=NULL)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#e86bd9ff0d87efe9327118b5349321c4">setReadOutFlags</a> (<a class="el" href="sls__detector__defs_8h.html#6165e3e90182cc47b0003f3288a2e579">readOutFlags</a> flag)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#a257317d18965a353679c66b15b0987d">executeTrimming</a> (<a class="el" href="sls__detector__defs_8h.html#032d987fb5fbd375236b7f58f0168f33">trimMode</a> mode, int par1, int par2, int imod=-1)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#b4e2c11303714d5e62b4fcc22f829d8f">setFlatFieldCorrection</a> (string fname="")</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#af22c79193907e364c6db97f5e55b9fd">getFlatFieldCorrections</a> (float *corr=NULL, float *ecorr=NULL)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#c89f7fc9f9255e573e34f8d3dadf38af">setRateCorrection</a> (float t=0)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#6e6212f4bbe0c5df253ec9c535c3f9b1">getRateCorrections</a> (float &t)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#7606366a3cbe280c90dc659036814697">getRateCorrections</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#45833eb571b8cb20225f4046e2a17e5a">setBadChannelCorrection</a> (string fname="")</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#f80db913b55026bb69d35585b08729cc">getBadChannelCorrections</a> (int *bad=NULL)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#30fe39ddd78fa880b6b7815d1d5462ec">setAngularConversion</a> (string fname="")</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#a146baee5af54b53db0997de02f4779c">getAngularConversion</a> (int &direction, <a class="el" href="structangleConversionConstant.html">angleConversionConstant</a> *angconv=NULL)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#84c8dc8017e692d93246cd546e6366c1">setGlobalOffset</a> (float f)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#fd3b79c59688a7a0f4f72ba5676a2f9b">setFineOffset</a> (float f)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#1a402a849d04190024e9dc87d4dae6dc">getFineOffset</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#42f854256e2900f18b2a17201813b48c">getGlobalOffset</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#ed6493ad015660281b14814f9a7f6cb5">setPositions</a> (int nPos, float *<a class="el" href="usersFunctions_8c.html#f14c6d623ff1aec896b4d087ab74caa0">pos</a>)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#732f6d36456d6e87d70324a4bdc1bbb8">getPositions</a> (float *<a class="el" href="usersFunctions_8c.html#f14c6d623ff1aec896b4d087ab74caa0">pos</a>=NULL)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#96e2fb6fb0aa34bdbe59facf367c4ae1">setBinSize</a> (float bs)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#8a78eda56f5a0c487bbc4e2f962d04db">getBinSize</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#937d257464bade6dc6d3ab42c86843ba">decodeData</a> (int *datain)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#24c7dd58e00df0bf62221b7572430740">flatFieldCorrect</a> (float datain, float errin, float &dataout, float &errout, float ffcoefficient, float fferr)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#1e6633db752222079b39a187e4d0e658">flatFieldCorrect</a> (float *datain, float *errin, float *dataout, float *errout)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#e8c2d03ab2c870d2f1ff7a861cfeb6d1">rateCorrect</a> (float datain, float errin, float &dataout, float &errout, float tau, float t)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#518feacfa3a1d6156779f8eaacdf86d3">rateCorrect</a> (float *datain, float *errin, float *dataout, float *errout)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#208c3a5a80ba931056f1f2ff3cb5d0e5">resetMerging</a> (float *mp, float *mv, float *me, int *mm)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#ed3ddadb246080ef644b6d1455fa2e32">addToMerging</a> (float *p1, float *v1, float *e1, float *mp, float *mv, float *me, int *mm)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#8f73479f68ca2171fd2108c2f157299e">finalizeMerging</a> (float *mp, float *mv, float *me, int *mm)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#466e9a65aa0b404c771d70c9f01af8b9">exitServer</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#717eb12630b1d1f5138f98e5f7ba021f">processData</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsls__detector__module.html">sls_detector_module</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#15e6fa87a3c57ff1c8e1943ec72ec6ad">createModule</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#48984c8d058355c5249233165bf0c410">deleteModule</a> (<a class="el" href="structsls__detector__module.html">sls_detector_module</a> *myMod)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#b09a80264ca69e51b2c8379124398410">acquire</a> ()</td></tr>
|
|
|
|
<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#b1982e89f8e8de63c807a707ccba594c">getDataFromDetector</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#cb94b9bfa7bbea2d9e1b0289a272bca8">initSharedMemory</a> (<a class="el" href="sls__detector__defs_8h.html#ab9f984f7b6798e684c8f3e6b63c6301">detectorType</a> type=GENERIC, int id=0)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#5de7fb0d82ae2bcc406385373e665c6f">freeSharedMemory</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#19f1c6d120293c98a0d2dc992e5616f8">initializeDetectorSize</a> (<a class="el" href="sls__detector__defs_8h.html#ab9f984f7b6798e684c8f3e6b63c6301">detectorType</a> type)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#1c39e47efe5d8794b68cb32295cddf3c">initializeDetectorStructure</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#5cd249f9a287b25af9a3a7e7e675c559">sendChannel</a> (<a class="el" href="structsls__detector__channel.html">sls_detector_channel</a> *)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#1e92a814b83501cdef5771c1e5c477aa">sendChip</a> (<a class="el" href="structsls__detector__chip.html">sls_detector_chip</a> *)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#cc29561aa2b22ee49038c7bdf2be5ad7">sendModule</a> (<a class="el" href="structsls__detector__module.html">sls_detector_module</a> *)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#39f8959a55e92c7b0817529270be7667">receiveChannel</a> (<a class="el" href="structsls__detector__channel.html">sls_detector_channel</a> *)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#21d070352bfbf4745543c572bd6ae8f7">receiveChip</a> (<a class="el" href="structsls__detector__chip.html">sls_detector_chip</a> *)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#1356b4fabe6b1aaa9c67939ff9331f98">receiveModule</a> (<a class="el" href="structsls__detector__module.html">sls_detector_module</a> *)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#58199d3393aa7eaa606cbb7cbf83469d">startThread</a> ()</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#6a0ebe013e27c065b2f67158a27f64ac">fillBadChannelMask</a> ()</td></tr>
|
|
|
|
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#7572bba8e53f900d4126657827bec3cf">onlineFlag</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#37f4af284283e7a18a28cec3f4e4532f">detId</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#53a78c7fe99f93b9bba8d0c2cb32a181">shmId</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classMySocketTCP.html">MySocketTCP</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#07f3943ab8a65f061bbe1c1e1d22b700">controlSocket</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classMySocketTCP.html">MySocketTCP</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#efee578cdd732339788a38707e5ce531">stopSocket</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classMySocketTCP.html">MySocketTCP</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#1629e3c46678ae201f6797e4d827cb32">dataSocket</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">queue< int * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#52e9fe9baf37db001cdf58f982ab5dd6">dataQueue</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">pthread_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#8257cca09e23b601764e57f5a8bdaacd">dataProcessingThread</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#9f64e866250e916299048c9816c9ef28">currentPosition</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#9a6cd8787f618c147faacc1f3602bcf5">currentPositionIndex</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#4bba77b0de9f911c87d48d12c15a632b">currentI0</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#81751fd6e87f9659a8b6afe13efec2cf">mergingBins</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#fc173dcaeda2bbd7bbd6a874b5b5726c">mergingCounts</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#f357d3b5961ead7ec263a47aa51c4c11">mergingErrors</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#91c5e22042997d86c2c4d16ef1be9150">mergingMultiplicity</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#a3c6e93198a2f8b072b7b84ba9af7c4b">ffcoefficients</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#636168b92509e96418c9134d6d82ad4c">fferrors</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structsls__detector__module.html">sls_detector_module</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#b78d6f2abc185b2bde2c550b31e0ff72">detectorModules</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#dc1b3f867b97136fca83f86c83b7ae14">dacs</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">float * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#f370b8466441491d8496bb8130b8c5e7">adcs</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#0eb24981d044632eccba507bd15871a6">chipregs</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#44335474559f7321f0309fbda304caf8">chanregs</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetector.html#614c98f77a8a3ec6cff57aa59e671123">badChannelMask</a></td></tr>
|
|
|
|
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Structure allocated in shared memory to store detector settings and be accessed in parallel by several applications (take care of possible conflicts!). <a href="structslsDetector_1_1sharedSlsDetector.html#_details">More...</a><br></td></tr>
|
|
</table>
|
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
|
This is the base class for all SLS detector functionalities.
|
|
<p>
|
|
The <a class="el" href="classslsDetector.html">slsDetector</a> class is expected to become the interface class for all SLS Detectors acquisition (and analysis) software.<p>
|
|
<dl compact><dt><b>Author:</b></dt><dd>Anna Bergamaschi </dd></dl>
|
|
<dl compact><dt><b>Version:</b></dt><dd>0.1alpha (any string) </dd></dl>
|
|
|
|
<p>
|
|
<hr><h2>Member Typedef Documentation</h2>
|
|
<a class="anchor" name="2dd6bff7d94ab8005c2797152b19264e"></a><!-- doxytag: member="slsDetector::sharedSlsDetector" ref="2dd6bff7d94ab8005c2797152b19264e" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef struct <a class="el" href="structslsDetector_1_1sharedSlsDetector.html">slsDetector::sharedSlsDetector</a> <a class="el" href="structslsDetector_1_1sharedSlsDetector.html">slsDetector::sharedSlsDetector</a> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Structure allocated in shared memory to store detector settings and be accessed in parallel by several applications (take care of possible conflicts!).
|
|
<p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<hr><h2>Member Enumeration Documentation</h2>
|
|
<a class="anchor" name="ac085f1939dcfed328dc6ff4b11fdb44"></a><!-- doxytag: member="slsDetector::@0" ref="ac085f1939dcfed328dc6ff4b11fdb44" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">anonymous enum </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
online flags enum<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classslsDetector.html#f041f723f702c17de292061d6d609698">setOnline</a> </dd></dl>
|
|
<dl compact><dt><b>Enumerator: </b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"><em><a class="anchor" name="ac085f1939dcfed328dc6ff4b11fdb44617c55ac8cf00235b76c1c1481238abb"></a><!-- doxytag: member="GET_ONLINE_FLAG" ref="ac085f1939dcfed328dc6ff4b11fdb44617c55ac8cf00235b76c1c1481238abb" args="" -->GET_ONLINE_FLAG</em> </td><td>
|
|
returns wether the detector is in online or offline state </td></tr>
|
|
<tr><td valign="top"><em><a class="anchor" name="ac085f1939dcfed328dc6ff4b11fdb44da0a4f5b33e634292bc99256a9552f2f"></a><!-- doxytag: member="OFFLINE_FLAG" ref="ac085f1939dcfed328dc6ff4b11fdb44da0a4f5b33e634292bc99256a9552f2f" args="" -->OFFLINE_FLAG</em> </td><td>
|
|
detector in offline state (i.e. no communication to the detector - using only local structure - no data acquisition possible!) </td></tr>
|
|
<tr><td valign="top"><em><a class="anchor" name="ac085f1939dcfed328dc6ff4b11fdb44d3b612a2eb0d1029bd260b502afcf632"></a><!-- doxytag: member="ONLINE_FLAG" ref="ac085f1939dcfed328dc6ff4b11fdb44d3b612a2eb0d1029bd260b502afcf632" args="" -->ONLINE_FLAG</em> </td><td>
|
|
detector in online state (i.e. communication to the detector updating the local structure) </td></tr>
|
|
</table>
|
|
</dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<hr><h2>Constructor & Destructor Documentation</h2>
|
|
<a class="anchor" name="eea9fc044ff9d496e4338efaaf176498"></a><!-- doxytag: member="slsDetector::slsDetector" ref="eea9fc044ff9d496e4338efaaf176498" args="(detectorType type=GENERIC, int id=0)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">slsDetector::slsDetector </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#ab9f984f7b6798e684c8f3e6b63c6301">detectorType</a> </td>
|
|
<td class="paramname"> <em>type</em> = <code>GENERIC</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>id</em> = <code>0</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
(default) constructor <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>is needed to define the size of the detector shared memory 9defaults to GENERIC i.e. the largest shared memory needed by any <a class="el" href="classslsDetector.html">slsDetector</a> is allocated </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>is the detector index which is needed to define the shared memory id. Different physical detectors should have different IDs in order to work independently </td></tr>
|
|
</table>
|
|
</dl>
|
|
|
|
<p>
|
|
sets onlineFlag to OFFLINE_FLAG<p>
|
|
Initlializes shared memory <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classslsDetector.html#cb94b9bfa7bbea2d9e1b0289a272bca8">initSharedMemory</a></dd></dl>
|
|
if it fails the detector id is incremented until it succeeds<p>
|
|
Initializes the detector stucture <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classslsDetector.html#19f1c6d120293c98a0d2dc992e5616f8">initializeDetectorSize</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="7653e532ff88dbf403e270769bccc509"></a><!-- doxytag: member="slsDetector::~slsDetector" ref="7653e532ff88dbf403e270769bccc509" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">slsDetector::~slsDetector </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
destructor
|
|
</div>
|
|
</div><p>
|
|
<hr><h2>Member Function Documentation</h2>
|
|
<a class="anchor" name="b09a80264ca69e51b2c8379124398410"></a><!-- doxytag: member="slsDetector::acquire" ref="b09a80264ca69e51b2c8379124398410" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void slsDetector::acquire </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="ed3ddadb246080ef644b6d1455fa2e32"></a><!-- doxytag: member="slsDetector::addToMerging" ref="ed3ddadb246080ef644b6d1455fa2e32" args="(float *p1, float *v1, float *e1, float *mp, float *mv, float *me, int *mm)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::addToMerging </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>p1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>v1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>e1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>mp</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>mv</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>me</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"> <em>mm</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
not yet implemented merge dataset <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>p1</em> </td><td>angular positions of dataset </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>v1</em> </td><td>data </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>e1</em> </td><td>errors </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>mp</em> </td><td>already merged postions </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>mv</em> </td><td>already merged data </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>me</em> </td><td>already merged errors (squared sum) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>mm</em> </td><td>multiplicity of merged arrays </td></tr>
|
|
</table>
|
|
</dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#eaaf7d7e3150f473e3bbcf59d91692c2">mythenDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="18f91f8cf70d2d4eef9b3488b90bac51"></a><!-- doxytag: member="slsDetector::analogTest" ref="18f91f8cf70d2d4eef9b3488b90bac51" args="(analogTestMode mode)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int* slsDetector::analogTest </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#44f69dfb7317afdfb166d178f4b1a6fe">analogTestMode</a> </td>
|
|
<td class="paramname"> <em>mode</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
analog test <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>modte</em> </td><td>test mode </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>pointer to acquired data</dd></dl>
|
|
not yet implemented
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="d055c470ae6faa973980f4dbf021132d"></a><!-- doxytag: member="slsDetector::createFileName" ref="d055c470ae6faa973980f4dbf021132d" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">string slsDetector::createFileName </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
generates file name without extension<p>
|
|
always appends to file path and file name the run index.<p>
|
|
in case also appends the position index<p>
|
|
Filenames will be of the form: filepath/filename(_px)_i where x is the position index and i is the run index
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="15e6fa87a3c57ff1c8e1943ec72ec6ad"></a><!-- doxytag: member="slsDetector::createModule" ref="15e6fa87a3c57ff1c8e1943ec72ec6ad" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">slsDetector::sls_detector_module * slsDetector::createModule </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Allocates the memory for a <a class="el" href="structsls__detector__module.html">sls_detector_module</a> structure and initializes it <dl compact><dt><b>Returns:</b></dt><dd>myMod the pointer to the allocate dmemory location </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="937d257464bade6dc6d3ab42c86843ba"></a><!-- doxytag: member="slsDetector::decodeData" ref="937d257464bade6dc6d3ab42c86843ba" args="(int *datain)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float * slsDetector::decodeData </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"> <em>datain</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
decode data from the detector converting them to an array of floats, one for each channle <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>datain</em> </td><td>data from the detector </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>pointer to a float array with a data per channel </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#77e8c92003fab14da768af660509241d">mythenDetector</a>, and <a class="el" href="classeigerDetector.html#3e0573baf38c37818c7769fb351010b3">eigerDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="48984c8d058355c5249233165bf0c410"></a><!-- doxytag: member="slsDetector::deleteModule" ref="48984c8d058355c5249233165bf0c410" args="(sls_detector_module *myMod)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void slsDetector::deleteModule </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structsls__detector__module.html">sls_detector_module</a> * </td>
|
|
<td class="paramname"> <em>myMod</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
frees the memory for a <a class="el" href="structsls__detector__module.html">sls_detector_module</a> structure <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>myMod</em> </td><td>the pointer to the memory to be freed </td></tr>
|
|
</table>
|
|
</dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="40906e79010db5b8082d4855a3824aa7"></a><!-- doxytag: member="slsDetector::digitalTest" ref="40906e79010db5b8082d4855a3824aa7" args="(digitalTestMode mode, int imod=0)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::digitalTest </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#e4663256797974408ea7fbe5b86635c8">digitalTestMode</a> </td>
|
|
<td class="paramname"> <em>mode</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em> = <code>0</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Digital test of the modules <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>test mode </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number for chip test or module firmware test </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>OK or error mask </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="dc4f62e536b4ef6d0d2d178e3bfbec5e"></a><!-- doxytag: member="slsDetector::dumpDetectorSetup" ref="dc4f62e536b4ef6d0d2d178e3bfbec5e" args="(string const fname)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::dumpDetectorSetup </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string const </td>
|
|
<td class="paramname"> <em>fname</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
not yet implemented<p>
|
|
should dump to a file all the current detector parameters
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="b20fef344ee47114fccb4d1bc8c6e5bd"></a><!-- doxytag: member="slsDetector::enableAnalogOutput" ref="b20fef344ee47114fccb4d1bc8c6e5bd" args="(int imod, int ichip, int ichan)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::enableAnalogOutput </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>ichip</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>ichan</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
enable analog output of channel ichan, chip ichip, module imod<p>
|
|
not yet implemented
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="a83074759c48f194af2e45d1281cc818"></a><!-- doxytag: member="slsDetector::enableAnalogOutput" ref="a83074759c48f194af2e45d1281cc818" args="(int ichan)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::enableAnalogOutput </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>ichan</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
enable analog output of channel ichan<p>
|
|
not yet implemented
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="9fc0c9161e967094a535cc40bc33cc6b"></a><!-- doxytag: member="slsDetector::execCommand" ref="9fc0c9161e967094a535cc40bc33cc6b" args="(string cmd, string answer)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::execCommand </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>cmd</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>answer</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
executes a system command on the server e.g. mount an nfs disk, reboot and returns answer etc. <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>cmd</em> </td><td>is the command to be executed </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>answer</em> </td><td>is the answer from the detector </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>OK or FAIL depending on the command outcome </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="a257317d18965a353679c66b15b0987d"></a><!-- doxytag: member="slsDetector::executeTrimming" ref="a257317d18965a353679c66b15b0987d" args="(trimMode mode, int par1, int par2, int imod=-1)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::executeTrimming </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#032d987fb5fbd375236b7f58f0168f33">trimMode</a> </td>
|
|
<td class="paramname"> <em>mode</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>par1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>par2</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em> = <code>-1</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
execute trimming <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>trim mode </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>par1</em> </td><td>if noise, beam or fixed setting trimming it is count limit, if improve maximum number of iterations </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>par2</em> </td><td>if noise or beam nsigma, if improve par2!=means vthreshold will be optimized, if fixed settings par2<0 trimwith median, par2>=0 trim with level </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number (-1 all) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>OK or FAIl (FAIL also if some channel are 0 or 63 </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="bf592960cebe5b3f1e2fdc77f770f17a"></a><!-- doxytag: member="slsDetector::exists" ref="bf592960cebe5b3f1e2fdc77f770f17a" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::exists </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
sets the onlineFlag <dl compact><dt><b>Returns:</b></dt><dd>1 if the detector structure has already be initlialized, 0 otherwise </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="466e9a65aa0b404c771d70c9f01af8b9"></a><!-- doxytag: member="slsDetector::exitServer" ref="466e9a65aa0b404c771d70c9f01af8b9" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::exitServer </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
turns of server
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="6a0ebe013e27c065b2f67158a27f64ac"></a><!-- doxytag: member="slsDetector::fillBadChannelMask" ref="6a0ebe013e27c065b2f67158a27f64ac" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::fillBadChannelMask </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [private]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
fill bad channel mask (0 if channel is good, 1 if bad)
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="8f73479f68ca2171fd2108c2f157299e"></a><!-- doxytag: member="slsDetector::finalizeMerging" ref="8f73479f68ca2171fd2108c2f157299e" args="(float *mp, float *mv, float *me, int *mm)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::finalizeMerging </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>mp</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>mv</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>me</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"> <em>mm</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
calculates the "final" positions, data value and errors for the emrged data <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>mp</em> </td><td>already merged postions </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>mv</em> </td><td>already merged data </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>me</em> </td><td>already merged errors (squared sum) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>mm</em> </td><td>multiplicity of merged arrays </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>FAIL or the </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#a919a42bd89fe21c4086bae5f1fb2f32">mythenDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="1e6633db752222079b39a187e4d0e658"></a><!-- doxytag: member="slsDetector::flatFieldCorrect" ref="1e6633db752222079b39a187e4d0e658" args="(float *datain, float *errin, float *dataout, float *errout)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::flatFieldCorrect </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>datain</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>errin</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>dataout</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>errout</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
flat field correct data <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>datain</em> </td><td>data array </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>errin</em> </td><td>error array on data (if NULL will default to sqrt(datain) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>dataout</em> </td><td>array of corrected data </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>errout</em> </td><td>error on corrected data (if not NULL) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>0 </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="24c7dd58e00df0bf62221b7572430740"></a><!-- doxytag: member="slsDetector::flatFieldCorrect" ref="24c7dd58e00df0bf62221b7572430740" args="(float datain, float errin, float &dataout, float &errout, float ffcoefficient, float fferr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::flatFieldCorrect </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>datain</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>errin</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float & </td>
|
|
<td class="paramname"> <em>dataout</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float & </td>
|
|
<td class="paramname"> <em>errout</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>ffcoefficient</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>fferr</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
flat field correct data <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>datain</em> </td><td>data </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>errin</em> </td><td>error on data (if<=0 will default to sqrt(datain) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>dataout</em> </td><td>corrected data </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>errout</em> </td><td>error on corrected data </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ffcoefficient</em> </td><td>flat field correction coefficient </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>fferr</em> </td><td>erro on ffcoefficient </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>0 </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="5de7fb0d82ae2bcc406385373e665c6f"></a><!-- doxytag: member="slsDetector::freeSharedMemory" ref="5de7fb0d82ae2bcc406385373e665c6f" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::freeSharedMemory </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [private]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Frees the shared memory - should not be used
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="fa99bd04043c23b7ab583159dabebf93"></a><!-- doxytag: member="slsDetector::getADC" ref="fa99bd04043c23b7ab583159dabebf93" args="(dacIndex index, int imod=0)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float slsDetector::getADC </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#049814e50aa3d3237f51a4d7185ad4fe">dacIndex</a> </td>
|
|
<td class="paramname"> <em>index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em> = <code>0</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set dacs value <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>index</em> </td><td>ADC index </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current ADC value </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="a146baee5af54b53db0997de02f4779c"></a><!-- doxytag: member="slsDetector::getAngularConversion" ref="a146baee5af54b53db0997de02f4779c" args="(int &direction, angleConversionConstant *angconv=NULL)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getAngularConversion </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int & </td>
|
|
<td class="paramname"> <em>direction</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structangleConversionConstant.html">angleConversionConstant</a> * </td>
|
|
<td class="paramname"> <em>angconv</em> = <code>NULL</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get angular conversion <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>reference</em> </td><td>to diffractometer direction </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>angconv</em> </td><td>array that will be filled with the angular conversion constants </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>0 if angular conversion disabled, >0 otherwise </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#b2b2f17c36883323ad0abf762c63494f">mythenDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="f80db913b55026bb69d35585b08729cc"></a><!-- doxytag: member="slsDetector::getBadChannelCorrections" ref="f80db913b55026bb69d35585b08729cc" args="(int *bad=NULL)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getBadChannelCorrections </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"> <em>bad</em> = <code>NULL</code> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get bad channels correction <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>bad</em> </td><td>pointer to array that if bad!=NULL will be filled with the bad channel list </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>0 if bad channel disabled or no bad channels, >0 otherwise </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="8a78eda56f5a0c487bbc4e2f962d04db"></a><!-- doxytag: member="slsDetector::getBinSize" ref="8a78eda56f5a0c487bbc4e2f962d04db" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float slsDetector::getBinSize </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
return detector bin size used for merging (approx angular resolution)
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#9fd4e479d7eb3f9c53d5d56a43bbccaf">mythenDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="102679594e60ed261daff24b4aeac21a"></a><!-- doxytag: member="slsDetector::getCalDir" ref="102679594e60ed261daff24b4aeac21a" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">char* slsDetector::getCalDir </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
returns the location of the calibration files <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="bbf8573e249da1f0a436f581d0dc62e4"></a><!-- doxytag: member="slsDetector::getChannel" ref="bbf8573e249da1f0a436f581d0dc62e4" args="(int ichan, int ichip, int imod)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">slsDetector::sls_detector_channel slsDetector::getChannel </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>ichan</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>ichip</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get channel <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>ichan</em> </td><td>channel number </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ichip</em> </td><td>chip number </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current channel structure for channel </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="6dd6b42b668610dbd03a7700de84b845"></a><!-- doxytag: member="slsDetector::getChip" ref="6dd6b42b668610dbd03a7700de84b845" args="(int ichip, int imod)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">slsDetector::sls_detector_chip slsDetector::getChip </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>ichip</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get chip <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>ichip</em> </td><td>chip number </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current chip structure for channel</dd></dl>
|
|
<dl compact><dt><b><a class="el" href="bug.html#_bug000001">Bug:</a></b></dt><dd>probably does not return corretly! </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="12b884821edc41fe9821f2ab084a0baf"></a><!-- doxytag: member="slsDetector::getClockDivider" ref="12b884821edc41fe9821f2ab084a0baf" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getClockDivider </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get clock divider<p>
|
|
not implemented (should be something more general like "set speed including also waitstates, set cycles etc.)
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="40ffd69f1c40b26575954e826cdf606a"></a><!-- doxytag: member="slsDetector::getControlPort" ref="40ffd69f1c40b26575954e826cdf606a" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getControlPort </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
returns the detector control port<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="b1982e89f8e8de63c807a707ccba594c"></a><!-- doxytag: member="slsDetector::getDataFromDetector" ref="b1982e89f8e8de63c807a707ccba594c" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int * slsDetector::getDataFromDetector </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [private]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Receives a data frame from the detector socket <dl compact><dt><b>Returns:</b></dt><dd>pointer to the data (or NULL if failed) </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="5b678231f1a0fafc518a95b6e58f00a8"></a><!-- doxytag: member="slsDetector::getDataFromDetectorNoWait" ref="5b678231f1a0fafc518a95b6e58f00a8" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int * slsDetector::getDataFromDetectorNoWait </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
receives a data frame from the detector socket <dl compact><dt><b>Returns:</b></dt><dd>pointer to the data or NULL. If NULL disconnects the socket </dd></dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classslsDetector.html#b1982e89f8e8de63c807a707ccba594c">getDataFromDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="35043766eecb3d760fd95d891bed8b16"></a><!-- doxytag: member="slsDetector::getDataPort" ref="35043766eecb3d760fd95d891bed8b16" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getDataPort </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
returns the detector data port<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="d63d6420e411ff4b962930d9c4fd615d"></a><!-- doxytag: member="slsDetector::getDetectorType" ref="d63d6420e411ff4b962930d9c4fd615d" args="(char *type)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void slsDetector::getDetectorType </td>
|
|
<td>(</td>
|
|
<td class="paramtype">char * </td>
|
|
<td class="paramname"> <em>type</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
gets detector type normally the detector knows what type of detector it is <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>is the string where the detector type will be written ("Mythen", "Pilatus", "XFS", "Gotthard", Agipd") </td></tr>
|
|
</table>
|
|
</dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="68b41fa20ddd8c6c67ac00dfea3c9796"></a><!-- doxytag: member="slsDetector::getFileIndex" ref="68b41fa20ddd8c6c67ac00dfea3c9796" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getFileIndex </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
returns the default output file index <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="717a3c59681f81ceaf5245a073eeacdb"></a><!-- doxytag: member="slsDetector::getFileName" ref="717a3c59681f81ceaf5245a073eeacdb" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">char* slsDetector::getFileName </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
returns the default output files root name <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="b4158bdacd10fccedeab9eacbd1f4304"></a><!-- doxytag: member="slsDetector::getFilePath" ref="b4158bdacd10fccedeab9eacbd1f4304" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">char* slsDetector::getFilePath </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
returns the default output files path <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="1a402a849d04190024e9dc87d4dae6dc"></a><!-- doxytag: member="slsDetector::getFineOffset" ref="1a402a849d04190024e9dc87d4dae6dc" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float slsDetector::getFineOffset </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get detector fine offset
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#00720f1445f3f301fa3316828d978de6">mythenDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="af22c79193907e364c6db97f5e55b9fd"></a><!-- doxytag: member="slsDetector::getFlatFieldCorrections" ref="af22c79193907e364c6db97f5e55b9fd" args="(float *corr=NULL, float *ecorr=NULL)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getFlatFieldCorrections </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>corr</em> = <code>NULL</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>ecorr</em> = <code>NULL</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get flat field corrections <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>corr</em> </td><td>if !=NULL will be filled with the correction coefficients </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ecorr</em> </td><td>if !=NULL will be filled with the correction coefficients errors </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>0 if ff correction disabled, >0 otherwise </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="42f854256e2900f18b2a17201813b48c"></a><!-- doxytag: member="slsDetector::getGlobalOffset" ref="42f854256e2900f18b2a17201813b48c" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float slsDetector::getGlobalOffset </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get detector global offset
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#b2086f336d7198381453556b520dd556">mythenDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="fad06908ad59bfd8a8577899d6aa1843"></a><!-- doxytag: member="slsDetector::getHostname" ref="fad06908ad59bfd8a8577899d6aa1843" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">char* slsDetector::getHostname </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
returns the detector hostname<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="92f9261c62652e3643eebfdfa9942099"></a><!-- doxytag: member="slsDetector::getId" ref="92f9261c62652e3643eebfdfa9942099" args="(idMode mode, int imod=0)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t slsDetector::getId </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#fc5d5f295e6405046702fc95e6d6d0ea">idMode</a> </td>
|
|
<td class="paramname"> <em>mode</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em> = <code>0</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get detector ids/versions for module <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>mode</em> </td><td>which id/version has to be read </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number for module serial number </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>id </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="d608a77a1c64989ad82175991be0a9b5"></a><!-- doxytag: member="slsDetector::getMaxNumberOfModules" ref="d608a77a1c64989ad82175991be0a9b5" args="(dimension d=X)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getMaxNumberOfModules </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#83314ec5aea2e25bc6255af2e5d36dc9">dimension</a> </td>
|
|
<td class="paramname"> <em>d</em> = <code>X</code> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get the maximum size of the detector <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>d</em> </td><td>dimension </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>maximum number of modules that can be installed in direction d </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="d1b14626e602ceaebfcf4321f6f40997"></a><!-- doxytag: member="slsDetector::getModule" ref="d1b14626e602ceaebfcf4321f6f40997" args="(int imod)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">slsDetector::sls_detector_module * slsDetector::getModule </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get module <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>pointer to module structure (which has bee created and must then be deleted) </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="732f6d36456d6e87d70324a4bdc1bbb8"></a><!-- doxytag: member="slsDetector::getPositions" ref="732f6d36456d6e87d70324a4bdc1bbb8" args="(float *pos=NULL)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getPositions </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>pos</em> = <code>NULL</code> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get positions for the acquisition <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>pos</em> </td><td>array which will contain the encoder positions </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>number of positions </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#0d306720dced0d3576474978b06b4be4">mythenDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="7606366a3cbe280c90dc659036814697"></a><!-- doxytag: member="slsDetector::getRateCorrections" ref="7606366a3cbe280c90dc659036814697" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getRateCorrections </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get rate correction <dl compact><dt><b>Returns:</b></dt><dd>0 if rate correction disabled, >0 otherwise </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="6e6212f4bbe0c5df253ec9c535c3f9b1"></a><!-- doxytag: member="slsDetector::getRateCorrections" ref="6e6212f4bbe0c5df253ec9c535c3f9b1" args="(float &t)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getRateCorrections </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float & </td>
|
|
<td class="paramname"> <em>t</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get rate correction <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>reference for dead time </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>0 if rate correction disabled, >0 otherwise </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="567629b942b153a03cfc66d4d26c5daa"></a><!-- doxytag: member="slsDetector::getRunStatus" ref="567629b942b153a03cfc66d4d26c5daa" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getRunStatus </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get run status <dl compact><dt><b>Returns:</b></dt><dd>status mask </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="51a88168bf9e4cd2ef7730b973963055"></a><!-- doxytag: member="slsDetector::getSetLength" ref="51a88168bf9e4cd2ef7730b973963055" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getSetLength </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get length cycles<p>
|
|
not implemented (should be something more general like "set speed including also waitstates, set cycles etc.)
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="d112702360f31a967bfad9fe2aabf6f6"></a><!-- doxytag: member="slsDetector::getSettings" ref="d112702360f31a967bfad9fe2aabf6f6" args="(int imod=-1)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="sls__detector__defs_8h.html#754e2e1fdf9e993405c39b6050528d56">slsDetector::detectorSettings</a> slsDetector::getSettings </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em> = <code>-1</code> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get detector settings <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number (-1 all) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current settings </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="80ab8f7f4cc6b2e92017a0c77f961b70"></a><!-- doxytag: member="slsDetector::getStopPort" ref="80ab8f7f4cc6b2e92017a0c77f961b70" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getStopPort </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
returns the detector stop port<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="f2da634bb9551730c12e07e2b772bf06"></a><!-- doxytag: member="slsDetector::getThresholdEnergy" ref="f2da634bb9551730c12e07e2b772bf06" args="(int imod=-1)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getThresholdEnergy </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em> = <code>-1</code> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get threshold energy <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number (-1 all) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current threshold value for imod in ev (-1 failed) </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="61f072fcaf0a359148f52ea34769c846"></a><!-- doxytag: member="slsDetector::getTimeLeft" ref="61f072fcaf0a359148f52ea34769c846" args="(timerIndex index)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t slsDetector::getTimeLeft </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#07c87ebf35dffccd06fe39859a3ca603">timerIndex</a> </td>
|
|
<td class="paramname"> <em>index</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
get current timer value <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>index</em> </td><td>timer index </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>elapsed time value in ns or number of...(e.g. frames, gates, probes) </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="d4a858d9b3a1b31c5d5decdc9d757267"></a><!-- doxytag: member="slsDetector::getTrimDir" ref="d4a858d9b3a1b31c5d5decdc9d757267" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">char* slsDetector::getTrimDir </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
returns the detector trimbit directory<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="fa24d8a0ec1393c7e27e4e558e72cf87"></a><!-- doxytag: member="slsDetector::getTrimEn" ref="fa24d8a0ec1393c7e27e4e558e72cf87" args="(int *en)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::getTrimEn </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"> <em>en</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
returns the number of trim energies and their value<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>point</em> </td><td>to the array that will contain the trim energies (in ev) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>number of trim energies</dd></dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="a8fafd5690120579f484e326dc6fd9be"></a><!-- doxytag: member="slsDetector::giveCalibrationPulse" ref="a8fafd5690120579f484e326dc6fd9be" args="(float vcal, int npulses)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::giveCalibrationPulse </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>vcal</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>npulses</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
give a train of calibration pulses <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>vcal</em> </td><td>pulse amplitude </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>npulses</em> </td><td>number of pulses</td></tr>
|
|
</table>
|
|
</dl>
|
|
not yet implemented
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="19f1c6d120293c98a0d2dc992e5616f8"></a><!-- doxytag: member="slsDetector::initializeDetectorSize" ref="19f1c6d120293c98a0d2dc992e5616f8" args="(detectorType type)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::initializeDetectorSize </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#ab9f984f7b6798e684c8f3e6b63c6301">detectorType</a> </td>
|
|
<td class="paramname"> <em>type</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [private]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Initializes the thisDetector structure <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>is needed to define the number of channels, chips, modules etc. </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
<p>
|
|
if the shared memory has newly be created, initialize the detector variables<p>
|
|
set hostname to default<p>
|
|
set ports to defaults<p>
|
|
set thisDetector->myDetectorType to type and according to this set nChans, nChips, nDacs, nAdcs, nModMax, dynamicRange, nMod<p>
|
|
number of modules is initally the maximum number of modules<p>
|
|
calculates the expected data size<p>
|
|
set trimDsdir, calDir and filePath to default to home directory<p>
|
|
set fileName to default to run<p>
|
|
set fileIndex to default to 0<p>
|
|
set number of trim energies to 0<p>
|
|
set correction mask to 0<p>
|
|
set deat time<p>
|
|
set number of bad chans to 0<p>
|
|
set number of bad flat field chans to 0<p>
|
|
set angular direction to 1<p>
|
|
set fine offset to 0<p>
|
|
set global offset to 0<p>
|
|
set number of rois to 0<p>
|
|
set readoutflags to none<p>
|
|
set current settings to uninitialized<p>
|
|
set threshold to -1<p>
|
|
set clockdivider to 1<p>
|
|
set number of positions to 0<p>
|
|
set binsize<p>
|
|
calculates the memory offsets for flat field coefficients and errors, module structures, dacs, adcs, chips and channels<p>
|
|
also in case thisDetector alread existed initialize the pointer for flat field coefficients and errors, module structures, dacs, adcs, chips and channels<p>
|
|
if thisDetector is new, initialize its structures <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classslsDetector.html#1c39e47efe5d8794b68cb32295cddf3c">initializeDetectorStructure()</a>;</dd></dl>
|
|
set thisDetector->alreadyExisting=1<p>
|
|
fill the BadChannelMask <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classslsDetector.html#6a0ebe013e27c065b2f67158a27f64ac">fillBadChannelMask</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="1c39e47efe5d8794b68cb32295cddf3c"></a><!-- doxytag: member="slsDetector::initializeDetectorStructure" ref="1c39e47efe5d8794b68cb32295cddf3c" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::initializeDetectorStructure </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [private]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Initializes the module structures in thisDetector if the detector did not exists before
|
|
<p>
|
|
for each of the detector modules up to the maximum number which can be installed initlialize the <a class="el" href="structsls__detector__module.html">sls_detector_module</a> structure <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structsls__detector__module.html">sls_detector_module</a></dd></dl>
|
|
sets the size of the module to nChans, nChips etc.<p>
|
|
initializes the serial number and register to 0<p>
|
|
initializes the dacs values to 0<p>
|
|
initializes the adc values to 0<p>
|
|
initializes the chip registers to 0<p>
|
|
initializes the channel registers to 0<p>
|
|
initialize gain and offset to -1
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="cb94b9bfa7bbea2d9e1b0289a272bca8"></a><!-- doxytag: member="slsDetector::initSharedMemory" ref="cb94b9bfa7bbea2d9e1b0289a272bca8" args="(detectorType type=GENERIC, int id=0)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::initSharedMemory </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#ab9f984f7b6798e684c8f3e6b63c6301">detectorType</a> </td>
|
|
<td class="paramname"> <em>type</em> = <code>GENERIC</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>id</em> = <code>0</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"><code> [private]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Initializes the shared memory <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>is needed to define the size of the shared memory </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>is the detector id needed to define the shared memory id </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>shm_id shared memory id </dd></dl>
|
|
|
|
<p>
|
|
the shared memory key is set to DEFAULT_SHM_KEY+id<p>
|
|
The size of the shared memory is: size of shared structure + ffcoefficents +fferrors + modules+ dacs+adcs+chips+chans<p>
|
|
thisDetector pointer is set to the memory address of the shared memory<p>
|
|
shm_id returns -1 is shared memory initialization fails
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="ee85bddb6aa7b37c99f1397112e6c8b6"></a><!-- doxytag: member="slsDetector::popDataQueue" ref="ee85bddb6aa7b37c99f1397112e6c8b6" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int * slsDetector::popDataQueue </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
pops the data from the data queue <dl compact><dt><b>Returns:</b></dt><dd>pointer to the popped data or NULL if the queue is empty. </dd></dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classslsDetector.html#52e9fe9baf37db001cdf58f982ab5dd6">dataQueue</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="717eb12630b1d1f5138f98e5f7ba021f"></a><!-- doxytag: member="slsDetector::processData" ref="717eb12630b1d1f5138f98e5f7ba021f" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void * slsDetector::processData </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
function for processing data
|
|
<p>
|
|
Pop data queue<p>
|
|
decode data<p>
|
|
write raw data file<p>
|
|
rate correction<p>
|
|
flat field correction<p>
|
|
angular conversion<p>
|
|
data merging<p>
|
|
file writing
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="518feacfa3a1d6156779f8eaacdf86d3"></a><!-- doxytag: member="slsDetector::rateCorrect" ref="518feacfa3a1d6156779f8eaacdf86d3" args="(float *datain, float *errin, float *dataout, float *errout)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::rateCorrect </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>datain</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>errin</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>dataout</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>errout</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
rate correct data <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>datain</em> </td><td>data array </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>errin</em> </td><td>error array on data (if NULL will default to sqrt(datain) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>dataout</em> </td><td>array of corrected data </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>errout</em> </td><td>error on corrected data (if not NULL) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>0 </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="e8c2d03ab2c870d2f1ff7a861cfeb6d1"></a><!-- doxytag: member="slsDetector::rateCorrect" ref="e8c2d03ab2c870d2f1ff7a861cfeb6d1" args="(float datain, float errin, float &dataout, float &errout, float tau, float t)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::rateCorrect </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>datain</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>errin</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float & </td>
|
|
<td class="paramname"> <em>dataout</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float & </td>
|
|
<td class="paramname"> <em>errout</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>tau</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>t</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
rate correct data <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>datain</em> </td><td>data </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>errin</em> </td><td>error on data (if<=0 will default to sqrt(datain) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>dataout</em> </td><td>corrected data </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>errout</em> </td><td>error on corrected data </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>tau</em> </td><td>dead time 9in ns) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>acquisition time (in ns) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>0 </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="87acdd8cd43d30dc3dd88763b6e23d08"></a><!-- doxytag: member="slsDetector::readAll" ref="87acdd8cd43d30dc3dd88763b6e23d08" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int * slsDetector::readAll </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
asks and receives all data from the detector and puts them in a data queue <dl compact><dt><b>Returns:</b></dt><dd>pointer to the front of the queue or NULL. </dd></dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classslsDetector.html#b1982e89f8e8de63c807a707ccba594c">getDataFromDetector</a> <a class="el" href="classslsDetector.html#52e9fe9baf37db001cdf58f982ab5dd6">dataQueue</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="23398787e01e519bf8ac5f313ca5af01"></a><!-- doxytag: member="slsDetector::readAngularConversion" ref="23398787e01e519bf8ac5f313ca5af01" args="(string fname="")" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::readAngularConversion </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>fname</em> = <code>""</code> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
reads an angular conversion file <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>file to be read </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structangleConversionConstant.html">angleConversionConstant</a> </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#33bf1b939eb877bbd4aa42f400d7ca36">mythenDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="9305060e7499cfcabac23b99c884b92b"></a><!-- doxytag: member="slsDetector::readCalibrationFile" ref="9305060e7499cfcabac23b99c884b92b" args="(string fname, float &gain, float &offset)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::readCalibrationFile </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>fname</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float & </td>
|
|
<td class="paramname"> <em>gain</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float & </td>
|
|
<td class="paramname"> <em>offset</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
reads a calibration file <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>file to be read </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>gain</em> </td><td>reference to the gain variable reference to the offset variable </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#f8f1b7b42012420fc557aacd714140f8">mythenDetector</a>, and <a class="el" href="classeigerDetector.html#6b1b4b5328a5d8c423e9a7a8a950028f">eigerDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="49c88825b21dc040269f6980e9725a3a"></a><!-- doxytag: member="slsDetector::readConfigurationFile" ref="49c88825b21dc040269f6980e9725a3a" args="(string const fname)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::readConfigurationFile </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string const </td>
|
|
<td class="paramname"> <em>fname</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Every detector should have a basic configuration file containing: type (mythen, pilatus etc.) hostname portnumber communication type (default TCP/IP) eventually secondary portnumber (e.g. mythen stop function) number of modules installed if different from the detector size (x,y)<p>
|
|
to be changed
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="0d27017bc1140cc9da3e797f03848f2e"></a><!-- doxytag: member="slsDetector::readDataFile" ref="0d27017bc1140cc9da3e797f03848f2e" args="(string fname, int *data)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::readDataFile </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>fname</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"> <em>data</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
reads a data file <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>of the file to be read </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>array of data values </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>OK or FAIL if it could not read the file or data=NULL </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#d83819d61ea01148cf18cd3c46f2a9f7">mythenDetector</a>, and <a class="el" href="classeigerDetector.html#a6afa206101506d7f95d1ec835fbf843">eigerDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="ffd62fa6a3487693316209ea71502b4b"></a><!-- doxytag: member="slsDetector::readDataFile" ref="ffd62fa6a3487693316209ea71502b4b" args="(string fname, float *data, float *err=NULL, float *ang=NULL, char dataformat='f', int nch=0)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::readDataFile </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>fname</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>data</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>err</em> = <code>NULL</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>ang</em> = <code>NULL</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char </td>
|
|
<td class="paramname"> <em>dataformat</em> = <code>'f'</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>nch</em> = <code>0</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
reads a data file <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>of the file to be read </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>array of data values to be filled </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>err</em> </td><td>array of arrors on the data. If NULL no errors are expected on the file</td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ang</em> </td><td>array of angular values. If NULL data are expected in the form chan-val(-err) otherwise ang-val(-err) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>dataformat</em> </td><td>format of the data: can be 'i' integer or 'f' float (default) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>nch</em> </td><td>number of channels to be written to file. if <=0 defaults to the number of installed channels of the detector </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>OK or FAIL if it could not read the file or data=NULL </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#1937a5355eed0dc553cb05d2098f7c47">mythenDetector</a>, and <a class="el" href="classeigerDetector.html#4d0b7da609b9a0457656bfc8cf0a7997">eigerDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="b352d85c5a4f415d1ec930d17bae87fa"></a><!-- doxytag: member="slsDetector::readFrame" ref="b352d85c5a4f415d1ec930d17bae87fa" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int * slsDetector::readFrame </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
asks and receives a data frame from the detector <dl compact><dt><b>Returns:</b></dt><dd>pointer to the data or NULL. If NULL disconnects the socket </dd></dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classslsDetector.html#b1982e89f8e8de63c807a707ccba594c">getDataFromDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="89ba6d2d8e79a60270e7e1c217df2d79"></a><!-- doxytag: member="slsDetector::readRegister" ref="89ba6d2d8e79a60270e7e1c217df2d79" args="(int addr)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::readRegister </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>addr</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
read register <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>address </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current register value </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="e84b8a7a2b27db3f89a98f9f8a81efca"></a><!-- doxytag: member="slsDetector::readTrimFile" ref="e84b8a7a2b27db3f89a98f9f8a81efca" args="(string fname, sls_detector_module *myMod=NULL)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structsls__detector__module.html">sls_detector_module</a>* slsDetector::readTrimFile </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>fname</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structsls__detector__module.html">sls_detector_module</a> * </td>
|
|
<td class="paramname"> <em>myMod</em> = <code>NULL</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
reads a trim file <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>name of the file to be read </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>myMod</em> </td><td>pointer to the module structure which has to be set. <br>
|
|
If it is NULL a new module structure will be created </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>the pointer to myMod or NULL if reading the file failed </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#2120f9105997fd8f8bf9165dbffc55e7">mythenDetector</a>, and <a class="el" href="classeigerDetector.html#f24af0459e8eb45c1bc9c68a870e5094">eigerDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="39f8959a55e92c7b0817529270be7667"></a><!-- doxytag: member="slsDetector::receiveChannel" ref="39f8959a55e92c7b0817529270be7667" args="(sls_detector_channel *)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::receiveChannel </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structsls__detector__channel.html">sls_detector_channel</a> * </td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [private]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
receive a <a class="el" href="structsls__detector__channel.html">sls_detector_channel</a> structure over socket
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="21d070352bfbf4745543c572bd6ae8f7"></a><!-- doxytag: member="slsDetector::receiveChip" ref="21d070352bfbf4745543c572bd6ae8f7" args="(sls_detector_chip *)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::receiveChip </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structsls__detector__chip.html">sls_detector_chip</a> * </td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [private]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
receive a <a class="el" href="structsls__detector__chip.html">sls_detector_chip</a> structure over socket
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="1356b4fabe6b1aaa9c67939ff9331f98"></a><!-- doxytag: member="slsDetector::receiveModule" ref="1356b4fabe6b1aaa9c67939ff9331f98" args="(sls_detector_module *)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::receiveModule </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structsls__detector__module.html">sls_detector_module</a> * </td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [private]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
receive a <a class="el" href="structsls__detector__module.html">sls_detector_module</a> structure over socket
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="208c3a5a80ba931056f1f2ff3cb5d0e5"></a><!-- doxytag: member="slsDetector::resetMerging" ref="208c3a5a80ba931056f1f2ff3cb5d0e5" args="(float *mp, float *mv, float *me, int *mm)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::resetMerging </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>mp</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>mv</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>me</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"> <em>mm</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
sets the arrays of the merged data to 0. NB The array should be created with size >= 360./getBinSize(); <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>mp</em> </td><td>already merged postions </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>mv</em> </td><td>already merged data </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>me</em> </td><td>already merged errors (squared sum) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>mm</em> </td><td>multiplicity of merged arrays </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>OK or FAIL </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#7d38c9af0d94bc15571c3c15b38f39a8">mythenDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="233c3d27e9a946fb42b0aa49717d9251"></a><!-- doxytag: member="slsDetector::retrieveDetectorSetup" ref="233c3d27e9a946fb42b0aa49717d9251" args="(string const fname)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::retrieveDetectorSetup </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string const </td>
|
|
<td class="paramname"> <em>fname</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
not yet implemented<p>
|
|
should retrieve from a file all the current detector parameters
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="5cd249f9a287b25af9a3a7e7e675c559"></a><!-- doxytag: member="slsDetector::sendChannel" ref="5cd249f9a287b25af9a3a7e7e675c559" args="(sls_detector_channel *)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::sendChannel </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structsls__detector__channel.html">sls_detector_channel</a> * </td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [private]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
send a <a class="el" href="structsls__detector__channel.html">sls_detector_channel</a> structure over socket
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="1e92a814b83501cdef5771c1e5c477aa"></a><!-- doxytag: member="slsDetector::sendChip" ref="1e92a814b83501cdef5771c1e5c477aa" args="(sls_detector_chip *)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::sendChip </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structsls__detector__chip.html">sls_detector_chip</a> * </td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [private]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
send a <a class="el" href="structsls__detector__chip.html">sls_detector_chip</a> structure over socket
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="cc29561aa2b22ee49038c7bdf2be5ad7"></a><!-- doxytag: member="slsDetector::sendModule" ref="cc29561aa2b22ee49038c7bdf2be5ad7" args="(sls_detector_module *)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::sendModule </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structsls__detector__module.html">sls_detector_module</a> * </td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [private]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
send a <a class="el" href="structsls__detector__module.html">sls_detector_module</a> structure over socket
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="30fe39ddd78fa880b6b7815d1d5462ec"></a><!-- doxytag: member="slsDetector::setAngularConversion" ref="30fe39ddd78fa880b6b7815d1d5462ec" args="(string fname="")" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setAngularConversion </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>fname</em> = <code>""</code> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set angular conversion <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>file with angular conversion constants ("" disable) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>0 if angular conversion disabled, >0 otherwise </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#78efe554a277de7fb8759307992fc61b">mythenDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="45833eb571b8cb20225f4046e2a17e5a"></a><!-- doxytag: member="slsDetector::setBadChannelCorrection" ref="45833eb571b8cb20225f4046e2a17e5a" args="(string fname="")" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setBadChannelCorrection </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>fname</em> = <code>""</code> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set bad channels correction <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>file with bad channel list ("" disable) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>0 if bad channel disabled, >0 otherwise </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="96e2fb6fb0aa34bdbe59facf367c4ae1"></a><!-- doxytag: member="slsDetector::setBinSize" ref="96e2fb6fb0aa34bdbe59facf367c4ae1" args="(float bs)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float slsDetector::setBinSize </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>bs</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set detector bin size used for merging (approx angular resolution)
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#8f466447f886379204a59eb6785f1ed0">mythenDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="9c4d2c796c176852537ff3cff4f5974b"></a><!-- doxytag: member="slsDetector::setCalDir" ref="9c4d2c796c176852537ff3cff4f5974b" args="(string s)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">char* slsDetector::setCalDir </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>s</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
sets the location of the calibration files <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="71bf1ef7be9f51c44cf6bc4a0dfea1e2"></a><!-- doxytag: member="slsDetector::setChannel" ref="71bf1ef7be9f51c44cf6bc4a0dfea1e2" args="(sls_detector_channel chan)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setChannel </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structsls__detector__channel.html">sls_detector_channel</a> </td>
|
|
<td class="paramname"> <em>chan</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
configure channel <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>chan</em> </td><td>channel to be set - must contain correct channel, module and chip number </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current register value </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="bed71bb89a69cbf24de31de9f5f478bc"></a><!-- doxytag: member="slsDetector::setChannel" ref="bed71bb89a69cbf24de31de9f5f478bc" args="(int64_t reg, int ichan=-1, int ichip=-1, int imod=-1)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setChannel </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"> <em>reg</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>ichan</em> = <code>-1</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>ichip</em> = <code>-1</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em> = <code>-1</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
configure channel <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>reg</em> </td><td>channel register </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ichan</em> </td><td>channel number (-1 all) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ichip</em> </td><td>chip number (-1 all) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number (-1 all) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current register value </dd></dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structsls__detector__channel.html">sls_detector_channel</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="3a327b952866525e1b5c8fe541834c68"></a><!-- doxytag: member="slsDetector::setChip" ref="3a327b952866525e1b5c8fe541834c68" args="(sls_detector_chip chip)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setChip </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structsls__detector__chip.html">sls_detector_chip</a> </td>
|
|
<td class="paramname"> <em>chip</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
configure chip <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>chip</em> </td><td>chip to be set - must contain correct module and chip number and also channel registers </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current register value </dd></dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structsls__detector__chip.html">sls_detector_chip</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="18cf730c59f5981fb5e22ebf460b9abc"></a><!-- doxytag: member="slsDetector::setChip" ref="18cf730c59f5981fb5e22ebf460b9abc" args="(int reg, int ichip=-1, int imod=-1)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setChip </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>reg</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>ichip</em> = <code>-1</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em> = <code>-1</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
configure chip <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>reg</em> </td><td>chip register </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ichip</em> </td><td>chip number (-1 all) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number (-1 all) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current register value </dd></dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structsls__detector__chip.html">sls_detector_chip</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="49af64998d4a4d44e965eb0adb1facb2"></a><!-- doxytag: member="slsDetector::setClockDivider" ref="49af64998d4a4d44e965eb0adb1facb2" args="(int i)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setClockDivider </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>i</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set clock divider<p>
|
|
not implemented (should be something more general like "set speed including also waitstates, set cycles etc.)
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="cfcce08c547e24dc09968a74e35daf40"></a><!-- doxytag: member="slsDetector::setDAC" ref="cfcce08c547e24dc09968a74e35daf40" args="(float val, dacIndex index, int imod=-1)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float slsDetector::setDAC </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>val</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#049814e50aa3d3237f51a4d7185ad4fe">dacIndex</a> </td>
|
|
<td class="paramname"> <em>index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em> = <code>-1</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set dacs value <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>val</em> </td><td>value (in V) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>index</em> </td><td>DAC index </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number (if -1 alla modules) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current DAC value </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="4bebb4f131fe345fa561428e070a933d"></a><!-- doxytag: member="slsDetector::setDetectorType" ref="4bebb4f131fe345fa561428e070a933d" args="(string type)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setDetectorType </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>type</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
sets/gets detector type normally the detector knows what type of detector it is <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>is the detector type ("Mythen", "Pilatus", "XFS", "Gotthard", Agipd") </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>returns detector type index (1 GENERIC, 2 MYTHEN, 3 PILATUS, 4 XFS, 5 GOTTHARD, 6 AGIPD, -1 command failed) </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="e76a665a8d7a6b37d85aff129d3afdef"></a><!-- doxytag: member="slsDetector::setDetectorType" ref="e76a665a8d7a6b37d85aff129d3afdef" args="(detectorType type=GET_DETECTOR_TYPE)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setDetectorType </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#ab9f984f7b6798e684c8f3e6b63c6301">detectorType</a> </td>
|
|
<td class="paramname"> <em>type</em> = <code>GET_DETECTOR_TYPE</code> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
sets/gets detector type normally the detector knows what type of detector it is <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>is the detector type (defaults to GET_DETECTOR_TYPE) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>returns detector type index (1 GENERIC, 2 MYTHEN, 3 PILATUS, 4 XFS, 5 GOTTHARD, 6 AGIPD, -1 command failed) </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="57d00f77b9c12d9a01407d5a74bacddb"></a><!-- doxytag: member="slsDetector::setDynamicRange" ref="57d00f77b9c12d9a01407d5a74bacddb" args="(int n=-1)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setDynamicRange </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>n</em> = <code>-1</code> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set/get dynamic range <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>n</em> </td><td>dynamic range (-1 get) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current dynamic range updates the size of the data expected from the detector </dd></dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="2f7bac599bf5bb103debcd9342b65edd"></a><!-- doxytag: member="slsDetector::setExternalCommunicationMode" ref="2f7bac599bf5bb103debcd9342b65edd" args="(externalCommunicationMode pol=GET_EXTERNAL_COMMUNICATION_MODE)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="sls__detector__defs_8h.html#51d6eb28d9d010319da9ce5da86ed32f">externalCommunicationMode</a> slsDetector::setExternalCommunicationMode </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#51d6eb28d9d010319da9ce5da86ed32f">externalCommunicationMode</a> </td>
|
|
<td class="paramname"> <em>pol</em> = <code>GET_EXTERNAL_COMMUNICATION_MODE</code> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set/get the external communication mode<p>
|
|
obsolete<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classslsDetector.html#5878c33a1353f1d32c383be4169531e7">setExternalSignalFlags</a> </dd></dl>
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>pol</em> </td><td>value to be set</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="sls__detector__defs_8h.html#51d6eb28d9d010319da9ce5da86ed32f">externalCommunicationMode</a> </dd></dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current external communication mode </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="5878c33a1353f1d32c383be4169531e7"></a><!-- doxytag: member="slsDetector::setExternalSignalFlags" ref="5878c33a1353f1d32c383be4169531e7" args="(externalSignalFlag pol=GET_EXTERNAL_SIGNAL_FLAG, int signalindex=0)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="sls__detector__defs_8h.html#a436b9d7264c77b77021fe6adc33f6ed">externalSignalFlag</a> slsDetector::setExternalSignalFlags </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#a436b9d7264c77b77021fe6adc33f6ed">externalSignalFlag</a> </td>
|
|
<td class="paramname"> <em>pol</em> = <code>GET_EXTERNAL_SIGNAL_FLAG</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>signalindex</em> = <code>0</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set/get the use of an external signal <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>pol</em> </td><td>meaning of the signal</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="sls__detector__defs_8h.html#a436b9d7264c77b77021fe6adc33f6ed">externalSignalFlag</a> </dd></dl>
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>signalIndex</em> </td><td>index of the signal </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current meaning of signal signalIndex </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="22326d5e85503bfd16e4bdb279babb43"></a><!-- doxytag: member="slsDetector::setFileIndex" ref="22326d5e85503bfd16e4bdb279babb43" args="(int i)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setFileIndex </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>i</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
sets the default output file index <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="ec565bab03357d783cccae55232b03ba"></a><!-- doxytag: member="slsDetector::setFileName" ref="ec565bab03357d783cccae55232b03ba" args="(string s)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">char* slsDetector::setFileName </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>s</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
sets the default output files root name <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="57c4587267e50a21ba13ead83294bdb4"></a><!-- doxytag: member="slsDetector::setFilePath" ref="57c4587267e50a21ba13ead83294bdb4" args="(string s)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">char* slsDetector::setFilePath </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>s</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
sets the default output files path <dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="fd3b79c59688a7a0f4f72ba5676a2f9b"></a><!-- doxytag: member="slsDetector::setFineOffset" ref="fd3b79c59688a7a0f4f72ba5676a2f9b" args="(float f)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float slsDetector::setFineOffset </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>f</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set detector fine offset
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#fe142e36f1a5fa8b2ab5fc45e9f8c781">mythenDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="b4e2c11303714d5e62b4fcc22f829d8f"></a><!-- doxytag: member="slsDetector::setFlatFieldCorrection" ref="b4e2c11303714d5e62b4fcc22f829d8f" args="(string fname="")" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setFlatFieldCorrection </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>fname</em> = <code>""</code> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set flat field corrections <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>name of the flat field file (or "" if disable) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>0 if disable (or file could not be read), >0 otherwise </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="84c8dc8017e692d93246cd546e6366c1"></a><!-- doxytag: member="slsDetector::setGlobalOffset" ref="84c8dc8017e692d93246cd546e6366c1" args="(float f)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float slsDetector::setGlobalOffset </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>f</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set detector global offset
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#e24dd88c4eb965687bd656a12bae8ad7">mythenDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="d659b9a8ae9a29cea616e6333e2e7be4"></a><!-- doxytag: member="slsDetector::setModule" ref="d659b9a8ae9a29cea616e6333e2e7be4" args="(sls_detector_module module)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setModule </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structsls__detector__module.html">sls_detector_module</a> </td>
|
|
<td class="paramname"> <em>module</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
configure chip <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>module</em> </td><td>module to be set - must contain correct module number and also channel and chip registers </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current register value </dd></dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structsls__detector__module.html">sls_detector_module</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="1be9e16689befa0d654345bc30ccd68e"></a><!-- doxytag: member="slsDetector::setModule" ref="1be9e16689befa0d654345bc30ccd68e" args="(int reg, int imod=-1)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setModule </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>reg</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em> = <code>-1</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
configure module <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number (-1 all) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current register value </dd></dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structsls__detector__module.html">sls_detector_module</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="9e4117c0234d51b22922a2d638e118ab"></a><!-- doxytag: member="slsDetector::setNumberOfModules" ref="9e4117c0234d51b22922a2d638e118ab" args="(int n, dimension d=X)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setNumberOfModules </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>n</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#83314ec5aea2e25bc6255af2e5d36dc9">dimension</a> </td>
|
|
<td class="paramname"> <em>d</em> = <code>X</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set/get the size of the detector <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>n</em> </td><td>number of modules </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>d</em> </td><td>dimension </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current number of modules in direction d </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="f041f723f702c17de292061d6d609698"></a><!-- doxytag: member="slsDetector::setOnline" ref="f041f723f702c17de292061d6d609698" args="(int const online)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setOnline </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int const </td>
|
|
<td class="paramname"> <em>online</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
sets the onlineFlag <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>off</em> </td><td>can be: <br>
|
|
GET_ONLINE_FLAG, returns wether the detector is in online or offline state;<br>
|
|
OFFLINE_FLAG, detector in offline state (i.e. no communication to the detector - using only local structure - no data acquisition possible!);<br>
|
|
ONLINE_FLAG detector in online state (i.e. communication to the detector updating the local structure) </td></tr>
|
|
</table>
|
|
</dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="ed6493ad015660281b14814f9a7f6cb5"></a><!-- doxytag: member="slsDetector::setPositions" ref="ed6493ad015660281b14814f9a7f6cb5" args="(int nPos, float *pos)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setPositions </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>nPos</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>pos</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set positions for the acquisition <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>nPos</em> </td><td>number of positions </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>pos</em> </td><td>array with the encoder positions </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>number of positions </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#1ffb0963f724e6d6d497685e6de62fd6">mythenDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="c89f7fc9f9255e573e34f8d3dadf38af"></a><!-- doxytag: member="slsDetector::setRateCorrection" ref="c89f7fc9f9255e573e34f8d3dadf38af" args="(float t=0)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setRateCorrection </td>
|
|
<td>(</td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>t</em> = <code>0</code> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set rate correction <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>dead time in ns - if 0 disable correction, if >0 set dead time to t, if <0 set deadtime to default dead time for current settings </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>0 if rate correction disabled, >0 otherwise </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="e86bd9ff0d87efe9327118b5349321c4"></a><!-- doxytag: member="slsDetector::setReadOutFlags" ref="e86bd9ff0d87efe9327118b5349321c4" args="(readOutFlags flag)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setReadOutFlags </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#6165e3e90182cc47b0003f3288a2e579">readOutFlags</a> </td>
|
|
<td class="paramname"> <em>flag</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set/get readout flags <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>flag</em> </td><td>readout flag to be set </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current flag </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="e2a0716ddc050b79a45c552236ff2284"></a><!-- doxytag: member="slsDetector::setROI" ref="e2a0716ddc050b79a45c552236ff2284" args="(int nroi=-1, int *xmin=NULL, int *xmax=NULL, int *ymin=NULL, int *ymax=NULL)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setROI </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>nroi</em> = <code>-1</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"> <em>xmin</em> = <code>NULL</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"> <em>xmax</em> = <code>NULL</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"> <em>ymin</em> = <code>NULL</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"> <em>ymax</em> = <code>NULL</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set roi<p>
|
|
not yet implemented
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="f936cf5840bded81acb3f93b6b5fdd1c"></a><!-- doxytag: member="slsDetector::setSetLength" ref="f936cf5840bded81acb3f93b6b5fdd1c" args="(int i)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setSetLength </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>i</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set length cycles<p>
|
|
not implemented (should be something more general like "set speed including also waitstates, set cycles etc.)
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="765072d5c8aaff56ca79734072607188"></a><!-- doxytag: member="slsDetector::setSettings" ref="765072d5c8aaff56ca79734072607188" args="(detectorSettings isettings, int imod=-1)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="sls__detector__defs_8h.html#754e2e1fdf9e993405c39b6050528d56">detectorSettings</a> slsDetector::setSettings </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#754e2e1fdf9e993405c39b6050528d56">detectorSettings</a> </td>
|
|
<td class="paramname"> <em>isettings</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em> = <code>-1</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set detector settings <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>isettings</em> </td><td>settings </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number (-1 all) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current settings</dd></dl>
|
|
in this function trimbits and calibration files are searched in the trimDir and calDir directories and the detector is initialized
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="019a01c4465c5ee572293cb6c00d9904"></a><!-- doxytag: member="slsDetector::setTCPSocket" ref="019a01c4465c5ee572293cb6c00d9904" args="(string const name="", int const control_port=-1, int const stop_port=-1, int const data_port=-1)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setTCPSocket </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string const </td>
|
|
<td class="paramname"> <em>name</em> = <code>""</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int const </td>
|
|
<td class="paramname"> <em>control_port</em> = <code>-1</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int const </td>
|
|
<td class="paramname"> <em>stop_port</em> = <code>-1</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int const </td>
|
|
<td class="paramname"> <em>data_port</em> = <code>-1</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
configure the socket communication and initializes the socket instances<p>
|
|
<dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>hostname - if "" the current hostname is used </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>control_port</em> </td><td>port for control commands - if -1 the current is used </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>stop_port</em> </td><td>port for stop command - if -1 the current is used </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>data_port</em> </td><td>port for receiving data - if -1 the current is used</td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>OK is connection succeded, FAIL otherwise </dd></dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="ab00a8eeca28831751121054e35d4c6b"></a><!-- doxytag: member="slsDetector::setThresholdEnergy" ref="ab00a8eeca28831751121054e35d4c6b" args="(int e_eV, int imod=-1, detectorSettings isettings=GET_SETTINGS)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::setThresholdEnergy </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>e_eV</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em> = <code>-1</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#754e2e1fdf9e993405c39b6050528d56">detectorSettings</a> </td>
|
|
<td class="paramname"> <em>isettings</em> = <code>GET_SETTINGS</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set threshold energy <dl compact><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> </td><td>threshold in eV </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number (-1 all) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>isettings</em> </td><td>ev. change settings </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current threshold value for imod in ev (-1 failed) </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="b78e1d801e92a9f5a06008d9e9731549"></a><!-- doxytag: member="slsDetector::setTimer" ref="b78e1d801e92a9f5a06008d9e9731549" args="(timerIndex index, int64_t t=-1)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int64_t slsDetector::setTimer </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="sls__detector__defs_8h.html#07c87ebf35dffccd06fe39859a3ca603">timerIndex</a> </td>
|
|
<td class="paramname"> <em>index</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int64_t </td>
|
|
<td class="paramname"> <em>t</em> = <code>-1</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
set/get timer value <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>index</em> </td><td>timer index </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>t</em> </td><td>time in ns or number of...(e.g. frames, gates, probes) </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>timer set value in ns or number of...(e.g. frames, gates, probes) </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="646f389e75c23c2c8627c62fb1df2890"></a><!-- doxytag: member="slsDetector::setTrimDir" ref="646f389e75c23c2c8627c62fb1df2890" args="(string s)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">char* slsDetector::setTrimDir </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>s</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [inline]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
sets the detector trimbit directory<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="49f44b9f27ce82d384ddfa0d229a0dee"></a><!-- doxytag: member="slsDetector::startAcquisition" ref="49f44b9f27ce82d384ddfa0d229a0dee" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::startAcquisition </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
start detector acquisition <dl compact><dt><b>Returns:</b></dt><dd>OK/FAIL </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="fb4bb3d4e734c98684b60d283f34f128"></a><!-- doxytag: member="slsDetector::startAndReadAll" ref="fb4bb3d4e734c98684b60d283f34f128" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int * slsDetector::startAndReadAll </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
start detector acquisition and read all data putting them a data queue <dl compact><dt><b>Returns:</b></dt><dd>pointer to the fron tof the data queue </dd></dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classslsDetector.html#2e0a975f982971744ada81d346d84489">startAndReadAllNoWait</a> <a class="el" href="classslsDetector.html#b1982e89f8e8de63c807a707ccba594c">getDataFromDetector</a> <a class="el" href="classslsDetector.html#52e9fe9baf37db001cdf58f982ab5dd6">dataQueue</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="2e0a975f982971744ada81d346d84489"></a><!-- doxytag: member="slsDetector::startAndReadAllNoWait" ref="2e0a975f982971744ada81d346d84489" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::startAndReadAllNoWait </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
start detector acquisition and read out, but does not read data from socket
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="8314acd65ffb54f355967a5c6827448e"></a><!-- doxytag: member="slsDetector::startReadOut" ref="8314acd65ffb54f355967a5c6827448e" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::startReadOut </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
start readout (without exposure or interrupting exposure) <dl compact><dt><b>Returns:</b></dt><dd>OK/FAIL </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="58199d3393aa7eaa606cbb7cbf83469d"></a><!-- doxytag: member="slsDetector::startThread" ref="58199d3393aa7eaa606cbb7cbf83469d" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void slsDetector::startThread </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"><code> [private]</code></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
start data processing threas
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="07a3d8c3c0e03ec8f286a87673911c28"></a><!-- doxytag: member="slsDetector::stopAcquisition" ref="07a3d8c3c0e03ec8f286a87673911c28" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::stopAcquisition </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
stop detector acquisition <dl compact><dt><b>Returns:</b></dt><dd>OK/FAIL </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="921f212286be085d7e1b8d0d11110d9c"></a><!-- doxytag: member="slsDetector::writeAngularConversion" ref="921f212286be085d7e1b8d0d11110d9c" args="(string fname="")" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::writeAngularConversion </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>fname</em> = <code>""</code> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
writes an angular conversion file <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>file to be written </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structangleConversionConstant.html">angleConversionConstant</a> </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#3c5f27709351c49dd715212adc5ba7d2">mythenDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="8eb676a1ab6ef35601ba5cae942ba380"></a><!-- doxytag: member="slsDetector::writeCalibrationFile" ref="8eb676a1ab6ef35601ba5cae942ba380" args="(string fname, float gain, float offset)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::writeCalibrationFile </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>fname</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>gain</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float </td>
|
|
<td class="paramname"> <em>offset</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
writes a clibration file <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>file to be written </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>gain</em> </td><td></td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td></td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#10e7213bb0e7138c07231687e9a6899a">mythenDetector</a>, and <a class="el" href="classeigerDetector.html#d5fbecfcc46cb151160c6011aa8e33b2">eigerDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="82628148e11f4890c9d935ec921c1121"></a><!-- doxytag: member="slsDetector::writeConfigurationFile" ref="82628148e11f4890c9d935ec921c1121" args="(string const fname)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::writeConfigurationFile </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string const </td>
|
|
<td class="paramname"> <em>fname</em> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Every detector should have a basic configuration file containing: type (mythen, pilatus etc.) hostname portnumber communication type (default TCP/IP) eventually secondary portnumber (e.g. mythen stop function) number of modules installed if different from the detector size (x,y)<p>
|
|
to be changed
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="3e1a8e49fbfb34a54381452abc8b5258"></a><!-- doxytag: member="slsDetector::writeDataFile" ref="3e1a8e49fbfb34a54381452abc8b5258" args="(string fname, int *data)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::writeDataFile </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>fname</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int * </td>
|
|
<td class="paramname"> <em>data</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
writes a data file <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>of the file to be written </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>array of data values </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>OK or FAIL if it could not write the file or data=NULL </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#9a49c84d7ad664f7891b00fba0ce829a">mythenDetector</a>, and <a class="el" href="classeigerDetector.html#68a740d5e43fcdb00c57f401666c0856">eigerDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="889c060afb5693830ca2be4fc6a5442c"></a><!-- doxytag: member="slsDetector::writeDataFile" ref="889c060afb5693830ca2be4fc6a5442c" args="(string fname, float *data, float *err=NULL, float *ang=NULL, char dataformat='f', int nch=-1)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::writeDataFile </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>fname</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>data</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>err</em> = <code>NULL</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">float * </td>
|
|
<td class="paramname"> <em>ang</em> = <code>NULL</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char </td>
|
|
<td class="paramname"> <em>dataformat</em> = <code>'f'</code>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>nch</em> = <code>-1</code></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
writes a data file <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>of the file to be written </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>array of data values </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>err</em> </td><td>array of arrors on the data. If NULL no errors will be written</td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>ang</em> </td><td>array of angular values. If NULL data will be in the form chan-val(-err) otherwise ang-val(-err) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>dataformat</em> </td><td>format of the data: can be 'i' integer or 'f' float (default) </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>nch</em> </td><td>number of channels to be written to file. if -1 defaults to the number of installed channels of the detector </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>OK or FAIL if it could not write the file or data=NULL </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#42c1d320f594ebd87e2465cc986ee848">mythenDetector</a>, and <a class="el" href="classeigerDetector.html#5ad2bf5b10d17e8c4ad7ae6e81e647e0">eigerDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="742c8c6b4e7f3cad4f7e60c8c7c0c18b"></a><!-- doxytag: member="slsDetector::writeRegister" ref="742c8c6b4e7f3cad4f7e60c8c7c0c18b" args="(int addr, int val)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::writeRegister </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>addr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>val</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
write register <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>addr</em> </td><td>address value </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>current register value </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="afe675432bf8e5dcb47774da3cc81106"></a><!-- doxytag: member="slsDetector::writeTrimFile" ref="afe675432bf8e5dcb47774da3cc81106" args="(string fname, int imod)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::writeTrimFile </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>fname</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"> <em>imod</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
writes a trim file for module number imod - the values will be read from the current detector structure <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>name of the file to be written </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>imod</em> </td><td>module number </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>OK or FAIL if the file could not be written </dd></dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structsls__detector__module.html">sls_detector_module</a> <a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a> </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#94179431a737bbceb20f27ca1fd30349">mythenDetector</a>, and <a class="el" href="classeigerDetector.html#df3a0dff0fc3111e10af0363bdd15a6a">eigerDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="9cbb1f97b8e48bd4b108a2dfa992c6af"></a><!-- doxytag: member="slsDetector::writeTrimFile" ref="9cbb1f97b8e48bd4b108a2dfa992c6af" args="(string fname, sls_detector_module mod)" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int slsDetector::writeTrimFile </td>
|
|
<td>(</td>
|
|
<td class="paramtype">string </td>
|
|
<td class="paramname"> <em>fname</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="structsls__detector__module.html">sls_detector_module</a> </td>
|
|
<td class="paramname"> <em>mod</em></td><td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td><td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
writes a trim file <dl compact><dt><b>Parameters:</b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>name of the file to be written </td></tr>
|
|
<tr><td valign="top"></td><td valign="top"><em>mod</em> </td><td>module structure which has to be written to file </td></tr>
|
|
</table>
|
|
</dl>
|
|
<dl compact><dt><b>Returns:</b></dt><dd>OK or FAIL if the file could not be written</dd></dl>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="structsls__detector__module.html">sls_detector_module</a> </dd></dl>
|
|
|
|
<p>
|
|
Reimplemented in <a class="el" href="classmythenDetector.html#0b137abd78bd3d03653cd21436eb6c4d">mythenDetector</a>, and <a class="el" href="classeigerDetector.html#8380366bf7112021c49be8e6f29f18d8">eigerDetector</a>.
|
|
</div>
|
|
</div><p>
|
|
<hr><h2>Member Data Documentation</h2>
|
|
<a class="anchor" name="f370b8466441491d8496bb8130b8c5e7"></a><!-- doxytag: member="slsDetector::adcs" ref="f370b8466441491d8496bb8130b8c5e7" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float* <a class="el" href="classslsDetector.html#f370b8466441491d8496bb8130b8c5e7">slsDetector::adcs</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
pointer to adc valuse
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="614c98f77a8a3ec6cff57aa59e671123"></a><!-- doxytag: member="slsDetector::badChannelMask" ref="614c98f77a8a3ec6cff57aa59e671123" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int* <a class="el" href="classslsDetector.html#614c98f77a8a3ec6cff57aa59e671123">slsDetector::badChannelMask</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
pointer to bad channel mask 0 is channel is good 1 if it is bad<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classslsDetector.html#6a0ebe013e27c065b2f67158a27f64ac">fillBadChannelMask()</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="44335474559f7321f0309fbda304caf8"></a><!-- doxytag: member="slsDetector::chanregs" ref="44335474559f7321f0309fbda304caf8" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int* <a class="el" href="classslsDetector.html#44335474559f7321f0309fbda304caf8">slsDetector::chanregs</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
pointer to channal registers
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="0eb24981d044632eccba507bd15871a6"></a><!-- doxytag: member="slsDetector::chipregs" ref="0eb24981d044632eccba507bd15871a6" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int* <a class="el" href="classslsDetector.html#0eb24981d044632eccba507bd15871a6">slsDetector::chipregs</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
pointer to chip registers
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="07f3943ab8a65f061bbe1c1e1d22b700"></a><!-- doxytag: member="slsDetector::controlSocket" ref="07f3943ab8a65f061bbe1c1e1d22b700" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classMySocketTCP.html">MySocketTCP</a>* <a class="el" href="classslsDetector.html#07f3943ab8a65f061bbe1c1e1d22b700">slsDetector::controlSocket</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
socket for control commands
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="4bba77b0de9f911c87d48d12c15a632b"></a><!-- doxytag: member="slsDetector::currentI0" ref="4bba77b0de9f911c87d48d12c15a632b" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float <a class="el" href="classslsDetector.html#4bba77b0de9f911c87d48d12c15a632b">slsDetector::currentI0</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
I0 measured
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="9f64e866250e916299048c9816c9ef28"></a><!-- doxytag: member="slsDetector::currentPosition" ref="9f64e866250e916299048c9816c9ef28" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float <a class="el" href="classslsDetector.html#9f64e866250e916299048c9816c9ef28">slsDetector::currentPosition</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
current position of the detector
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="9a6cd8787f618c147faacc1f3602bcf5"></a><!-- doxytag: member="slsDetector::currentPositionIndex" ref="9a6cd8787f618c147faacc1f3602bcf5" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float <a class="el" href="classslsDetector.html#9a6cd8787f618c147faacc1f3602bcf5">slsDetector::currentPositionIndex</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
current position index of the detector
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="dc1b3f867b97136fca83f86c83b7ae14"></a><!-- doxytag: member="slsDetector::dacs" ref="dc1b3f867b97136fca83f86c83b7ae14" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float* <a class="el" href="classslsDetector.html#dc1b3f867b97136fca83f86c83b7ae14">slsDetector::dacs</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
pointer to dac valuse
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="8257cca09e23b601764e57f5a8bdaacd"></a><!-- doxytag: member="slsDetector::dataProcessingThread" ref="8257cca09e23b601764e57f5a8bdaacd" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">pthread_t <a class="el" href="classslsDetector.html#8257cca09e23b601764e57f5a8bdaacd">slsDetector::dataProcessingThread</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
data processing thread???
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="52e9fe9baf37db001cdf58f982ab5dd6"></a><!-- doxytag: member="slsDetector::dataQueue" ref="52e9fe9baf37db001cdf58f982ab5dd6" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">queue<int*> <a class="el" href="classslsDetector.html#52e9fe9baf37db001cdf58f982ab5dd6">slsDetector::dataQueue</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
data queue
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="1629e3c46678ae201f6797e4d827cb32"></a><!-- doxytag: member="slsDetector::dataSocket" ref="1629e3c46678ae201f6797e4d827cb32" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classMySocketTCP.html">MySocketTCP</a>* <a class="el" href="classslsDetector.html#1629e3c46678ae201f6797e4d827cb32">slsDetector::dataSocket</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
socket for data acquisition
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="b78d6f2abc185b2bde2c550b31e0ff72"></a><!-- doxytag: member="slsDetector::detectorModules" ref="b78d6f2abc185b2bde2c550b31e0ff72" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structsls__detector__module.html">sls_detector_module</a>* <a class="el" href="classslsDetector.html#b78d6f2abc185b2bde2c550b31e0ff72">slsDetector::detectorModules</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
pointer to detector module structures
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="37f4af284283e7a18a28cec3f4e4532f"></a><!-- doxytag: member="slsDetector::detId" ref="37f4af284283e7a18a28cec3f4e4532f" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int <a class="el" href="classslsDetector.html#37f4af284283e7a18a28cec3f4e4532f">slsDetector::detId</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
detector ID
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="a3c6e93198a2f8b072b7b84ba9af7c4b"></a><!-- doxytag: member="slsDetector::ffcoefficients" ref="a3c6e93198a2f8b072b7b84ba9af7c4b" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float* <a class="el" href="classslsDetector.html#a3c6e93198a2f8b072b7b84ba9af7c4b">slsDetector::ffcoefficients</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
pointer to flat field coefficients
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="636168b92509e96418c9134d6d82ad4c"></a><!-- doxytag: member="slsDetector::fferrors" ref="636168b92509e96418c9134d6d82ad4c" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float* <a class="el" href="classslsDetector.html#636168b92509e96418c9134d6d82ad4c">slsDetector::fferrors</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
pointer to flat field coefficient errors
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="81751fd6e87f9659a8b6afe13efec2cf"></a><!-- doxytag: member="slsDetector::mergingBins" ref="81751fd6e87f9659a8b6afe13efec2cf" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float* <a class="el" href="classslsDetector.html#81751fd6e87f9659a8b6afe13efec2cf">slsDetector::mergingBins</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
merging bins
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="fc173dcaeda2bbd7bbd6a874b5b5726c"></a><!-- doxytag: member="slsDetector::mergingCounts" ref="fc173dcaeda2bbd7bbd6a874b5b5726c" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float* <a class="el" href="classslsDetector.html#fc173dcaeda2bbd7bbd6a874b5b5726c">slsDetector::mergingCounts</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
merging counts
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="f357d3b5961ead7ec263a47aa51c4c11"></a><!-- doxytag: member="slsDetector::mergingErrors" ref="f357d3b5961ead7ec263a47aa51c4c11" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">float* <a class="el" href="classslsDetector.html#f357d3b5961ead7ec263a47aa51c4c11">slsDetector::mergingErrors</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
merging errors
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="91c5e22042997d86c2c4d16ef1be9150"></a><!-- doxytag: member="slsDetector::mergingMultiplicity" ref="91c5e22042997d86c2c4d16ef1be9150" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int* <a class="el" href="classslsDetector.html#91c5e22042997d86c2c4d16ef1be9150">slsDetector::mergingMultiplicity</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
merging multiplicity
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="7572bba8e53f900d4126657827bec3cf"></a><!-- doxytag: member="slsDetector::onlineFlag" ref="7572bba8e53f900d4126657827bec3cf" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int <a class="el" href="classslsDetector.html#7572bba8e53f900d4126657827bec3cf">slsDetector::onlineFlag</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classslsDetector.html#f041f723f702c17de292061d6d609698">setOnline</a> </dd></dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="53a78c7fe99f93b9bba8d0c2cb32a181"></a><!-- doxytag: member="slsDetector::shmId" ref="53a78c7fe99f93b9bba8d0c2cb32a181" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int <a class="el" href="classslsDetector.html#53a78c7fe99f93b9bba8d0c2cb32a181">slsDetector::shmId</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
shared memeory ID
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="efee578cdd732339788a38707e5ce531"></a><!-- doxytag: member="slsDetector::stopSocket" ref="efee578cdd732339788a38707e5ce531" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classMySocketTCP.html">MySocketTCP</a>* <a class="el" href="classslsDetector.html#efee578cdd732339788a38707e5ce531">slsDetector::stopSocket</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
socket for emergency stop
|
|
</div>
|
|
</div><p>
|
|
<a class="anchor" name="fe0da5c1491ebf18f187f0a26c5ded11"></a><!-- doxytag: member="slsDetector::thisDetector" ref="fe0da5c1491ebf18f187f0a26c5ded11" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structslsDetector_1_1sharedSlsDetector.html">sharedSlsDetector</a>* <a class="el" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">slsDetector::thisDetector</a><code> [private]</code> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
address of the detector structure in shared memory
|
|
</div>
|
|
</div><p>
|
|
<hr>The documentation for this class was generated from the following files:<ul>
|
|
<li>slsDetector/<a class="el" href="slsDetector_8h-source.html">slsDetector.h</a><li>slsDetector/<a class="el" href="slsDetector_8cpp.html">slsDetector.cpp</a></ul>
|
|
<hr size="1"><address style="align: right;"><small>Generated on Fri Oct 9 16:01:05 2009 by
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
|
</body>
|
|
</html>
|