mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-29 01:20:02 +02:00

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@4 951219d9-93cf-4727-9268-0efd64621fa3
128 lines
17 KiB
HTML
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 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 Pages</span></a></li>
|
|
</ul></div>
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="files.html"><span>File List</span></a></li>
|
|
<li><a href="globals.html"><span>File 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()>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> &gain, <span class="keywordtype">float</span> &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> &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>->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>->globalOffset=f; <span class="keywordflow">return</span> <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>->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>->fineOffset=f; <span class="keywordflow">return</span> <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>->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>->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>->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>->numberOfPositions=nPos; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> ip=0; ip<nPos; ip++) <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>->detPositions[ip]=pos[ip]; <span class="keywordflow">return</span> <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>->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<<a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>->numberOfPositions; ip++) <a class="code" href="usersFunctions_8c.html#f14c6d623ff1aec896b4d087ab74caa0">pos</a>[ip]=<a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>->detPositions[ip];} <span class="keywordflow">return</span> <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>->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>->binSize=bs; <span class="keywordflow">return</span> <a class="code" href="classslsDetector.html#fe0da5c1491ebf18f187f0a26c5ded11">thisDetector</a>->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>->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
|
|
<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>
|