bergamaschi e2f9d69677 SlsDetector client library and servers. First import.
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@1 951219d9-93cf-4727-9268-0efd64621fa3
2009-10-09 14:10:09 +00:00

423 lines
23 KiB
TeX

\section{mythen\-Detector Class Reference}
\label{classmythenDetector}\index{mythenDetector@{mythenDetector}}
This calss contains all mythen specific functions.
{\tt \#include $<$mythen\-Detector.h$>$}
Inheritance diagram for mythen\-Detector::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classmythenDetector}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item
\bf{mythen\-Detector} (int id=0)
\item
\bf{$\sim$mythen\-Detector} ()
\item
\bf{sls\_\-detector\_\-module} $\ast$ \bf{read\-Trim\-File} (string fname, \bf{sls\_\-detector\_\-module} $\ast$my\-Mod=NULL)
\item
int \bf{write\-Trim\-File} (string fname, \bf{sls\_\-detector\_\-module} mod)
\item
int \bf{write\-Trim\-File} (string fname, int imod)
\item
int \bf{write\-Data\-File} (string fname, float $\ast$data, float $\ast$err=NULL, float $\ast$ang=NULL, char dataformat='f', int nch=-1)
\item
int \bf{write\-Data\-File} (string fname, int $\ast$data)
\item
int \bf{read\-Data\-File} (string fname, float $\ast$data, float $\ast$err=NULL, float $\ast$ang=NULL, char dataformat='f', int nch=0)
\item
int \bf{read\-Data\-File} (string fname, int $\ast$data)
\item
int \bf{read\-Calibration\-File} (string fname, float \&gain, float \&offset)
\item
int \bf{write\-Calibration\-File} (string fname, float gain, float offset)
\item
int \bf{read\-Angular\-Conversion} (string fname=\char`\"{}\char`\"{})
\item
int \bf{write\-Angular\-Conversion} (string fname=\char`\"{}\char`\"{})
\item
int \bf{set\-Angular\-Conversion} (string fname=\char`\"{}\char`\"{})
\item
int \bf{get\-Angular\-Conversion} (int \&direction, \bf{angle\-Conversion\-Constant} $\ast$angconv=NULL)
\item
float \bf{set\-Global\-Offset} (float f)
\item
float \bf{set\-Fine\-Offset} (float f)
\item
float \bf{get\-Fine\-Offset} ()
\item
float \bf{get\-Global\-Offset} ()
\item
int \bf{set\-Positions} (int n\-Pos, float $\ast$\bf{pos})
\item
int \bf{get\-Positions} (float $\ast$\bf{pos}=NULL)
\item
float \bf{set\-Bin\-Size} (float bs)
\item
float \bf{get\-Bin\-Size} ()
\item
float $\ast$ \bf{decode\-Data} (int $\ast$datain)
\item
int \bf{reset\-Merging} (float $\ast$mp, float $\ast$mv, float $\ast$me, int $\ast$mm)
\item
int \bf{add\-To\-Merging} (float $\ast$p1, float $\ast$v1, float $\ast$e1, float $\ast$mp, float $\ast$mv, float $\ast$me, int $\ast$mm)
\item
int \bf{finalize\-Merging} (float $\ast$mp, float $\ast$mv, float $\ast$me, int $\ast$mm)
\end{CompactItemize}
\subsection{Detailed Description}
This calss contains all mythen specific functions.
The \doxyref{mythen\-Detector}{p.}{classmythenDetector} class contains the functions specific to the mythen detector
\begin{Desc}
\item[Author:]Anna Bergamaschi \end{Desc}
\begin{Desc}
\item[Version:]0.1alpha (any string) \end{Desc}
\subsection{Constructor \& Destructor Documentation}
\index{mythenDetector@{mythen\-Detector}!mythenDetector@{mythenDetector}}
\index{mythenDetector@{mythenDetector}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}mythen\-Detector::mythen\-Detector (int {\em id} = {\tt 0})}\label{classmythenDetector_5efa6a91622e5e173d7491801f60bda0}
(default) constructor
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em id}]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 \end{description}
\end{Desc}
\index{mythenDetector@{mythen\-Detector}!~mythenDetector@{$\sim$mythenDetector}}
\index{~mythenDetector@{$\sim$mythenDetector}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}mythen\-Detector::$\sim$mythen\-Detector ()\hspace{0.3cm}{\tt [inline]}}\label{classmythenDetector_8118166c2e7c3d3968b9ae5016614693}
destructor
\subsection{Member Function Documentation}
\index{mythenDetector@{mythen\-Detector}!addToMerging@{addToMerging}}
\index{addToMerging@{addToMerging}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::add\-To\-Merging (float $\ast$ {\em p1}, float $\ast$ {\em v1}, float $\ast$ {\em e1}, float $\ast$ {\em mp}, float $\ast$ {\em mv}, float $\ast$ {\em me}, int $\ast$ {\em mm})}\label{classmythenDetector_eaaf7d7e3150f473e3bbcf59d91692c2}
not yet implemented merge dataset \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em p1}]angular positions of dataset \item[{\em v1}]data \item[{\em e1}]errors \item[{\em mp}]already merged postions \item[{\em mv}]already merged data \item[{\em me}]already merged errors (squared sum) \item[{\em mm}]multiplicity of merged arrays \end{description}
\end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_ed3ddadb246080ef644b6d1455fa2e32}.\index{mythenDetector@{mythen\-Detector}!decodeData@{decodeData}}
\index{decodeData@{decodeData}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}float$\ast$ mythen\-Detector::decode\-Data (int $\ast$ {\em datain})}\label{classmythenDetector_77e8c92003fab14da768af660509241d}
decode data from the detector converting them to an array of floats, one for each channle \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em datain}]data from the detector \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]pointer to a float array with a data per channel \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_937d257464bade6dc6d3ab42c86843ba}.\index{mythenDetector@{mythen\-Detector}!finalizeMerging@{finalizeMerging}}
\index{finalizeMerging@{finalizeMerging}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::finalize\-Merging (float $\ast$ {\em mp}, float $\ast$ {\em mv}, float $\ast$ {\em me}, int $\ast$ {\em mm})}\label{classmythenDetector_a919a42bd89fe21c4086bae5f1fb2f32}
calculates the \char`\"{}final\char`\"{} positions, data value and errors for the emrged data \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em mp}]already merged postions \item[{\em mv}]already merged data \item[{\em me}]already merged errors (squared sum) \item[{\em mm}]multiplicity of merged arrays \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]FAIL or the \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_8f73479f68ca2171fd2108c2f157299e}.\index{mythenDetector@{mythen\-Detector}!getAngularConversion@{getAngularConversion}}
\index{getAngularConversion@{getAngularConversion}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::get\-Angular\-Conversion (int \& {\em direction}, \bf{angle\-Conversion\-Constant} $\ast$ {\em angconv} = {\tt NULL})}\label{classmythenDetector_b2b2f17c36883323ad0abf762c63494f}
get angular conversion \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em reference}]to diffractometer direction \item[{\em angconv}]array that will be filled with the angular conversion constants \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]0 if angular conversion disabled, $>$0 otherwise \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_a146baee5af54b53db0997de02f4779c}.\index{mythenDetector@{mythen\-Detector}!getBinSize@{getBinSize}}
\index{getBinSize@{getBinSize}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}float mythen\-Detector::get\-Bin\-Size ()\hspace{0.3cm}{\tt [inline]}}\label{classmythenDetector_9fd4e479d7eb3f9c53d5d56a43bbccaf}
return detector bin size used for merging (approx angular resolution)
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_8a78eda56f5a0c487bbc4e2f962d04db}.\index{mythenDetector@{mythen\-Detector}!getFineOffset@{getFineOffset}}
\index{getFineOffset@{getFineOffset}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}float mythen\-Detector::get\-Fine\-Offset ()\hspace{0.3cm}{\tt [inline]}}\label{classmythenDetector_00720f1445f3f301fa3316828d978de6}
get detector fine offset
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_1a402a849d04190024e9dc87d4dae6dc}.\index{mythenDetector@{mythen\-Detector}!getGlobalOffset@{getGlobalOffset}}
\index{getGlobalOffset@{getGlobalOffset}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}float mythen\-Detector::get\-Global\-Offset ()\hspace{0.3cm}{\tt [inline]}}\label{classmythenDetector_b2086f336d7198381453556b520dd556}
get detector global offset
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_42f854256e2900f18b2a17201813b48c}.\index{mythenDetector@{mythen\-Detector}!getPositions@{getPositions}}
\index{getPositions@{getPositions}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::get\-Positions (float $\ast$ {\em pos} = {\tt NULL})\hspace{0.3cm}{\tt [inline]}}\label{classmythenDetector_0d306720dced0d3576474978b06b4be4}
get positions for the acquisition \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em pos}]array which will contain the encoder positions \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]number of positions \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_732f6d36456d6e87d70324a4bdc1bbb8}.\index{mythenDetector@{mythen\-Detector}!readAngularConversion@{readAngularConversion}}
\index{readAngularConversion@{readAngularConversion}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::read\-Angular\-Conversion (string {\em fname} = {\tt \char`\"{}\char`\"{}})}\label{classmythenDetector_33bf1b939eb877bbd4aa42f400d7ca36}
reads an angular conversion file \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em fname}]file to be read \end{description}
\end{Desc}
\begin{Desc}
\item[See also:]\doxyref{angle\-Conversion\-Constant}{p.}{structangleConversionConstant} \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_23398787e01e519bf8ac5f313ca5af01}.\index{mythenDetector@{mythen\-Detector}!readCalibrationFile@{readCalibrationFile}}
\index{readCalibrationFile@{readCalibrationFile}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::read\-Calibration\-File (string {\em fname}, float \& {\em gain}, float \& {\em offset})}\label{classmythenDetector_f8f1b7b42012420fc557aacd714140f8}
int \doxyref{read\-Calibration\-File(string fname, float \&gain, float \&offset)}{p.}{classmythenDetector_f8f1b7b42012420fc557aacd714140f8}; \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em fname}]file to be read \item[{\em gain}]reference to the gain variable reference to the offset variable \end{description}
\end{Desc}
\begin{Desc}
\item[See also:]\doxyref{shared\-Sls\-Detector}{p.}{classslsDetector_2dd6bff7d94ab8005c2797152b19264e} \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_9305060e7499cfcabac23b99c884b92b}.\index{mythenDetector@{mythen\-Detector}!readDataFile@{readDataFile}}
\index{readDataFile@{readDataFile}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::read\-Data\-File (string {\em fname}, int $\ast$ {\em data})}\label{classmythenDetector_d83819d61ea01148cf18cd3c46f2a9f7}
reads a data file \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em name}]of the file to be read \item[{\em data}]array of data values \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]OK or FAIL if it could not read the file or data=NULL \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_0d27017bc1140cc9da3e797f03848f2e}.\index{mythenDetector@{mythen\-Detector}!readDataFile@{readDataFile}}
\index{readDataFile@{readDataFile}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::read\-Data\-File (string {\em fname}, float $\ast$ {\em data}, float $\ast$ {\em err} = {\tt NULL}, float $\ast$ {\em ang} = {\tt NULL}, char {\em dataformat} = {\tt 'f'}, int {\em nch} = {\tt 0})}\label{classmythenDetector_1937a5355eed0dc553cb05d2098f7c47}
reads a data file \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em name}]of the file to be read \item[{\em data}]array of data values to be filled \item[{\em err}]array of arrors on the data. If NULL no errors are expected on the file\item[{\em ang}]array of angular values. If NULL data are expected in the form chan-val(-err) otherwise ang-val(-err) \item[{\em dataformat}]format of the data: can be 'i' integer or 'f' float (default) \item[{\em nch}]number of channels to be written to file. if $<$=0 defaults to the number of installed channels of the detector \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]OK or FAIL if it could not read the file or data=NULL \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_ffd62fa6a3487693316209ea71502b4b}.\index{mythenDetector@{mythen\-Detector}!readTrimFile@{readTrimFile}}
\index{readTrimFile@{readTrimFile}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\bf{sls\_\-detector\_\-module}$\ast$ mythen\-Detector::read\-Trim\-File (string {\em fname}, \bf{sls\_\-detector\_\-module} $\ast$ {\em my\-Mod} = {\tt NULL})}\label{classmythenDetector_2120f9105997fd8f8bf9165dbffc55e7}
reads a trim file \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em fname}]name of the file to be read \item[{\em my\-Mod}]pointer to the module structure which has to be set. \par
If it is NULL a new module structure will be created \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the pointer to my\-Mod or NULL if reading the file failed \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_e84b8a7a2b27db3f89a98f9f8a81efca}.\index{mythenDetector@{mythen\-Detector}!resetMerging@{resetMerging}}
\index{resetMerging@{resetMerging}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::reset\-Merging (float $\ast$ {\em mp}, float $\ast$ {\em mv}, float $\ast$ {\em me}, int $\ast$ {\em mm})}\label{classmythenDetector_7d38c9af0d94bc15571c3c15b38f39a8}
sets the arrays of the merged data to 0. NB The array should be created with size $>$= 360./get\-Bin\-Size(); \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em mp}]already merged postions \item[{\em mv}]already merged data \item[{\em me}]already merged errors (squared sum) \item[{\em mm}]multiplicity of merged arrays \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]OK or FAIL \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_208c3a5a80ba931056f1f2ff3cb5d0e5}.\index{mythenDetector@{mythen\-Detector}!setAngularConversion@{setAngularConversion}}
\index{setAngularConversion@{setAngularConversion}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::set\-Angular\-Conversion (string {\em fname} = {\tt \char`\"{}\char`\"{}})}\label{classmythenDetector_78efe554a277de7fb8759307992fc61b}
set angular conversion \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em fname}]file with angular conversion constants (\char`\"{}\char`\"{} disable) \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]0 if angular conversion disabled, $>$0 otherwise \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_30fe39ddd78fa880b6b7815d1d5462ec}.\index{mythenDetector@{mythen\-Detector}!setBinSize@{setBinSize}}
\index{setBinSize@{setBinSize}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}float mythen\-Detector::set\-Bin\-Size (float {\em bs})\hspace{0.3cm}{\tt [inline]}}\label{classmythenDetector_8f466447f886379204a59eb6785f1ed0}
set detector bin size used for merging (approx angular resolution)
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_96e2fb6fb0aa34bdbe59facf367c4ae1}.\index{mythenDetector@{mythen\-Detector}!setFineOffset@{setFineOffset}}
\index{setFineOffset@{setFineOffset}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}float mythen\-Detector::set\-Fine\-Offset (float {\em f})\hspace{0.3cm}{\tt [inline]}}\label{classmythenDetector_fe142e36f1a5fa8b2ab5fc45e9f8c781}
set detector fine offset
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_fd3b79c59688a7a0f4f72ba5676a2f9b}.\index{mythenDetector@{mythen\-Detector}!setGlobalOffset@{setGlobalOffset}}
\index{setGlobalOffset@{setGlobalOffset}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}float mythen\-Detector::set\-Global\-Offset (float {\em f})\hspace{0.3cm}{\tt [inline]}}\label{classmythenDetector_e24dd88c4eb965687bd656a12bae8ad7}
set detector global offset
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_84c8dc8017e692d93246cd546e6366c1}.\index{mythenDetector@{mythen\-Detector}!setPositions@{setPositions}}
\index{setPositions@{setPositions}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::set\-Positions (int {\em n\-Pos}, float $\ast$ {\em pos})\hspace{0.3cm}{\tt [inline]}}\label{classmythenDetector_1ffb0963f724e6d6d497685e6de62fd6}
set positions for the acquisition \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em n\-Pos}]number of positions \item[{\em pos}]array with the encoder positions \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]number of positions \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_ed6493ad015660281b14814f9a7f6cb5}.\index{mythenDetector@{mythen\-Detector}!writeAngularConversion@{writeAngularConversion}}
\index{writeAngularConversion@{writeAngularConversion}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::write\-Angular\-Conversion (string {\em fname} = {\tt \char`\"{}\char`\"{}})}\label{classmythenDetector_3c5f27709351c49dd715212adc5ba7d2}
writes an angular conversion file \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em fname}]file to be written \end{description}
\end{Desc}
\begin{Desc}
\item[See also:]\doxyref{angle\-Conversion\-Constant}{p.}{structangleConversionConstant} \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_921f212286be085d7e1b8d0d11110d9c}.\index{mythenDetector@{mythen\-Detector}!writeCalibrationFile@{writeCalibrationFile}}
\index{writeCalibrationFile@{writeCalibrationFile}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::write\-Calibration\-File (string {\em fname}, float {\em gain}, float {\em offset})}\label{classmythenDetector_10e7213bb0e7138c07231687e9a6899a}
writes a clibration file \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em fname}]file to be written \item[{\em gain}]\item[{\em offset}]\end{description}
\end{Desc}
\begin{Desc}
\item[See also:]\doxyref{shared\-Sls\-Detector}{p.}{classslsDetector_2dd6bff7d94ab8005c2797152b19264e} \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_8eb676a1ab6ef35601ba5cae942ba380}.\index{mythenDetector@{mythen\-Detector}!writeDataFile@{writeDataFile}}
\index{writeDataFile@{writeDataFile}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::write\-Data\-File (string {\em fname}, int $\ast$ {\em data})}\label{classmythenDetector_9a49c84d7ad664f7891b00fba0ce829a}
writes a data file \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em name}]of the file to be written \item[{\em data}]array of data values \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]OK or FAIL if it could not write the file or data=NULL \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_3e1a8e49fbfb34a54381452abc8b5258}.\index{mythenDetector@{mythen\-Detector}!writeDataFile@{writeDataFile}}
\index{writeDataFile@{writeDataFile}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::write\-Data\-File (string {\em fname}, float $\ast$ {\em data}, float $\ast$ {\em err} = {\tt NULL}, float $\ast$ {\em ang} = {\tt NULL}, char {\em dataformat} = {\tt 'f'}, int {\em nch} = {\tt -1})}\label{classmythenDetector_42c1d320f594ebd87e2465cc986ee848}
writes a data file \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em name}]of the file to be written \item[{\em data}]array of data values \item[{\em err}]array of arrors on the data. If NULL no errors will be written\item[{\em ang}]array of angular values. If NULL data will be in the form chan-val(-err) otherwise ang-val(-err) \item[{\em dataformat}]format of the data: can be 'i' integer or 'f' float (default) \item[{\em nch}]number of channels to be written to file. if -1 defaults to the number of installed channels of the detector \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]OK or FAIL if it could not write the file or data=NULL \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_889c060afb5693830ca2be4fc6a5442c}.\index{mythenDetector@{mythen\-Detector}!writeTrimFile@{writeTrimFile}}
\index{writeTrimFile@{writeTrimFile}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::write\-Trim\-File (string {\em fname}, int {\em imod})}\label{classmythenDetector_94179431a737bbceb20f27ca1fd30349}
writes a trim file for module number imod - the values will be read from the current detector structure \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em fname}]name of the file to be written \item[{\em imod}]module number \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]OK or FAIL if the file could not be written \end{Desc}
\begin{Desc}
\item[See also:]\doxyref{sls\_\-detector\_\-module}{p.}{structsls__detector__module} \doxyref{shared\-Sls\-Detector}{p.}{classslsDetector_2dd6bff7d94ab8005c2797152b19264e} \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_afe675432bf8e5dcb47774da3cc81106}.\index{mythenDetector@{mythen\-Detector}!writeTrimFile@{writeTrimFile}}
\index{writeTrimFile@{writeTrimFile}!mythenDetector@{mythen\-Detector}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mythen\-Detector::write\-Trim\-File (string {\em fname}, \bf{sls\_\-detector\_\-module} {\em mod})}\label{classmythenDetector_0b137abd78bd3d03653cd21436eb6c4d}
writes a trim file \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em fname}]name of the file to be written \item[{\em mod}]module structure which has to be written to file \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]OK or FAIL if the file could not be written\end{Desc}
\begin{Desc}
\item[See also:]\doxyref{sls\_\-detector\_\-module}{p.}{structsls__detector__module} \end{Desc}
Reimplemented from \bf{sls\-Detector} \doxyref{p.}{classslsDetector_9cbb1f97b8e48bd4b108a2dfa992c6af}.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
mythen\-Detector/\bf{mythen\-Detector.h}\end{CompactItemize}