slsDetectorPackage/slsDetectorSoftware/docs/html/mythenDetector_8h-source.html
bergamaschi 3f148c52a1 some more details fixed
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@4 951219d9-93cf-4727-9268-0efd64621fa3
2009-12-01 14:32:14 +00:00

128 lines
17 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>mythenDetector/mythenDetector.h Source File</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&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>mythenDetector/mythenDetector.h</h1><a href="mythenDetector_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002
<a name="l00003"></a>00003
<a name="l00004"></a>00004 <span class="preprocessor">#ifndef MYTHEN_DETECTOR_H</span>
<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor">#define MYTHEN_DETECTOR_H</span>
<a name="l00006"></a>00006 <span class="preprocessor"></span>
<a name="l00007"></a>00007 <span class="preprocessor">#include "<a class="code" href="slsDetector_8h.html">slsDetector.h</a>"</span>
<a name="l00008"></a>00008
<a name="l00009"></a><a class="code" href="mythenDetector_8h.html#082faba3de8ce8379e160e3067333d14">00009</a> <span class="preprocessor">#define defaultTDead {170,90,750}</span>
<a name="l00010"></a>00010 <span class="preprocessor"></span>
<a name="l00011"></a>00011 <span class="keyword">using namespace </span>std;
<a name="l00023"></a><a class="code" href="classmythenDetector.html">00023</a> <span class="keyword">class </span><a class="code" href="classmythenDetector.html">mythenDetector</a> : <span class="keyword">public</span> <a class="code" href="classslsDetector.html">slsDetector</a>{
<a name="l00024"></a>00024
<a name="l00025"></a>00025
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="keyword">public</span>:
<a name="l00031"></a><a class="code" href="classmythenDetector.html#5efa6a91622e5e173d7491801f60bda0">00031</a> <a class="code" href="classmythenDetector.html#5efa6a91622e5e173d7491801f60bda0">mythenDetector</a>(<span class="keywordtype">int</span> <span class="keywordtype">id</span>=0) : <a class="code" href="classslsDetector.html">slsDetector</a>(<a class="code" href="sls__detector__defs_8h.html#ab9f984f7b6798e684c8f3e6b63c630138343da48d2f6783d4a1da59a94d5907">MYTHEN</a>, id){};
<a name="l00032"></a>00032 <span class="comment">//slsDetector(string const fname);</span>
<a name="l00033"></a>00033 <span class="comment">// ~slsDetector(){while(dataQueue.size()&gt;0){}};</span>
<a name="l00035"></a><a class="code" href="classmythenDetector.html#8118166c2e7c3d3968b9ae5016614693">00035</a> <span class="comment"></span> <a class="code" href="classmythenDetector.html#8118166c2e7c3d3968b9ae5016614693">~mythenDetector</a>(){};
<a name="l00036"></a>00036
<a name="l00037"></a>00037
<a name="l00038"></a>00038 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#92a32bcc57919fcf9eea844905640e90">readConfigurationFile</a>(string <span class="keyword">const</span> fname);
<a name="l00050"></a>00050 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#6ad688e0c1a59001ecc61117c67e5434">writeConfigurationFile</a>(string <span class="keyword">const</span> fname);
<a name="l00051"></a>00051
<a name="l00052"></a>00052
<a name="l00053"></a>00053 <span class="comment">/* </span>
<a name="l00054"></a>00054 <span class="comment"> It should be possible to dump all the settings of the detector (including trimbits, threshold energy, gating/triggering, acquisition time etc.</span>
<a name="l00055"></a>00055 <span class="comment"> in a file and retrieve it for repeating the measurement with identicals ettings, if necessary</span>
<a name="l00056"></a>00056 <span class="comment"> */</span>
<a name="l00062"></a>00062 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#a0fe9987e8fa240a312ad353ae539188">dumpDetectorSetup</a>(string <span class="keyword">const</span> fname);
<a name="l00068"></a>00068 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#8eedcd0b6739dd878559de5b675fae83">retrieveDetectorSetup</a>(string <span class="keyword">const</span> fname);
<a name="l00069"></a>00069
<a name="l00070"></a>00070
<a name="l00071"></a>00071
<a name="l00079"></a>00079 <a class="code" href="structsls__detector__module.html">sls_detector_module</a>* <a class="code" href="classmythenDetector.html#2120f9105997fd8f8bf9165dbffc55e7">readTrimFile</a>(string fname, <a class="code" href="structsls__detector__module.html">sls_detector_module</a>* myMod=NULL);
<a name="l00080"></a>00080
<a name="l00089"></a>00089 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#0b137abd78bd3d03653cd21436eb6c4d">writeTrimFile</a>(string fname, <a class="code" href="structsls__detector__module.html">sls_detector_module</a> mod);
<a name="l00090"></a>00090
<a name="l00098"></a>00098 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#0b137abd78bd3d03653cd21436eb6c4d">writeTrimFile</a>(string fname, <span class="keywordtype">int</span> imod);
<a name="l00099"></a>00099
<a name="l00113"></a>00113 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#42c1d320f594ebd87e2465cc986ee848">writeDataFile</a>(string fname, <span class="keywordtype">float</span> *data, <span class="keywordtype">float</span> *err=NULL, <span class="keywordtype">float</span> *ang=NULL, <span class="keywordtype">char</span> dataformat=<span class="charliteral">'f'</span>, <span class="keywordtype">int</span> nch=-1);
<a name="l00114"></a>00114
<a name="l00121"></a>00121 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#42c1d320f594ebd87e2465cc986ee848">writeDataFile</a>(string fname, <span class="keywordtype">int</span> *data);
<a name="l00122"></a>00122
<a name="l00136"></a>00136 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#1937a5355eed0dc553cb05d2098f7c47">readDataFile</a>(string fname, <span class="keywordtype">float</span> *data, <span class="keywordtype">float</span> *err=NULL, <span class="keywordtype">float</span> *ang=NULL, <span class="keywordtype">char</span> dataformat=<span class="charliteral">'f'</span>, <span class="keywordtype">int</span> nch=0);
<a name="l00137"></a>00137
<a name="l00144"></a>00144 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#1937a5355eed0dc553cb05d2098f7c47">readDataFile</a>(string fname, <span class="keywordtype">int</span> *data);
<a name="l00145"></a>00145
<a name="l00146"></a>00146
<a name="l00154"></a>00154 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#f8f1b7b42012420fc557aacd714140f8">readCalibrationFile</a>(string fname, <span class="keywordtype">float</span> &amp;gain, <span class="keywordtype">float</span> &amp;offset);
<a name="l00162"></a>00162 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#10e7213bb0e7138c07231687e9a6899a">writeCalibrationFile</a>(string fname, <span class="keywordtype">float</span> gain, <span class="keywordtype">float</span> offset);
<a name="l00163"></a>00163
<a name="l00164"></a>00164
<a name="l00170"></a>00170 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#33bf1b939eb877bbd4aa42f400d7ca36">readAngularConversion</a>(string fname=<span class="stringliteral">""</span>);
<a name="l00176"></a>00176 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#3c5f27709351c49dd715212adc5ba7d2">writeAngularConversion</a>(string fname=<span class="stringliteral">""</span>);
<a name="l00177"></a>00177
<a name="l00178"></a>00178
<a name="l00179"></a>00179
<a name="l00180"></a>00180
<a name="l00181"></a>00181 <span class="comment">//Corrections</span>
<a name="l00182"></a>00182
<a name="l00183"></a>00183
<a name="l00189"></a>00189 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#78efe554a277de7fb8759307992fc61b">setAngularConversion</a>(string fname=<span class="stringliteral">""</span>);
<a name="l00190"></a>00190
<a name="l00197"></a>00197 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#fab45faa264e44178fc52300eaf92cad">getAngularConversion</a>(<span class="keywordtype">int</span> &amp;direction, <a class="code" href="structangleConversionConstant.html">angleConversionConstant</a> *angconv=NULL);
<a name="l00198"></a>00198
<a name="l00199"></a>00199
<a name="l00201"></a><a class="code" href="classmythenDetector.html#fab45faa264e44178fc52300eaf92cad">00201</a> <span class="keywordtype">char</span> *<a class="code" href="classmythenDetector.html#fab45faa264e44178fc52300eaf92cad">getAngularConversion</a>() {<span class="keywordflow">return</span> <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;angConvFile;};
<a name="l00202"></a>00202
<a name="l00206"></a><a class="code" href="classmythenDetector.html#e24dd88c4eb965687bd656a12bae8ad7">00206</a> <span class="keywordtype">float</span> <a class="code" href="classmythenDetector.html#e24dd88c4eb965687bd656a12bae8ad7">setGlobalOffset</a>(<span class="keywordtype">float</span> f){<a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;globalOffset=f; <span class="keywordflow">return</span> <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;globalOffset;};
<a name="l00207"></a>00207
<a name="l00211"></a><a class="code" href="classmythenDetector.html#fe142e36f1a5fa8b2ab5fc45e9f8c781">00211</a> <span class="keywordtype">float</span> <a class="code" href="classmythenDetector.html#fe142e36f1a5fa8b2ab5fc45e9f8c781">setFineOffset</a>(<span class="keywordtype">float</span> f){<a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;fineOffset=f; <span class="keywordflow">return</span> <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;fineOffset;};
<a name="l00215"></a><a class="code" href="classmythenDetector.html#00720f1445f3f301fa3316828d978de6">00215</a> <span class="keywordtype">float</span> <a class="code" href="classmythenDetector.html#00720f1445f3f301fa3316828d978de6">getFineOffset</a>(){<span class="keywordflow">return</span> <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;fineOffset;};
<a name="l00216"></a>00216
<a name="l00220"></a><a class="code" href="classmythenDetector.html#b2086f336d7198381453556b520dd556">00220</a> <span class="keywordtype">float</span> <a class="code" href="classmythenDetector.html#b2086f336d7198381453556b520dd556">getGlobalOffset</a>(){<span class="keywordflow">return</span> <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;globalOffset;};
<a name="l00221"></a>00221
<a name="l00228"></a><a class="code" href="classmythenDetector.html#1ffb0963f724e6d6d497685e6de62fd6">00228</a> <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#1ffb0963f724e6d6d497685e6de62fd6">setPositions</a>(<span class="keywordtype">int</span> nPos, <span class="keywordtype">float</span> *<a class="code" href="usersFunctions_8c.html#f14c6d623ff1aec896b4d087ab74caa0">pos</a>){<a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;numberOfPositions=nPos; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> ip=0; ip&lt;nPos; ip++) <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;detPositions[ip]=pos[ip]; <span class="keywordflow">return</span> <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;numberOfPositions;};
<a name="l00234"></a><a class="code" href="classmythenDetector.html#0d306720dced0d3576474978b06b4be4">00234</a> <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#0d306720dced0d3576474978b06b4be4">getPositions</a>(<span class="keywordtype">float</span> *<a class="code" href="usersFunctions_8c.html#f14c6d623ff1aec896b4d087ab74caa0">pos</a>=NULL){ <span class="keywordflow">if</span> (<a class="code" href="usersFunctions_8c.html#f14c6d623ff1aec896b4d087ab74caa0">pos</a> ) {<span class="keywordflow">for</span> (<span class="keywordtype">int</span> ip=0; ip&lt;<a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;numberOfPositions; ip++) <a class="code" href="usersFunctions_8c.html#f14c6d623ff1aec896b4d087ab74caa0">pos</a>[ip]=<a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;detPositions[ip];} <span class="keywordflow">return</span> <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;numberOfPositions;};
<a name="l00235"></a>00235
<a name="l00236"></a>00236
<a name="l00238"></a><a class="code" href="classmythenDetector.html#8f466447f886379204a59eb6785f1ed0">00238</a> <span class="keywordtype">float</span> <a class="code" href="classmythenDetector.html#8f466447f886379204a59eb6785f1ed0">setBinSize</a>(<span class="keywordtype">float</span> bs) {<a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;binSize=bs; <span class="keywordflow">return</span> <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;binSize;}
<a name="l00240"></a><a class="code" href="classmythenDetector.html#9fd4e479d7eb3f9c53d5d56a43bbccaf">00240</a> <span class="keywordtype">float</span> <a class="code" href="classmythenDetector.html#9fd4e479d7eb3f9c53d5d56a43bbccaf">getBinSize</a>() {<span class="keywordflow">return</span> <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>-&gt;binSize;}
<a name="l00241"></a>00241
<a name="l00242"></a>00242
<a name="l00243"></a>00243
<a name="l00244"></a>00244
<a name="l00252"></a>00252 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#7d38c9af0d94bc15571c3c15b38f39a8">resetMerging</a>(<span class="keywordtype">float</span> *mp, <span class="keywordtype">float</span> *mv,<span class="keywordtype">float</span> *me, <span class="keywordtype">int</span> *mm);
<a name="l00262"></a>00262 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#eaaf7d7e3150f473e3bbcf59d91692c2">addToMerging</a>(<span class="keywordtype">float</span> *p1, <span class="keywordtype">float</span> *v1, <span class="keywordtype">float</span> *e1, <span class="keywordtype">float</span> *mp, <span class="keywordtype">float</span> *mv,<span class="keywordtype">float</span> *me, <span class="keywordtype">int</span> *mm);
<a name="l00263"></a>00263
<a name="l00272"></a>00272 <span class="keywordtype">int</span> <a class="code" href="classmythenDetector.html#a919a42bd89fe21c4086bae5f1fb2f32">finalizeMerging</a>(<span class="keywordtype">float</span> *mp, <span class="keywordtype">float</span> *mv,<span class="keywordtype">float</span> *me, <span class="keywordtype">int</span> *mm);
<a name="l00273"></a>00273
<a name="l00274"></a>00274
<a name="l00279"></a>00279 <span class="keywordtype">void</span>* <a class="code" href="classmythenDetector.html#2555fc046cd8d5ba7116003ad4027112">processData</a>(<span class="keywordtype">int</span> delflag=1); <span class="comment">// thread function</span>
<a name="l00280"></a>00280
<a name="l00290"></a>00290 <span class="keywordtype">void</span> <a class="code" href="classmythenDetector.html#f393765b5a3d5f8f05251116f38d52dd">acquire</a>(<span class="keywordtype">int</span> delflag=1);
<a name="l00291"></a>00291
<a name="l00292"></a>00292
<a name="l00293"></a>00293 };
<a name="l00294"></a>00294
<a name="l00295"></a>00295
<a name="l00296"></a>00296 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Dec 1 15:31:44 2009 by&nbsp;
<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>