and hyphenation patterns for english, dumylang, nohyphenation, lo
+aded.
+
+(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
+Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
+(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
+File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
+)
+\c@part=\count79
+\c@section=\count80
+\c@subsection=\count81
+\c@subsubsection=\count82
+\c@paragraph=\count83
+\c@subparagraph=\count84
+\c@figure=\count85
+\c@table=\count86
+\abovecaptionskip=\skip41
+\belowcaptionskip=\skip42
+\bibindent=\dimen102
+) (/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
+Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)
+) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
+Package: amssymb 2013/01/14 v3.01 AMS font symbols
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support
+\@emptytoks=\toks14
+\symAMSa=\mathgroup4
+\symAMSb=\mathgroup5
+LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
+(Font) U/euf/m/n --> U/euf/b/n on input line 106.
+)) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
+Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
+Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
+\KV@toks@=\toks15
+) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
+Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
+Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
+) (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg
+File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
+)
+Package graphics Info: Driver file: dvips.def on input line 91.
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/dvips.def
+File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
+))
+\Gin@req@height=\dimen103
+\Gin@req@width=\dimen104
+) (/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty
+Package: verbatim 2003/08/22 v1.5q LaTeX2e package for verbatim enhancements
+\every@verbatim=\toks16
+\verbatim@line=\toks17
+\verbatim@in@stream=\read1
+) (/usr/share/texlive/texmf-dist/tex/latex/tools/xspace.sty
+Package: xspace 2009/10/20 v1.13 Space after command names (DPC,MH)
+) (/usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty
+Package: color 2005/11/14 v1.0j Standard LaTeX Color (DPC)
+(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg
+File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
+)
+Package color Info: Driver file: dvips.def on input line 130.
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/dvipsnam.def
+File: dvipsnam.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
+)) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
+Package: inputenc 2008/03/30 v1.1d Input encoding file
+\inpenc@prehook=\toks18
+\inpenc@posthook=\toks19
+)
+\sizebox=\box26
+\lthtmlwrite=\write3
+(./images.aux)
+\openout1 = `images.aux'.
+
+LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 118.
+LaTeX Font Info: ... okay on input line 118.
+LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 118.
+LaTeX Font Info: ... okay on input line 118.
+LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 118.
+LaTeX Font Info: ... okay on input line 118.
+LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 118.
+LaTeX Font Info: ... okay on input line 118.
+LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 118.
+LaTeX Font Info: ... okay on input line 118.
+LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 118.
+LaTeX Font Info: ... okay on input line 118.
+
+latex2htmlLength hsize=349.0pt
+
+latex2htmlLength vsize=633.0pt
+
+latex2htmlLength hoffset=0.0pt
+
+latex2htmlLength voffset=0.0pt
+
+latex2htmlLength topmargin=0.0pt
+
+latex2htmlLength topskip=0.00003pt
+
+latex2htmlLength headheight=0.0pt
+
+latex2htmlLength headsep=0.0pt
+
+latex2htmlLength parskip=0.0pt plus 1.0pt
+
+latex2htmlLength oddsidemargin=62.0pt
+
+latex2htmlLength evensidemargin=62.0pt
+
+LaTeX Font Info: Try loading font information for U+msa on input line 147.
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
+File: umsa.fd 2013/01/14 v3.01 AMS symbols A
+)
+LaTeX Font Info: Try loading font information for U+msb on input line 147.
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
+File: umsb.fd 2013/01/14 v3.01 AMS symbols B
+)
+l2hSize :tex2html_wrap_inline171:6.45831pt::0.0pt::6.00351pt.
+[1
+
+
+
+]
+l2hSize :tex2html_wrap_inline173:6.95831pt::6.95831pt::23.83336pt.
+[2
+
+
+] (./images.aux) )
+Here is how much of TeX's memory you used:
+ 1160 strings out of 495064
+ 14979 string characters out of 3182224
+ 55055 words of memory out of 3000000
+ 4371 multiletter control sequences out of 15000+200000
+ 5339 words of font info for 22 fonts, out of 3000000 for 9000
+ 14 hyphenation exceptions out of 8191
+ 25i,5n,26p,206b,147s stack positions out of 5000i,500n,10000p,200000b,50000s
+
+Output written on images.dvi (2 pages, 648 bytes).
diff --git a/manual/docs/html/slsDetectorClientHowTo/images.pl b/manual/docs/html/slsDetectorClientHowTo/images.pl
new file mode 100644
index 000000000..1a88247de
--- /dev/null
+++ b/manual/docs/html/slsDetectorClientHowTo/images.pl
@@ -0,0 +1,18 @@
+# LaTeX2HTML 2012 (1.2)
+# Associate images original text with physical files.
+
+
+$key = q/tau;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/=-1;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+1;
+
diff --git a/manual/docs/html/slsDetectorClientHowTo/images.tex b/manual/docs/html/slsDetectorClientHowTo/images.tex
new file mode 100644
index 000000000..4ee370db2
--- /dev/null
+++ b/manual/docs/html/slsDetectorClientHowTo/images.tex
@@ -0,0 +1,188 @@
+\batchmode
+\documentclass{article}
+\RequirePackage{ifthen}
+
+
+\usepackage{amssymb}
+\usepackage[dvips]{graphicx}
+\usepackage{verbatim}
+\usepackage{xspace}%
+\providecommand{\E}{EIGER\xspace}
+
+
+\usepackage[dvips]{color}
+
+
+\pagecolor[gray]{.7}
+
+\usepackage[]{inputenc}
+
+
+
+\makeatletter
+
+\makeatletter
+\count@=\the\catcode`\_ \catcode`\_=8
+\newenvironment{tex2html_wrap}{}{}%
+\catcode`\<=12\catcode`\_=\count@
+\newcommand{\providedcommand}[1]{\expandafter\providecommand\csname #1\endcsname}%
+\newcommand{\renewedcommand}[1]{\expandafter\providecommand\csname #1\endcsname{}%
+ \expandafter\renewcommand\csname #1\endcsname}%
+\newcommand{\newedenvironment}[1]{\newenvironment{#1}{}{}\renewenvironment{#1}}%
+\let\newedcommand\renewedcommand
+\let\renewedenvironment\newedenvironment
+\makeatother
+\let\mathon=$
+\let\mathoff=$
+\ifx\AtBeginDocument\undefined \newcommand{\AtBeginDocument}[1]{}\fi
+\newbox\sizebox
+\setlength{\hoffset}{0pt}\setlength{\voffset}{0pt}
+\addtolength{\textheight}{\footskip}\setlength{\footskip}{0pt}
+\addtolength{\textheight}{\topmargin}\setlength{\topmargin}{0pt}
+\addtolength{\textheight}{\headheight}\setlength{\headheight}{0pt}
+\addtolength{\textheight}{\headsep}\setlength{\headsep}{0pt}
+\setlength{\textwidth}{349pt}
+\newwrite\lthtmlwrite
+\makeatletter
+\let\realnormalsize=\normalsize
+\global\topskip=2sp
+\def\preveqno{}\let\real@float=\@float \let\realend@float=\end@float
+\def\@float{\let\@savefreelist\@freelist\real@float}
+\def\liih@math{\ifmmode$\else\bad@math\fi}
+\def\end@float{\realend@float\global\let\@freelist\@savefreelist}
+\let\real@dbflt=\@dbflt \let\end@dblfloat=\end@float
+\let\@largefloatcheck=\relax
+\let\if@boxedmulticols=\iftrue
+\def\@dbflt{\let\@savefreelist\@freelist\real@dbflt}
+\def\adjustnormalsize{\def\normalsize{\mathsurround=0pt \realnormalsize
+ \parindent=0pt\abovedisplayskip=0pt\belowdisplayskip=0pt}%
+ \def\phantompar{\csname par\endcsname}\normalsize}%
+\def\lthtmltypeout#1{{\let\protect\string \immediate\write\lthtmlwrite{#1}}}%
+\newcommand\lthtmlhboxmathA{\adjustnormalsize\setbox\sizebox=\hbox\bgroup\kern.05em }%
+\newcommand\lthtmlhboxmathB{\adjustnormalsize\setbox\sizebox=\hbox to\hsize\bgroup\hfill }%
+\newcommand\lthtmlvboxmathA{\adjustnormalsize\setbox\sizebox=\vbox\bgroup %
+ \let\ifinner=\iffalse \let\)\liih@math }%
+\newcommand\lthtmlboxmathZ{\@next\next\@currlist{}{\def\next{\voidb@x}}%
+ \expandafter\box\next\egroup}%
+\newcommand\lthtmlmathtype[1]{\gdef\lthtmlmathenv{#1}}%
+\newcommand\lthtmllogmath{\dimen0\ht\sizebox \advance\dimen0\dp\sizebox
+ \ifdim\dimen0>.95\vsize
+ \lthtmltypeout{%
+*** image for \lthtmlmathenv\space is too tall at \the\dimen0, reducing to .95 vsize ***}%
+ \ht\sizebox.95\vsize \dp\sizebox\z@ \fi
+ \lthtmltypeout{l2hSize %
+:\lthtmlmathenv:\the\ht\sizebox::\the\dp\sizebox::\the\wd\sizebox.\preveqno}}%
+\newcommand\lthtmlfigureA[1]{\let\@savefreelist\@freelist
+ \lthtmlmathtype{#1}\lthtmlvboxmathA}%
+\newcommand\lthtmlpictureA{\bgroup\catcode`\_=8 \lthtmlpictureB}%
+\newcommand\lthtmlpictureB[1]{\lthtmlmathtype{#1}\egroup
+ \let\@savefreelist\@freelist \lthtmlhboxmathB}%
+\newcommand\lthtmlpictureZ[1]{\hfill\lthtmlfigureZ}%
+\newcommand\lthtmlfigureZ{\lthtmlboxmathZ\lthtmllogmath\copy\sizebox
+ \global\let\@freelist\@savefreelist}%
+\newcommand\lthtmldisplayA{\bgroup\catcode`\_=8 \lthtmldisplayAi}%
+\newcommand\lthtmldisplayAi[1]{\lthtmlmathtype{#1}\egroup\lthtmlvboxmathA}%
+\newcommand\lthtmldisplayB[1]{\edef\preveqno{(\theequation)}%
+ \lthtmldisplayA{#1}\let\@eqnnum\relax}%
+\newcommand\lthtmldisplayZ{\lthtmlboxmathZ\lthtmllogmath\lthtmlsetmath}%
+\newcommand\lthtmlinlinemathA{\bgroup\catcode`\_=8 \lthtmlinlinemathB}
+\newcommand\lthtmlinlinemathB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA
+ \vrule height1.5ex width0pt }%
+\newcommand\lthtmlinlineA{\bgroup\catcode`\_=8 \lthtmlinlineB}%
+\newcommand\lthtmlinlineB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA}%
+\newcommand\lthtmlinlineZ{\egroup\expandafter\ifdim\dp\sizebox>0pt %
+ \expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetinline}
+\newcommand\lthtmlinlinemathZ{\egroup\expandafter\ifdim\dp\sizebox>0pt %
+ \expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetmath}
+\newcommand\lthtmlindisplaymathZ{\egroup %
+ \centerinlinemath\lthtmllogmath\lthtmlsetmath}
+\def\lthtmlsetinline{\hbox{\vrule width.1em \vtop{\vbox{%
+ \kern.1em\copy\sizebox}\ifdim\dp\sizebox>0pt\kern.1em\else\kern.3pt\fi
+ \ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}}
+\def\lthtmlsetmath{\hbox{\vrule width.1em\kern-.05em\vtop{\vbox{%
+ \kern.1em\kern0.8 pt\hbox{\hglue.17em\copy\sizebox\hglue0.8 pt}}\kern.3pt%
+ \ifdim\dp\sizebox>0pt\kern.1em\fi \kern0.8 pt%
+ \ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}}
+\def\centerinlinemath{%
+ \dimen1=\ifdim\ht\sizebox<\dp\sizebox \dp\sizebox\else\ht\sizebox\fi
+ \advance\dimen1by.5pt \vrule width0pt height\dimen1 depth\dimen1
+ \dp\sizebox=\dimen1\ht\sizebox=\dimen1\relax}
+
+\def\lthtmlcheckvsize{\ifdim\ht\sizebox<\vsize
+ \ifdim\wd\sizebox<\hsize\expandafter\hfill\fi \expandafter\vfill
+ \else\expandafter\vss\fi}%
+\providecommand{\selectlanguage}[1]{}%
+\makeatletter \tracingstats = 1
+
+
+\begin{document}
+\pagestyle{empty}\thispagestyle{empty}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength hsize=\the\hsize}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength vsize=\the\vsize}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength hoffset=\the\hoffset}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength voffset=\the\voffset}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength topmargin=\the\topmargin}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength topskip=\the\topskip}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength headheight=\the\headheight}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength headsep=\the\headsep}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength parskip=\the\parskip}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength oddsidemargin=\the\oddsidemargin}\lthtmltypeout{}%
+\makeatletter
+\if@twoside\lthtmltypeout{latex2htmlLength evensidemargin=\the\evensidemargin}%
+\else\lthtmltypeout{latex2htmlLength evensidemargin=\the\oddsidemargin}\fi%
+\lthtmltypeout{}%
+\makeatother
+\setcounter{page}{1}
+\onecolumn
+
+% !!! IMAGES START HERE !!!
+
+\stepcounter{section}
+\stepcounter{section}
+\stepcounter{section}
+\stepcounter{subsection}
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline171}%
+$\tau$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsubsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline173}%
+$=-1$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{section}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsubsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsubsection}
+\stepcounter{subsection}
+\stepcounter{section}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{subsection}
+
+\end{document}
diff --git a/manual/docs/html/slsDetectorClientHowTo/img1.png b/manual/docs/html/slsDetectorClientHowTo/img1.png
new file mode 100644
index 000000000..814d5e06d
Binary files /dev/null and b/manual/docs/html/slsDetectorClientHowTo/img1.png differ
diff --git a/manual/docs/html/slsDetectorClientHowTo/img2.png b/manual/docs/html/slsDetectorClientHowTo/img2.png
new file mode 100644
index 000000000..e2d8dba5d
Binary files /dev/null and b/manual/docs/html/slsDetectorClientHowTo/img2.png differ
diff --git a/manual/docs/html/slsDetectorClientHowTo/index.html b/manual/docs/html/slsDetectorClientHowTo/index.html
new file mode 100644
index 000000000..eeba90850
--- /dev/null
+++ b/manual/docs/html/slsDetectorClientHowTo/index.html
@@ -0,0 +1,154 @@
+
+
+
+
+
+SLS Detector text clients manual
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Introduction
+
+
+
+
+
+
+
SLS Detector text clients manual
+
+
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorClientHowTo/labels.pl b/manual/docs/html/slsDetectorClientHowTo/labels.pl
new file mode 100644
index 000000000..6408a6439
--- /dev/null
+++ b/manual/docs/html/slsDetectorClientHowTo/labels.pl
@@ -0,0 +1,13 @@
+# LaTeX2HTML 2012 (1.2)
+# Associate labels original text with physical files.
+
+
+1;
+
+
+# LaTeX2HTML 2012 (1.2)
+# labels from external_latex_labels array.
+
+
+1;
+
diff --git a/manual/docs/html/slsDetectorClientHowTo/node1.html b/manual/docs/html/slsDetectorClientHowTo/node1.html
new file mode 100644
index 000000000..c0cd17238
--- /dev/null
+++ b/manual/docs/html/slsDetectorClientHowTo/node1.html
@@ -0,0 +1,129 @@
+
+
+
+
+
+Introduction
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Acquisition
+ Up: SLS Detector text clients
+ Previous: SLS Detector text clients
+
+
+
+
+
+
+
+This program is intended to control the SLS detectors via command line interface.
+
+This is the only way to access all possible functionality of the detectors, however it is often recommendable to avoid changing the most advanced settings, rather leaving the task to configuration files, as when using the GUI or the API provided.
+
+
+The command line interface consists in four main functions:
+
+sls_detector_acquire
+to acquire data from the detector
+
+sls_detector_put
+to set detector parameters
+
+sls_detector_get
+to retrieve detector parameters
+
+sls_detector_help
+to get help concerning the text commands
+
+
+Additionally the program slsReceiver should be started on the machine expected to receive the data from the detector.
+
+
+If you need control a single detector, the use of the command line interface does not need any additional arguments.
+
+
+For commands addressing a single controller of your detector, the command cmd
should be called with the index i
of the controller:
+sls_detector_clnt i:cmd
+
+where sls_detector_clnt
is the text client (put, get, acquire, help).
+
+
+In case more than one detector is configured on the control PC, the command cmd
should be called with their respective index j
:
+sls_detector_clnt j-cmd
+
+where sls_detector_clnt
is the text client (put, get, acquire, help).
+
+
+To address a specific controller i
of detector j
use:
+sls_detector_clnt j-i:cmd
+
+
+For additional questions concerning the indexing of the detector, please refer to the SLS Detectors FAQ documentation.
+
+
+
+
+
+
+
+
+
+
+
+ Next: Acquisition
+ Up: SLS Detector text clients
+ Previous: SLS Detector text clients
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorClientHowTo/node2.html b/manual/docs/html/slsDetectorClientHowTo/node2.html
new file mode 100644
index 000000000..4518f4b37
--- /dev/null
+++ b/manual/docs/html/slsDetectorClientHowTo/node2.html
@@ -0,0 +1,74 @@
+
+
+
+
+
+Acquisition
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Detector setup
+ Up: SLS Detector text clients
+ Previous: Introduction
+
+
+
+
+
+
+
+By calling:
+sls\_detector\_acquire [j-]
+
+the detector j
is started and the data are acquired, postprocessed and written to file according to the configuration and setup of the measurements.
+
+A progress index of the acquisition in percentage is shown on the command line.
+
+
+For additional questions concerning the acquisition flow, please refer to the SLS Detectors FAQ documentation.
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorClientHowTo/node3.html b/manual/docs/html/slsDetectorClientHowTo/node3.html
new file mode 100644
index 000000000..c13628104
--- /dev/null
+++ b/manual/docs/html/slsDetectorClientHowTo/node3.html
@@ -0,0 +1,769 @@
+
+
+
+
+
+Detector setup
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Retrieving detector parameters
+ Up: SLS Detector text clients
+ Previous: Acquisition
+
+
+
+
+Subsections
+
+
+
+
+
+
+
+
+sls\_detector\_put [j-][i:]var arg
+
+
+is used to configure the detector parameters var
with the value arg
.
+
+It returns the actual value of the variable, as when calling sls\_detector\_get
with the same command.
+
+
+
+
+
+
+
+config fname
+Load the configuration file fname.
+
+Examples of configuration files are available in the directory examples
. This should be done every time the configuration of the detectors(s) changes or the control PC is rebooted. Must be executed on all the control PCs, before executing other commands.
+
+parameters fname
+Load the parameter file fname.
+
+The syntax of the commands in the parameter file is exactly the same as for the command line interface. Can be used to load a standard mode of acquisition and/or to hide advanced parameters from the final user. Examples of parameter files are available in the directory examples
.
+
+settings sett
+Configures the settings of the detector. Refer to detailed detector documentation for more details:
+
+for MYTHEN sett can be: standard, fast, highgain;
+
+for GOTTHARD sett can be: veryhighgain, highgain, mediumgain, lowgain, dynamicgain;
+
+for EIGER sett can be: standard, highgain, lowgain.
+
+threshold ev
+For photon counting detectors, sets the detector threshold in eV. The detector should be properly calibrated, otherwise standard calibration coefficients are used, which can give an uncertainty up to a few keVs.
+
+timing sync
+Sets the timing mode of the detector. Can be auto, gating (works only if at least one of the signals is configured as gate_in), trigger (works only if at least one of the signals is configured as trigger_in), ro_trigger (works only if at least one of the signals is configured as ro_trigger_in), triggered_gating (works only if one of the signals is configured as gate_in and one as trigger_in).
+
+Refer to the detailed documentation to understand how the different timing modes work.
+
+outdir path
+Defines the path where the output files will be saved to.
+
+fname prefix
+Defines the prefix of the file name for the data output.
+
+The final file name will be:
+prefix[_d
d ][_S
v0 ][_s
v1 ][_p
p ][_f
f ]_
i .
ext
+
+where:
+d is the controller index, in case of data receiver and more than one controller;
+v0 is the scan0 variable with the desired precision, if scan0 is enabled;
+v1 is the scan1 variable with the desired precision, if scan1 is enabled;
+p is the position index, if different positions are configured;
+f is the frame index of the first frame stored in the file, if many frames and cycles are configured;
+i is the file index;
+ext is the file extension e.g. .raw for MYTHEN and EIGER raw data, .dat for MYTHEN processed data.
+
+index i
+Sets the starting index of the file i at the beginning of the acquisition (automatically incremented for each measurement).
+
+enablefwrite b
+Enables (1) or disables (0) file writing.
+
+exptime ts
+Sets the exposure time of a single acquisition to ts (in s). It is overridden in case the detector is in gating mode.
+
+Refere to detailed documentation to understand how the different timing modes work.
+
+subexptime ts
+Sets the subexposure time of a single subacquisition to ts (in s) in EIGER autosumming mode (=dr 32 ). Refer to detailed documentation to understand how the different timing modes work.
+
+period ts
+Sets the frames period (in s). It is overridden in case the detector is in gating mode.
+
+Refer to detailed documentation to understand how the different timing modes work.
+
+delay ts
+Sets the delay after trigger in triggered mode (in s).
+
+Refer to the detailed documentation to understand how the different timing modes work.
+
+gates n
+Sets the number of gates per frame in gated (stroboscopic) mode.
+
+Refer to the detailed documentation to understand how the different timing modes work.
+
+frames n
+Sets the number of frames acquired sequentially per cycle (e.g. after each trigger), with the exposure time defined by exptime and the period defined by period (unless in gated mode). The frame index in the output file name will automatically be incremented.
+
+Note that the total number of images will be frames times cycles. Refer to detailed documentation to understand how the different timing modes work.
+
+cycles n
+Sets the number of cycles (e.g. number of triggers). The frame index in the output file name will automatically be incremented.
+
+Note that the total number of images will be by frames times cycles. Refer to the detailed documentation to understand how the different timing modes work.
+
+probes
+Sets the number of probes to accumulate for stroboscopic measurements.
+
+Refer to detailed documentation to understand how the different timing modes work.
+
+measurements
+Sets the number of repetitions of the acquisitions (non real time!). The file index in the file name will be automatically incremented.
+
+Refer to detailed documentation to understand how the different timing modes work.
+
+dr n
+Sets the dynamic range n (in bits) of the data for a photon counting detector. For EIGER it can be set to 4, 8, 16 (but the real counter depth will still be limited to 12 bits) or 32 when one wants to activate the internal subframe summing mode.
+
+
+
+flags s
+Sets some particular flags for your detector. For MYTHEN s can be none , storeinram (for buffered readout) or tot (for time over threshold). For EIGER, s can be continous (for continous readout- still buffer on memories happens), storeinram (for buffered readout. Do not use as has no graet advantages), parallel for parallel exposure to the next frame and readout of the previous frame, nonparallel to decouple sequentially readout and exposure, safe (rowclock interleaved).
+
+help cmd
+Returns the help for command cmd.
+
+lock
+Locks (1) or unlocks (0) the detector to this particular control PC. An be unlocked again only from the same PC or by rebooting the detector.
+
+nmod n
+Sets the number of modules for the detector to n for partial readout. Will be replaced by ROI.
+
+
+
+
+
+
+
+flatfield fname
+Sets the flat field file name. File ffdir/fname will be used to calculate the flat field coefficients. none to unset flat field corrections.
+
+ratecorr ns
+Sets the deadtime to be used for rate corrections in ns. 0 to unset, -1 to use default dead time for the actual settings.In the case of EIGER, as online data rate correctiosn are applied, then a correction table has to be calculated every time the rate correction is changed, activated, or the subexposure time is changed.
+
+
+
+
+
+
+
+
+
+
+
+fineoff deg
+Sets the fine offset for the experiment.
+
+samplex mm
+Sets the sample displacement from the center of the diffractometer in the X-ray direction, to improve angular conversion (unused).
+
+sampley mm
+Sets the sample displacement from the center of the diffractometer in the ortogonal direction, to improve angular conversion (unused)
+
+
+
+
+
+
+See SLS Detectors Documentation for a detailed description of the acquisition flow.
+
+positions n p1 p2...pn
+Sets the number of positions n and their value.
+
+
+startscript s
+Sets the script to be executed at the beginning of each measurement. none unsets.
+
+
+startscriptpar p
+Sets the parameter to be passed to the start script
+
+
+stopscript s
+Sets the script to be executed at the end of each measurement. none unsets.
+
+
+stopscriptpar p
+Sets the parameter to be passed to the stop script.
+
+
+scriptbefore s
+Sets the script to be executed before each acquisition. none unsets.
+
+
+scriptbeforepar p
+Sets the parameter to be passed to the script before.
+
+
+scriptafter s
+Sets the script to be executed after each acquisition. none unsets.
+
+
+scriptafterpar p
+Sets the parameter to be passed to the script after.
+
+
+headerbefore s
+Sets the script to be executed to acquire the header of the acquisition. none unsets.
+
+
+headerbeforepar p
+Sets the parameter to be passed to the header before.
+
+
+headerafter s
+Sets the script to be executed to append to the header of the acquisition. none unsets.
+
+
+headerafterpar p
+Sets the parameter to be passed to the header after.
+
+
+scan0scripts s
+Sets the script to execute at scan 0 level. none unsets, threshold, energy, trimbits, position perform the corresponding scans without need of a custom script.
+
+
+scan0par p
+Sets a parameter to be passed to the scan 0 level script.
+
+
+scan0prec i
+Sets the number of decimal digits for the scan0 level parameter in the file name (default is 0).
+
+
+scan0steps n s1 s2..sn
+Sets the number of scan 0 level steps n and their value.
+
+
+scan0range min max step
+Sets the minimum, the maximum and the step for the scan 0 level steps (easier to use than scan0steps if equally spaced steps in a range)
+
+
+scan1script s
+Sets the script to execute at scan 1 level. none unsets, threshold, energy, trimbits, position perform the corresponding scans without need of a custom script.
+
+
+scan1par p
+Sets a parameter to be passed to the scan 1 level script.
+
+
+scan1prec i
+Sets the number of decimal digits for the scan1 level parameter in the file name (default is 0).
+
+
+scan1steps n s1 s2...sn
+Sets the number of scan 0 level steps n and their value.
+
+
+scan1range min max step
+Sets the minimum, the maximum and the step for the scan 0 level steps (easier to use than scan0steps if equally spaced steps in a range)
+
+
+
+
+
+
+
+
+
+
+This operations should be performed only rarely to configure the detector
+
+
+
+trim:mode fname
+Trims the detector according to mode (can be noise, beam, improve, fix) and saves the resulting trimbits to file fname. Take care to set a proper exptime and vthreshold before trimming.
+
+
+encallog b
+Sets (1) or unsets (0) the logging for energy calibration.
+
+
+angcallog b
+Sets (1) or unsets (0) the logging for angular calibration.
+
+
+
+
+
+
+
+
+It is normally recommended to use sls\_detector\_acquire [j-]
, which takes care of everything
+
+status s
+Starts (start) or stops (stop) the detector acquisition.
+
+online b
+Sets the detector in online (1) or offline (0) mode.
+
+resetctr i
+GOTTHARD- ADVANCED- resets counter in detector, restarts acquisition if i=1
+
+resmat i
+EIGER- ADVANCED - resets counter in detector before the following acquisition. Default settings is resmat 1 . resmat 0 does not reset the counter bit before the acquisition. Note that in EIGER the counter is always reset after the acquisition.
+
+
+
+
+
+
+Advanced commands to configure the detector system. Should be left to the configuration file
+
+type s
+Sets the types of detector controllers in the system. Can be Mythen, Gotthard, EIGER and multiple controllers should be catenated with a + (e.g. Mythen+Mythen for 2 Mythen controllers).
+
+d:hostname s
+Sets the hostname or IP address for the controller d, where d is the controller index within the detector structure.
+
+d:extsig:i s
+Configures the usage of the external IO signals to synchronize the detectors. s can be: off, gate_in_active_high, gate_in_active_low, trigger_in_rising_edge,
+ trigger_in_falling_edge,
+ ro_trigger_in_rising_edge,
+ ro_trigger_in_falling_edge,
+ gate_out_active_high,
+ gate_out_active_low,
+ trigger_out_rising_edge,
+ trigger_out_falling_edge,
+ ro_trigger_out_rising_edge,
+ ro_trigger_out_falling_edge, sync.
+
+Usually left to the configuration file. Gating, triggering etc. are enabled only by calling the timing command.
+
+Please refer to SLS Detectors FAQ documentation for more detailed information about the usage.
+
+
+
+master i
+Sets the master of a multi-controller detector to the controller with index i. -1 removes master. Setting a master is useful only if the controllers are synchronized via hardware using the external IO signals. Usually left to the configuration file. Please refer to SLS Detectors FAQ documentation for more detailed information about the usage.
+
+sync s
+Sets the synchronization mode of the various controller within a detector structure. s acn be none, gating, trigger, complementary. Check that the detectors are correctly connected to avoid freezing of the acquisition. Usually left to the configuration file. Please refer to SLS Detectors FAQ documentation for more detailed information about the usage.
+
+trimdir s
+Obsolete. Same ad settingsdir.
+
+settingsdir s
+Sets the path of the drectory where the trim/settings files are stored. Usually left to the configuration file.
+
+caldir s
+Sets the path of the drectory where the calibration files are stored. Can be the same as settingsdir. Usually left to the configuration file.
+
+trimen n e1 e2 ...en
+Unused. Sets the list of energies for which trimfiles exist.
+
+port p
+Sets the port used by the sockets to control the detector. Do not change! Usually left to the configuration file.
+
+stopport p
+Sets the port used by the sockets to stop/get the status of the detector. Do not change! Usually left to the configuration file.
+
+add s
+Avoid using it. Adds the controller s to the detector structure.
+
+remove i
+Avoid using it. Removes the controller in position i from the detector structure.
+
+id:i l
+Avoid using it. configures the id of the detector structure. i is the detector position in a multi detector system and l is the id of the detector to be added.
+
+free i
+Avoid using it. Frees the shared memory.
+
+exitserver
+Avoid using it. Turns off the communication server on the detector.
+
+
+
+
+
+
+
+detectormac mac
+sets the mac of the detector udp interface to mac (if configurable). Should be left to the configuration file.
+
+rx_tcpport i
+sets the communication port between client and receiver. Should be left to the configuration file.
+
+rx_udpport i
+sets the communication port between detector and receiver. Should be left to the configuration file.
+
+rx_hostname s
+sets the hostname (or IP address) of the receiver for the TCP/IP interface with the client.
+
+rx_udpip ip
+sets the IP address of the receiver for the UDP interface with the detector.
+
+rx_fifodepth v
+sets receiver fifo depth to value v. Default for EIGER is 100 frames betweeen listening and writing.
+
+r_online b
+sets the receiver in online (1) or offline (0) mode.
+
+r_lock b
+Locks (1) or unlocks (0) the receiver to this PC.
+
+receiver s
+starts/stops the receiver to listen to detector packets. - can be start or stop
+
+
+
+
+
+
+Some advanced commands to configure data postprocessing.
+
+ffdir dir
+Sets the directory where the flat field files are stored. Normally left to the configuration file.
+
+darkimage fname
+GOTTHARD- ADVANCED- Sets fname as dark image file for the detector.
+
+gainimage fname
+GOTTHARD- ADVANCED- Sets fname as gain image file for the detector.
+
+badchannels fname
+Sets the bad channel file to fname. Bad channels will be omitted in the .dat file. none to unset. Normally left to the configuration file.
+
+threaded b
+Avoid changing it. Sets if the data are written to disk in parallel with the acquisition (1) or after the acquisition (0). Normally left to the configuration file.
+
+
+
+
+Angular conversion
+
+
+
+globaloff deg
+Sets the offset of the beamline i.e. angular position of channel 0 when angular encoder at 0. Normally left to the configuration file.
+
+angconv fname
+Sets the file with the coefficients for angular conversion. none disables angular conversion. Normally left to the configuration file.
+
+binsize deg
+Sets the size of the angular bins for angular coversion. Normally left to the configuration file.
+
+angdir i
+Sets the angular direction of the detector (1 means channel number in the same direction as the angular encoder, -1 different direction). Normally left to the configuration file.
+
+d:moveflag i
+Related to a single controller d. 1 if the detector modules move with the angular encoder, 0 if they are static (useful for multidetector systems). Normally left to the configuration file.
+
+
+
+
+
+
+Some VERY ADVANCED testing functions implemented for EIGER:
+
+pulsechip n
+sets the chip into test mode with resmat = 0 and externalenable =1. Pulses chip by togglying the enable n number of times. The acquire is then done with no pixel matrix reset before the acquisition. If n , the chip will be set into normal mode. This is necessary to restore normal chip operations after the test.
+
+pulse n x y
+Pulses pixel at coordinates (x,y) n number of times.
+
+pulsenmove n x y
+Pulses pixel n number of times and moves relatively by x value (x axis) and y value (y axis)
+
+
+
+
+
+
+Advanced settings changing the analog or digital performance of the acquisition. Use them only if you are sure of what you are doing!
+
+
+
+vthreshold n
+Sets the DAC value of the detector threshold to n.
+
+vcalibration n
+Sets the DAC value of the calibration pulse amplitude to n.
+
+vtrimbit n
+Sets the DAC value defining the trimbits LSB size to n.
+
+vpreamp n
+Sets the DAC value of the preamp feedback to n.
+
+vshaper1 n
+Sets the DAC value of the shaper1 feedback to n.
+
+vshaper2 n
+Sets the DAC value of the shaper2 feedback to n.
+
+vhighvoltage n
+Sets the DAC value of the high voltage to n (in V).
+
+vapower n
+CHIPTEST BOARD ONLY - Sets the DAC value of the analog voltage to n.
+
+vddpower n
+CHIPTEST BOARD ONLY - Sets the DAC value of the analog voltage to n.
+
+vshpower n
+CHIPTEST BOARD ONLY - Sets the comparator power supply in dac units (0-1024).
+
+viopower n
+CHIPTEST BOARD ONLY - Sets the FPGA I/O power supply in dac units (0-1024).
+
+vref_ds n
+Sets vrefds
+
+vcascn_pb n
+Sets vcascn_pb
+
+vcascp_pb n
+Sets vcascp_pb
+
+vout_cm n
+Sets vout_cm
+
+vcasc_out n
+Sets vcasc_out
+
+vin_cm n
+Sets vin_cm
+
+vref_comp n
+Sets vref_comp
+
+ib_test_c n
+Sets ib_test_c
+
+vsvp n
+Sets vsvp DAC to n
+
+vsvn n
+Sets vsvn DAC to n
+
+vtr n
+Sets vtr DAC to n
+
+vrf n
+Sets vrf DAC to n
+
+vrs n
+Sets vrs DAC to n
+
+vtgstv n
+Sets vtgstv DAC to n
+
+vcmp_ll n
+Sets vcmp_ll DAC to n
+
+vcmp_lr n
+Sets vcmp_lr DAC to n
+
+vcmp_rl n
+Sets vcmp_rl DAC to n
+
+vcmp_rr n
+Sets vcmp_rr DAC to n
+
+vcall n
+Sets vcall DAC to n
+
+rxb_rb n
+Sets rxb_rb DAC to n
+
+rxb_lb n
+Sets rxb_rb DAC to n
+
+vcp n
+Sets vcp DAC to n
+
+vcn n
+Sets vcn DAC to n
+
+vis n
+Sets vis DAC to n
+
+iodelay n
+Sets iodelay to n
+
+reg a d
+Write to register of address a the data d
+
+clkdivider n
+Sets the clock divider for the readout. Can be increased for longer cables. For EIGER options are 0 (full speed), 1 (half speed), 2 (quarter speed), and 3 (slow).
+
+setlength n
+Changes the length of the set/reset signals in the acquisition. Never reduce it!
+
+waitstates n
+Sets the wait states for CPU/FPGA communication. Do not change it!
+
+totdivider n
+Sets the tot clock divider.
+
+totdutycycle n
+Sets the tot duty cycle.
+
+setup s
+Loads the setup files to the detector (config, parameters, trimbits etc.).
+
+trimbits fn
+Loads the trimbit files fn.snxxx to the detector
+
+
+
+
+
+
+
+digibittest i
+only for GOTTHARD. If i=1, the acquisition will return a unique channel identifier, instead of data, if i=0 normal acquisition.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Retrieving detector parameters
+ Up: SLS Detector text clients
+ Previous: Acquisition
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorClientHowTo/node4.html b/manual/docs/html/slsDetectorClientHowTo/node4.html
new file mode 100644
index 000000000..ca4c974a3
--- /dev/null
+++ b/manual/docs/html/slsDetectorClientHowTo/node4.html
@@ -0,0 +1,821 @@
+
+
+
+
+
+Retrieving detector parameters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Usage
+ Up: SLS Detector text clients
+ Previous: Detector setup
+
+
+
+
+Subsections
+
+
+
+
+
+
+
+
+sls\_detector\_get [j-][i:]var [arg]
+
+
+is used to retrieve the detector parameters var
.
+
+For some commands, an additional argument arg
is needed.
+
+
+
+
+All the commends return two strings, where string1 is the command, string2 is teh actual returned string.
+
+
+
+config fname
+Dumps the current configuration of the detector to the file fname.
+
+parameters fname
+Dumps the current acquisition parameters of the detector to the file fname.
+
+settings
+Returns the current settings of the detector. Returns a string
+
+
+
+threshold
+For photon counting detectors, returns the detector threshold in eV, -1 if undefined. Returns ``threshold value_in_eV''. If it fails, the returned threshold is the old set value.
+
+
+
+timing
+Returns the acquisition timing mode of the detector.
+Refer to the detailed documentation to understand how the different timing modes work.
+
+outdir
+Returns the path where the output files are saved to.
+
+fname
+Returns the prefix of the file name for the data output.
+
+enablefwrite
+Returns if data are written to file (1) or not (0).
+
+exptime
+Returns the exposure time of a single acquisition in seconds. Example: "exptime 1.000000000''
+Refer to detailed documentation to understand how the different timing modes work.
+
+period
+Returns the frames period (in s). Example: ``period 1.000000000''
+Refer to detailed documentation to understand how the different timing modes work.
+
+delay
+Returns the delay after trigger in triggered mode (in s).
+Refer to detailed documentation to understand how the different timing modes work.
+
+gates
+Returns the number of gates per frame in gated (stroboscopic) mode.
+Refer to detailed documentation to understand how the different timing modes work.
+
+frames
+Returns the number of frames acquired sequentially per cycle (e.g. after each trigger), with the exposure time defined by exptime and the period defined by period (unless in gated mode). Returned as a string to be interpreted as an integer ``frames integer''
+Note that the total number of images is frames times cycles.
+Refer to detailed documentation to understand how the different timing modes work.
+
+cycles n
+Returns the number of cycles (e.g. number of triggers). Returned as atring to be interpreted as an integer ``cycles integer''
+Note that the total number of images is frames times cycles.
+Refer to detailed documentation to understand how the different timing modes work.
+
+probes
+Returns the number of probes to accumulate for stroboscopic measurements.
+Refer to detailed documentation to understand how the different timing modes work.
+
+measurements
+Returns the number of repetitions of the acquisitions (non real time!).
+Refer to detailed documentation to understand how the different timing modes work.
+
+dr
+Returns the dynamic range n (in bits) of the data for a photon counting detector. Returns a string that should be interpreted as an integer.
+
+
+
+flags s
+Returns the flags set for your detector.
+
+help cmd
+Returns the help for command cmd.
+
+lock
+Returns if the detector is locked to a single PC.
+
+lastclient
+Returns the last client which has connected to the detector.
+
+nmod n
+Returns the number of modules which are read out. Will be replaced by ROI.
+
+maxmod
+Returns the maximum number of modules (size) of the detector. Will be replaced by size.
+
+
+
+
+
+
+
+flatfield
+Returns the flat field file name.
+
+ratecorr
+Returns the dead time used for rate corrections.
+
+
+
+
+
+
+
+
+
+fineoff
+Returns the fine offset used to convert channel number to angles
+
+samplex
+Returns the sample displacement from the center of the diffractometerin the X-ray direction, to improve angular conversion (unused).
+
+sampley
+Returns the sample displacement from the center of the diffractometer in the ortogonal direction, to improve angular conversion (unused)
+
+
+
+
+
+
+See SLS Detectors Documentation for a detailed description of the acquisition flow.
+
+positions
+Returns the number of positions n and their value.
+
+
+startscript
+Returns the script to be executed at the beginning of each measurement.
+
+
+startscriptpar
+Returns the parameter to be passed to the start script
+
+
+stopscript
+Returns the script to be executed at the end of each measurement.
+
+
+stopscriptpar
+Returns the parameter to be passed to the stop script.
+
+
+scriptbefore
+Returns the script to be executed before each acquisition.
+
+
+scriptbeforepar
+Returns the parameter to be passed to the script before.
+
+
+scriptafter
+Returns the script to be executed after each acquisition.
+
+
+scriptafterpar
+Returns the parameter to be passed to the script after.
+
+
+headerbefore
+Returns the script to be executed to acquire the header of the acquisition.
+
+
+headerbeforepar
+Returns the parameter to be passed to the header before.
+
+
+headerafter
+Returns the script to be executed to append to the header of the acquisition.
+
+
+headerafterpar
+Returns the parameter to be passed to the header after.
+
+
+scan0scripts
+Returns the script to execute at scan 0 level.
+
+
+scan0par
+Returns a parameter to be passed to the scan 0 level script.
+
+
+scan0prec
+Returns the number of decimal digits for the scan0 level parameter in the file name (default is 0).
+
+
+scan0steps
+Returns the number of scan 0 level steps n and their value.
+
+
+scan0range
+Same as scan0steps.
+
+
+scan1script
+Returns the script to execute at scan 1 level.
+
+
+scan1par
+Returns a parameter to be passed to the scan 1 level script.
+
+
+scan1prec
+Returns the number of decimal digits for the scan1 level parameter in the file name (default is 0).
+
+
+scan1steps
+Returns the number of scan 0 level steps n and their value.
+
+
+scan1range
+Same as scan1steps.
+
+
+
+
+
+
+Commands to be used to retrieve information about the detector version or perform tests.
+
+
+
+moduleversion[:i]
+Returns the version of the module firmware.
+
+detectornumber
+Returns the serial number of the module (normally the MAC address).
+
+modulenumber[:i]
+Returns the serial number of the module i.
+
+detectorversion
+Returns the version of the controller firmware.
+
+softwareversion
+Returns the version of the software running on the detector.
+
+thisversion
+Returns the version of the control software which is being used.
+
+detectorsvnversion
+Returns the SVN version of the software on the detector.
+
+
+
+
+
+
+
+
+
+digitest[:i]
+Makes a digital test of module i. Afterwards the detector must be reconfigured for the acquisition (settings, threshold, exptime, dr, frames etc.). Returns 0 if succeeded, otherwise an error mask.
+
+bustest
+Makes a digital test of the communication between CPU and FPGA. Returns 0 if succeeded, otherwise the number of errors.
+
+
+
+
+
+
+
+
+
+
+This operations should be performed only rarely to configure the detector
+
+
+
+encallog
+returns whether the logging for energy calibration is enabled.
+
+
+angcallog
+returns whether the logging for angular calibration is enabled.
+
+
+
+
+
+
+
+
+It is normally recommended to use sls\_detector\_acquire [j-]
, which takes care of everything
+
+acquire
+Same as sls\_detector\_acquire
+
+data
+Gets, saves and processes all data stored on the detector, if any.
+
+frame
+Gets, saves and processes one frame stored on the detector, if any in a Firt-In/First-Out mode.
+
+status
+Returns the detector status - can be: running, error, transmitting, finished, waiting or idle
+
+online
+Returns whether the detector is in online or offline mode.
+
+checkonline
+Returns whether the detector is in online or offline mode.
+
+readctr i fname
+GOTTHARD related - reads counter in detector to file fname, restarts acquisition if i=1
+
+exptimel
+Returns the exposure time left for the current frame.
+
+periodl
+Returns the period left for the current frame.
+
+delayl
+Returns the delay after trigger left for the current frame.
+
+gatesl
+Returns the number of gates left for the current frame.
+
+framesl
+Returns the number of frames left for the current cycle.
+
+cyclesl
+Returns the number of cycles left for the current acquisition.
+
+now
+Returns the current timestamp of the detector clock.
+
+timestamp
+Returns the timestamp of the acquisitions in a First-In/First-Out mode i.e. every time it is called it returns the timestamp of the first acquisition start of readout. The FIFO is reset everytime the acquisition is started.
+
+
+
+
+
+
+Advanced commands to configure the detector system. Should be left to the configuration file
+
+type
+Returns the types of detector controllers in the system.
+
+hostname
+Returns the hostnames or IP addresses for the detector
+
+d:extsig:i
+Returns the usage of the external IO signal i of the controller d.
+
+master
+Returns the master of the acquisition in a multicontroller detector. -1 is none.
+
+sync
+Returns the synchronization mode of the various controller within a detector structure.
+
+trimdir
+Same ad settingsdir.
+
+settingsdir
+Returns the path of the directory where the trim/settings files are stored.
+
+caldir
+Returns the path of the directory where the calibration files are stored.
+
+trimen n e1 e2 ...en
+Unused. Returns the list of energies for which trimfiles exist.
+
+port
+Returns the port used by the sockets to control the detector.
+
+stopport
+Returns the port used by the sockets to stop/get the status of the detector.
+
+id[:i]
+returns the id of the detector structure. i is the detector position in a multi detector system
+
+free
+Avoid using it. Frees the shared memory.
+
+
+Settable communication parameters:
+
+txndelay_left
+EIGER advanced: Set transmission delay of sending the left port frame
+
+txndelay_right
+EIGER advanced: Set transmission delay of sending the right port frame
+
+
+txndelay_frame
+EIGER advanced: Set transmission delay of sending the entire frame In addition to left and right. This value has to be greater than the maximum of the transmission delays of each port.
+
+
+
+
+
+
+
+detectormac
+returns the mac of the detector udp interface to mac (if configurable). Should be left to the configuration file.
+
+rx_tcpport
+returns the communication port between client and receiver. Should be left to the configuration file.
+
+rx_udpport
+returns the communication port between detector and receiver. Should be left to the configuration file.
+
+rx_hostname
+returns the hostname (or IP address) of the receiver for the TCP/IP interface with the client.
+
+rx_udpip
+returns the IP address of the receiver for the UDP interface with the detector.
+
+
+
+r_online b
+Returns whether the receiver in online (1) or offline (0) mode.
+
+r_checkonline
+Returns whether the receiver in online (1) or offline (0) mode.
+
+framescaught
+Returns the number of frames received. Returns: "framescaught n''
+
+resetframescaught n
+Sets the number of frames received to 1
+
+frameindex
+Returns the index of the last frame received.
+
+r_lock
+Returns whether the receiver is locked (1) or unlocked (0).
+
+r_lastclient
+Returns the IP of the last client which connected to the receiver.
+
+
+
+
+
+
+Some advanced commands to configure data postprocessing.
+
+ffdir
+Returns the directory where the flat field files are stored.
+
+darkimage fname
+GOTTHARD- ADVANCED- Returns the dark image file for the detector.
+
+gainimage fname
+GOTTHARD- ADVANCED- Returns gain image file for the detector.
+
+badchannels fname
+Returns bad channel file to fname.
+
+threaded b
+Returns whether the data are written to disk in parallel with the acquisition (1) or after the acquisition (0).
+
+
+
+
+Angular conversion
+
+
+
+globaloff
+Returns the offset of the beamline i.e. angular position of channel 0 when angular encoder at 0.
+
+angconv
+Returns the file used for the coefficients for angular conversion.
+
+binsize
+Returns the size of the angular bins for angular conversion.
+
+angdir
+Returns the angular direction of the detector (1 means channel number in the same direction as the angular encoder, -1 different direction).
+
+d:moveflag
+Related to a single controller d. Returns 1 if the detector modules move with the angular encoder, 0 if they are static (useful for multidetector systems).
+
+
+
+
+
+
+Advanced settings changing the analog or digital performance of the acquisition. Use them only if you are sure of what you are doing!
+
+
+
+vthreshold
+Returns the DAC value of the detector threshold to n.
+
+vcalibration
+Returns the DAC value of the calibration pulse amplitude to n.
+
+vtrimbit
+Returns the DAC value defining the trimbits LSB size to n.
+
+vpreamp
+Returns the DAC value of the preamp feedback to n.
+
+vshaper1
+Returns the DAC value of the shaper1 feedback to n.
+
+vshaper2
+Returns the DAC value of the shaper2 feedback to n.
+
+vhighvoltage
+Returns the DAC value of the high voltage to n.
+
+vapower
+CHIPTEST BOARD ONLY - Returns the DAC value of the analog voltage to n.
+
+vddpower
+CHIPTEST BOARD ONLY - Returns the DAC value of the analog voltage to n.
+
+vshpower
+CHIPTEST BOARD ONLY - Returns the comparator power supply in dac units (0-1024).
+
+viopower
+CHIPTEST BOARD ONLY - Returns the FPGA I/O power supply in dac units (0-1024).
+
+vref_ds
+Returns vrefds
+
+vcascn_pb
+Returns vcascn_pb
+
+vcascp_pb
+Returns vcascp_pb
+
+vout_cm
+Returns vout_cm
+
+vcasc_out
+Returns vcasc_out
+
+vin_cm
+Returns vin_cm
+
+vref_comp
+Returns vref_comp
+
+ib_test_c
+Returns ib_test_c
+
+vsvp
+Returns vsvp
+
+vsvn
+Returns vsvn
+
+vtr
+Returns vtr trim strength (EIGER)
+
+vrf
+Returns vrf preamp gain (EIGER)
+
+vrs
+Returns vrs shaper gain (EIGER)
+
+vtgstv
+Returns vtgstv (EIGER)
+
+vcmp_ll
+Returns vcmp_ll (EIGER) leftmost chip theshold
+
+vcmp_lr
+Returns vcmp_lr (EIGER) second to leftmost chip theshold
+
+vcmp_rl
+Returns vcmp_rl (EIGER) second to rightmost chip theshold
+
+vcmp_rr
+Returns vcmp_rr (EIGER) rightmost chip theshold
+
+vcall
+Returns vcall calibration stength (EIGER)
+
+rxb_rb
+Returns rxb_rb rightmost chip value to decode 0-1 in the readout
+
+rxb_lb
+Returns rxb_lb leftmost chip value to decode 0-1 in the readout
+
+vcp
+Returns vcp cascode p value (EIGER)
+
+vcn
+Returns vcn cascode n value (EIGER)
+
+vis
+Returns vis shaper current (EIGER)
+
+iodelay
+Returns iodelay
+
+temp_adc
+Returns the temperature of the ADCs
+
+temp_fpga
+Returns the temperature of the FPGA.
+
+temp_fpgaext
+Returns the temperature close to the fpga (EIGER).
+
+temp_10ge
+Returns the temperature close to the 10GE (EIGER).
+
+temp_dcdc
+Returns the temperature close to the dc dc converter (EIGER).
+
+temp_sodl
+Returns the temperature close to the left so-dimm memory (EIGER).
+
+temp_sodr
+Returns the temperature close to the right so-dimm memory (EIGER).
+
+temp_fpgafl
+Returns the temperature of the left front end board fpga (EIGER).
+
+temp_fpgafr
+Returns the temperature of the right front end board fpga (EIGER).
+
+
+
+reg a
+Write to register of address a the data d
+
+clkdivider
+Returns the clock divider for the readout.
+
+setlength
+Returns the length of the set/reset signals in the acquisition.
+
+waitstates
+Returns the wait states for CPU/FPGA communication.
+
+totdivider
+Returns the tot clock divider.
+
+totdutycycle
+Returns the tot duty cycle.
+
+setup
+Dumps all settings to file (config, parameters, trimbits etc.).
+
+trimbits fn
+Dumps the trimbits to the file files fn.snxxx
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Usage
+ Up: SLS Detector text clients
+ Previous: Detector setup
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorClientHowTo/node5.html b/manual/docs/html/slsDetectorClientHowTo/node5.html
new file mode 100644
index 000000000..a329cdee1
--- /dev/null
+++ b/manual/docs/html/slsDetectorClientHowTo/node5.html
@@ -0,0 +1,166 @@
+
+
+
+
+
+Usage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: About this document ...
+ Up: SLS Detector text clients
+ Previous: Retrieving detector parameters
+
+
+
+
+Subsections
+
+
+
+
+
+
+
+
+
+
+First, your detector should always be configured for each PC that you might want to use for controlling the detector.
+To do that:
+
+sls_detector_put config mydetector.config
+
+Refer to sample configuration files to produce the appropriate one for your detector.
+
+
+One can configure all the detector settings in a parameter file setup.det , which is loaded by doing:
+
+sls_detector_put parameters setup.det
+
+
+
+In the case of EIGER, the parameter file (setup.det needs to setup the proper bias voltage of the sensor, i.e. needs to contain the line vhighvoltage 150 .
+
+
+
+
+
+
+You will then need to setup the detector threshold and settings, the exposure time, the number of real time frames and eventually how many real time frames should be acquired:
+
+sls_detector_put settings standard
+sls_detector_put threshold 6000
+sls_detector_put exptime 1.
+sls_detector_put frames 10
+
+In this case 10 consecutive 1s frames will be acquired.
+
+
+You need to setup where the files will be written to
+
+sls_detector_put outdir /scratch
+sls_detector_put fname run
+sls_detector_put index 0
+
+this way your files will all be named /scratch/run_fj_i.dat where j goes between 0 and 9 and is relative to the frame number, i starts from 0 and is automatically incremented. The next acquisition it will be 1.
+
+
+To acquire simply type
+
+sls_detector_acquire
+
+
+
+You can poll the detector status using
+
+sls_detector_get status
+
+
+
+
+
+Flat field and rate corrections can be applied directly by simply selecting:
+
+sls_detector_put flatield myflatfield.raw
+sls_detector_put ratecorr -1
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: About this document ...
+ Up: SLS Detector text clients
+ Previous: Retrieving detector parameters
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorClientHowTo/node6.html b/manual/docs/html/slsDetectorClientHowTo/node6.html
new file mode 100644
index 000000000..282455e5c
--- /dev/null
+++ b/manual/docs/html/slsDetectorClientHowTo/node6.html
@@ -0,0 +1,71 @@
+
+
+
+
+
+About this document ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Up: SLS Detector text clients
+ Previous: Usage
+
+
+
+
+
+ SLS Detector text clients manual
+This document was generated using the
+LaTeX 2HTML translator Version 2012 (1.2)
+
+Copyright © 1993, 1994, 1995, 1996,
+Nikos Drakos ,
+Computer Based Learning Unit, University of Leeds.
+
+Copyright © 1997, 1998, 1999,
+Ross Moore ,
+Mathematics Department, Macquarie University, Sydney.
+
+The command line arguments were:
+ latex2html -split 4 slsDetectorClientHowTo.tex
+
+The translation was initiated by Thattil Dhanya on 2018-08-23
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorClientHowTo/slsDetectorClientHowTo.css b/manual/docs/html/slsDetectorClientHowTo/slsDetectorClientHowTo.css
new file mode 100644
index 000000000..d1824aff4
--- /dev/null
+++ b/manual/docs/html/slsDetectorClientHowTo/slsDetectorClientHowTo.css
@@ -0,0 +1,30 @@
+/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
+.MATH { font-family: "Century Schoolbook", serif; }
+.MATH I { font-family: "Century Schoolbook", serif; font-style: italic }
+.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold }
+
+/* implement both fixed-size and relative sizes */
+SMALL.XTINY { font-size : xx-small }
+SMALL.TINY { font-size : x-small }
+SMALL.SCRIPTSIZE { font-size : smaller }
+SMALL.FOOTNOTESIZE { font-size : small }
+SMALL.SMALL { }
+BIG.LARGE { }
+BIG.XLARGE { font-size : large }
+BIG.XXLARGE { font-size : x-large }
+BIG.HUGE { font-size : larger }
+BIG.XHUGE { font-size : xx-large }
+
+/* heading styles */
+H1 { }
+H2 { }
+H3 { }
+H4 { }
+H5 { }
+
+/* mathematics styles */
+DIV.displaymath { } /* math displays */
+TD.eqno { } /* equation-number cells */
+
+
+/* document-specific styles come next */
diff --git a/manual/docs/html/slsDetectorClientHowTo/slsDetectorClientHowTo.html b/manual/docs/html/slsDetectorClientHowTo/slsDetectorClientHowTo.html
new file mode 100644
index 000000000..eeba90850
--- /dev/null
+++ b/manual/docs/html/slsDetectorClientHowTo/slsDetectorClientHowTo.html
@@ -0,0 +1,154 @@
+
+
+
+
+
+SLS Detector text clients manual
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Introduction
+
+
+
+
+
+
+
SLS Detector text clients manual
+
+
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/WARNINGS b/manual/docs/html/slsDetectorGuiHowTo/WARNINGS
new file mode 100644
index 000000000..a6999a3cf
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/WARNINGS
@@ -0,0 +1,3 @@
+No implementation found for style `graphicx'
+
+There is no author for this document.
diff --git a/manual/docs/html/slsDetectorGuiHowTo/index.html b/manual/docs/html/slsDetectorGuiHowTo/index.html
new file mode 100644
index 000000000..bc435d604
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/index.html
@@ -0,0 +1,119 @@
+
+
+
+
+
+Mythen v3.0 manual
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Installation and upgrades
+
+
+
+
+
+
+
Mythen v3.0 manual
+
+
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/internals.pl b/manual/docs/html/slsDetectorGuiHowTo/internals.pl
new file mode 100644
index 000000000..121b5d51c
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/internals.pl
@@ -0,0 +1,14 @@
+# LaTeX2HTML 2012 (1.2)
+# Associate internals original text with physical files.
+
+
+$key = q/sec:trimdir/;
+$ref_files{$key} = "$dir".q|node7.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:encal/;
+$ref_files{$key} = "$dir".q|node16.html|;
+$noresave{$key} = "$nosave";
+
+1;
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/labels.pl b/manual/docs/html/slsDetectorGuiHowTo/labels.pl
new file mode 100644
index 000000000..e816ddbfa
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/labels.pl
@@ -0,0 +1,25 @@
+# LaTeX2HTML 2012 (1.2)
+# Associate labels original text with physical files.
+
+
+$key = q/sec:trimdir/;
+$external_labels{$key} = "$URL/" . q|node7.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:encal/;
+$external_labels{$key} = "$URL/" . q|node16.html|;
+$noresave{$key} = "$nosave";
+
+1;
+
+
+# LaTeX2HTML 2012 (1.2)
+# labels from external_latex_labels array.
+
+
+$key = q/sec:trimdir/;
+$external_latex_labels{$key} = q|1.6|;
+$noresave{$key} = "$nosave";
+
+1;
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node1.html b/manual/docs/html/slsDetectorGuiHowTo/node1.html
new file mode 100644
index 000000000..cf0d99241
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node1.html
@@ -0,0 +1,88 @@
+
+
+
+
+
+Installation and upgrades
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: The software package
+ Up: Mythen v3.0 manual
+ Previous: Mythen v3.0 manual
+
+
+
+
+
+
+
+The new MYTHEN software is intended to control the MCS mythen boards either by using a command line interface (text client) or by using with a graphical user interface (GUI).
+
+
+Here you can find in brief the main things you need to know in order to start working with your detector.
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node10.html b/manual/docs/html/slsDetectorGuiHowTo/node10.html
new file mode 100644
index 000000000..ce81c9c65
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node10.html
@@ -0,0 +1,67 @@
+
+
+
+
+
+Acquisition
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Detector setup
+ Up: slsDetectorClient
+ Previous: Introduction
+
+
+
+
+
+mythen_acquire [id[-/:]]
+
+
+the detector is started and the data are acquired, postprocessed and written to file according to the configuration
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node11.html b/manual/docs/html/slsDetectorGuiHowTo/node11.html
new file mode 100644
index 000000000..abbe160ba
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node11.html
@@ -0,0 +1,269 @@
+
+
+
+
+
+Detector setup
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Retrieving detector parameters (plus
+ Up: slsDetectorClient
+ Previous: Acquisition
+
+
+
+
+
+
+
+mythen_put [id[:/-]]var arg
+
+
+is used to configure the detector parameter var
+ e.g. mythen_put 0:exptime 1 sets the exposure time to 1 s
+
+
+
+help i
+get help
+
+config fname
+reads the configuration file specified and sets the values
+
+parameters fname
+sets the detector parameters specified in the file
+
+setup rootname
+reads the files specfied (and that could be created by get setup) and resets the complete detector configuration including flatfield corrections, badchannels, trimbits etc.
+
+hostname name
+this is mandatory!!!! sets hostname (or IP adress)
+
+online b
+b can be 0 or 1 and sets the detector in offline/online state. Must be used to restore communication if some socket called failed because the detector was not connected.
+
+status s
+either start or stop
+
+caldir path
+Sets path of the calibration files
+
+trimdir path
+Sets path of the trim files
+
+outdir path
+directory to which the files will be written by default
+
+fname name
+filename to which the files will be written by default (to which file and position indexes will eventually be attached)
+
+index i
+start index of the files (automatically incremented by the acquisition functions)
+
+nmod n
+Sets number of detector modules
+
+extsig:i mode
+Sets usage of the external digital signal i. mode can be: off, gate_in_active_high, gate_in_active_low, trigger_in_rising_edge, trigger_in_falling_edge, ro_trigger_in_rising_edge, ro_trigger_in_falling_edge, gate_out_active_high, gate_out_active_low, trigger_out_rising_edge, trigger_out_falling_edge, ro_trigger_out_rising_edge, ro_trigger_out_falling_edge
+
+timing
+Sets the timing mode of the detector. Can be auto, gating (works only if at least one of the signals is configured as gate_in), trigger (works only if at least one of the signals is configured as trigger_in), ro_trigger (works only if at least one of the signals is configured as ro_trigger_in), triggered_gating (works only if one ofthe signals is configured as gate_in and one as trigger_in).
+
+settings sett
+Sets detector settings. Can be: standard fast highgain (depending on trheshold energy and maximum count rate: please refere to manual for limit values!);
+
+threshold ev
+Sets detector threshold in eV. Should be half of the beam energy. It is precise only if the detector is calibrated
+
+vthreshold dac
+Sets detector threshold in DAC units. A very rough calibration is dac=800-10*keV
+
+exptime t
+Sets the exposure time per frame (in s)
+
+period t
+Sets the frames period (in s)
+
+delay t
+Sets the delay after trigger (in s)
+
+gates n
+Sets the number of gates per frame
+
+frames n
+Sets the number of frames per cycle (e.g. after each trigger)
+
+cycles n
+Sets the number of cycles (e.g. number of triggers)
+
+probes n
+Sets the number of probes to accumulate (max 3)
+
+dr n
+Sets the dynamic range - can be (1,) 4, 8,16 or 24 bits
+
+flags mode
+Sets the readout flags - can be none or storeinram
+
+flatfield fname
+Sets the flatfield file name - none disable flat field corrections
+
+ratecorr t
+Sets the rate corrections with dead time t ns (0 unsets, -1 uses default dead time for chosen settings
+
+badchannels fname
+Sets the badchannels file name - none disable bad channels corrections
+
+angconv fname
+Sets the angular conversion file name
+
+globaloff o
+sets the fixed angular offset of your encoder - should be almost constant!
+
+fineoff o
+sets a possible angular offset of your setup - should be small but can be senseful to modify
+
+binsize s
+sets the binning size of the angular conversion (otherwise defaults from the angualr conversion constants)
+
+angdir i
+sets the angular direction of the detector (i can be 1 or -1 - by default 1, channel 0 is smaller angle)
+
+positions np (pos0 pos1...posnp)
+Sets the number of positions at which the detector is moved during the acquisition and their values
+
+startscript script
+sets a script to be executed at the beginning of the measurements (e.g. open shutter). none unsets. Parameters will be parsed as script nrun=i par=spar
where i is the run number and spar is the value of startscriptpar.
+
+stopscript script
+sets a script to be executed at the end of the measurement (e.g. close shutter). none unsets. Parameters will be parsed as script nrun=i par=spar
where i is the run number and spar is the value of stopscriptpar.
+
+startscriptpar spar
+sets a parameter passed to the start script as string with the syntax par=spar. Its meaning must be interpreted inside the script!
+
+stopscriptpar spar
+sets a parameter passed to the start script as string with the syntax par=spar. Its meaning must be interpreted inside the script!
+
+scan0script script
+Sets a scan script to be executed at higher level. Script can be none (unset), threshold (change threshold DAC values for all modules), energy (change energy threshold DAC values using calibration for each module), trimbits (change trimbits for all channels) or any script (e.g changing temperature or moving sample) which will be called with the syntax script nrun=i fn=fname var=val par=spar
where i is the file index, fname is the file name val is the current value of the scan variable and spar is the value of the scan parameter
+
+scan1script script
+Sets a scan script to be executed at lower level. Script can be none (unset), threshold (change threshold DAC values for all modules), energy (change energy threshold DAC values using calibration for each module), trimbits (change trimbits for all channels) or any script (e.g changing temperature or moving sample) which will be called with the syntax script nrun=i fn=fname var=val par=spar
where i is the file index, fname is the file name val is the current value of the scan variable and spar is the value of the scan parameter
+
+scan0par spar
+sets the scan parameter to be passed to scan0script as a string with syntax par=spar. Its meaning has to be interpreted insode the script!
+
+scan1par spar
+sets the scan parameter to be passed to scan1script as a string with syntax par=spar. Its meaning has to be interpreted insode the script!
+
+scan0prec i
+sets the precision of the scan variable in order to properly generate the file names for scan0
+
+scan1prec i
+sets the precision of the scan variable in order to properly generate the file names for scan1
+
+scan0steps n (f0 f1..fn)
+sets the steps for the scan0script. n is the number of steps and the following values are the step values.
+
+scan1steps n (f0 f1..fn)
+sets the steps for the scan1script. n is the number of steps and the following values are the step values.
+
+scan0range mi ma st
+generates the steps for the scan0script in the range mi to ma with step st (is mi smaller than ma specify a negative step)
+
+scan1range mi ma st
+generates the steps for the scan1script in the range mi to ma with step st (is mi smaller than ma specify a negative step)
+
+scriptbefore script
+sets the script to be executed before each acquisition (before all positions) with the syntax script nrun=i fn=fname par=spar sv0=svar0 sv1=svar1 p0=spar0 p1=spar1
where i is the file index, fname is the file name, sva0, svar1 are the current values of the scan variables 0 and 1, spar0, spar1 are tthe scan parameter 0 and 1. none unsets.
+
+scriptafter script
+sets the script to be executed after each acquisition (after all positions) with the syntax script nrun=i fn=fname par=spar sv0=svar0 sv1=svar1 p0=spar0 p1=spar1
where i is the file index, fname is the file name, sva0, svar1 are the current values of the scan variables 0 and 1, spar0, spar1 are tthe scan parameter 0 and 1. none unsets.
+
+scriptbeforepar spar
+sets the parameter to be passed to the script before witht he syntax par=spar
+
+scriptafterpar spar
+sets the parameter to be passed to the script after witht he syntax par=spar
+
+headerbefore script
+sets the script to be executed before each acquisition (after moving the detector) with the syntax script nrun=i fn=fname par=spar
where i is the run number, fname is the file name, spar is the header before parameter. The script is normally used to save a file header. none unsets.
+
+headerafter script
+sets the script to be executed after each acquisition (after each position) with the syntax script nrun=i fn=fname par=spar
where i is the run number, fname is the file name, spar is the header after parameter. The script is normally used to complete the file header. none unsets.
+
+headerbeforepar spar
+sets the parameter to be passed to the header before script with the syntax par=spar
+
+headerafterpar spar
+sets the parameter to be passed to the header after script with the syntax par=spar
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Retrieving detector parameters (plus
+ Up: slsDetectorClient
+ Previous: Acquisition
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node12.html b/manual/docs/html/slsDetectorGuiHowTo/node12.html
new file mode 100644
index 000000000..af8825229
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node12.html
@@ -0,0 +1,300 @@
+
+
+
+
+
+Retrieving detector parameters (plus trimming and test modalities)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Tips
+ Up: slsDetectorClient
+ Previous: Detector setup
+
+
+
+
+
+mythen_get [id[:/-]]var arg
+
+
+is used to retrieve the detector parameter var
+ e.g. mythen_get 0:exptime returns the exposure time in seconds
+
+
+
+help
+This help
+
+config fname
+writes the configuration file
+
+parameters fname
+writes the main detector parameters for the measuremen tin the file
+
+setup rootname
+writes the complete detector setup (including configuration, trimbits, flat field coefficients, badchannels etc.) is a set of files for which the extension is automatically generated
+
+online
+return whether the detector is in online (1) or offline (0) state.
+
+status
+gets the detector status - can be: running, error, transmitting, finished, waiting or idle
+
+data
+gets all data from the detector (if any) processes them and writes them to file according to the preferences already setup
+
+frame
+gets a single frame from the detector (if any) processes it and writes it to file according to the preferences already setup
+
+hostname
+Gets the detector hostname (or IP address)
+
+caldir
+Gets path of the calibration files
+
+trimdir
+Gets path of the trim files
+
+outdir
+directory to which the files will be written by default
+
+fname
+filename to which the files will be written by default (to which file and position indexes will eventually be attached)
+
+index
+start index of the files (automatically incremented by the acquisition functions)
+
+nmod
+Gets number of detector modules
+
+maxmod
+Gets maximum number of detector modules
+
+extsig:i
+Gets usage of the external digital signal i. The return value can be: off, gate_in_active_high, gate_in_active_low, trigger_in_rising_edge, trigger_in_falling_edge, ro_trigger_in_rising_edge, ro_trigger_in_falling_edge, gate_out_active_high, gate_out_active_low, trigger_out_rising_edge, trigger_out_falling_edge, ro_trigger_out_rising_edge, ro_trigger_out_falling_edge
+
+timing
+Sets the timing mode of the detector. Can be auto, gating (works only if at least one of the signals is configured as gate_in), trigger (works only if at least one of the signals is configured as trigger_in), ro_trigger (works only if at least one of the signals is configured as ro_trigger_in), triggered_gating (works only if one ofthe signals is configured as gate_in and one as trigger_in).
+
+modulenumber
+Gets the module serial number
+
+moduleversion
+Gets the module version
+
+detectornumber
+Gets the detector number (MAC address)
+
+detectorversion
+Gets the detector firmware version
+
+softwareversion
+Gets the detector software version
+
+digitest:i
+Makes a digital test of the detector module i. Returns 0 if it succeeds
+
+bustest
+Makes a test of the detector bus. Returns 0 if it succeeds
+
+settings
+Gets detector settings. Can be: standard fast highgain undefined
+
+threshold
+Gets detector threshold in eV. It is precise only if the detector is calibrated
+
+vthreshold
+Gets detector threshold in DAC units. A very rough calibration is dac=800-10*keV
+
+exptime
+Gets the exposure time per frame (in s)
+
+period
+Gets the frames period (in s)
+
+delay
+Gets the delay after trigger (in s)
+
+gates
+Gets the number of gates per frame
+
+frames
+Gets the number of frames per cycle (e.g. after each trigger)
+
+cycles
+Gets the number of cycles (e.g. number of triggers)
+
+probes
+Gets the number of probes to accumulate (max 3)
+
+timestamp
+Gets the internal time stamp of the nex frame acquired (i.e. during an acquisition, all timestamps of the frames are stored in a FIFO which can be read after the acquisition - returns -1 if the FIFO is empty)
+
+dr
+Gets the dynamic range
+
+trim:mode fname
+Trims the detector and writes the trimfile fname.snxxx. mode can be: noise beam improve fix offline - Check that the start conditions are OK!!!
+
+flatfield
+fname returns whether the flat field corrections are enabled and if so writes the coefficients to the specified filename. If fname is none it is not written
+
+ratecorr
+returns wether the rate corrections are enabled and what is the dead time used in ns
+
+badchannels fname
+returns wether the bad channels corrections are enabled and if so writes the bad channels to the specified filename. If fname is none it is not written
+
+angconv fname
+returns wether the angular conversion is enabled and if so writes the angular conversion coefficients to the specified filename. If fname is none, it is not written
+
+globaloff
+returns the fixed angular offset of your encoder - should be almost constant!
+
+fineoff
+returns a possible angualr offset of your setup - should be small but can be senseful to modify
+
+binsize
+returns the binning size of the angular conversion
+
+angdir
+gets the angular direction of the detector (can be 1 or -1 - by default 1, channel 0 is smaller angle)
+
+positions
+returns the number of positions at which the detector is moved during the acquisition and their values
+
+startscript script
+sets a script to be executed at the beginning of the measurements (e.g. open shutter). none unsets. Parameters will be parsed as script nrun=i par=spar
where i is the run number and spar is the value of startscriptpar.
+
+stopscript
+returns the script to be executed at the end of the measurement (e.g. close shutter). none unsets. Parameters will be parsed as script nrun=i par=spar
where i is the run number and spar is the value of stopscriptpar.
+
+startscriptpar
+returns the parameter passed to the start script as string with the syntax par=spar. Its meaning must be interpreted inside the script!
+
+stopscriptpar
+returns the parameter passed to the start script as string with the syntax par=spar. Its meaning must be interpreted inside the script!
+
+scan0script
+returns the scan script to be executed at higher level. Script can be none (unset), threshold (change threshold DAC values for all modules), energy (change energy threshold DAC values using calibration for each module), trimbits (change trimbits for all channels) or any script (e.g changing temperature or moving sample) which will be called with the syntax script nrun=i fn=fname var=val par=spar
where i is the file index, fname is the file name val is the current value of the scan variable and spar is the value of the scan parameter
+
+scan1script
+returns the scan script to be executed at lower level. Script can be none (unset), threshold (change threshold DAC values for all modules), energy (change energy threshold DAC values using calibration for each module), trimbits (change trimbits for all channels) or any script (e.g changing temperature or moving sample) which will be called with the syntax script nrun=i fn=fname var=val par=spar
where i is the file index, fname is the file name val is the current value of the scan variable and spar is the value of the scan parameter
+
+scan0par
+returns the scan parameter to be passed to scan0script as a string with syntax par=spar. Its meaning has to be interpreted insode the script!
+
+scan1par
+returns the scan parameter to be passed to scan1script as a string with syntax par=spar. Its meaning has to be interpreted insode the script!
+
+scan0prec
+returns the precision of the scan variable in order to properly generate the file names for scan0
+
+scan1prec
+returns the precision of the scan variable in order to properly generate the file names for scan1
+
+scan0steps
+returns the steps for the scan0script. n is the number of steps and the following values are the step values.
+
+scan1steps
+returns the steps for the scan1script. n is the number of steps and the following values are the step values.
+
+scan0range
+returns the steps for the scan0script. n is the number of steps and the following values are the step values.
+
+scan1range
+returns the steps for the scan1script. n is the number of steps and the following values are the step values.
+
+scriptbefore
+returns the script to be executed before each acquisition (before all positions) with the syntax script nrun=i fn=fname par=spar sv0=svar0 sv1=svar1 p0=spar0 p1=spar1
where i is the file index, fname is the file name, sva0, svar1 are the current values of the scan variables 0 and 1, spar0, spar1 are tthe scan parameter 0 and 1.
+
+scriptafter
+returns the script to be executed after each acquisition (after all positions) with the syntax script nrun=i fn=fname par=spar sv0=svar0 sv1=svar1 p0=spar0 p1=spar1
where i is the file index, fname is the file name, sva0, svar1 are the current values of the scan variables 0 and 1, spar0, spar1 are tthe scan parameter 0 and 1.
+
+scriptbeforepar
+returns the parameter to be passed to the script before witht he syntax par=spar
+
+scriptafterpar
+returns the parameter to be passed to the script after witht he syntax par=spar
+
+headerbefore
+returns the script to be executed before each acquisition (after moving the detector) with the syntax script nrun=i fn=fname par=spar
where i is the run number, fname is the file name, spar is the header before parameter. The script is normally used to save a file header.
+
+headerafter
+returns the script to be executed after each acquisition (after each position) with the syntax script nrun=i fn=fname par=spar
where i is the run number, fname is the file name, spar is the header after parameter. The script is normally used to complete the file header.
+
+headerbeforepar
+returns the parameter to be passed to the header before script with the syntax par=spar
+
+headerafterpar
+returns the parameter to be passed to the header after script with the syntax par=spar
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Tips
+ Up: slsDetectorClient
+ Previous: Detector setup
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node13.html b/manual/docs/html/slsDetectorGuiHowTo/node13.html
new file mode 100644
index 000000000..00836911e
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node13.html
@@ -0,0 +1,222 @@
+
+
+
+
+
+Tips
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Acquisition
+ Up: slsDetectorClient
+ Previous: Retrieving detector parameters (plus
+
+
+
+
+Subsections
+
+
+
+
+
+
+
+
+
+
+First of all you should setup the hostname and the detector size and dynamic range:
+
+mythen_put hostname mcs1x00
+mythen_get nmod
+mythen_get dr
+
+You should also tell the program where to find the default trimbits files and calibration files:
+
+mythen_put trimdir /scratch/trimbits
+mythen_get caldir /scratch/calibration
+
+To chose the detector settings (e.g. standard):
+
+mythen_put settings standard
+
+In case mythen_get settings
does not answer correctly, it most probably means that there is a problem in the architecture or setting of trimdir and caldir (see section 1.6 ).
+
+
+
+
+You need to setup where the files will be written to
+
+mythen_put outdir /scratch
+mythen_put fname run
+mythen_put index 0
+
+this way your files will al be named /scracth/run_i.dat where is starts from 0 and is automatically incremented.
+
+
+You will then need to setup the detector threshold and settings, the exposure time, the number of real time frames and eventually how many real time frames should be acquired:
+
+mythen_put settings standard
+mythen_put threshold 6000
+mythen_put exptime 1.
+mythen_put frames 10
+
+In this case 10 consecutive 1s frames will be acquired.
+External gating and triggering or more advanced acquisition modes are not explained here.
+
+
+
+
+There are two ways of acquiring data.
+
+The first is fully automatic and freezes the terminal until the acquisition is finished:
+
+mythen_acquire 0
+
+This is particulary indicated for fast real time acquisitions.
+
+
+If you want to acquire few long frames you can run:
+
+mythen_put status start
+
+and the poll the detector status using
+
+mythen_get status
+
+if the answer is either transmitting or finished, the data are ready to be downloaded from the detector.
+This can be done using either:
+
+mythen_get frame
+
+where a single data frame is downloaded or
+
+mythen_get data
+
+where all data present on the detector are downloaded.
+This is not indicated when many short real time frames should be acquired since the detector memory would be full before finishing the acquisition since the download time is so limited.
+
+
+
+
+Flat field and rate corrections can be applied direcly by simply selecting:
+
+mythen_put flatield myflatfield.raw
+mythen_put ratecorr -1
+
+
+
+Concerning the angular conversion, it is very reccomended that the users edit the file usersFunctions.cpp contained in the folder slsDetectorSoftware/usersFunctions.
+In the file it is possible to modify the function used for calculating the angular conversion and the ones used for interfacing with the diffractometer equipment i.e. reading the encoder fo the detector position, the ionization chanmbers etc.
+
+
+It is also possible to configure some scans/scripts to be executed during the acquisition. They will be normally called as system calls except for threshold, energy and trimbits scans.
+
+
+Possible arguments are:
+
+help
+This help
+
+-f myconf.txt
+loads the configuration file to myconf.txt
+
+-id i
+Sets the detector to id i (the default is i). Useful when more than one detector are operated in parallel.
+
+-offline
+works in offline mode i.e. not connecting to the detector. Usefule e.g. to perform the energy calibration of the detector and possibly in the future to reprocess and visualize the data (not yet implemented).
+
+-size n
+sets the size of the text to n (the default is n=10);
+
+-scale s
+scales the size of the text and the root canvas by the scaling factor s (the default is s=1). It is useful when executing the program on a PC with low screen resolution (e.g. a laptop) and the window would then fall out of the screen.");
+
+
+The configuration of the detector can either be set when startin the GUI using the configuration file or using the text client or even using the configuration tab of the GUI.
+
+
+
+
+
+
+
+
+
+
+
+ Next: Acquisition
+ Up: slsDetectorClient
+ Previous: Retrieving detector parameters (plus
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node14.html b/manual/docs/html/slsDetectorGuiHowTo/node14.html
new file mode 100644
index 000000000..8f749aa41
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node14.html
@@ -0,0 +1,70 @@
+
+
+
+
+
+Acquisition
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Other functions
+ Up: slsDetectorClient
+ Previous: Tips
+
+
+
+
+
+By pressing the start button in the measurement tab the data will be acquired, saved, corrected and plotted as specified.
+
+
+The stop button stops the acquisition i.e. if there are data left to be saved processed etc. the program will not really stop until the offline processes are done.
+
+
+Please don't be too nervous clicking on start and/or stop since this is one of the main causes of crashes (the program has been teste only for quiet users :-)).
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node15.html b/manual/docs/html/slsDetectorGuiHowTo/node15.html
new file mode 100644
index 000000000..e6c24db2f
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node15.html
@@ -0,0 +1,187 @@
+
+
+
+
+
+Other functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Energy calibration
+ Up: slsDetectorClient
+ Previous: Acquisition
+
+
+
+
+Subsections
+
+
+
+
+
+
+The text client and the GUI can be operated in parallel (althoug you should not change parameters or acquire data at the same data from the gui and the text client!) and the values displayed by the GUI should normally be the actual ones.
+However this kind of parallel operation is at your own risk!
+
+
+The main parameters are group in tabs according to their meaning. To enable some tabs you should enter the modes menu and select Advanced/configuration/Debug
+Here is the general subject of the tabs:
+
+Measurement
+Main acquisition parameters that you may want to change often
+
+Data Output
+Where to write the data, in which format and what to to with them
+
+Plot
+What to plot and how (only partially implemented)
+
+Actions
+Allows to configure scans and/or execute scripts at teh beginning or at the end of the measurement.
+
+Time resolved
+Parameters for time resolved (real time) measurements
+
+Advanced
+Must be activated with the modes menu button. Allows to set some advanced configuration which you don't want general users to change (e.g. data size, external signals, advanced acquisition speed)
+
+Trimming
+Must be activated with the modes menu button. Allows to trim the detector and/or load specific trim files.
+
+Configuration
+Must be activated with the modes menu button. Allows to configure the detector
+
+Debugging
+Must be activated with the modes menu button. Allows to test the detectors functionality, acquire serial numbers etc.
+
+
+Most of the parameters are explained through a tooltip which appers if you leave the mouse on the widget for a few seconds.
+
+
+The configuration and/or the complete setup of the detector can be loaded and saved using the Utilities menu.
+
+
+
+
+Where to find some important parameters (should be set only once, then it should remain in memory):
+
+Hostname
+Configuration tab. Press enter to update.
+
+Trim dir
+Configuration tab. Press enter to update.
+
+Cal dir
+Configuration tab. Press enter to update.
+
+Number of modules
+Configuration tab or Advanced tab
+
+Dynamic range
+Advanced tab
+
+Output directory
+Data Output tab.
+
+File name
+Measurement tab.
+
+File index
+Measurement tab (automatically incremented).
+
+
+
+
+
+
+Where to find some important parameters (should be set only once, then it should remain in memory):
+
+Settings
+Measurement tab
+
+Threshold
+Measurement tab
+
+Exposure time
+Measurement tab
+
+Number of frames
+Measurement tab for non time-resolved measurement, Time resolved tab for fast real time measurements. if you need some action between frame see Actions tab.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Energy calibration
+ Up: slsDetectorClient
+ Previous: Acquisition
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node16.html b/manual/docs/html/slsDetectorGuiHowTo/node16.html
new file mode 100644
index 000000000..d041191a8
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node16.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+Energy calibration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: About this document ...
+ Up: Mythen v3.0 manual
+ Previous: Other functions
+
+
+
+
+
+
+Energy calibration
+
+The energy calibration should be performed by illuminating the detector with monochromatic radiation at at least 2 (better 3-4) energies larger than 8 keV. The energy calibration should be performed after trimming and the trim files used should be properly copied in the trimbits directory and used as default.
+
+
+The data can be acquired either with the mythenGUI (by using the calibration wizard or the threshold scan utility in the Action tab) or with the slsDetectorClient (by scanning the threshold using mythen_put 0:vthreshold), but since the analysis needs the use of root, the GUI must be used to finalize the calibration.
+
+
+In the mythenGUI menu Utilities/Calibration wizard it is possible to simply and automatically perform the energy calibration of the detector:
+
+
+Check the ``Detector online'' box in case you want to acquire the data, otherwise simply unclick it and you will be required to provide already acquired data and the details about the detector.
+
+The first time, chose ``Start new calibration'' and chose the directory where you want to store the data you want to acquire. The calibration file names have a''.root'' extension.
+
+The calibration should be perormed by acquiring always the same settings and with the same number of modules always connected in the same sequence. The clibration files, however, can be used for the modules also on different systems (i.e. different number of modules, readout board, etc.). A new calibration should be performed for different detector settings.
+
+If the detector is online, the settings, the number of modules and their serial number will automatically be retrieved. If you selected the offline mode, you must provide the detector settings for the calibration that you want to perform and the serial numbers of the modules in the correct order (to do so, enter the 3 hexadecimal digits in the right sequence and press enter for each module - in case of error the list is editable).
+
+Enter the energy of your beam (in keV!);
+
+If you are in online mode, the acquisition time should be chosen such that there are at least 1000 counts per channel at an intemediate threshold; the range of the threshold scan should be between approx 800-15*keV and 800, better with a step of 1 but up to 5 can be fine in order to reduce the acquisition time: it is more important that each step has a sufficient statistics than that the threshold step is low! After pressing ``Next'', the detector starts acquiring and showing the histogram of the calibration. When it is finished simply press ``Finish'' to accept the data, ``Cancel'' to reject them.
+
+In offline mode, you are required to enter the range and step of the calibration and to select the files (in the same sequence as the threshold values!). After pressing ``Next'' (enabled only if the number of steps is the same as the number of files), the histogram showing the threshold scan is drawn. Simply press ``Finish'' to accept the data, ``Cancel'' to reject them.
+
+For the following calibration steps, check the ``Detector online'' box in case you want to acquire the data, otherwise simply unclick it and you will be required to provide already acquired data and the details about the detector.
+
+Chose ``Add calibration step'' and select the file created prevously. The settings, number of modules and serial numbers of the modules and the energies at which the acquisition has been already performed should be displayed.
+
+Add a new calibration step like in point 3. and iterate for all the energies at which you want to perform the calibration.
+
+To generate the calibration files, chose ``Generate calibration files'' and select the file created prevously. The settings, number of modules and serial numbers of the modules and the energies at which the acquisition has been already performed should be displayed.
+
+Chose the directory and the root of the calibrations files name. An extension corresponding to the serial number of the modules will be generated.
+
+The calibration files for each module should be generated. For each energy you can set the start parameters of the fit and the fitting range (press enter after each change) so that the fitted curves nicely fit the data. The linear fit between energies and inflection points can also be checked.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: About this document ...
+ Up: Mythen v3.0 manual
+ Previous: Other functions
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node17.html b/manual/docs/html/slsDetectorGuiHowTo/node17.html
new file mode 100644
index 000000000..959fe3f46
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node17.html
@@ -0,0 +1,71 @@
+
+
+
+
+
+About this document ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Up: Mythen v3.0 manual
+ Previous: Energy calibration
+
+
+
+
+
+ Mythen v3.0 manual
+This document was generated using the
+LaTeX 2HTML translator Version 2012 (1.2)
+
+Copyright © 1993, 1994, 1995, 1996,
+Nikos Drakos ,
+Computer Based Learning Unit, University of Leeds.
+
+Copyright © 1997, 1998, 1999,
+Ross Moore ,
+Mathematics Department, Macquarie University, Sydney.
+
+The command line arguments were:
+ latex2html -split 4 slsDetectorGuiHowTo.tex
+
+The translation was initiated by Thattil Dhanya on 2018-08-23
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node2.html b/manual/docs/html/slsDetectorGuiHowTo/node2.html
new file mode 100644
index 000000000..29c3846b4
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node2.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+The software package
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Requirements
+ Up: Installation and upgrades
+ Previous: Installation and upgrades
+
+
+
+
+
+
+
+The actual software for the Mythen II system (MCS1 to MCS24) runs on 32 bit Scientific Linux machines (SLC5 tested, gcc 4.1.2 but it should not be critical).
+
+
+The complete software package is composed of several programs which can be instaleld (or locally compiled) depending on the needs:
+
+
+The slsDetector shared and static libraries which are necessary for all user interfaces and can be simply used for implementig custom detector drivers;
+
+The command line interface (slsDetectorClient) sls_detector_put, sls_detector_get, sls_detector_acquire which is provided to communicate with the detectors;
+
+A virtual server mythenServer which can be used to simulate the behavior of the detector for what concerns the communication in case the detector is not online or is in use.
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node3.html b/manual/docs/html/slsDetectorGuiHowTo/node3.html
new file mode 100644
index 000000000..ab4f972f7
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node3.html
@@ -0,0 +1,66 @@
+
+
+
+
+
+Requirements
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Compilation
+ Up: Installation and upgrades
+ Previous: The software package
+
+
+
+
+
+
+
+For installing the slsDetector shared and static libraries and the slsDetectorClient software, any Linux installation with a working gcc should be fine.
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node4.html b/manual/docs/html/slsDetectorGuiHowTo/node4.html
new file mode 100644
index 000000000..f9bbf79a2
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node4.html
@@ -0,0 +1,80 @@
+
+
+
+
+
+Compilation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Building
+ Up: Installation and upgrades
+ Previous: Requirements
+
+
+
+
+
+If you simply want to install the software in the working directory you can:
+
+
+make lib
compile slsDetector library
+
+make slsDetectorClient
compile slsDetectorClient package
+
+make all
compile slsDetector libraries, the slsDetectorClient package
+
+make clean
remove object files and executables
+
+make help
lists possible targets
+
+
+
+
+To be able to run the slsDetectorClient commands, add their location to your path.
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node5.html b/manual/docs/html/slsDetectorGuiHowTo/node5.html
new file mode 100644
index 000000000..b68f48a53
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node5.html
@@ -0,0 +1,102 @@
+
+
+
+
+
+Building
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Detector upgrade
+ Up: Installation and upgrades
+ Previous: Compilation
+
+
+
+
+
+To install the software you should first configure some enviroment variables by executing:
+
+> source configure
+
+(NOT >./configure
otherwise the enviroment variables will not be available for the make
command).
+This allows you to configure:
+
+
+INSTALLROOT Directory where you want to install the software. Defaults to /usr/local/
+
+BINDIR Directory where you want to install the binaries. Defaults to bin/
+
+INCDIR Directory where you want to pute the header files. Defaults to include/slsdetector/
+
+LIBDIR Directory where you want to install the libraries. Defaults to lib/
+
+DOCDIR Directory where you want to copy the documentation. Defaults to share/doc/
+
+
+
+
+To build you can:
+
+
+make install_lib
install detector library and include files"
+
+make install_client
install slsDetectorClient
+
+make install
install library, include files and mythenClient''
+
+make install_libdoc
install library documentation
+
+make install_clientdoc
install mythenClient documentation
+
+make install_doc
install all documentation
+
+make help
lists possible targets
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node6.html b/manual/docs/html/slsDetectorGuiHowTo/node6.html
new file mode 100644
index 000000000..f5eafe4ac
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node6.html
@@ -0,0 +1,134 @@
+
+
+
+
+
+Detector upgrade
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: The trimbits and calibration
+ Up: Installation and upgrades
+ Previous: Building
+
+
+
+
+
+
+
+The upgrade of the detector consists in both the upgrade of the communication software and of the firmware.
+
+
+To upgrade the firmware you need either a working version of the Altera Quartus software or of the Quartus programmer, which can easly be downloade from
+https://www.altera.com/download/programming/quartus2/pq2-index.jsp
+
+Normally installation of the software and of the driver for the USB-Blaster (provided together with the MYTHEN detector) are simpler under Windows.
+
+Under Windows, the first time that you connect the USB-Blasterto one of your USB ports, you will be asked to install new hardware. Set the path to search
+for the driver to: C:\altera\80sp1\qprogrammer\drivers\usb-blasterp
(where C:\altera\80sp1\qprogrammer\
is assumed to be ther path where your Quartus version is installed).
+
+
+After starting the Quartus programmer, click on Hardware Setup and in the "Currently selected hardware" window select USB-Blaster.
+
+In the Mode combo box select "Active Serial Programming".
+
+Plug the end of your USB-Blaster WITH THE ADAPTER PROVIDED in the connector ASMI on the MCS board taking care that pin1 corresponds to the one indexed and with the rectangualr pad.
+
+Click on add file and from select the programming file provided when the upgrade has been reccomended.
+
+Check "Program/Configure" and "Verify".
+
+Push the start button and wait until the programming process is finished (progress bar top left).
+
+In case the programmer gives you error messages, check the polarity of your cable (pin1 corresponds) and that you have selected the correct programming connector.
+
+
+
+
+To upgrade the software on the detector board transfer the provided software by ftp to the MCS:
+
+ftp mymcs.mydomain.com
+username: root
+password: pass
+cd /mnt/flash/root
+put mythenDetectorServer
+quit
+
+If the /mnt/flash/root directory does not exist, create it before the transfer by telnetting to the MCS.
+
+After pressing reset on the board, the board should reboot.
+
+If the program does not correctly start either check by using the http interface that it is started by the inittab (check that the file /mnt/etc/inittab
ends with the line myid2:3:once:/mnt/flash/root/mythenDetectorServer
).
+
+Otherwise make the program executable by telnetting to the MCS and executing:
+chmod a+xrw /mnt/flash/root/mythenDetectorServer
+
+After pressing reset on the board, the board should reboot and the acqusition program correctly start.
+
+
+
+
+
+
+
+
+
+
+
+ Next: The trimbits and calibration
+ Up: Installation and upgrades
+ Previous: Building
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node7.html b/manual/docs/html/slsDetectorGuiHowTo/node7.html
new file mode 100644
index 000000000..bbf366bfa
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node7.html
@@ -0,0 +1,99 @@
+
+
+
+
+
+The trimbits and calibration files
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: slsDetectorClient
+ Up: Installation and upgrades
+ Previous: Detector upgrade
+
+
+
+
+
+
+The trimbits and calibration files
+
+In order to be able to properly operate your detector you need a directory where the trimbit files (needed to set the detector settings and eventually equalize the individual channel thresholds) which in the following will be named trimdir and a directory where the calibration files (needed to convert the threshold energy in DAC units) are stored which in the following will be named caldir .
+trimdir and caldir can even be the same directory, and an example of it is given in the software package by the example directory trimbits
.
+
+Since these directories are customized by producing trimbit files and calibration for each detector, make sure not to overwrite yours every time you upgrade the software.
+
+
+trimdir should contain three subdirectories standard
, fast
and highgain
containing respectively the trimfiles standard.trim
, fast.trim
and highgain.trim
which contain the correct voltage settings for the detector although all the individual channel thresholds set to 0. The original files contained in the package should be used, infact in case of error the detector would not recognize the correct settings.
+
+The default trimbit files for each file will be stored in the directory according to the settings with the name noise.snxxx
where xxx
is the module serial number.
+
+
+caldir should contain three subdirectories standard
, fast
and highgain
containing respectively the trimfiles standard.cal
, fast.cal
and highgain.cal
which contain an average calibration of the modules for the diffrent settings. However this can different from the correct one for each individual module even of several kev and therefore it is very important to perform an energy calibration on a module basis (see section ).
+
+The default calibration files for each file will be stored in the directory according to the settings with the name calibration.snxxx
where xxx
is the module serial number.
+
+
+
+
+
+
+
+
+
+
+
+ Next: slsDetectorClient
+ Up: Installation and upgrades
+ Previous: Detector upgrade
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node8.html b/manual/docs/html/slsDetectorGuiHowTo/node8.html
new file mode 100644
index 000000000..21f815b4d
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node8.html
@@ -0,0 +1,100 @@
+
+
+
+
+
+slsDetectorClient
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Introduction
+ Up: Mythen v3.0 manual
+ Previous: The trimbits and calibration
+
+
+
+
+
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/node9.html b/manual/docs/html/slsDetectorGuiHowTo/node9.html
new file mode 100644
index 000000000..bc8db0f11
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/node9.html
@@ -0,0 +1,112 @@
+
+
+
+
+
+Introduction
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Acquisition
+ Up: slsDetectorClient
+ Previous: slsDetectorClient
+
+
+
+
+
+
+
+This program is intended to control the MYTHEN detectors via command line interface.
+
+
+To get all the possibilities of usage simply type:
+
+sls_detector_acquire
+to readout the detector at full speed
+
+sls_detector_put
+to set detector parameters
+
+sls_detector_get
+to retrieve detector parameters
+
+
+
+
+There are different ways for communicationg with your detector(s).
+
+multiDetector
+is represented by a group of controllers which operate symultaneously with the same parameters. You can define several multiDetector systems and int this case you address them using different indexes. In this case the syntax will be sls\_detector\_cmd i-
where cmd can be acquire, put, get and i is the index of the multiDetector entity (if omitted defaults to 0 - standard usage). Normally it is handy to use the multiDetector structure also in case of single detectors. However in some cases one cannot avoid using the slsDetector structure for detailed configuration (e.g. meaning of external signals or other flags)
+
+slsDetector
+is represented by a single controller. You can define several multiDetector systems and int this case you address them using different indexes. In this case the syntax will be sls\_detector\_cmd i:
where cmd can be acquire, put, get and i is the index of the slsDetector entity, which cannot be omitted. When creating the multiDetector structure, the indexes are automatically assigned to the detectors contained in it. You can retrieve the indexes relative to the slsDetector using: sls\_detector\_get hostname:pos, sls\_detector\_get id:pos
whic will return the hostname in position pos of your multiDetector structure (pos=0 in case of single detectors) and its index.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Acquisition
+ Up: slsDetectorClient
+ Previous: slsDetectorClient
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorGuiHowTo/slsDetectorGuiHowTo.css b/manual/docs/html/slsDetectorGuiHowTo/slsDetectorGuiHowTo.css
new file mode 100644
index 000000000..d1824aff4
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/slsDetectorGuiHowTo.css
@@ -0,0 +1,30 @@
+/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
+.MATH { font-family: "Century Schoolbook", serif; }
+.MATH I { font-family: "Century Schoolbook", serif; font-style: italic }
+.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold }
+
+/* implement both fixed-size and relative sizes */
+SMALL.XTINY { font-size : xx-small }
+SMALL.TINY { font-size : x-small }
+SMALL.SCRIPTSIZE { font-size : smaller }
+SMALL.FOOTNOTESIZE { font-size : small }
+SMALL.SMALL { }
+BIG.LARGE { }
+BIG.XLARGE { font-size : large }
+BIG.XXLARGE { font-size : x-large }
+BIG.HUGE { font-size : larger }
+BIG.XHUGE { font-size : xx-large }
+
+/* heading styles */
+H1 { }
+H2 { }
+H3 { }
+H4 { }
+H5 { }
+
+/* mathematics styles */
+DIV.displaymath { } /* math displays */
+TD.eqno { } /* equation-number cells */
+
+
+/* document-specific styles come next */
diff --git a/manual/docs/html/slsDetectorGuiHowTo/slsDetectorGuiHowTo.html b/manual/docs/html/slsDetectorGuiHowTo/slsDetectorGuiHowTo.html
new file mode 100644
index 000000000..bc435d604
--- /dev/null
+++ b/manual/docs/html/slsDetectorGuiHowTo/slsDetectorGuiHowTo.html
@@ -0,0 +1,119 @@
+
+
+
+
+
+Mythen v3.0 manual
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Installation and upgrades
+
+
+
+
+
+
+
Mythen v3.0 manual
+
+
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Binaries.html b/manual/docs/html/slsDetectorInstall/Binaries.html
new file mode 100644
index 000000000..183536369
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Binaries.html
@@ -0,0 +1,92 @@
+
+
+
+
+
+Binaries
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+The complete software package is composed of several programs which
+can be installed (or locally compiled) depending on one's requirements:
+
+
+
+
+libSlsDetector.so, libSlsReceiver.so :
+
+The slsDetector shared and static libraries , which are
+necessary for all user interfaces. The C++ API via the class
+slsDetectorUsers (installed with the default package) or the
+Python API via the class sls_detector (installed with the
+package including Python API), which can be used from the user's acquisition
+software to control the detectors and the data receivers.
+
+
+
+sls_detector_put, sls_detector_get,
+sls_detector_acquire, sls_detector_help :
+
+The command line interfaces , which are provided to communicate with the
+detectors and data receivers using the command line.
+
+
+
+slsReceiver :
+
+The data receiver , which can be run on a different machine than the
+client, receives the data from the detector and processes it. The receiver can
+be configured, controlled and monitored by the client.
+
+
+
+slsMultiReceiver :
+
+It is the same as the slsReceiver , but that it is a single process
+for many multiple slsReceiver child processes. One can configure the start TCP port,
+number of slsReceiver processes and if call back should be enabled or not.
+
+
+
+slsDetectorGUI :
+
+The graphical user interface , which provides a user friendly way
+of operating the detectors and data receivers with online data preview.
+
+
+
+energyCalibrationWizard,angularCalibrationWizard :
+
+The calibration wizards to analyze the data and produce the energy or
+angular calibration files.
+
+
+
+The virtual Detector servers to simulate the detectors behavior.
+However, only control commands work, not the data acquisition itself.
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Clean_Shared_Memory.html b/manual/docs/html/slsDetectorInstall/Clean_Shared_Memory.html
new file mode 100644
index 000000000..f41db3189
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Clean_Shared_Memory.html
@@ -0,0 +1,46 @@
+
+
+
+
+
+Clean Shared Memory
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+It is very crucial to clean the shared memory, before using a new version of
+the SLS Detector Package or a different detector type.
+
+
+One can use the cleansharedmemory.sh
script available under the
+slsDetector Package.
+
+
+One can also just delete the files that are typically located under /dev/shm/ folder
+and starts with slsDetectorPackage.
+
+
+One no longer has to delete segments using ipcs.
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Compilation.html b/manual/docs/html/slsDetectorInstall/Compilation.html
new file mode 100644
index 000000000..aa94d8986
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Compilation.html
@@ -0,0 +1,34 @@
+
+
+
+
+
+Compilation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+One requires cmake
to compile and can be done in two ways:
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Contents.html b/manual/docs/html/slsDetectorInstall/Contents.html
new file mode 100644
index 000000000..7840e273f
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Contents.html
@@ -0,0 +1,74 @@
+
+
+
+
+
+Contents
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Directly_using_cmake.html b/manual/docs/html/slsDetectorInstall/Directly_using_cmake.html
new file mode 100644
index 000000000..da620b424
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Directly_using_cmake.html
@@ -0,0 +1,61 @@
+
+
+
+
+
+Directly using cmake
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Use cmake to create out-of-source builds, by creating a build folder parallel to
+source directory.
+
+ $ cd ..
+ $ mkdir slsDetectorPackage-build
+ $ cd slsDetectorPackage-build
+ $ cmake ../slsDetectorPackage -DCMAKE_BUILD_TYPE=Debug -DUSE_HDF5=OFF
+ $ make
+
+
+
+Use the following as an example to compile statically and using specific hdf5
+folder
+
+ $ HDF5_ROOT=/opt/hdf5v1.10.0 cmake ../slsDetectorPackage
+-DCMAKE_BUILD_TYPE=Debug -DUSE_HDF5=ON
+
+
+
+After compiling, the libraries and executables will be found at `bin` directory
+
+ $ ls bin/
+ gui_client libSlsDetector.a libSlsDetector.so libSlsReceiver.a
+libSlsReceiver.so sls_detector_acquire sls_detector_get slsDetectorGui
+sls_detector_help sls_detector_put slsReceiver
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Download_Source_Code.html b/manual/docs/html/slsDetectorInstall/Download_Source_Code.html
new file mode 100644
index 000000000..f35cb7a2a
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Download_Source_Code.html
@@ -0,0 +1,52 @@
+
+
+
+
+
+Download Source Code
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Only the package
+
+#Clone source code with specific release
+git clone https://github.com/slsdetectorgroup/slsDetectorPackage.git --branch
+4.0.0
+
+
+The package including Python interface
+
+#Clone source code with specific release
+git clone https://github.com/slsdetectorgroup/sls_detector.git --branch
+4.0.0
+
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/EIGER.html b/manual/docs/html/slsDetectorInstall/EIGER.html
new file mode 100644
index 000000000..cad4fddc4
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/EIGER.html
@@ -0,0 +1,39 @@
+
+
+
+
+
+EIGER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+In such cases, the users are not expected to compile the software
+themselves (which would require dedicated softwares) but only to download on the
+detector board the programming files and/or software package provided by
+the SLS Detectors group.
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/EIGER_Firmware.html b/manual/docs/html/slsDetectorInstall/EIGER_Firmware.html
new file mode 100644
index 000000000..9591ed9bd
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/EIGER_Firmware.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+EIGER Firmware
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+For SLS Detector Package v4.0.0
+
+Minimum compatible version: 22
+
+Latest version: 22
+
+
+
+
+One must get the latest package's corresponding bit files from the SLS
+Detector Group.
+
+If one does not have the bcp script, that should also be obtained from
+the SLS Detector Group. It is required to program the bit files and requires
+that tftp be installed on the pc.
+
+Bring the detector into programmable mode by either of the following ways.
+Both ways end up in just the central LED blinking.
+
+
+hard reset on the back panel boards resulting in blinking LEDS
+
+by having the following program running in the background.
+
+ boot_recovery
+
+
+
+
+Start a terminal for each half module and run the following to see
+progress.
+
+ nc -p 3000 -u bebxxx 3000
+
+
+Run the following to update firmware
+
+ #update back end fpga
+bcp download.bit bebxxx:/fw0
+
+ #update front left fpga
+bcp download.bit bebxxx:/febl
+
+ #update front right fpga
+bcp download.bit bebxxx:/febr
+
+ #update kernel
+bcp download.bit bebxxx:/kernel
+
+Please update bit files with great caution as it could make your board
+inaccessible, if done incorrectly.
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/EIGER_On_board_Software.html b/manual/docs/html/slsDetectorInstall/EIGER_On_board_Software.html
new file mode 100644
index 000000000..5139d398f
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/EIGER_On_board_Software.html
@@ -0,0 +1,70 @@
+
+
+
+
+
+EIGER On-board Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Every SLS Detector package release will have its coresponding matching on-board
+server under slsDetectorPackage/serverBin .
+
+
+Update the on-board software without connecting to the detector
+
+#password for the boards: root
+
+#Kill existing servers that are running on the detector
+ssh root@beb031 killall eigerDetectorServer;
+
+#Copy on-board server to detector inside executables folder
+scp ~/path-where-it-is/eigerDetectorServerxxx root@bebxxx:~/executables;
+
+#Overwrite the actual eigerDetectorServer on board
+scp ~/path-where-it-is/eigerDetectorServerxxx
+root@bebxxx:~/executables/eigerDetectorServer;
+
+#sync
+ssh root@bebxxx sync;
+
+#reboot the eiger board
+
+
+
+
+
+
+One can connect to the detector by:
+
+ssh root@bebxxx
+password: root
+
+
+
+The on-board server is in /executables folder and respawned at startup in
+/etc/rc5.d/S50board_com.sh
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/GOTTHARD.html b/manual/docs/html/slsDetectorInstall/GOTTHARD.html
new file mode 100644
index 000000000..16f61564d
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/GOTTHARD.html
@@ -0,0 +1,39 @@
+
+
+
+
+
+GOTTHARD
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+In such cases, the users are not expected to compile the software
+themselves (which would require dedicated softwares) but only to download on the
+detector board the programming files and/or software package provided by
+the SLS Detectors group.
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/GOTTHARD_Firmware.html b/manual/docs/html/slsDetectorInstall/GOTTHARD_Firmware.html
new file mode 100644
index 000000000..0413e3cd0
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/GOTTHARD_Firmware.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+GOTTHARD Firmware
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+For SLS Detector Package v4.0.0
+
+Minimum compatible version:
+
+11.01.2013
+
+Latest version:
+
+26.06.2018 (50um)
+
+08.02.2018 (25 um Master)
+
+09.02.2018 (25 um Slave)
+
+
+Normally, the firmware will be upgraded by us as it requires programming the
+FPGA via the USB-Blaster.
+
+
+To upgrade the firmware you need either a working version of the Altera
+Quartus software or of the Quartus programmer, which can easily be downloaded
+from:
+https://www.altera.com/download/programming/quartus2/pq2-index.jsp
+
+Normally, installation of the software and of the driver for the
+USB-Blaster (provided together with the MYTHEN detector) are simpler under
+Windows.
+
+
+Under Windows, the first time that you connect the USB-Blaster to one
+of your USB ports, you will be asked to install new hardware. Set the path to
+search for the driver to:
+C:\altera\80sp1\qprogrammer\drivers\usb-blasterp
(where
+C:\altera\80sp1\qprogrammer\
is assumed to be ther path where your
+Quartus version is installed).
+
+
+After starting the Quartus programmer, click on Hardware Setup and in the
+"Currently selected hardware" window select USB-Blaster.
+
+In the Mode combo box select "Active Serial Programming".
+
+Plug the end of your USB-Blaster WITH THE ADAPTER PROVIDED in the
+connector ASMI on the MCS board taking care that pin1 corresponds to the one
+indexed and with the rectangualr pad.
+
+Click on add file and from select the programming file provided when
+the upgrade has been reccomended.
+
+Check "Program/Configure" and "Verify".
+
+Push the start button and wait until the programming process is
+finished (progress bar top left).
+
+In case the programmer gives you error messages, check the polarity of
+your cable (pin1 corresponds) and that you have selected the correct programming
+connector.
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/GOTTHARD_On_board_Software.html b/manual/docs/html/slsDetectorInstall/GOTTHARD_On_board_Software.html
new file mode 100644
index 000000000..2bb75ea5f
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/GOTTHARD_On_board_Software.html
@@ -0,0 +1,89 @@
+
+
+
+
+
+GOTTHARD On-board Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Every SLS Detector package release will have its coresponding matching on-board
+server under slsDetectorPackage/serverBin .
+
+
+
+
+Install tftp if the pc does not have it.
+
+Copy the server from serverBin folder to /tftpboot (or equivalent tftp
+folder) of the pc
+
+Copy the server to the detector by:
+
+
+Connect to the blackfin on the detector
+telnet bchipxxx
+
+Prevent existing on-board server from respawning by:
+
+
+Edit /etc/inittab
+
+Comment out the line
+#ttyS0::respawn:/gotthardDetectorServervxxx
+
+Reboot blackfin using reboot
+
+Run ps
to ensure no gotthardDetectorServers are running
+
+
+
+
+Copy new on-board server from pc to the blackfin using:
+tftp pcxxx -r gotthardDetectorServerxxx -g
+
+Respawn the new server (server starts at detector statup):
+
+
+Edit /etc/inittab
+
+Uncomment out the line
+ttyS0::respawn:/gotthardDetectorServervxxx
+
+Reboot blackfin using reboot
+
+Run ps
to ensure that both the gotthardDetectorServers are
+running.
+gotthardDetectorServerxxx
+gotthardDetectorServerxxx 1953
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Install_Binaries_via_Conda.html b/manual/docs/html/slsDetectorInstall/Install_Binaries_via_Conda.html
new file mode 100644
index 000000000..5199c5b9b
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Install_Binaries_via_Conda.html
@@ -0,0 +1,97 @@
+
+
+
+
+
+Install Binaries via Conda
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+This section is useful only if one wants to download only the binaries for
+specific distribution and use the package via command line. Please refer later
+sections to download source code and compile them.
+
+
+One can download and install Miniconda via
+
+
+https://conda.io/miniconda.html
+
+The conda package uses Travis CI for continuous integration with
+automatic deployment to Anaconda Cloud. One can download only the package or the
+package including the python interface.
+
+
+After the installation, the binaries will be available in your path.
+
+
+Please remember to clear shared memory after installation.
+
+#displays list of shared memeory segments
+ipcs -m
+#remove segments that have nattach equal to zero. They key is the first column
+ipcrm -M [key]
+
+
+
+
+
+Only the package
+
+#Add conda channels
+conda config --add channels conda-forge
+conda config --add channels slsdetectorgroup
+
+#Install latest version
+conda install sls_detector_software
+
+#Install specific release (GLIBC2.14)
+conda install sls_detector_software=4.0.0
+
+#Scientific Linux 6 version (GLIBC2.12)
+conda install sls_detector_software=SL6_4.0.0
+
+
+The package including Python interface
+
+#Add conda channels
+conda config --add channels conda-forge
+conda config --add channels sls_detector
+
+#Install latest version
+conda install sls_detector
+
+#Install specific release (GLIBC2.14)
+conda install sls_detector=4.0.0
+
+#Scientific Linux 6 version (GLIBC2.12)
+conda install sls_detector=SL6_4.0.0
+
+
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Install_via_Source_Code.html b/manual/docs/html/slsDetectorInstall/Install_via_Source_Code.html
new file mode 100644
index 000000000..5d1a994d9
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Install_via_Source_Code.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+Install via Source Code
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+This section is useful if one wants to use the API and embed it in their
+acquisition system, or if one wants to download the source code and compile.
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/JUNGFRAU.html b/manual/docs/html/slsDetectorInstall/JUNGFRAU.html
new file mode 100644
index 000000000..edc62e637
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/JUNGFRAU.html
@@ -0,0 +1,39 @@
+
+
+
+
+
+JUNGFRAU
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+In such cases, the users are not expected to compile the software
+themselves (which would require dedicated softwares) but only to download on the
+detector board the programming files and/or software package provided by
+the SLS Detectors group.
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/JUNGFRAU_Firmware.html b/manual/docs/html/slsDetectorInstall/JUNGFRAU_Firmware.html
new file mode 100644
index 000000000..007aef9d4
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/JUNGFRAU_Firmware.html
@@ -0,0 +1,135 @@
+
+
+
+
+
+JUNGFRAU Firmware
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+For SLS Detector Package v4.0.0
+
+Minimum compatible version: 15.06.2018
+
+Latest version: 15.06.2018
+
+
+At times, one has to update the firmware, which then also requires updating the
+on-board software.
+
+
+Jungfrau firmware can be upgraded via the SLS Detector Package
+binaries from the command line.
+
+
+
+
+One must get the latest package's corresponding POF file from the SLS
+Detector Group.
+
+Update the latest SLS Detector package installed.
+
+Update the on-board software as per the instructions in the next
+section.
+
+Start the on-board server in debug mode:
+
+
+Connect to the blackfin on the detector
+telnet bchipxxx
+
+Prevent existing on-board server from respawning by:
+
+
+Edit /etc/inittab
+
+Comment out the line
+#ttyS0::respawn:/jungfrauDetectorServervxxx
+
+Reboot blackfin using reboot
+
+Run ps
to ensure no gotthardDetectorServers are running
+
+
+
+
+Start the server in debug mode using:
+./jungfrauDetectorServerxxx -debug
+
+Leave this console on to come back to it later.
+
+
+
+
+From the command line of the pc, clear shared memory
+./sls_detector_get free
+
+If one gets shmget error, please clean the shared memory properly using the
+script in slsDetectorPackage/cleansharedmemory.sh
+
+Add the detector to shared memory using
+./sls_detector_put hostname bchipxxx
+
+Program the FPGA using
+./sls_detector_put programfpga xxx.pof
+
+Once the programming is done:
+
+
+Switch to the console that has the debug server running and kill it
+using Ctrl+C and ensure no jungfrauDetectorServers are
+running
+
+Restart the new server to see if it runs with the new firmware
+./jungfrauDetectorServerxxx
+
+If the server didn't start properly, please contact us with the error message
+shown when starting the server up, else continue with the following steps.
+
+Respawn the new server (server starts at detector statup):
+
+
+Edit /etc/inittab
+
+Uncomment out the line
+ttyS0::respawn:/jungfrauDetectorServervxxx
+
+Reboot blackfin using reboot
+
+Run ps
to ensure that both the gotthardDetectorServers are
+running.
+jungfrauDetectorServervxxx
+jungfrauDetectorServervxxx 1953
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/JUNGFRAU_On_board_Software.html b/manual/docs/html/slsDetectorInstall/JUNGFRAU_On_board_Software.html
new file mode 100644
index 000000000..8973be076
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/JUNGFRAU_On_board_Software.html
@@ -0,0 +1,89 @@
+
+
+
+
+
+JUNGFRAU On-board Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Every SLS Detector package release will have its coresponding matching on-board
+server under slsDetectorPackage/serverBin .
+
+
+
+
+Install tftp if the pc does not have it.
+
+Copy the server from serverBin folder to /tftpboot (or equivalent tftp
+folder) of the pc
+
+Copy the server to the detector by:
+
+
+Connect to the blackfin on the detector
+telnet bchipxxx
+
+Prevent existing on-board server from respawning by:
+
+
+Edit /etc/inittab
+
+Comment out the line
+#ttyS0::respawn:/jungfrauDetectorServervxxx
+
+Reboot blackfin using reboot
+
+Run ps
to ensure no gotthardDetectorServers are running
+
+
+
+
+Copy new on-board server from pc to the blackfin using:
+tftp pcxxx -r jungfrauDetectorServervxxx -g
+
+Respawn the new server (server starts at detector statup):
+
+
+Edit /etc/inittab
+
+Uncomment out the line
+ttyS0::respawn:/jungfrauDetectorServervxxx
+
+Reboot blackfin using reboot
+
+Run ps
to ensure that both the gotthardDetectorServers are
+running.
+jungfrauDetectorServervxxx
+jungfrauDetectorServervxxx 1953
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/MYTHEN.html b/manual/docs/html/slsDetectorInstall/MYTHEN.html
new file mode 100644
index 000000000..799315af1
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/MYTHEN.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+MYTHEN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+In such cases, the users are not expected to compile the software
+themselves (which would require dedicated softwares) but only to download on the
+detector board the programming files and/or software package provided by
+the SLS Detectors group.
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/MYTHEN_Firmware.html b/manual/docs/html/slsDetectorInstall/MYTHEN_Firmware.html
new file mode 100644
index 000000000..c6f63373d
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/MYTHEN_Firmware.html
@@ -0,0 +1,79 @@
+
+
+
+
+
+MYTHEN Firmware
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+To upgrade the firmware you need either a working version of the Altera
+Quartus software or of the Quartus programmer, which can easily be downloaded
+from:
+https://www.altera.com/download/programming/quartus2/pq2-index.jsp
+
+
+
+
+Normally, installation of the software and of the driver for the
+USB-Blaster (provided together with the MYTHEN detector) are simpler under
+Windows.
+
+
+Under Windows, the first time that you connect the USB-Blaster to one
+of your USB ports, you will be asked to install new hardware. Set the path to
+search for the driver to:
+C:\altera\80sp1\qprogrammer\drivers\usb-blasterp
(where
+C:\altera\80sp1\qprogrammer\
is assumed to be ther path where your
+Quartus version is installed).
+
+
+After starting the Quartus programmer, click on Hardware Setup and in the
+"Currently selected hardware" window select USB-Blaster.
+
+In the Mode combo box select "Active Serial Programming".
+
+Plug the end of your USB-Blaster WITH THE ADAPTER PROVIDED in the
+connector ASMI on the MCS board taking care that pin1 corresponds to the one
+indexed and with the rectangualr pad.
+
+Click on add file and from select the programming file provided when
+the upgrade has been reccomended.
+
+Check "Program/Configure" and "Verify".
+
+Push the start button and wait until the programming process is
+finished (progress bar top left).
+
+In case the programmer gives you error messages, check the polarity of
+your cable (pin1 corresponds) and that you have selected the correct programming
+connector.
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/MYTHEN_On_board_Software.html b/manual/docs/html/slsDetectorInstall/MYTHEN_On_board_Software.html
new file mode 100644
index 000000000..8c9c9e0e9
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/MYTHEN_On_board_Software.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+MYTHEN On-board Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Connect to the board using telnet:
+
+telnet mymcs.mydomain.com
+username: root
+password: pass
+
+
+Kill currently running servers and ensure /mnt/flash/root
exists.
+
+killall mythenDetectorServer
+ls /mnt/flash/root
+#if the directory does not exist mkdir /mnt/flash/root
+
+
+Transfer the provided software by ftp to the MCS.
+
+ftp mymcs.mydomain.com
+username: root
+password: pass
+cd /mnt/flash/root
+put mythenDetectorServer
+quit
+
+
+
+
+After pressing reset on the board, the board should reboot.
+
+
+
+If the program does not correctly start
+
+
+Check by using the http interface that it is started by the inittab
+(check that the file /mnt/etc/inittab
ends with the line
+myid2:3:once:/mnt/flash/root/mythenDetectorServer
).
+
+If program has not started, make the program executable by telnetting to
+the MCS and executing:
+chmod a+xrw /mnt/flash/root/mythenDetectorServer
+
+After pressing reset on the board, the board should reboot and the
+acqusition program correctly start.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Qt4_Installation_GUI.html b/manual/docs/html/slsDetectorInstall/Qt4_Installation_GUI.html
new file mode 100644
index 000000000..bd8526cf7
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Qt4_Installation_GUI.html
@@ -0,0 +1,80 @@
+
+
+
+
+
+Qt4 Installation for GUI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+It must be installed before Qwt. A Qt version equal or higher than 4.6 is
+required. One can install it:
+
+
+
+
+Setup Environment
+
+
+One has to ensure that PATH
and LD_LIBRARY_PATH
have
+been updated to include Qt4 install path, binaries and libraries.
+Confirm by executing qmake -v
and ensuring the result points to Qt4 (not
+Qt3 or Qt5).
+
+
+If the environment is not set up, one can add the libraries and
+executables to the .bashrc by adding
+LD_LIBRARY_PATH
and PATH
:
+
+export QTDIR=/usr/local/Trolltech/Qt-4.8.2
+export PATH=$QTDIR/bin:$PATH
+export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Qwt_Installation_GUI.html b/manual/docs/html/slsDetectorInstall/Qwt_Installation_GUI.html
new file mode 100644
index 000000000..d5ac7cba6
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Qwt_Installation_GUI.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+Qwt Installation for GUI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Before installing Qwt, one must install Qt
+and ensure that QTDIR
, LD_LIBRARY_PATH
and PATH
point to
+the correct Qt4
+version.
+
+
+A Qwt version equal or higher than 6 is required. One can
+install it:
+
+
+
+
+Setup Environment
+
+
+One has to ensure that QWTDIR
and LD_LIBRARY_PATH
have
+been updated to include Qwt install path and libraries.
+
+
+If the environment is not set up, one can add the libraries to the
+.bashrc by adding LD_LIBRARY_PATH
:
+
+export QWTDIR=/usr/local/qwt-6.0.0/
+export LD_LIBRARY_PATH=$QWTDIR/lib:$LD_LIBRARY_PATH
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Requirements.html b/manual/docs/html/slsDetectorInstall/Requirements.html
new file mode 100644
index 000000000..b07d32cae
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Requirements.html
@@ -0,0 +1,82 @@
+
+
+
+
+
+Requirements
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+These are the basic requirements to install and use the software. Fine Tuning
+the system will be discussed in other documentation provided.
+
+
+C/C++ :
+
+The software is written in C/C++. If Python API is used, it is a wrap around
+to the C++ software. Any Linux installation with working libgcc should be
+sufficient.
+
+
+
+Shared Memory :
+
+Access to the shared memory of the control PC is required for the client.
+
+
+
+Network :
+
+The control PC communicates to the detectors and data receivers over TCP/IP.
+Therefore, the detector should receive a proper IP address (either DHCP or
+static) and no firewall should be present between the control PC and the
+detector.
+
+
+
+Compilation :
+
+cmake is required to compile. make is also possible, but is harder to find
+dependencies.
+
+
+
+GUI :
+
+To use the GUI, one requires atleast Qt4.8.2 and Qwt6.0. Installation of these
+are discussed in the next sections.
+
+
+
+Calibration Wizards :
+
+They are based on the CERN Root data analysis framework. Installation of it is
+discussed in the next sections.
+
+
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Root_Installation_Calibrati.html b/manual/docs/html/slsDetectorInstall/Root_Installation_Calibrati.html
new file mode 100644
index 000000000..8ca147f61
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Root_Installation_Calibrati.html
@@ -0,0 +1,63 @@
+
+
+
+
+
+Root Installation for Calibration Wizards
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+The software has been developed and tested with root 5.20, but any version
+should work. One can download it from:
+
+> svn co https://root.cern.ch/svn/root/trunk root
+
+
+
+To install:
+
+> cd root
+> ./configure --enable-qt
+> make
+> make install
+
+
+
+Edit your .bashrc to define the ROOTSYS enviroment variable and annd
+the libraries and executables to the LD_LIBRARY_PATH
and PATH
:
+
+export ROOTSYS=/usr/local/root-5.34
+export PATH=$ROOTSYS/bin:$PATH
+export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH
+
+
+
+You can also download the binaries, assuming that your linux and gcc versions
+match as in:
+
+http://root.cern.ch/drupal/content/production-version-534
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Setting_environment_variabl.html b/manual/docs/html/slsDetectorInstall/Setting_environment_variabl.html
new file mode 100644
index 000000000..7886e0557
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Setting_environment_variabl.html
@@ -0,0 +1,34 @@
+
+
+
+
+
+Setting environment variables
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+One can set up the environment variables in the following ways.
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Software_Package.html b/manual/docs/html/slsDetectorInstall/Software_Package.html
new file mode 100644
index 000000000..a5cee879b
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Software_Package.html
@@ -0,0 +1,45 @@
+
+
+
+
+
+The Software Package
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+The SLS detectors software is intended to control the detectors developed by
+the SLS Detectors group. The detectors currently supported are:
+
+
+MYTHEN, GOTTHARD, EIGER and JUNGFRAU.
+
+
+The package provides software for the distributed system that comprises of
+detectors, data receivers (to process detector data), and the client (to control
+or monitor the system). The client and data receivers can be embedded in
+the user's acquisitions system. Furthermore, the package also provides some
+tools for detector calibration.
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Software_Upgrade.html b/manual/docs/html/slsDetectorInstall/Software_Upgrade.html
new file mode 100644
index 000000000..8f8f2c06f
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Software_Upgrade.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+Software Upgrade
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+The upgrade of the package could require an upgrade of the on-board detector
+server and/or firmware running on the detector as well.
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Using_bashrc_file.html b/manual/docs/html/slsDetectorInstall/Using_bashrc_file.html
new file mode 100644
index 000000000..7e31383ea
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Using_bashrc_file.html
@@ -0,0 +1,67 @@
+
+
+
+
+
+Using .bashrc file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+emacs ~/.bashrc
+
+Add the following function setup_slsdet
and replace path
+with absolute path of installed directory
+
+function setup_slsdet
+{
+export PKGPATH=[path]
+export LD_LIBRARY_PATH=$PKGPATH/slsDetectorPackage/build/bin:$LD_LIBRARY_PATH
+export PATH=$PKGPATH/slsDetectorPackage/build/bin:$PATH
+cd $PKGPATH/slsDetectorPackage/build/bin
+}
+
+
+source ~/.bashrc
+
+Next time, just run setup_slsdet
to load the environment
+variables.
+
+
+
+
+One can also add the GUI environment variables if installed locally by adding
+the following in the function setup_sldet
+
+export QTDIR=/path-where-it-is/Qt-4.8.2
+export QWTDIR=/path-where-it-is/qwt-6.0.1
+export QWT3D=/path-where-it-is/qwtplot3d
+export QMAKESPEC=$QTDIR/mkspecs/linux-g++
+export LD_LIBRARY_PATH=$QTDIR/lib:$QWTDIR/lib:$QWT3D/lib:$LD_LIBRARY _PATH
+export PATH=$QTDIR/bin:$PATH
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/Using_script_cmk_sh.html b/manual/docs/html/slsDetectorInstall/Using_script_cmk_sh.html
new file mode 100644
index 000000000..32744c4a1
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Using_script_cmk_sh.html
@@ -0,0 +1,82 @@
+
+
+
+
+
+Using script cmk.sh
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+The script uses cmake
. After compiling, the libraries and executables
+will be found in `slsDetectorPackage/build/bin` directory.
+Usage: [-c] [-b] [-h] [-d HDF5 directory] [-j]
+
+
+-[no option]: only make
+
+-c: Clean
+
+-b: Builds/Rebuilds CMake files normal mode
+
+-h: Builds/Rebuilds Cmake files with HDF5 package
+
+-d: HDF5 Custom Directory
+
+-t: Build/Rebuilds only text client
+
+-r: Build/Rebuilds only receiver
+
+-g: Build/Rebuilds only gui
+
+-j: Number of threads to compile through
+
+
+
+
+Some example options for compilation:
+
+
+Most basic option: ./cmk.sh -b
+
+
+For only make: ./cmk.sh
+
+
+For make clean;make: ./cmk.sh -c
+
+
+For using hdf5 without custom dir /blabla: ./cmk.sh -h -d /blabla
+
+
+For rebuilding cmake without hdf5: ./cmk.sh -b
+
+
+For using multiple cores to compile faster: ./cmk.sh -j9
+
+
+For rebuilding only certain parts: ./cmk.sh -tg
(only text client and
+gui)
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/WARNINGS b/manual/docs/html/slsDetectorInstall/WARNINGS
new file mode 100644
index 000000000..3f2c8f26d
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/WARNINGS
@@ -0,0 +1,2 @@
+No implementation found for style `graphicx'
+No implementation found for style `hyperref'
diff --git a/manual/docs/html/slsDetectorInstall/Without_bashrc_file.html b/manual/docs/html/slsDetectorInstall/Without_bashrc_file.html
new file mode 100644
index 000000000..406e3c77e
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/Without_bashrc_file.html
@@ -0,0 +1,38 @@
+
+
+
+
+
+Without .bashrc file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Go to binaries folder slsDetectorPackage/build/bin and execute the following:
+
+export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
+export PATH=$PWD:$PATH
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/index.html b/manual/docs/html/slsDetectorInstall/index.html
new file mode 100644
index 000000000..3816b356e
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/index.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+SLS Detectors software installation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
SLS Detectors software installation
+
+
+
Anna Bergamaschi, Dhanya Thattil
+
August 23, 2018
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorInstall/labels.pl b/manual/docs/html/slsDetectorInstall/labels.pl
new file mode 100644
index 000000000..6408a6439
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/labels.pl
@@ -0,0 +1,13 @@
+# LaTeX2HTML 2012 (1.2)
+# Associate labels original text with physical files.
+
+
+1;
+
+
+# LaTeX2HTML 2012 (1.2)
+# labels from external_latex_labels array.
+
+
+1;
+
diff --git a/manual/docs/html/slsDetectorInstall/slsDetectorInstall.css b/manual/docs/html/slsDetectorInstall/slsDetectorInstall.css
new file mode 100644
index 000000000..d1824aff4
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/slsDetectorInstall.css
@@ -0,0 +1,30 @@
+/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
+.MATH { font-family: "Century Schoolbook", serif; }
+.MATH I { font-family: "Century Schoolbook", serif; font-style: italic }
+.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold }
+
+/* implement both fixed-size and relative sizes */
+SMALL.XTINY { font-size : xx-small }
+SMALL.TINY { font-size : x-small }
+SMALL.SCRIPTSIZE { font-size : smaller }
+SMALL.FOOTNOTESIZE { font-size : small }
+SMALL.SMALL { }
+BIG.LARGE { }
+BIG.XLARGE { font-size : large }
+BIG.XXLARGE { font-size : x-large }
+BIG.HUGE { font-size : larger }
+BIG.XHUGE { font-size : xx-large }
+
+/* heading styles */
+H1 { }
+H2 { }
+H3 { }
+H4 { }
+H5 { }
+
+/* mathematics styles */
+DIV.displaymath { } /* math displays */
+TD.eqno { } /* equation-number cells */
+
+
+/* document-specific styles come next */
diff --git a/manual/docs/html/slsDetectorInstall/slsDetectorInstall.html b/manual/docs/html/slsDetectorInstall/slsDetectorInstall.html
new file mode 100644
index 000000000..3816b356e
--- /dev/null
+++ b/manual/docs/html/slsDetectorInstall/slsDetectorInstall.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+SLS Detectors software installation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
SLS Detectors software installation
+
+
+
Anna Bergamaschi, Dhanya Thattil
+
August 23, 2018
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/bc_s.png b/manual/docs/html/slsDetectorUsersDocs/bc_s.png
new file mode 100644
index 000000000..224b29aa9
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/bc_s.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/bdwn.png b/manual/docs/html/slsDetectorUsersDocs/bdwn.png
new file mode 100644
index 000000000..940a0b950
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/bdwn.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/closed.png b/manual/docs/html/slsDetectorUsersDocs/closed.png
new file mode 100644
index 000000000..98cc2c909
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/closed.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/doxygen.css b/manual/docs/html/slsDetectorUsersDocs/doxygen.css
new file mode 100644
index 000000000..4699e6971
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/doxygen.css
@@ -0,0 +1,1357 @@
+/* The standard CSS for doxygen 1.8.5 */
+
+body, table, div, p, dl {
+ font: 400 14px/22px Roboto,sans-serif;
+}
+
+/* @group Heading Levels */
+
+h1.groupheader {
+ font-size: 150%;
+}
+
+.title {
+ font: 400 14px/28px Roboto,sans-serif;
+ font-size: 150%;
+ font-weight: bold;
+ margin: 10px 2px;
+}
+
+h2.groupheader {
+ border-bottom: 1px solid #879ECB;
+ color: #354C7B;
+ font-size: 150%;
+ font-weight: normal;
+ margin-top: 1.75em;
+ padding-top: 8px;
+ padding-bottom: 4px;
+ width: 100%;
+}
+
+h3.groupheader {
+ font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ -webkit-transition: text-shadow 0.5s linear;
+ -moz-transition: text-shadow 0.5s linear;
+ -ms-transition: text-shadow 0.5s linear;
+ -o-transition: text-shadow 0.5s linear;
+ transition: text-shadow 0.5s linear;
+ margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+ text-shadow: 0 0 15px cyan;
+}
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd, p.starttd {
+ margin-top: 2px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.qindex, div.navtab{
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #3D578C;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #4665A2;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #9CAFD4;
+ color: #ffffff;
+ border: 1px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited, a.line, a.line:visited {
+ color: #4665A2;
+}
+
+a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
+ color: #4665A2;
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+pre.fragment {
+ border: 1px solid #C4CFE5;
+ background-color: #FBFCFD;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+div.fragment {
+ padding: 0px;
+ margin: 0px;
+ background-color: #FBFCFD;
+ border: 1px solid #C4CFE5;
+}
+
+div.line {
+ font-family: monospace, fixed;
+ font-size: 13px;
+ min-height: 13px;
+ line-height: 1.0;
+ text-wrap: unrestricted;
+ white-space: -moz-pre-wrap; /* Moz */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ white-space: pre-wrap; /* CSS3 */
+ word-wrap: break-word; /* IE 5.5+ */
+ text-indent: -53px;
+ padding-left: 53px;
+ padding-bottom: 0px;
+ margin: 0px;
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+div.line.glow {
+ background-color: cyan;
+ box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+ padding-right: 4px;
+ text-align: right;
+ border-right: 2px solid #0F0;
+ background-color: #E8E8E8;
+ white-space: pre;
+}
+span.lineno a {
+ background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+ background-color: #C8C8C8;
+}
+
+div.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ padding: 0.2em;
+ border: solid thin #333;
+ border-radius: 0.5em;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ box-shadow: 2px 2px 3px #999;
+ -webkit-box-shadow: 2px 2px 3px #999;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+ background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background-color: white;
+ color: black;
+ margin: 0;
+}
+
+div.contents {
+ margin-top: 10px;
+ margin-left: 12px;
+ margin-right: 8px;
+}
+
+td.indexkey {
+ background-color: #EBEFF6;
+ font-weight: bold;
+ border: 1px solid #C4CFE5;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+ white-space: nowrap;
+ vertical-align: top;
+}
+
+td.indexvalue {
+ background-color: #EBEFF6;
+ border: 1px solid #C4CFE5;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+address.footer {
+ text-align: right;
+ padding-right: 12px;
+}
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+blockquote {
+ background-color: #F7F8FB;
+ border-left: 2px solid #9CAFD4;
+ margin: 0 24px 0 4px;
+ padding: 0 12px 0 16px;
+}
+
+/* @end */
+
+/*
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+ background: #EBEFF6;
+ font-weight: bold;
+}
+
+hr {
+ height: 0px;
+ border: none;
+ border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+ height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+ background-color: cyan;
+ box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #F9FAFC;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memSeparator {
+ border-bottom: 1px solid #DEE4F0;
+ line-height: 1px;
+ margin: 0px;
+ padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memItemRight {
+ width: 100%;
+}
+
+.memTemplParams {
+ color: #4665A2;
+ white-space: nowrap;
+ font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+ font-size: 80%;
+ color: #4665A2;
+ font-weight: normal;
+ margin-left: 9px;
+}
+
+.memnav {
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.mempage {
+ width: 100%;
+}
+
+.memitem {
+ padding: 0;
+ margin-bottom: 10px;
+ margin-right: 5px;
+ -webkit-transition: box-shadow 0.5s linear;
+ -moz-transition: box-shadow 0.5s linear;
+ -ms-transition: box-shadow 0.5s linear;
+ -o-transition: box-shadow 0.5s linear;
+ transition: box-shadow 0.5s linear;
+ display: table !important;
+ width: 100%;
+}
+
+.memitem.glow {
+ box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+ font-weight: bold;
+ margin-left: 6px;
+}
+
+.memname td {
+ vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 0px 6px 0px;
+ color: #253555;
+ font-weight: bold;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+ /* opera specific markup */
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ /* firefox specific markup */
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ -moz-border-radius-topright: 4px;
+ -moz-border-radius-topleft: 4px;
+ /* webkit specific markup */
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+
+}
+
+.memdoc, dl.reflist dd {
+ border-bottom: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 10px 2px 10px;
+ background-color: #FBFCFD;
+ border-top-width: 0;
+ background-image:url('nav_g.png');
+ background-repeat:repeat-x;
+ background-color: #FFFFFF;
+ /* opera specific markup */
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ /* firefox specific markup */
+ -moz-border-radius-bottomleft: 4px;
+ -moz-border-radius-bottomright: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ /* webkit specific markup */
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+ padding: 5px;
+}
+
+dl.reflist dd {
+ margin: 0px 0px 10px 0px;
+ padding: 5px;
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+.paramname code {
+ line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+.params .paramname, .retval .paramname {
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.params .paramtype {
+ font-style: italic;
+ vertical-align: top;
+}
+
+.params .paramdir {
+ font-family: "courier new",courier,monospace;
+ vertical-align: top;
+}
+
+table.mlabels {
+ border-spacing: 0px;
+}
+
+td.mlabels-left {
+ width: 100%;
+ padding: 0px;
+}
+
+td.mlabels-right {
+ vertical-align: bottom;
+ padding: 0px;
+ white-space: nowrap;
+}
+
+span.mlabels {
+ margin-left: 8px;
+}
+
+span.mlabel {
+ background-color: #728DC1;
+ border-top:1px solid #5373B4;
+ border-left:1px solid #5373B4;
+ border-right:1px solid #C4CFE5;
+ border-bottom:1px solid #C4CFE5;
+ text-shadow: none;
+ color: white;
+ margin-right: 4px;
+ padding: 2px 3px;
+ border-radius: 3px;
+ font-size: 7pt;
+ white-space: nowrap;
+ vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view when not used as main index */
+
+div.directory {
+ margin: 10px 0px;
+ border-top: 1px solid #A8B8D9;
+ border-bottom: 1px solid #A8B8D9;
+ width: 100%;
+}
+
+.directory table {
+ border-collapse:collapse;
+}
+
+.directory td {
+ margin: 0px;
+ padding: 0px;
+ vertical-align: top;
+}
+
+.directory td.entry {
+ white-space: nowrap;
+ padding-right: 6px;
+ padding-top: 3px;
+}
+
+.directory td.entry a {
+ outline:none;
+}
+
+.directory td.entry a img {
+ border: none;
+}
+
+.directory td.desc {
+ width: 100%;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 3px;
+ border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+ padding-left: 6px;
+ background-color: #F7F8FB;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+.directory .levels {
+ white-space: nowrap;
+ width: 100%;
+ text-align: right;
+ font-size: 9pt;
+}
+
+.directory .levels span {
+ cursor: pointer;
+ padding-left: 2px;
+ padding-right: 2px;
+ color: #3D578C;
+}
+
+div.dynheader {
+ margin-top: 8px;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+address {
+ font-style: normal;
+ color: #2A3D61;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+table.fieldtable {
+ /*width: 100%;*/
+ margin-bottom: 10px;
+ border: 1px solid #A8B8D9;
+ border-spacing: 0px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+ box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+ padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+ white-space: nowrap;
+ border-right: 1px solid #A8B8D9;
+ border-bottom: 1px solid #A8B8D9;
+ vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+ padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+ border-bottom: 1px solid #A8B8D9;
+ /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+ margin-top: 0px;
+}
+
+.fieldtable td.fielddoc p:last-child {
+ margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+ border-bottom: none;
+}
+
+.fieldtable th {
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+ font-size: 90%;
+ color: #253555;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+ -moz-border-radius-topleft: 4px;
+ -moz-border-radius-topright: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+ top: 0px;
+ left: 10px;
+ height: 36px;
+ background-image: url('tab_b.png');
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px;
+}
+
+.navpath ul
+{
+ font-size: 11px;
+ background-image:url('tab_b.png');
+ background-repeat:repeat-x;
+ background-position: 0 -5px;
+ height:30px;
+ line-height:30px;
+ color:#8AA0CC;
+ border:solid 1px #C2CDE4;
+ overflow:hidden;
+ margin:0px;
+ padding:0px;
+}
+
+.navpath li
+{
+ list-style-type:none;
+ float:left;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:url('bc_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+ height:32px;
+ display:block;
+ text-decoration: none;
+ outline: none;
+ color: #283A5D;
+ font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ text-decoration: none;
+}
+
+.navpath li.navelem a:hover
+{
+ color:#6884BD;
+}
+
+.navpath li.footer
+{
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+ font-size: 8pt;
+}
+
+
+div.summary
+{
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right;
+}
+
+div.summary a
+{
+ white-space: nowrap;
+}
+
+div.ingroups
+{
+ font-size: 8pt;
+ width: 50%;
+ text-align: left;
+}
+
+div.ingroups a
+{
+ white-space: nowrap;
+}
+
+div.header
+{
+ background-image:url('nav_h.png');
+ background-repeat:repeat-x;
+ background-color: #F9FAFC;
+ margin: 0px;
+ border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+ padding: 5px 5px 5px 10px;
+}
+
+dl
+{
+ padding: 0 0 0 10px;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
+dl.section
+{
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+dl.note
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00D000;
+}
+
+dl.deprecated
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #505050;
+}
+
+dl.todo
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00C0E0;
+}
+
+dl.test
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #3030E0;
+}
+
+dl.bug
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #C08050;
+}
+
+dl.section dd {
+ margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate;
+}
+
+#projectlogo img
+{
+ border: 0px none;
+}
+
+#projectname
+{
+ font: 300% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 2px 0px;
+}
+
+#projectbrief
+{
+ font: 120% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectnumber
+{
+ font: 50% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#titlearea
+{
+ padding: 0px;
+ margin: 0px;
+ width: 100%;
+ border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+ text-align: center;
+}
+
+.dotgraph
+{
+ text-align: center;
+}
+
+.mscgraph
+{
+ text-align: center;
+}
+
+.caption
+{
+ font-weight: bold;
+}
+
+div.zoom
+{
+ border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+ margin-bottom:50px;
+}
+
+dl.citelist dt {
+ color:#334975;
+ float:left;
+ font-weight:bold;
+ margin-right:10px;
+ padding:5px;
+}
+
+dl.citelist dd {
+ margin:2px 0;
+ padding:5px 0;
+}
+
+div.toc {
+ padding: 14px 25px;
+ background-color: #F4F6FA;
+ border: 1px solid #D8DFEE;
+ border-radius: 7px 7px 7px 7px;
+ float: right;
+ height: auto;
+ margin: 0 20px 10px 10px;
+ width: 200px;
+}
+
+div.toc li {
+ background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+ font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+ margin-top: 5px;
+ padding-left: 10px;
+ padding-top: 2px;
+}
+
+div.toc h3 {
+ font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+ color: #4665A2;
+ border-bottom: 0 none;
+ margin: 0;
+}
+
+div.toc ul {
+ list-style: none outside none;
+ border: medium none;
+ padding: 0px;
+}
+
+div.toc li.level1 {
+ margin-left: 0px;
+}
+
+div.toc li.level2 {
+ margin-left: 15px;
+}
+
+div.toc li.level3 {
+ margin-left: 30px;
+}
+
+div.toc li.level4 {
+ margin-left: 45px;
+}
+
+.inherit_header {
+ font-weight: bold;
+ color: gray;
+ cursor: pointer;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.inherit_header td {
+ padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+ display: none;
+}
+
+tr.heading h2 {
+ margin-top: 12px;
+ margin-bottom: 4px;
+}
+
+/* tooltip related style info */
+
+.ttc {
+ position: absolute;
+ display: none;
+}
+
+#powerTip {
+ cursor: default;
+ white-space: nowrap;
+ background-color: white;
+ border: 1px solid gray;
+ border-radius: 4px 4px 4px 4px;
+ box-shadow: 1px 1px 7px gray;
+ display: none;
+ font-size: smaller;
+ max-width: 80%;
+ opacity: 0.9;
+ padding: 1ex 1em 1em;
+ position: absolute;
+ z-index: 2147483647;
+}
+
+#powerTip div.ttdoc {
+ color: grey;
+ font-style: italic;
+}
+
+#powerTip div.ttname a {
+ font-weight: bold;
+}
+
+#powerTip div.ttname {
+ font-weight: bold;
+}
+
+#powerTip div.ttdeci {
+ color: #006318;
+}
+
+#powerTip div {
+ margin: 0px;
+ padding: 0px;
+ font: 12px/16px Roboto,sans-serif;
+}
+
+#powerTip:before, #powerTip:after {
+ content: "";
+ position: absolute;
+ margin: 0px;
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.w:after, #powerTip.w:before,
+#powerTip.e:after, #powerTip.e:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.nw:after, #powerTip.nw:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+}
+
+#powerTip.n:after, #powerTip.s:after,
+#powerTip.w:after, #powerTip.e:after,
+#powerTip.nw:after, #powerTip.ne:after,
+#powerTip.sw:after, #powerTip.se:after {
+ border-color: rgba(255, 255, 255, 0);
+}
+
+#powerTip.n:before, #powerTip.s:before,
+#powerTip.w:before, #powerTip.e:before,
+#powerTip.nw:before, #powerTip.ne:before,
+#powerTip.sw:before, #powerTip.se:before {
+ border-color: rgba(128, 128, 128, 0);
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.nw:after, #powerTip.nw:before {
+ top: 100%;
+}
+
+#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
+ border-top-color: #ffffff;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+#powerTip.n:before {
+ border-top-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+#powerTip.n:after, #powerTip.n:before {
+ left: 50%;
+}
+
+#powerTip.nw:after, #powerTip.nw:before {
+ right: 14px;
+}
+
+#powerTip.ne:after, #powerTip.ne:before {
+ left: 14px;
+}
+
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ bottom: 100%;
+}
+
+#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
+ border-bottom-color: #ffffff;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+
+#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
+ border-bottom-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+
+#powerTip.s:after, #powerTip.s:before {
+ left: 50%;
+}
+
+#powerTip.sw:after, #powerTip.sw:before {
+ right: 14px;
+}
+
+#powerTip.se:after, #powerTip.se:before {
+ left: 14px;
+}
+
+#powerTip.e:after, #powerTip.e:before {
+ left: 100%;
+}
+#powerTip.e:after {
+ border-left-color: #ffffff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.e:before {
+ border-left-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+#powerTip.w:after, #powerTip.w:before {
+ right: 100%;
+}
+#powerTip.w:after {
+ border-right-color: #ffffff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.w:before {
+ border-right-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+@media print
+{
+ #top { display: none; }
+ #side-nav { display: none; }
+ #nav-path { display: none; }
+ body { overflow:visible; }
+ h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+ .summary { display: none; }
+ .memitem { page-break-inside: avoid; }
+ #doc-content
+ {
+ margin-left:0 !important;
+ height:auto !important;
+ width:auto !important;
+ overflow:inherit;
+ display:inline;
+ }
+}
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/doxygen.png b/manual/docs/html/slsDetectorUsersDocs/doxygen.png
new file mode 100644
index 000000000..3ff17d807
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/doxygen.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/dynsections.js b/manual/docs/html/slsDetectorUsersDocs/dynsections.js
new file mode 100644
index 000000000..2f15470d7
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/dynsections.js
@@ -0,0 +1,104 @@
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+ content.hide();
+ summary.show();
+ $(linkObj).addClass('closed').removeClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+ content.show();
+ summary.hide();
+ $(linkObj).removeClass('closed').addClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+ return false;
+}
+
+function updateStripes()
+{
+ $('table.directory tr').
+ removeClass('even').filter(':visible:even').addClass('even');
+}
+function toggleLevel(level)
+{
+ $('table.directory tr').each(function(){
+ var l = this.id.split('_').length-1;
+ var i = $('#img'+this.id.substring(3));
+ var a = $('#arr'+this.id.substring(3));
+ if (l
+
+
+
+
+
+My Project: File List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all files with brief descriptions:
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2blank.png b/manual/docs/html/slsDetectorUsersDocs/ftv2blank.png
new file mode 100644
index 000000000..63c605bb4
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2blank.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2cl.png b/manual/docs/html/slsDetectorUsersDocs/ftv2cl.png
new file mode 100644
index 000000000..132f6577b
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2cl.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2doc.png b/manual/docs/html/slsDetectorUsersDocs/ftv2doc.png
new file mode 100644
index 000000000..17edabff9
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2doc.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2folderclosed.png b/manual/docs/html/slsDetectorUsersDocs/ftv2folderclosed.png
new file mode 100644
index 000000000..bb8ab35ed
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2folderclosed.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2folderopen.png b/manual/docs/html/slsDetectorUsersDocs/ftv2folderopen.png
new file mode 100644
index 000000000..d6c7f676a
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2folderopen.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2lastnode.png b/manual/docs/html/slsDetectorUsersDocs/ftv2lastnode.png
new file mode 100644
index 000000000..63c605bb4
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2lastnode.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2link.png b/manual/docs/html/slsDetectorUsersDocs/ftv2link.png
new file mode 100644
index 000000000..17edabff9
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2link.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2mlastnode.png b/manual/docs/html/slsDetectorUsersDocs/ftv2mlastnode.png
new file mode 100644
index 000000000..0b63f6d38
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2mlastnode.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2mnode.png b/manual/docs/html/slsDetectorUsersDocs/ftv2mnode.png
new file mode 100644
index 000000000..0b63f6d38
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2mnode.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2mo.png b/manual/docs/html/slsDetectorUsersDocs/ftv2mo.png
new file mode 100644
index 000000000..4bfb80f76
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2mo.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2node.png b/manual/docs/html/slsDetectorUsersDocs/ftv2node.png
new file mode 100644
index 000000000..63c605bb4
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2node.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2ns.png b/manual/docs/html/slsDetectorUsersDocs/ftv2ns.png
new file mode 100644
index 000000000..72e3d71c2
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2ns.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2plastnode.png b/manual/docs/html/slsDetectorUsersDocs/ftv2plastnode.png
new file mode 100644
index 000000000..c6ee22f93
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2plastnode.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2pnode.png b/manual/docs/html/slsDetectorUsersDocs/ftv2pnode.png
new file mode 100644
index 000000000..c6ee22f93
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2pnode.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2splitbar.png b/manual/docs/html/slsDetectorUsersDocs/ftv2splitbar.png
new file mode 100644
index 000000000..fe895f2c5
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2splitbar.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/ftv2vertline.png b/manual/docs/html/slsDetectorUsersDocs/ftv2vertline.png
new file mode 100644
index 000000000..63c605bb4
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/ftv2vertline.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/globals.html b/manual/docs/html/slsDetectorUsersDocs/globals.html
new file mode 100644
index 000000000..375702eb5
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/globals.html
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+My Project: File Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all file members with links to the files they belong to:
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/globals_defs.html b/manual/docs/html/slsDetectorUsersDocs/globals_defs.html
new file mode 100644
index 000000000..6c9ecf762
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/globals_defs.html
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+My Project: File Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/globals_func.html b/manual/docs/html/slsDetectorUsersDocs/globals_func.html
new file mode 100644
index 000000000..8b023b929
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/globals_func.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+My Project: File Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/globals_vars.html b/manual/docs/html/slsDetectorUsersDocs/globals_vars.html
new file mode 100644
index 000000000..7fbdea1d4
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/globals_vars.html
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+My Project: File Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/index.html b/manual/docs/html/slsDetectorUsersDocs/index.html
new file mode 100644
index 000000000..5042302cb
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/index.html
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+My Project: Main Page
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/jquery.js b/manual/docs/html/slsDetectorUsersDocs/jquery.js
new file mode 100644
index 000000000..6aa2e4c22
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/jquery.js
@@ -0,0 +1,39 @@
+/*!
+ * jQuery JavaScript Library v1.7.1
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Mon Nov 21 21:11:03 2011 -0500
+ */
+(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bva ";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;
+if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
+/*!
+ * Sizzle CSS Selector Engine
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ * More information: http://sizzlejs.com/
+ */
+(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1
+},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS ";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML=" ";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="
";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT 0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,""," "],thead:[1,""],tr:[2,""],td:[3,""],col:[2,""],area:[1,""," "],_default:[0,"",""]},ac=a(av);
+ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>$2>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;
+if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA
=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b
+})}})(window);
+/*!
+ PowerTip - v1.2.0 - 2013-04-03
+ http://stevenbenner.github.com/jquery-powertip/
+ Copyright (c) 2013 Steven Benner (http://stevenbenner.com/).
+ Released under MIT license.
+ https://raw.github.com/stevenbenner/jquery-powertip/master/LICENSE.txt
+*/
+(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{a(jQuery)}}(function(k){var A=k(document),s=k(window),w=k("body");var n="displayController",e="hasActiveHover",d="forcedOpen",u="hasMouseMove",f="mouseOnToPopup",g="originalTitle",y="powertip",o="powertipjq",l="powertiptarget",E=180/Math.PI;var c={isTipOpen:false,isFixedTipOpen:false,isClosing:false,tipOpenImminent:false,activeHover:null,currentX:0,currentY:0,previousX:0,previousY:0,desyncTimeout:null,mouseTrackingActive:false,delayInProgress:false,windowWidth:0,windowHeight:0,scrollTop:0,scrollLeft:0};var p={none:0,top:1,bottom:2,left:4,right:8};k.fn.powerTip=function(F,N){if(!this.length){return this}if(k.type(F)==="string"&&k.powerTip[F]){return k.powerTip[F].call(this,this,N)}var O=k.extend({},k.fn.powerTip.defaults,F),G=new x(O);h();this.each(function M(){var R=k(this),Q=R.data(y),P=R.data(o),T=R.data(l),S;if(R.data(n)){k.powerTip.destroy(R)}S=R.attr("title");if(!Q&&!T&&!P&&S){R.data(y,S);R.data(g,S);R.removeAttr("title")}R.data(n,new t(R,O,G))});if(!O.manual){this.on({"mouseenter.powertip":function J(P){k.powerTip.show(this,P)},"mouseleave.powertip":function L(){k.powerTip.hide(this)},"focus.powertip":function K(){k.powerTip.show(this)},"blur.powertip":function H(){k.powerTip.hide(this,true)},"keydown.powertip":function I(P){if(P.keyCode===27){k.powerTip.hide(this,true)}}})}return this};k.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false};k.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};k.powerTip={show:function z(F,G){if(G){i(G);c.previousX=G.pageX;c.previousY=G.pageY;k(F).data(n).show()}else{k(F).first().data(n).show(true,true)}return F},reposition:function r(F){k(F).first().data(n).resetPosition();return F},hide:function D(G,F){if(G){k(G).first().data(n).hide(F)}else{if(c.activeHover){c.activeHover.data(n).hide(true)}}return G},destroy:function C(G){k(G).off(".powertip").each(function F(){var I=k(this),H=[g,n,e,d];if(I.data(g)){I.attr("title",I.data(g));H.push(y)}I.removeData(H)});return G}};k.powerTip.showTip=k.powerTip.show;k.powerTip.closeTip=k.powerTip.hide;function b(){var F=this;F.top="auto";F.left="auto";F.right="auto";F.bottom="auto";F.set=function(H,G){if(k.isNumeric(G)){F[H]=Math.round(G)}}}function t(K,N,F){var J=null;function L(P,Q){M();if(!K.data(e)){if(!P){c.tipOpenImminent=true;J=setTimeout(function O(){J=null;I()},N.intentPollInterval)}else{if(Q){K.data(d,true)}F.showTip(K)}}}function G(P){M();c.tipOpenImminent=false;if(K.data(e)){K.data(d,false);if(!P){c.delayInProgress=true;J=setTimeout(function O(){J=null;F.hideTip(K);c.delayInProgress=false},N.closeDelay)}else{F.hideTip(K)}}}function I(){var Q=Math.abs(c.previousX-c.currentX),O=Math.abs(c.previousY-c.currentY),P=Q+O;if(P ",{id:Q.popupId});if(w.length===0){w=k("body")}w.append(O)}if(Q.followMouse){if(!O.data(u)){A.on("mousemove",M);s.on("scroll",M);O.data(u,true)}}if(Q.mouseOnToPopup){O.on({mouseenter:function L(){if(O.data(f)){if(c.activeHover){c.activeHover.data(n).cancel()}}},mouseleave:function N(){if(c.activeHover){c.activeHover.data(n).hide()}}})}function I(S){S.data(e,true);O.queue(function R(T){H(S);T()})}function H(S){var U;if(!S.data(e)){return}if(c.isTipOpen){if(!c.isClosing){K(c.activeHover)}O.delay(100).queue(function R(V){H(S);V()});return}S.trigger("powerTipPreRender");U=B(S);if(U){O.empty().append(U)}else{return}S.trigger("powerTipRender");c.activeHover=S;c.isTipOpen=true;O.data(f,Q.mouseOnToPopup);if(!Q.followMouse){G(S);c.isFixedTipOpen=true}else{M()}O.fadeIn(Q.fadeInTime,function T(){if(!c.desyncTimeout){c.desyncTimeout=setInterval(J,500)}S.trigger("powerTipOpen")})}function K(R){c.isClosing=true;c.activeHover=null;c.isTipOpen=false;c.desyncTimeout=clearInterval(c.desyncTimeout);R.data(e,false);R.data(d,false);O.fadeOut(Q.fadeOutTime,function S(){var T=new b();c.isClosing=false;c.isFixedTipOpen=false;O.removeClass();T.set("top",c.currentY+Q.offset);T.set("left",c.currentX+Q.offset);O.css(T);R.trigger("powerTipClose")})}function M(){if(!c.isFixedTipOpen&&(c.isTipOpen||(c.tipOpenImminent&&O.data(u)))){var R=O.outerWidth(),V=O.outerHeight(),U=new b(),S,T;U.set("top",c.currentY+Q.offset);U.set("left",c.currentX+Q.offset);S=m(U,R,V);if(S!==p.none){T=a(S);if(T===1){if(S===p.right){U.set("left",c.windowWidth-R)}else{if(S===p.bottom){U.set("top",c.scrollTop+c.windowHeight-V)}}}else{U.set("left",c.currentX-R-Q.offset);U.set("top",c.currentY-V-Q.offset)}}O.css(U)}}function G(S){var R,T;if(Q.smartPlacement){R=k.fn.powerTip.smartPlacementLists[Q.placement];k.each(R,function(U,W){var V=m(F(S,W),O.outerWidth(),O.outerHeight());T=W;if(V===p.none){return false}})}else{F(S,Q.placement);T=Q.placement}O.addClass(T)}function F(U,T){var R=0,S,W,V=new b();V.set("top",0);V.set("left",0);O.css(V);do{S=O.outerWidth();W=O.outerHeight();V=P.compute(U,T,S,W,Q.offset);O.css(V)}while(++R<=5&&(S!==O.outerWidth()||W!==O.outerHeight()));return V}function J(){var R=false;if(c.isTipOpen&&!c.isClosing&&!c.delayInProgress){if(c.activeHover.data(e)===false||c.activeHover.is(":disabled")){R=true}else{if(!v(c.activeHover)&&!c.activeHover.is(":focus")&&!c.activeHover.data(d)){if(O.data(f)){if(!v(O)){R=true}}else{R=true}}}if(R){K(c.activeHover)}}}this.showTip=I;this.hideTip=K;this.resetPosition=G}function q(F){return window.SVGElement&&F[0] instanceof SVGElement}function h(){if(!c.mouseTrackingActive){c.mouseTrackingActive=true;k(function H(){c.scrollLeft=s.scrollLeft();c.scrollTop=s.scrollTop();c.windowWidth=s.width();c.windowHeight=s.height()});A.on("mousemove",i);s.on({resize:function G(){c.windowWidth=s.width();c.windowHeight=s.height()},scroll:function F(){var I=s.scrollLeft(),J=s.scrollTop();if(I!==c.scrollLeft){c.currentX+=I-c.scrollLeft;c.scrollLeft=I}if(J!==c.scrollTop){c.currentY+=J-c.scrollTop;c.scrollTop=J}}})}}function i(F){c.currentX=F.pageX;c.currentY=F.pageY}function v(F){var H=F.offset(),J=F[0].getBoundingClientRect(),I=J.right-J.left,G=J.bottom-J.top;return c.currentX>=H.left&&c.currentX<=H.left+I&&c.currentY>=H.top&&c.currentY<=H.top+G}function B(I){var G=I.data(y),F=I.data(o),K=I.data(l),H,J;if(G){if(k.isFunction(G)){G=G.call(I[0])}J=G}else{if(F){if(k.isFunction(F)){F=F.call(I[0])}if(F.length>0){J=F.clone(true,true)}}else{if(K){H=k("#"+K);if(H.length>0){J=H.html()}}}}return J}function m(M,L,K){var G=c.scrollTop,J=c.scrollLeft,I=G+c.windowHeight,F=J+c.windowWidth,H=p.none;if(M.topI||Math.abs(M.bottom-c.windowHeight)>I){H|=p.bottom}if(M.leftF){H|=p.left}if(M.left+L>F||M.right
+
+
+
+
+
+My Project: mainClient.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "slsDetectorUsers.h"
+#include "detectorData.h"
+#include <iostream>
+#include <cstdlib>
+
+
Go to the source code of this file.
+
+
+int dataCallback (detectorData *pData, int iframe, int isubframe, void *pArg)
+
+int main (int argc, char **argv)
+
+
+
+
This file is an example of how to implement the slsDetectorUsers class You can compile it linking it to the slsDetector library
+
g++ mainClient.cpp -L lib -lSlsDetector -L/usr/lib64/ -L lib2 -lzmq -pthread -lrt -lm -lstdc++
+
where,
+
lib is the location of libSlsDetector.so
+
lib2 is the location of the libzmq.a. [ libzmq.a is required only when using data call backs and enabling data streaming from receiver to client. It is linked in manual/manual-api from slsReceiverSoftware/include ]
+
+
Definition in file mainClient.cpp .
+
+
+
+
+
+
+ int dataCallback
+ (
+ detectorData *
+ pData ,
+
+
+
+
+ int
+ iframe ,
+
+
+
+
+ int
+ isubframe ,
+
+
+
+
+ void *
+ pArg
+
+
+
+ )
+
+
+
+
+
Data Call back function defined
+
Parameters
+
+ pData pointer to data structure received from the call back
+ iframe frame number of data passed
+ isubframe sub frame number of data passed ( only valid for EIGER in 32 bit mode)
+ pArg pointer to object
+
+
+
+
Returns integer that is currently ignored
+
+
Definition at line 32 of file mainClient.cpp .
+
+
+
+
+
+
+
+
+ int main
+ (
+ int
+ argc ,
+
+
+
+
+ char **
+ argv
+
+
+
+ )
+
+
+
+
+
Example of a main program using the slsDetectorUsers class
+
+Arguments are optional
+argv[1] : Configuration File
+argv[2] : Measurement Setup File
+argv[3] : Detector Id (default is zero)
+
+
+
+
+if specified, set ID from argv[3]
+slsDetectorUsers Object is instantiated with appropriate ID
+if specified, load configuration file (necessary at least the first time it is called to properly configure advanced settings in the shared memory)
+set detector in shared memory online (in case no config file was used)
+set receiver in shared memory online (in case no config file was used)
+registering data callback
+ensuring detector status is idle before starting acquisition. exiting if not idle
+if provided, load detector settings
+start measurement
+returning when acquisition is finished or data are avilable
+delete slsDetectorUsers object
+
+
+
Definition at line 49 of file mainClient.cpp .
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/mainClient_8cpp_source.html b/manual/docs/html/slsDetectorUsersDocs/mainClient_8cpp_source.html
new file mode 100644
index 000000000..9b45db31e
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/mainClient_8cpp_source.html
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+My Project: mainClient.cpp Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file.
+
19 #include "slsDetectorUsers.h"
+
20 #include "detectorData.h"
+
+
+
+
32 int dataCallback (detectorData *pData,
int iframe,
int isubframe,
void *pArg)
+
+
34 std::cout <<
" DataCallback:"
+
35 <<
"\n nx : " << pData->npoints
+
36 <<
"\n ny : " << pData->npy
+
37 <<
"\n Frame number : " << iframe << std::endl;
+
+
+
+
49 int main (
int argc,
char **argv) {
+
+
+
+
+
+
+
58 slsDetectorUsers *pDetector =
new slsDetectorUsers (ret,
id );
+
+
60 std::cout <<
"Error: Could not instantiate slsDetectorUsers" << std::endl;
+
+
+
+
+
+
67 pDetector->readConfigurationFile(argv[1]);
+
68 std::cout <<
"Detector configured" << std::endl;
+
+
+
72 pDetector->setOnline(1);
+
+
75 pDetector->setReceiverOnline(1);
+
+
+
+
+
82 int status = pDetector->getDetectorStatus();
+
+
84 std::cout <<
"Detector not ready: " << slsDetectorUsers::runStatusType(status) << std::endl;
+
+
+
+
+
90 pDetector->retrieveDetectorSetup(argv[2]);
+
91 std::cout <<
"Detector measurement set-up done" << std::endl;
+
+
+
+
96 pDetector->startMeasurement();
+
97 std::cout <<
"measurement finished" << std::endl;
+
+
+
+
+
+
+
int main(int argc, char **argv)
+
int dataCallback(detectorData *pData, int iframe, int isubframe, void *pArg)
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/mainReceiver_8cpp.html b/manual/docs/html/slsDetectorUsersDocs/mainReceiver_8cpp.html
new file mode 100644
index 000000000..f582fb1ea
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/mainReceiver_8cpp.html
@@ -0,0 +1,490 @@
+
+
+
+
+
+
+My Project: mainReceiver.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "sls_receiver_defs.h"
+#include "slsReceiverUsers.h"
+#include <iostream>
+#include <string.h>
+#include <signal.h>
+#include <cstdlib>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <string>
+#include <unistd.h>
+#include <errno.h>
+#include <syscall.h>
+
+
Go to the source code of this file.
+
+
+#define PRINT_IN_COLOR (c, f,...) printf ("\033[%dm" f RESET, 30 + c+1, ##__VA_ARGS__)
+
+
+
+void sigInterruptHandler (int p)
+
+void printHelp ()
+
+int StartAcq (char *filepath, char *filename, uint64_t fileindex, uint32_t datasize, void *p)
+
+void AcquisitionFinished (uint64_t frames, void *p)
+
+void GetData (char *metadata, char *datapointer, uint32_t datasize, void *p)
+
+void GetData (char *metadata, char *datapointer, uint32_t &revDatasize, void *p)
+
+int main (int argc, char *argv[])
+
+
+
+
This file is an example of how to implement the slsReceiverUsers class You can compile it linking it to the slsReceiver library
+
g++ mainReceiver.cpp -L lib -lSlsReceiver -L/usr/lib64/ -L lib2 -lzmq -pthread -lrt -lm -lstdc++
+
where,
+
lib is the location of lSlsReceiver.so
+
lib2 is the location of the libzmq.a. [ libzmq.a is required only when using data call backs and enabling data streaming from receiver to client. It is linked in manual/manual-api from slsReceiverSoftware/include ]
+
+
Definition in file mainReceiver.cpp .
+
+
+
+
+
+
+ #define PRINT_IN_COLOR
+ (
+
+ c,
+
+
+
+
+
+ f,
+
+
+
+
+
+ ...
+
+
+
+ )
+ printf ("\033[%dm" f RESET, 30 + c+1, ##__VA_ARGS__)
+
+
+
+
Define Colors to print data call back in different colors for different recievers
+
+
Definition at line 38 of file mainReceiver.cpp .
+
+
+
+
+
+
+
+
+
+ void AcquisitionFinished
+ (
+ uint64_t
+ frames ,
+
+
+
+
+ void *
+ p
+
+
+
+ )
+
+
+
+
+
Acquisition Finished Call back
+
Parameters
+
+ frames Number of frames caught
+ p pointer to object
+
+
+
+
+
Definition at line 85 of file mainReceiver.cpp .
+
+
+
+
+
+
+
+
+ void GetData
+ (
+ char *
+ metadata ,
+
+
+
+
+ char *
+ datapointer ,
+
+
+
+
+ uint32_t
+ datasize ,
+
+
+
+
+ void *
+ p
+
+
+
+ )
+
+
+
+
+
Get Receiver Data Call back Prints in different colors(for each receiver process) the different headers for each image call back.
+
Parameters
+
+ metadata sls_receiver_header metadata
+ datapointer pointer to data
+ datasize data size in bytes.
+ p pointer to object
+
+
+
+
+
Definition at line 98 of file mainReceiver.cpp .
+
+
+
+
+
+
+
+
+ void GetData
+ (
+ char *
+ metadata ,
+
+
+
+
+ char *
+ datapointer ,
+
+
+
+
+ uint32_t &
+ revDatasize ,
+
+
+
+
+ void *
+ p
+
+
+
+ )
+
+
+
+
+
Get Receiver Data Call back (modified) Prints in different colors(for each receiver process) the different headers for each image call back.
+
Parameters
+
+ metadata sls_receiver_header metadata
+ datapointer pointer to data
+ datasize data size in bytes.
+ revDatasize new data size in bytes after the callback. This will be the size written/streamed. (only smaller value is allowed).
+ p pointer to object
+
+
+
+
+
Definition at line 132 of file mainReceiver.cpp .
+
+
+
+
+
+
+
+
+ int main
+ (
+ int
+ argc ,
+
+
+
+
+ char *
+ argv []
+
+
+
+ )
+
+
+
+
+
Example of main program using the slsReceiverUsers class
+
+Defines in file for:
+Default Number of receivers is 1
+Default Start TCP port is 1954
+
+
+
+
+
+
Definition at line 167 of file mainReceiver.cpp .
+
+
+
+
+
+
+
+
+ void printHelp
+ (
+ )
+
+
+
+
+
prints usage of this example program
+
+
Definition at line 55 of file mainReceiver.cpp .
+
+
+
+
+
+
+
+
+ void sigInterruptHandler
+ (
+ int
+ p )
+
+
+
+
+
Control+C Interrupt Handler Sets the variable keeprunning to false, to let all the processes know to exit properly
+
+
Definition at line 48 of file mainReceiver.cpp .
+
+
+
+
+
+
+
+
+ int StartAcq
+ (
+ char *
+ filepath ,
+
+
+
+
+ char *
+ filename ,
+
+
+
+
+ uint64_t
+ fileindex ,
+
+
+
+
+ uint32_t
+ datasize ,
+
+
+
+
+ void *
+ p
+
+
+
+ )
+
+
+
+
+
Start Acquisition Call back slsReceiver writes data if file write enabled. Users get data to write using call back if registerCallBackRawDataReady is registered.
+
Parameters
+
+ filepath file path
+ filename file name
+ fileindex file index
+ datasize data size in bytes
+ p pointer to object
+
+
+
+
Returns ignored
+
+
Definition at line 72 of file mainReceiver.cpp .
+
+
+
+
+
+
+
+
Variable is true to continue running, set to false upon interrupt
+
+
Definition at line 42 of file mainReceiver.cpp .
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/mainReceiver_8cpp_source.html b/manual/docs/html/slsDetectorUsersDocs/mainReceiver_8cpp_source.html
new file mode 100644
index 000000000..630b9e4ec
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/mainReceiver_8cpp_source.html
@@ -0,0 +1,320 @@
+
+
+
+
+
+
+My Project: mainReceiver.cpp Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file.
+
19 #include "sls_receiver_defs.h"
+
20 #include "slsReceiverUsers.h"
+
+
+
+
+
+
+
+
28 #include <sys/types.h>
+
+
+
+
+
+
+
+
+
38 #define PRINT_IN_COLOR(c,f, ...) printf ("\033[%dm" f RESET, 30 + c+1, ##__VA_ARGS__)
+
+
+
+
+
+
+
+
+
+
56 cprintf(RESET,
"Usage:\n"
+
57 "./slsMultiReceiver(detReceiver) [start_tcp_port] [num_receivers] [1 for call back, 0 for none]\n\n" );
+
+
+
+
72 int StartAcq (
char * filepath,
char * filename, uint64_t fileindex, uint32_t datasize,
void *p){
+
73 cprintf(BLUE,
"#### StartAcq: filepath:%s filename:%s fileindex:%llu datasize:%u ####\n" ,
+
74 filepath, filename, (
long long unsigned int )fileindex, datasize);
+
+
76 cprintf(BLUE,
"--StartAcq: returning 0\n" );
+
+
+
+
+
86 cprintf(BLUE,
"#### AcquisitionFinished: frames:%llu ####\n" ,(
long long unsigned int )frames);
+
+
+
+
98 void GetData (
char * metadata,
char * datapointer, uint32_t datasize,
void * p){
+
99 slsReceiverDefs::sls_receiver_header* header = (slsReceiverDefs::sls_receiver_header*)metadata;
+
100 slsReceiverDefs::sls_detector_header detectorHeader = header->detHeader;
+
+
102 PRINT_IN_COLOR (detectorHeader.modId?detectorHeader.modId:detectorHeader.xCoord,
+
103 "#### %d GetData: ####\n"
+
104 "frameNumber: %llu\t\texpLength: %u\t\tpacketNumber: %u\t\tbunchId: %llu"
+
105 "\t\ttimestamp: %llu\t\tmodId: %u\t\t"
+
106 "xCoord: %u\t\tyCoord: %u\t\tzCoord: %u\t\tdebug: %u"
+
107 "\t\troundRNumber: %u\t\tdetType: %u\t\tversion: %u"
+
+
109 "\t\tfirstbytedata: 0x%x\t\tdatsize: %u\n\n" ,
+
110 detectorHeader.xCoord, (
long long unsigned int )detectorHeader.frameNumber,
+
111 detectorHeader.expLength, detectorHeader.packetNumber, (
long long unsigned int )detectorHeader.bunchId,
+
112 (
long long unsigned int )detectorHeader.timestamp, detectorHeader.modId,
+
113 detectorHeader.xCoord, detectorHeader.yCoord, detectorHeader.zCoord,
+
114 detectorHeader.debug, detectorHeader.roundRNumber,
+
115 detectorHeader.detType, detectorHeader.version,
+
+
117 ((uint8_t)(*((uint8_t*)(datapointer)))), datasize);
+
+
+
+
+
132 void GetData (
char * metadata,
char * datapointer, uint32_t &revDatasize,
void * p){
+
133 slsReceiverDefs::sls_receiver_header* header = (slsReceiverDefs::sls_receiver_header*)metadata;
+
134 slsReceiverDefs::sls_detector_header detectorHeader = header->detHeader;
+
+
136 PRINT_IN_COLOR (detectorHeader.modId?detectorHeader.modId:detectorHeader.xCoord,
+
137 "#### %d GetData: ####\n"
+
138 "frameNumber: %llu\t\texpLength: %u\t\tpacketNumber: %u\t\tbunchId: %llu"
+
139 "\t\ttimestamp: %llu\t\tmodId: %u\t\t"
+
140 "xCoord: %u\t\tyCoord: %u\t\tzCoord: %u\t\tdebug: %u"
+
141 "\t\troundRNumber: %u\t\tdetType: %u\t\tversion: %u"
+
+
143 "\t\tfirstbytedata: 0x%x\t\tdatsize: %u\n\n" ,
+
144 detectorHeader.xCoord, (
long long unsigned int )detectorHeader.frameNumber,
+
145 detectorHeader.expLength, detectorHeader.packetNumber, (
long long unsigned int )detectorHeader.bunchId,
+
146 (
long long unsigned int )detectorHeader.timestamp, detectorHeader.modId,
+
147 detectorHeader.xCoord, detectorHeader.yCoord, detectorHeader.zCoord,
+
148 detectorHeader.debug, detectorHeader.roundRNumber,
+
149 detectorHeader.detType, detectorHeader.version,
+
+
151 ((uint8_t)(*((uint8_t*)(datapointer)))), revDatasize);
+
+
+
+
+
+
+
+
+
167 int main (
int argc,
char *argv[]) {
+
+
170 int numReceivers = 1;
+
171 int startTCPPort = 1954;
+
172 int withCallback = 0;
+
+
+
176 if ( (argc != 4) || (!sscanf(argv[1],
"%d" , &startTCPPort)) || (!sscanf(argv[2],
"%d" , &numReceivers)) || (!sscanf(argv[3],
"%d" , &withCallback)) )
+
+
178 cprintf(BLUE,
"Parent Process Created [ Tid: %ld ]\n" , (
long )syscall(SYS_gettid));
+
179 cprintf(RESET,
"Number of Receivers: %d\n" , numReceivers);
+
180 cprintf(RESET,
"Start TCP Port: %d\n" , startTCPPort);
+
181 cprintf(RESET,
"Callback Enable: %d\n" , withCallback);
+
+
+
+
+
+
+
189 sigemptyset(&sa.sa_mask);
+
190 if (sigaction(SIGINT, &sa, NULL) == -1) {
+
191 cprintf(RED,
"Could not set handler function for SIGINT\n" );
+
+
+
196 struct sigaction asa;
+
+
198 asa.sa_handler=SIG_IGN;
+
199 sigemptyset(&asa.sa_mask);
+
200 if (sigaction(SIGPIPE, &asa, NULL) == -1) {
+
201 cprintf(RED,
"Could not set handler function for SIGPIPE\n" );
+
+
+
+
206 for (
int i = 0; i < numReceivers; ++i) {
+
+
+
+
+
213 cprintf(RED,
"fork() failed. Killing all the receiver objects\n" );
+
+
+
+
+
219 cprintf(BLUE,
"Child process %d [ Tid: %ld ]\n" , i, (
long )syscall(SYS_gettid));
+
+
+
222 sprintf(temp,
"%d" ,startTCPPort + i);
+
223 char * args[] = {(
char *)
"ignored" , (
char *)
"--rx_tcpport" , temp};
+
224 int ret = slsReceiverDefs::OK;
+
226 slsReceiverUsers *receiver =
new slsReceiverUsers(3, args, ret);
+
227 if (ret==slsReceiverDefs::FAIL){
+
+
+
+
+
+
+
+
238 cprintf(BLUE,
"Registering StartAcq()\n" );
+
239 receiver->registerCallBackStartAcquisition(
StartAcq , NULL);
+
+
242 cprintf(BLUE,
"Registering AcquisitionFinished()\n" );
+
+
+
+
246 cprintf(BLUE,
"Registering GetData() \n" );
+
247 if (withCallback == 1) receiver->registerCallBackRawDataReady(
GetData ,NULL);
+
248 else if (withCallback == 2) receiver->registerCallBackRawDataModifyReady(
GetData ,NULL);
+
+
+
+
+
254 if (receiver->start() == slsReceiverDefs::FAIL){
+
+
256 cprintf(BLUE,
"Exiting Child Process [ Tid: %ld ]\n" , (
long )syscall(SYS_gettid));
+
+
+
+
+
+
+
265 cprintf(BLUE,
"Exiting Child Process [ Tid: %ld ]\n" , (
long )syscall(SYS_gettid));
+
+
+
+
+
+
+
273 sa.sa_handler=SIG_IGN;
+
274 sigemptyset(&sa.sa_mask);
+
275 if (sigaction(SIGINT, &sa, NULL) == -1) {
+
276 cprintf(RED,
"Could not set handler function for SIGINT\n" );
+
+
+
+
281 cout <<
"Ready ... " << endl;
+
282 cprintf(RESET,
"\n[ Press \'Ctrl+c\' to exit ]\n" );
+
+
+
286 pid_t childPid = waitpid (-1, NULL, 0);
+
+
+
289 if (childPid == -1) {
+
290 if (errno == ECHILD) {
+
291 cprintf(GREEN,
"All Child Processes have been closed\n" );
+
+
+
294 cprintf(RED,
"Unexpected error from waitpid(): (%s)\n" ,strerror(errno));
+
+
+
+
+
+
300 cprintf(BLUE,
"Exiting Child Process [ Tid: %ld ]\n" , (
long int ) childPid);
+
+
+
303 cout <<
"Goodbye!" << endl;
+
+
+
+
+
int StartAcq(char *filepath, char *filename, uint64_t fileindex, uint32_t datasize, void *p)
+
int main(int argc, char **argv)
+
void AcquisitionFinished(uint64_t frames, void *p)
+
+
#define PRINT_IN_COLOR(c, f,...)
+
void sigInterruptHandler(int p)
+
void GetData(char *metadata, char *datapointer, uint32_t datasize, void *p)
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/nav_f.png b/manual/docs/html/slsDetectorUsersDocs/nav_f.png
new file mode 100644
index 000000000..72a58a529
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/nav_f.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/nav_g.png b/manual/docs/html/slsDetectorUsersDocs/nav_g.png
new file mode 100644
index 000000000..9681f15d4
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/nav_g.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/nav_h.png b/manual/docs/html/slsDetectorUsersDocs/nav_h.png
new file mode 100644
index 000000000..33389b101
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/nav_h.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/open.png b/manual/docs/html/slsDetectorUsersDocs/open.png
new file mode 100644
index 000000000..30f75c7ef
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/open.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/all_61.html b/manual/docs/html/slsDetectorUsersDocs/search/all_61.html
new file mode 100644
index 000000000..b8328c63c
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/all_61.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/all_61.js b/manual/docs/html/slsDetectorUsersDocs/search/all_61.js
new file mode 100644
index 000000000..b72dd3dc4
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/all_61.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['acquisitionfinished',['AcquisitionFinished',['../mainReceiver_8cpp.html#a013a16dd72eca4216a42196c4d9c0335',1,'mainReceiver.cpp']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/all_64.html b/manual/docs/html/slsDetectorUsersDocs/search/all_64.html
new file mode 100644
index 000000000..b415c0ed7
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/all_64.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/all_64.js b/manual/docs/html/slsDetectorUsersDocs/search/all_64.js
new file mode 100644
index 000000000..ab958ad7d
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/all_64.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['datacallback',['dataCallback',['../mainClient_8cpp.html#abba369ecba2066d66cc8b3b74460e778',1,'mainClient.cpp']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/all_67.html b/manual/docs/html/slsDetectorUsersDocs/search/all_67.html
new file mode 100644
index 000000000..a6568a3a4
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/all_67.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/all_67.js b/manual/docs/html/slsDetectorUsersDocs/search/all_67.js
new file mode 100644
index 000000000..85f417ccf
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/all_67.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['getdata',['GetData',['../mainReceiver_8cpp.html#a009e34ab0d3ebfcf32f4421a2b462311',1,'GetData(char *metadata, char *datapointer, uint32_t datasize, void *p): mainReceiver.cpp'],['../mainReceiver_8cpp.html#a8e11c5abfd4b3684eef27775aac7071e',1,'GetData(char *metadata, char *datapointer, uint32_t &revDatasize, void *p): mainReceiver.cpp']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/all_6b.html b/manual/docs/html/slsDetectorUsersDocs/search/all_6b.html
new file mode 100644
index 000000000..b6e38ceaa
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/all_6b.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/all_6b.js b/manual/docs/html/slsDetectorUsersDocs/search/all_6b.js
new file mode 100644
index 000000000..600d00896
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/all_6b.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['keeprunning',['keeprunning',['../mainReceiver_8cpp.html#a0d26a166bb416ff34512de6fe9e098bd',1,'mainReceiver.cpp']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/all_6d.html b/manual/docs/html/slsDetectorUsersDocs/search/all_6d.html
new file mode 100644
index 000000000..82ceec77a
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/all_6d.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/all_6d.js b/manual/docs/html/slsDetectorUsersDocs/search/all_6d.js
new file mode 100644
index 000000000..2b00e7269
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/all_6d.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['main',['main',['../mainClient_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): mainClient.cpp'],['../mainReceiver_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): mainReceiver.cpp']]],
+ ['mainclient_2ecpp',['mainClient.cpp',['../mainClient_8cpp.html',1,'']]],
+ ['mainreceiver_2ecpp',['mainReceiver.cpp',['../mainReceiver_8cpp.html',1,'']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/all_70.html b/manual/docs/html/slsDetectorUsersDocs/search/all_70.html
new file mode 100644
index 000000000..a279cb2ac
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/all_70.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/all_70.js b/manual/docs/html/slsDetectorUsersDocs/search/all_70.js
new file mode 100644
index 000000000..71fa45285
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/all_70.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['print_5fin_5fcolor',['PRINT_IN_COLOR',['../mainReceiver_8cpp.html#aeac6a4b86729a7e07100fb58600d6481',1,'mainReceiver.cpp']]],
+ ['printhelp',['printHelp',['../mainReceiver_8cpp.html#a0d20b69b0ad703df78459e1033d5c1d4',1,'mainReceiver.cpp']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/all_73.html b/manual/docs/html/slsDetectorUsersDocs/search/all_73.html
new file mode 100644
index 000000000..09f8ce8be
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/all_73.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/all_73.js b/manual/docs/html/slsDetectorUsersDocs/search/all_73.js
new file mode 100644
index 000000000..18a46560f
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/all_73.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['siginterrupthandler',['sigInterruptHandler',['../mainReceiver_8cpp.html#ac72dad9b593583bd4bf508a979c00f70',1,'mainReceiver.cpp']]],
+ ['startacq',['StartAcq',['../mainReceiver_8cpp.html#a1ec49915ff49957985ebfe6ccc5cd1b3',1,'mainReceiver.cpp']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/close.png b/manual/docs/html/slsDetectorUsersDocs/search/close.png
new file mode 100644
index 000000000..9342d3dfe
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/search/close.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/defines_70.html b/manual/docs/html/slsDetectorUsersDocs/search/defines_70.html
new file mode 100644
index 000000000..0639111fb
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/defines_70.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/defines_70.js b/manual/docs/html/slsDetectorUsersDocs/search/defines_70.js
new file mode 100644
index 000000000..12c9e5088
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/defines_70.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['print_5fin_5fcolor',['PRINT_IN_COLOR',['../mainReceiver_8cpp.html#aeac6a4b86729a7e07100fb58600d6481',1,'mainReceiver.cpp']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/files_6d.html b/manual/docs/html/slsDetectorUsersDocs/search/files_6d.html
new file mode 100644
index 000000000..6fdcbe37f
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/files_6d.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/files_6d.js b/manual/docs/html/slsDetectorUsersDocs/search/files_6d.js
new file mode 100644
index 000000000..848ade552
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/files_6d.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['mainclient_2ecpp',['mainClient.cpp',['../mainClient_8cpp.html',1,'']]],
+ ['mainreceiver_2ecpp',['mainReceiver.cpp',['../mainReceiver_8cpp.html',1,'']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/functions_61.html b/manual/docs/html/slsDetectorUsersDocs/search/functions_61.html
new file mode 100644
index 000000000..ecabe4024
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/functions_61.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/functions_61.js b/manual/docs/html/slsDetectorUsersDocs/search/functions_61.js
new file mode 100644
index 000000000..b72dd3dc4
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/functions_61.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['acquisitionfinished',['AcquisitionFinished',['../mainReceiver_8cpp.html#a013a16dd72eca4216a42196c4d9c0335',1,'mainReceiver.cpp']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/functions_64.html b/manual/docs/html/slsDetectorUsersDocs/search/functions_64.html
new file mode 100644
index 000000000..bcfb550b0
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/functions_64.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/functions_64.js b/manual/docs/html/slsDetectorUsersDocs/search/functions_64.js
new file mode 100644
index 000000000..ab958ad7d
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/functions_64.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['datacallback',['dataCallback',['../mainClient_8cpp.html#abba369ecba2066d66cc8b3b74460e778',1,'mainClient.cpp']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/functions_67.html b/manual/docs/html/slsDetectorUsersDocs/search/functions_67.html
new file mode 100644
index 000000000..39cc96de3
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/functions_67.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/functions_67.js b/manual/docs/html/slsDetectorUsersDocs/search/functions_67.js
new file mode 100644
index 000000000..85f417ccf
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/functions_67.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['getdata',['GetData',['../mainReceiver_8cpp.html#a009e34ab0d3ebfcf32f4421a2b462311',1,'GetData(char *metadata, char *datapointer, uint32_t datasize, void *p): mainReceiver.cpp'],['../mainReceiver_8cpp.html#a8e11c5abfd4b3684eef27775aac7071e',1,'GetData(char *metadata, char *datapointer, uint32_t &revDatasize, void *p): mainReceiver.cpp']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/functions_6d.html b/manual/docs/html/slsDetectorUsersDocs/search/functions_6d.html
new file mode 100644
index 000000000..f721e1161
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/functions_6d.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/functions_6d.js b/manual/docs/html/slsDetectorUsersDocs/search/functions_6d.js
new file mode 100644
index 000000000..3ff53aa99
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/functions_6d.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['main',['main',['../mainClient_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): mainClient.cpp'],['../mainReceiver_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): mainReceiver.cpp']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/functions_70.html b/manual/docs/html/slsDetectorUsersDocs/search/functions_70.html
new file mode 100644
index 000000000..c7cadcf0c
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/functions_70.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/functions_70.js b/manual/docs/html/slsDetectorUsersDocs/search/functions_70.js
new file mode 100644
index 000000000..d15ba3aa1
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/functions_70.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['printhelp',['printHelp',['../mainReceiver_8cpp.html#a0d20b69b0ad703df78459e1033d5c1d4',1,'mainReceiver.cpp']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/functions_73.html b/manual/docs/html/slsDetectorUsersDocs/search/functions_73.html
new file mode 100644
index 000000000..a89524539
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/functions_73.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/functions_73.js b/manual/docs/html/slsDetectorUsersDocs/search/functions_73.js
new file mode 100644
index 000000000..18a46560f
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/functions_73.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['siginterrupthandler',['sigInterruptHandler',['../mainReceiver_8cpp.html#ac72dad9b593583bd4bf508a979c00f70',1,'mainReceiver.cpp']]],
+ ['startacq',['StartAcq',['../mainReceiver_8cpp.html#a1ec49915ff49957985ebfe6ccc5cd1b3',1,'mainReceiver.cpp']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/mag_sel.png b/manual/docs/html/slsDetectorUsersDocs/search/mag_sel.png
new file mode 100644
index 000000000..81f6040a2
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/search/mag_sel.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/nomatches.html b/manual/docs/html/slsDetectorUsersDocs/search/nomatches.html
new file mode 100644
index 000000000..b1ded27e9
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/nomatches.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/search.css b/manual/docs/html/slsDetectorUsersDocs/search/search.css
new file mode 100644
index 000000000..4d7612ff6
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/search.css
@@ -0,0 +1,271 @@
+/*---------------- Search Box */
+
+#FSearchBox {
+ float: left;
+}
+
+#MSearchBox {
+ white-space : nowrap;
+ position: absolute;
+ float: none;
+ display: inline;
+ margin-top: 8px;
+ right: 0px;
+ width: 170px;
+ z-index: 102;
+ background-color: white;
+}
+
+#MSearchBox .left
+{
+ display:block;
+ position:absolute;
+ left:10px;
+ width:20px;
+ height:19px;
+ background:url('search_l.png') no-repeat;
+ background-position:right;
+}
+
+#MSearchSelect {
+ display:block;
+ position:absolute;
+ width:20px;
+ height:19px;
+}
+
+.left #MSearchSelect {
+ left:4px;
+}
+
+.right #MSearchSelect {
+ right:5px;
+}
+
+#MSearchField {
+ display:block;
+ position:absolute;
+ height:19px;
+ background:url('search_m.png') repeat-x;
+ border:none;
+ width:111px;
+ margin-left:20px;
+ padding-left:4px;
+ color: #909090;
+ outline: none;
+ font: 9pt Arial, Verdana, sans-serif;
+}
+
+#FSearchBox #MSearchField {
+ margin-left:15px;
+}
+
+#MSearchBox .right {
+ display:block;
+ position:absolute;
+ right:10px;
+ top:0px;
+ width:20px;
+ height:19px;
+ background:url('search_r.png') no-repeat;
+ background-position:left;
+}
+
+#MSearchClose {
+ display: none;
+ position: absolute;
+ top: 4px;
+ background : none;
+ border: none;
+ margin: 0px 4px 0px 0px;
+ padding: 0px 0px;
+ outline: none;
+}
+
+.left #MSearchClose {
+ left: 6px;
+}
+
+.right #MSearchClose {
+ right: 2px;
+}
+
+.MSearchBoxActive #MSearchField {
+ color: #000000;
+}
+
+/*---------------- Search filter selection */
+
+#MSearchSelectWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid #90A5CE;
+ background-color: #F9FAFC;
+ z-index: 1;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ -moz-border-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+.SelectItem {
+ font: 8pt Arial, Verdana, sans-serif;
+ padding-left: 2px;
+ padding-right: 12px;
+ border: 0px;
+}
+
+span.SelectionMark {
+ margin-right: 4px;
+ font-family: monospace;
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem {
+ display: block;
+ outline-style: none;
+ color: #000000;
+ text-decoration: none;
+ padding-left: 6px;
+ padding-right: 12px;
+}
+
+a.SelectItem:focus,
+a.SelectItem:active {
+ color: #000000;
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem:hover {
+ color: #FFFFFF;
+ background-color: #3D578C;
+ outline-style: none;
+ text-decoration: none;
+ cursor: pointer;
+ display: block;
+}
+
+/*---------------- Search results window */
+
+iframe#MSearchResults {
+ width: 60ex;
+ height: 15em;
+}
+
+#MSearchResultsWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid #000;
+ background-color: #EEF1F7;
+}
+
+/* ----------------------------------- */
+
+
+#SRIndex {
+ clear:both;
+ padding-bottom: 15px;
+}
+
+.SREntry {
+ font-size: 10pt;
+ padding-left: 1ex;
+}
+
+.SRPage .SREntry {
+ font-size: 8pt;
+ padding: 1px 5px;
+}
+
+body.SRPage {
+ margin: 5px 2px;
+}
+
+.SRChildren {
+ padding-left: 3ex; padding-bottom: .5em
+}
+
+.SRPage .SRChildren {
+ display: none;
+}
+
+.SRSymbol {
+ font-weight: bold;
+ color: #425E97;
+ font-family: Arial, Verdana, sans-serif;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRScope {
+ display: block;
+ color: #425E97;
+ font-family: Arial, Verdana, sans-serif;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRSymbol:focus, a.SRSymbol:active,
+a.SRScope:focus, a.SRScope:active {
+ text-decoration: underline;
+}
+
+span.SRScope {
+ padding-left: 4px;
+}
+
+.SRPage .SRStatus {
+ padding: 2px 5px;
+ font-size: 8pt;
+ font-style: italic;
+}
+
+.SRResult {
+ display: none;
+}
+
+DIV.searchresults {
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
+/*---------------- External search page results */
+
+.searchresult {
+ background-color: #F0F3F8;
+}
+
+.pages b {
+ color: white;
+ padding: 5px 5px 3px 5px;
+ background-image: url("../tab_a.png");
+ background-repeat: repeat-x;
+ text-shadow: 0 1px 1px #000000;
+}
+
+.pages {
+ line-height: 17px;
+ margin-left: 4px;
+ text-decoration: none;
+}
+
+.hl {
+ font-weight: bold;
+}
+
+#searchresults {
+ margin-bottom: 20px;
+}
+
+.searchpages {
+ margin-top: 10px;
+}
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/search.js b/manual/docs/html/slsDetectorUsersDocs/search/search.js
new file mode 100644
index 000000000..edfecd98a
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/search.js
@@ -0,0 +1,803 @@
+// Search script generated by doxygen
+// Copyright (C) 2009 by Dimitri van Heesch.
+
+// The code in this file is loosly based on main.js, part of Natural Docs,
+// which is Copyright (C) 2003-2008 Greg Valure
+// Natural Docs is licensed under the GPL.
+
+var indexSectionsWithContent =
+{
+ 0: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100100100010100100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ 1: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ 2: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100100100000100100100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ 3: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+ 4: "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
+};
+
+var indexSectionNames =
+{
+ 0: "all",
+ 1: "files",
+ 2: "functions",
+ 3: "variables",
+ 4: "defines"
+};
+
+function convertToId(search)
+{
+ var result = '';
+ for (i=0;i do a search
+ {
+ this.Search();
+ }
+ }
+
+ this.OnSearchSelectKey = function(evt)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==40 && this.searchIndex0) // Up
+ {
+ this.searchIndex--;
+ this.OnSelectItem(this.searchIndex);
+ }
+ else if (e.keyCode==13 || e.keyCode==27)
+ {
+ this.OnSelectItem(this.searchIndex);
+ this.CloseSelectionWindow();
+ this.DOMSearchField().focus();
+ }
+ return false;
+ }
+
+ // --------- Actions
+
+ // Closes the results window.
+ this.CloseResultsWindow = function()
+ {
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
+ this.DOMSearchClose().style.display = 'none';
+ this.Activate(false);
+ }
+
+ this.CloseSelectionWindow = function()
+ {
+ this.DOMSearchSelectWindow().style.display = 'none';
+ }
+
+ // Performs a search.
+ this.Search = function()
+ {
+ this.keyTimeout = 0;
+
+ // strip leading whitespace
+ var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+
+ var code = searchValue.toLowerCase().charCodeAt(0);
+ var hexCode;
+ if (code<16)
+ {
+ hexCode="0"+code.toString(16);
+ }
+ else
+ {
+ hexCode=code.toString(16);
+ }
+
+ var resultsPage;
+ var resultsPageWithSearch;
+ var hasResultsPage;
+
+ if (indexSectionsWithContent[this.searchIndex].charAt(code) == '1')
+ {
+ resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
+ resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
+ hasResultsPage = true;
+ }
+ else // nothing available for this search term
+ {
+ resultsPage = this.resultsPath + '/nomatches.html';
+ resultsPageWithSearch = resultsPage;
+ hasResultsPage = false;
+ }
+
+ window.frames.MSearchResults.location = resultsPageWithSearch;
+ var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+
+ if (domPopupSearchResultsWindow.style.display!='block')
+ {
+ var domSearchBox = this.DOMSearchBox();
+ this.DOMSearchClose().style.display = 'inline';
+ if (this.insideFrame)
+ {
+ var domPopupSearchResults = this.DOMPopupSearchResults();
+ domPopupSearchResultsWindow.style.position = 'relative';
+ domPopupSearchResultsWindow.style.display = 'block';
+ var width = document.body.clientWidth - 8; // the -8 is for IE :-(
+ domPopupSearchResultsWindow.style.width = width + 'px';
+ domPopupSearchResults.style.width = width + 'px';
+ }
+ else
+ {
+ var domPopupSearchResults = this.DOMPopupSearchResults();
+ var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
+ var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
+ domPopupSearchResultsWindow.style.display = 'block';
+ left -= domPopupSearchResults.offsetWidth;
+ domPopupSearchResultsWindow.style.top = top + 'px';
+ domPopupSearchResultsWindow.style.left = left + 'px';
+ }
+ }
+
+ this.lastSearchValue = searchValue;
+ this.lastResultsPage = resultsPage;
+ }
+
+ // -------- Activation Functions
+
+ // Activates or deactivates the search panel, resetting things to
+ // their default values if necessary.
+ this.Activate = function(isActive)
+ {
+ if (isActive || // open it
+ this.DOMPopupSearchResultsWindow().style.display == 'block'
+ )
+ {
+ this.DOMSearchBox().className = 'MSearchBoxActive';
+
+ var searchField = this.DOMSearchField();
+
+ if (searchField.value == this.searchLabel) // clear "Search" term upon entry
+ {
+ searchField.value = '';
+ this.searchActive = true;
+ }
+ }
+ else if (!isActive) // directly remove the panel
+ {
+ this.DOMSearchBox().className = 'MSearchBoxInactive';
+ this.DOMSearchField().value = this.searchLabel;
+ this.searchActive = false;
+ this.lastSearchValue = ''
+ this.lastResultsPage = '';
+ }
+ }
+}
+
+// -----------------------------------------------------------------------
+
+// The class that handles everything on the search results page.
+function SearchResults(name)
+{
+ // The number of matches from the last run of .
+ this.lastMatchCount = 0;
+ this.lastKey = 0;
+ this.repeatOn = false;
+
+ // Toggles the visibility of the passed element ID.
+ this.FindChildElement = function(id)
+ {
+ var parentElement = document.getElementById(id);
+ var element = parentElement.firstChild;
+
+ while (element && element!=parentElement)
+ {
+ if (element.nodeName == 'DIV' && element.className == 'SRChildren')
+ {
+ return element;
+ }
+
+ if (element.nodeName == 'DIV' && element.hasChildNodes())
+ {
+ element = element.firstChild;
+ }
+ else if (element.nextSibling)
+ {
+ element = element.nextSibling;
+ }
+ else
+ {
+ do
+ {
+ element = element.parentNode;
+ }
+ while (element && element!=parentElement && !element.nextSibling);
+
+ if (element && element!=parentElement)
+ {
+ element = element.nextSibling;
+ }
+ }
+ }
+ }
+
+ this.Toggle = function(id)
+ {
+ var element = this.FindChildElement(id);
+ if (element)
+ {
+ if (element.style.display == 'block')
+ {
+ element.style.display = 'none';
+ }
+ else
+ {
+ element.style.display = 'block';
+ }
+ }
+ }
+
+ // Searches for the passed string. If there is no parameter,
+ // it takes it from the URL query.
+ //
+ // Always returns true, since other documents may try to call it
+ // and that may or may not be possible.
+ this.Search = function(search)
+ {
+ if (!search) // get search word from URL
+ {
+ search = window.location.search;
+ search = search.substring(1); // Remove the leading '?'
+ search = unescape(search);
+ }
+
+ search = search.replace(/^ +/, ""); // strip leading spaces
+ search = search.replace(/ +$/, ""); // strip trailing spaces
+ search = search.toLowerCase();
+ search = convertToId(search);
+
+ var resultRows = document.getElementsByTagName("div");
+ var matches = 0;
+
+ var i = 0;
+ while (i < resultRows.length)
+ {
+ var row = resultRows.item(i);
+ if (row.className == "SRResult")
+ {
+ var rowMatchName = row.id.toLowerCase();
+ rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
+
+ if (search.length<=rowMatchName.length &&
+ rowMatchName.substr(0, search.length)==search)
+ {
+ row.style.display = 'block';
+ matches++;
+ }
+ else
+ {
+ row.style.display = 'none';
+ }
+ }
+ i++;
+ }
+ document.getElementById("Searching").style.display='none';
+ if (matches == 0) // no results
+ {
+ document.getElementById("NoMatches").style.display='block';
+ }
+ else // at least one result
+ {
+ document.getElementById("NoMatches").style.display='none';
+ }
+ this.lastMatchCount = matches;
+ return true;
+ }
+
+ // return the first item with index index or higher that is visible
+ this.NavNext = function(index)
+ {
+ var focusItem;
+ while (1)
+ {
+ var focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+ {
+ break;
+ }
+ else if (!focusItem) // last element
+ {
+ break;
+ }
+ focusItem=null;
+ index++;
+ }
+ return focusItem;
+ }
+
+ this.NavPrev = function(index)
+ {
+ var focusItem;
+ while (1)
+ {
+ var focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+ {
+ break;
+ }
+ else if (!focusItem) // last element
+ {
+ break;
+ }
+ focusItem=null;
+ index--;
+ }
+ return focusItem;
+ }
+
+ this.ProcessKeys = function(e)
+ {
+ if (e.type == "keydown")
+ {
+ this.repeatOn = false;
+ this.lastKey = e.keyCode;
+ }
+ else if (e.type == "keypress")
+ {
+ if (!this.repeatOn)
+ {
+ if (this.lastKey) this.repeatOn = true;
+ return false; // ignore first keypress after keydown
+ }
+ }
+ else if (e.type == "keyup")
+ {
+ this.lastKey = 0;
+ this.repeatOn = false;
+ }
+ return this.lastKey!=0;
+ }
+
+ this.Nav = function(evt,itemIndex)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) // Up
+ {
+ var newIndex = itemIndex-1;
+ var focusItem = this.NavPrev(newIndex);
+ if (focusItem)
+ {
+ var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
+ if (child && child.style.display == 'block') // children visible
+ {
+ var n=0;
+ var tmpElem;
+ while (1) // search for last child
+ {
+ tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
+ if (tmpElem)
+ {
+ focusItem = tmpElem;
+ }
+ else // found it!
+ {
+ break;
+ }
+ n++;
+ }
+ }
+ }
+ if (focusItem)
+ {
+ focusItem.focus();
+ }
+ else // return focus to search field
+ {
+ parent.document.getElementById("MSearchField").focus();
+ }
+ }
+ else if (this.lastKey==40) // Down
+ {
+ var newIndex = itemIndex+1;
+ var focusItem;
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem && elem.style.display == 'block') // children visible
+ {
+ focusItem = document.getElementById('Item'+itemIndex+'_c0');
+ }
+ if (!focusItem) focusItem = this.NavNext(newIndex);
+ if (focusItem) focusItem.focus();
+ }
+ else if (this.lastKey==39) // Right
+ {
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'block';
+ }
+ else if (this.lastKey==37) // Left
+ {
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'none';
+ }
+ else if (this.lastKey==27) // Escape
+ {
+ parent.searchBox.CloseResultsWindow();
+ parent.document.getElementById("MSearchField").focus();
+ }
+ else if (this.lastKey==13) // Enter
+ {
+ return true;
+ }
+ return false;
+ }
+
+ this.NavChild = function(evt,itemIndex,childIndex)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) // Up
+ {
+ if (childIndex>0)
+ {
+ var newIndex = childIndex-1;
+ document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
+ }
+ else // already at first child, jump to parent
+ {
+ document.getElementById('Item'+itemIndex).focus();
+ }
+ }
+ else if (this.lastKey==40) // Down
+ {
+ var newIndex = childIndex+1;
+ var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
+ if (!elem) // last child, jump to parent next parent
+ {
+ elem = this.NavNext(itemIndex+1);
+ }
+ if (elem)
+ {
+ elem.focus();
+ }
+ }
+ else if (this.lastKey==27) // Escape
+ {
+ parent.searchBox.CloseResultsWindow();
+ parent.document.getElementById("MSearchField").focus();
+ }
+ else if (this.lastKey==13) // Enter
+ {
+ return true;
+ }
+ return false;
+ }
+}
+
+function setKeyActions(elem,action)
+{
+ elem.setAttribute('onkeydown',action);
+ elem.setAttribute('onkeypress',action);
+ elem.setAttribute('onkeyup',action);
+}
+
+function setClassAttr(elem,attr)
+{
+ elem.setAttribute('class',attr);
+ elem.setAttribute('className',attr);
+}
+
+function createResults()
+{
+ var results = document.getElementById("SRResults");
+ for (var e=0; e
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git a/manual/docs/html/slsDetectorUsersDocs/search/variables_6b.js b/manual/docs/html/slsDetectorUsersDocs/search/variables_6b.js
new file mode 100644
index 000000000..600d00896
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/search/variables_6b.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['keeprunning',['keeprunning',['../mainReceiver_8cpp.html#a0d26a166bb416ff34512de6fe9e098bd',1,'mainReceiver.cpp']]]
+];
diff --git a/manual/docs/html/slsDetectorUsersDocs/sync_off.png b/manual/docs/html/slsDetectorUsersDocs/sync_off.png
new file mode 100644
index 000000000..3b443fc62
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/sync_off.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/sync_on.png b/manual/docs/html/slsDetectorUsersDocs/sync_on.png
new file mode 100644
index 000000000..e08320fb6
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/sync_on.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/tab_a.png b/manual/docs/html/slsDetectorUsersDocs/tab_a.png
new file mode 100644
index 000000000..3b725c41c
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/tab_a.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/tab_b.png b/manual/docs/html/slsDetectorUsersDocs/tab_b.png
new file mode 100644
index 000000000..e2b4a8638
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/tab_b.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/tab_h.png b/manual/docs/html/slsDetectorUsersDocs/tab_h.png
new file mode 100644
index 000000000..fd5cb7054
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/tab_h.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/tab_s.png b/manual/docs/html/slsDetectorUsersDocs/tab_s.png
new file mode 100644
index 000000000..ab478c95b
Binary files /dev/null and b/manual/docs/html/slsDetectorUsersDocs/tab_s.png differ
diff --git a/manual/docs/html/slsDetectorUsersDocs/tabs.css b/manual/docs/html/slsDetectorUsersDocs/tabs.css
new file mode 100644
index 000000000..9cf578f23
--- /dev/null
+++ b/manual/docs/html/slsDetectorUsersDocs/tabs.css
@@ -0,0 +1,60 @@
+.tabs, .tabs2, .tabs3 {
+ background-image: url('tab_b.png');
+ width: 100%;
+ z-index: 101;
+ font-size: 13px;
+ font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+}
+
+.tabs2 {
+ font-size: 10px;
+}
+.tabs3 {
+ font-size: 9px;
+}
+
+.tablist {
+ margin: 0;
+ padding: 0;
+ display: table;
+}
+
+.tablist li {
+ float: left;
+ display: table-cell;
+ background-image: url('tab_b.png');
+ line-height: 36px;
+ list-style: none;
+}
+
+.tablist a {
+ display: block;
+ padding: 0 20px;
+ font-weight: bold;
+ background-image:url('tab_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color: #283A5D;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ text-decoration: none;
+ outline: none;
+}
+
+.tabs3 .tablist a {
+ padding: 0 10px;
+}
+
+.tablist a:hover {
+ background-image: url('tab_h.png');
+ background-repeat:repeat-x;
+ color: #fff;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+ text-decoration: none;
+}
+
+.tablist li.current a {
+ background-image: url('tab_a.png');
+ background-repeat:repeat-x;
+ color: #fff;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
diff --git a/manual/docs/html/slsDetectors-FAQ/WARNINGS b/manual/docs/html/slsDetectors-FAQ/WARNINGS
new file mode 100644
index 000000000..9d68df47f
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/WARNINGS
@@ -0,0 +1,19 @@
+No implementation found for style `graphicx'
+No implementation found for style `eucal'
+No implementation found for style `amsxtra'
+No implementation found for style `upref'
+No implementation found for style `layout'
+No implementation found for style `calc'
+No implementation found for style `framed'
+
+? brace missing for \
+
+Substitution of arg to newlabelxx delayed.
+
+redefining command \
+
+? brace missing for \oldcontentsline
+
+? brace missing for \oldnewlabel
+
+? brace missing for \textit
diff --git a/manual/docs/html/slsDetectors-FAQ/footnode.html b/manual/docs/html/slsDetectors-FAQ/footnode.html
new file mode 100644
index 000000000..75d3b2fba
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/footnode.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+Footnotes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+... tab 3.1
+The default name of the calibrated trimfiles is trimbits/beamline/ settings /noise.snxxx where settings is the chosen settings. You can change it in src/qDetector.h and then recompile the acquisition program as described in .
+
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+
+
+....snxxx 3.2
+The default name of the calibration file calibration/ settings .snxxx where settings is the chosen settings. You can change it in src/qDetector.h and then recompile the acquisition program.
+
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+.
+
+
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/images.aux b/manual/docs/html/slsDetectors-FAQ/images.aux
new file mode 100644
index 000000000..075990843
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/images.aux
@@ -0,0 +1,18 @@
+\relax
+\providecommand\hyper@newdestlabel[2]{}
+\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
+\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
+\global\let\oldcontentsline\contentsline
+\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
+\global\let\oldnewlabel\newlabel
+\gdef\newlabel#1#2{\newlabelxx{#1}#2}
+\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
+\AtEndDocument{\ifx\hyper@anchor\@undefined
+\let\contentsline\oldcontentsline
+\let\newlabel\oldnewlabel
+\fi}
+\fi}
+\global\let\hyper@last\relax
+\gdef\HyperFirstAtBeginDocument#1{#1}
+\providecommand*\HyPL@Entry[1]{}
+\HyPL@Entry{0<>}
diff --git a/manual/docs/html/slsDetectors-FAQ/images.log b/manual/docs/html/slsDetectors-FAQ/images.log
new file mode 100644
index 000000000..1ae8db1d0
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/images.log
@@ -0,0 +1,1649 @@
+This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013) (format=latex 2018.8.23) 23 AUG 2018 15:43
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**./images.tex
+(./images.tex
+LaTeX2e <2011/06/27>
+Babel and hyphenation patterns for english, dumylang, nohyphenation, lo
+aded.
+
+(/usr/share/texlive/texmf-dist/tex/latex/base/report.cls
+Document Class: report 2007/10/19 v1.4h Standard LaTeX document class
+(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
+File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
+)
+\c@part=\count79
+\c@chapter=\count80
+\c@section=\count81
+\c@subsection=\count82
+\c@subsubsection=\count83
+\c@paragraph=\count84
+\c@subparagraph=\count85
+\c@figure=\count86
+\c@table=\count87
+\abovecaptionskip=\skip41
+\belowcaptionskip=\skip42
+\bibindent=\dimen102
+) (/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
+Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)
+) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
+Package: amssymb 2013/01/14 v3.01 AMS font symbols
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support
+\@emptytoks=\toks14
+\symAMSa=\mathgroup4
+\symAMSb=\mathgroup5
+LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
+(Font) U/euf/m/n --> U/euf/b/n on input line 106.
+)) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
+Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
+Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
+\KV@toks@=\toks15
+) (/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
+Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
+Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
+) (/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg
+File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
+)
+Package graphics Info: Driver file: dvips.def on input line 91.
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/dvips.def
+File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
+))
+\Gin@req@height=\dimen103
+\Gin@req@width=\dimen104
+) (/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty
+Package: verbatim 2003/08/22 v1.5q LaTeX2e package for verbatim enhancements
+\every@verbatim=\toks16
+\verbatim@line=\toks17
+\verbatim@in@stream=\read1
+) (/usr/share/texlive/texmf-local/texmf-compat/tex/latex/html/html.sty (/usr/sh
+are/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
+Package: hyperref 2012/11/06 v6.83m Hypertext links for LaTeX
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
+Package: hobsub-hyperref 2012/05/28 v1.13 Bundle oberdiek, subset hyperref (HO)
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
+Package: hobsub-generic 2012/05/28 v1.13 Bundle oberdiek, subset generic (HO)
+Package: hobsub 2012/05/28 v1.13 Construct package bundles (HO)
+Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO)
+Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
+Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO)
+Package ifluatex Info: LuaTeX not detected.
+Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO)
+Package ifvtex Info: VTeX not detected.
+Package: intcalc 2007/09/27 v1.1 Expandable calculations with integers (HO)
+Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO)
+Package ifpdf Info: pdfTeX in PDF mode is not detected.
+Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
+Package etexcmds Info: Could not find \expanded.
+(etexcmds) That can mean that you are not using pdfTeX 1.50 or
+(etexcmds) that some package has redefined \expanded.
+(etexcmds) In the latter case, load this package earlier.
+Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO)
+Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO)
+Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO
+)
+Package pdftexcmds Info: LuaTeX not detected.
+Package pdftexcmds Info: \pdf@primitive is available.
+Package pdftexcmds Info: \pdf@ifprimitive is available.
+Package pdftexcmds Info: \pdfdraftmode is ignored in DVI mode.
+Package: pdfescape 2011/11/25 v1.13 Implements pdfTeX's escape features (HO)
+Package: bigintcalc 2012/04/08 v1.3 Expandable calculations on big integers (HO
+)
+Package: bitset 2011/01/30 v1.1 Handle bit-vector datatype (HO)
+Package: uniquecounter 2011/01/30 v1.2 Provide unlimited unique counter (HO)
+)
+Package hobsub Info: Skipping package `hobsub' (already loaded).
+Package: letltxmacro 2010/09/02 v1.4 Let assignment for LaTeX macros (HO)
+Package: hopatch 2012/05/28 v1.2 Wrapper for package hooks (HO)
+Package: xcolor-patch 2011/01/30 xcolor patch
+Package: atveryend 2011/06/30 v1.8 Hooks at the very end of document (HO)
+Package atveryend Info: \enddocument detected (standard20110627).
+Package: atbegshi 2011/10/05 v1.16 At begin shipout hook (HO)
+Package: refcount 2011/10/16 v3.4 Data extraction from label references (HO)
+Package: hycolor 2011/01/30 v1.7 Color options for hyperref/bookmark (HO)
+) (/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
+Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
+) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty
+Package: auxhook 2011/03/04 v1.3 Hooks for auxiliary files (HO)
+) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
+Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO)
+)
+\@linkdim=\dimen105
+\Hy@linkcounter=\count88
+\Hy@pagecounter=\count89
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
+File: pd1enc.def 2012/11/06 v6.83m Hyperref: PDFDocEncoding definition (HO)
+)
+\Hy@SavedSpaceFactor=\count90
+(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg
+File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
+)
+Package hyperref Info: Hyper figures OFF on input line 4443.
+Package hyperref Info: Link nesting OFF on input line 4448.
+Package hyperref Info: Hyper index ON on input line 4451.
+Package hyperref Info: Plain pages OFF on input line 4458.
+Package hyperref Info: Backreferencing OFF on input line 4463.
+Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
+Package hyperref Info: Bookmarks ON on input line 4688.
+\c@Hy@tempcnt=\count91
+(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty
+\Urlmuskip=\muskip10
+Package: url 2006/04/12 ver 3.3 Verb mode for urls, etc.
+)
+LaTeX Info: Redefining \url on input line 5041.
+\XeTeXLinkMargin=\dimen106
+\Fld@menulength=\count92
+\Field@Width=\dimen107
+\Fld@charsize=\dimen108
+Package hyperref Info: Hyper figures OFF on input line 6295.
+Package hyperref Info: Link nesting OFF on input line 6300.
+Package hyperref Info: Hyper index ON on input line 6303.
+Package hyperref Info: backreferencing OFF on input line 6310.
+Package hyperref Info: Link coloring OFF on input line 6315.
+Package hyperref Info: Link coloring with OCG OFF on input line 6320.
+Package hyperref Info: PDF/A mode OFF on input line 6325.
+LaTeX Info: Redefining \ref on input line 6365.
+LaTeX Info: Redefining \pageref on input line 6369.
+\Hy@abspage=\count93
+\c@Item=\count94
+\c@Hfootnote=\count95
+)
+
+Package hyperref Message: Driver (default): hdvips.
+
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hdvips.def
+File: hdvips.def 2012/11/06 v6.83m Hyperref driver for dvips
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pdfmark.def
+File: pdfmark.def 2012/11/06 v6.83m Hyperref definitions for pdfmark specials
+\pdf@docset=\toks18
+\pdf@box=\box26
+\pdf@toks=\toks19
+\pdf@defaulttoks=\toks20
+\HyField@AnnotCount=\count96
+\Fld@listcount=\count97
+\c@bookmark@seq@number=\count98
+(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
+Package: rerunfilecheck 2011/04/15 v1.7 Rerun checks for auxiliary files (HO)
+Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
+82.
+)
+\Hy@SectionHShift=\skip43
+))
+Package: html 1999/07/19 v1.38 hypertext commands for latex2html (nd, hws, rrm)
+
+\c@lpart=\count99
+\c@lchapter=\count100
+\c@lsection=\count101
+\c@lsubsection=\count102
+\c@lsubsubsection=\count103
+\c@lparagraph=\count104
+\c@lsubparagraph=\count105
+\c@lsubsubparagraph=\count106
+\ptrfile=\write3
+) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
+Package: amsmath 2013/01/14 v2.14 AMS math features
+\@mathmargin=\skip44
+For additional information on amsmath, use the `?' option.
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
+Package: amstext 2000/06/29 v2.01
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
+File: amsgen.sty 1999/11/30 v2.0
+\@emptytoks=\toks21
+\ex@=\dimen109
+)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
+Package: amsbsy 1999/11/29 v1.2d
+\pmbraise@=\dimen110
+) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
+Package: amsopn 1999/12/14 v2.01 operator names
+)
+\inf@bad=\count107
+LaTeX Info: Redefining \frac on input line 210.
+\uproot@=\count108
+\leftroot@=\count109
+LaTeX Info: Redefining \overline on input line 306.
+\classnum@=\count110
+\DOTSCASE@=\count111
+LaTeX Info: Redefining \ldots on input line 378.
+LaTeX Info: Redefining \dots on input line 381.
+LaTeX Info: Redefining \cdots on input line 466.
+\Mathstrutbox@=\box27
+\strutbox@=\box28
+\big@size=\dimen111
+LaTeX Font Info: Redeclaring font encoding OML on input line 566.
+LaTeX Font Info: Redeclaring font encoding OMS on input line 567.
+\macc@depth=\count112
+\c@MaxMatrixCols=\count113
+\dotsspace@=\muskip11
+\c@parentequation=\count114
+\dspbrk@lvl=\count115
+\tag@help=\toks22
+\row@=\count116
+\column@=\count117
+\maxfields@=\count118
+\andhelp@=\toks23
+\eqnshift@=\dimen112
+\alignsep@=\dimen113
+\tagshift@=\dimen114
+\tagwidth@=\dimen115
+\totwidth@=\dimen116
+\lineht@=\dimen117
+\@envbody=\toks24
+\multlinegap=\skip45
+\multlinetaggap=\skip46
+\mathdisplay@stack=\toks25
+LaTeX Info: Redefining \[ on input line 2665.
+LaTeX Info: Redefining \] on input line 2666.
+) (/usr/share/texlive/texmf-dist/tex/latex/base/latexsym.sty
+Package: latexsym 1998/08/17 v2.2e Standard LaTeX package (lasy symbols)
+\symlasy=\mathgroup6
+LaTeX Font Info: Overwriting symbol font `lasy' in version `bold'
+(Font) U/lasy/m/n --> U/lasy/b/n on input line 47.
+) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/eucal.sty
+Package: eucal 2009/06/22 v3.00 Euler Script fonts
+LaTeX Font Info: Overwriting math alphabet `\EuScript' in version `bold'
+(Font) U/eus/m/n --> U/eus/b/n on input line 33.
+) (/usr/share/texlive/texmf-dist/tex/latex/amscls/amsthm.sty
+Package: amsthm 2004/08/06 v2.20
+\thm@style=\toks26
+\thm@bodyfont=\toks27
+\thm@headfont=\toks28
+\thm@notefont=\toks29
+\thm@headpunct=\toks30
+\thm@preskip=\skip47
+\thm@postskip=\skip48
+\thm@headsep=\skip49
+\dth@everypar=\toks31
+) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsxtra.sty
+Package: amsxtra 1999/11/15 v1.2c
+LaTeX Info: Redefining \nobreakspace on input line 65.
+) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amscd.sty
+Package: amscd 1999/11/29 v2.0
+\athelp@=\toks32
+\minaw@=\dimen118
+\bigaw@=\dimen119
+\minCDarrowwidth=\dimen120
+) (/usr/share/texlive/texmf-dist/tex/latex/amscls/upref.sty
+Package: upref 2004/07/29 v2.01
+) (/usr/share/texlive/texmf-dist/tex/latex/tools/layout.sty
+Package: layout 2000/09/25 v1.2c Show layout parameters
+\oneinch=\count119
+\cnt@paperwidth=\count120
+\cnt@paperheight=\count121
+\cnt@hoffset=\count122
+\cnt@voffset=\count123
+\cnt@textheight=\count124
+\cnt@textwidth=\count125
+\cnt@topmargin=\count126
+\cnt@oddsidemargin=\count127
+\cnt@evensidemargin=\count128
+\cnt@headheight=\count129
+\cnt@headsep=\count130
+\cnt@marginparsep=\count131
+\cnt@marginparwidth=\count132
+\cnt@marginparpush=\count133
+\cnt@footskip=\count134
+\fheight=\count135
+\ref@top=\count136
+\ref@hoffset=\count137
+\ref@voffset=\count138
+\ref@head=\count139
+\ref@body=\count140
+\ref@foot=\count141
+\ref@margin=\count142
+\ref@marginwidth=\count143
+\ref@marginpar=\count144
+\Interval=\count145
+\ExtraYPos=\count146
+\PositionX=\count147
+\PositionY=\count148
+\ArrowLength=\count149
+) (/usr/share/texlive/texmf-dist/tex/latex/tools/bm.sty
+Package: bm 2004/02/26 v1.1c Bold Symbol Support (DPC/FMi)
+\symboldoperators=\mathgroup7
+\symboldletters=\mathgroup8
+\symboldsymbols=\mathgroup9
+\symboldlasy=\mathgroup10
+LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 138.
+LaTeX Info: Redefining \bm on input line 204.
+) (/usr/share/texlive/texmf-dist/tex/latex/tools/dcolumn.sty
+Package: dcolumn 2001/05/28 v1.06 decimal alignment package (DPC)
+(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
+Package: array 2008/09/09 v2.4c Tabular extension package (FMi)
+\col@sep=\dimen121
+\extrarowheight=\dimen122
+\NC@list=\toks33
+\extratabsurround=\skip50
+\backup@length=\skip51
+)) (/usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty
+Package: color 2005/11/14 v1.0j Standard LaTeX Color (DPC)
+(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg
+File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
+)
+Package color Info: Driver file: dvips.def on input line 130.
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/dvipsnam.def
+File: dvipsnam.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
+)) (/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty
+Package: calc 2007/08/22 v4.3 Infix arithmetic (KKT,FJ)
+\calc@Acount=\count150
+\calc@Bcount=\count151
+\calc@Adimen=\dimen123
+\calc@Bdimen=\dimen124
+\calc@Askip=\skip52
+\calc@Bskip=\skip53
+LaTeX Info: Redefining \setlength on input line 76.
+LaTeX Info: Redefining \addtolength on input line 77.
+\calc@Ccount=\count152
+\calc@Cskip=\skip54
+) (/usr/share/texlive/texmf-dist/tex/latex/framed/framed.sty
+Package: framed 2011/10/22 v 0.96: framed or shaded text with page breaks
+\OuterFrameSep=\skip55
+\fb@frw=\dimen125
+\fb@frh=\dimen126
+\FrameRule=\dimen127
+\FrameSep=\dimen128
+) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
+Package: inputenc 2008/03/30 v1.1d Input encoding file
+\inpenc@prehook=\toks34
+\inpenc@posthook=\toks35
+)
+\sizebox=\box29
+\lthtmlwrite=\write4
+(./images.aux
+
+LaTeX Warning: Label `fig:trig' multiply defined.
+
+)
+\openout1 = `images.aux'.
+
+LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 209.
+LaTeX Font Info: ... okay on input line 209.
+LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 209.
+LaTeX Font Info: ... okay on input line 209.
+LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 209.
+LaTeX Font Info: ... okay on input line 209.
+LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 209.
+LaTeX Font Info: ... okay on input line 209.
+LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 209.
+LaTeX Font Info: ... okay on input line 209.
+LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 209.
+LaTeX Font Info: ... okay on input line 209.
+LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 209.
+LaTeX Font Info: ... okay on input line 209.
+\AtBeginShipoutBox=\box30
+Package hyperref Info: Link coloring OFF on input line 209.
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
+Package: nameref 2012/10/27 v2.43 Cross-referencing by name of section
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
+Package: gettitlestring 2010/12/03 v1.4 Cleanup title references (HO)
+)
+\c@section@level=\count153
+)
+LaTeX Info: Redefining \ref on input line 209.
+LaTeX Info: Redefining \pageref on input line 209.
+LaTeX Info: Redefining \nameref on input line 209.
+\@outlinefile=\write5
+\openout5 = `images.out'.
+
+
+latex2htmlLength hsize=349.0pt
+
+latex2htmlLength vsize=633.0pt
+
+latex2htmlLength hoffset=0.0pt
+
+latex2htmlLength voffset=0.0pt
+
+latex2htmlLength topmargin=0.0pt
+
+latex2htmlLength topskip=0.00003pt
+
+latex2htmlLength headheight=0.0pt
+
+latex2htmlLength headsep=0.0pt
+
+latex2htmlLength parskip=0.0pt plus 1.0pt
+
+latex2htmlLength oddsidemargin=62.0pt
+
+latex2htmlLength evensidemargin=62.0pt
+
+LaTeX Font Info: Try loading font information for U+msa on input line 233.
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
+File: umsa.fd 2013/01/14 v3.01 AMS symbols A
+)
+LaTeX Font Info: Try loading font information for U+msb on input line 233.
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
+File: umsb.fd 2013/01/14 v3.01 AMS symbols B
+)
+LaTeX Font Info: Try loading font information for U+lasy on input line 233.
+(/usr/share/texlive/texmf-dist/tex/latex/base/ulasy.fd
+File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions
+)
+LaTeX Font Info: Font shape `U/lasy/b/n' in size <7> not available
+(Font) Font shape `U/lasy/m/n' tried instead on input line 233.
+LaTeX Font Info: Font shape `U/lasy/b/n' in size <5> not available
+(Font) Font shape `U/lasy/m/n' tried instead on input line 233.
+l2hSize :tex2html_wrap_inline7663:8.64003pt::8.64003pt::11.24307pt.
+[1
+
+
+
+]
+File: multi_detector.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7743:89.66235pt::0.0pt::349.0pt.
+[2
+
+
+]
+File: data_receiver.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7749:184.55281pt::0.0pt::349.0pt.
+[3
+
+
+]
+l2hSize :tex2html_wrap_inline7759:6.94444pt::0.0pt::5.7049pt.
+[4
+
+
+]
+l2hSize :tex2html_wrap_inline7762:8.0pt::8.0pt::6.61115pt.
+[5
+
+
+]
+l2hSize :tex2html_wrap_inline7764:6.45831pt::0.0pt::10.50005pt.
+[6
+
+
+]
+Overfull \hbox (137.47572pt too wide) detected at line 349
+[][] []
+ []
+
+l2hSize :displaymath7766:397.00403pt::0.0pt::349.0pt.
+[7
+
+
+]
+File: images/normal_acquisition.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7789:99.90501pt::0.0pt::349.0pt.
+[8
+
+
+]
+File: images/gated_acquisition.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7793:121.80202pt::0.0pt::349.0pt.
+[9
+
+
+]
+File: images/trigger_acquisition.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7797:125.8976pt::0.0pt::349.0pt.
+[10
+
+
+]
+File: images/ro_trigger_acquisition.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7801:101.6309pt::0.0pt::349.0pt.
+[11
+
+
+]
+l2hSize :tex2html_wrap_inline7812:8.0pt::8.0pt::183.90987pt.
+[12
+
+
+]
+l2hSize :tex2html_wrap_inline7814:8.0pt::8.0pt::80.10426pt.
+[13
+
+
+]
+File: images/effiSiHardXRays2.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7823:337.30484pt::0.0pt::349.0pt.
+[14
+
+
+]
+l2hSize :tex2html_wrap_inline7825:6.95831pt::6.95831pt::6.52551pt.
+[15
+
+
+]
+File: images/effiThinkBackplanes.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7829:338.49672pt::0.0pt::349.0pt.
+[16
+
+
+]
+File: images/settings.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7834:178.62796pt::0.0pt::349.0pt.
+[17
+
+
+]
+File: images/thr_scan_expl.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7844:338.53587pt::0.0pt::349.0pt.
+[18
+
+
+]
+File: images/thr_scan_fluo.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7848:338.53587pt::0.0pt::349.0pt.
+[19
+
+
+]
+l2hSize :tex2html_wrap_inline7853:7.33331pt::7.33331pt::12.3681pt.
+[20
+
+
+]
+l2hSize :tex2html_wrap_inline7857:8.0pt::8.0pt::46.60414pt.
+[21
+
+
+]
+l2hSize :tex2html_wrap_inline7861:7.33331pt::7.33331pt::13.06606pt.
+[22
+
+
+]
+l2hSize :tex2html_wrap_inline7865:7.33331pt::7.33331pt::11.40282pt.
+[23
+
+
+]
+l2hSize :tex2html_wrap_inline7879:7.33331pt::7.33331pt::38.26735pt.
+[24
+
+
+]
+l2hSize :tex2html_wrap_inline7883:7.33331pt::7.33331pt::54.52422pt.
+[25
+
+
+]
+l2hSize :tex2html_wrap_inline7885:7.33331pt::7.33331pt::53.82626pt.
+[26
+
+
+]
+l2hSize :tex2html_wrap_inline7897:7.33331pt::7.33331pt::54.52422pt.
+[27
+
+
+]
+l2hSize :tex2html_wrap_inline7901:7.33331pt::7.33331pt::29.73605pt.
+[28
+
+
+]
+File: images/sample_with_fluorescence.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7908:338.53587pt::0.0pt::349.0pt.
+[29
+
+
+]
+File: images/bad_ff_col.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7914:338.49672pt::0.0pt::349.0pt.
+[30
+
+
+]
+File: images/FFSetup.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7919:250.12001pt::0.0pt::349.0pt.
+[31
+
+
+]
+l2hSize :tex2html_wrap_inline7926:6.94444pt::0.0pt::69.3889pt.
+[32
+
+
+]
+l2hSize :tex2html_wrap_inline7928:6.83331pt::0.0pt::61.56856pt.
+[33
+
+
+]
+l2hSize :tex2html_wrap_inline7930:6.94444pt::0.0pt::67.50539pt.
+[34
+
+
+]
+l2hSize :tex2html_wrap_inline7932:6.95831pt::6.95831pt::8.27783pt.
+[35
+
+
+]
+File: images/noise_thresholdscanuntrimmed.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7933:173.42374pt::0.0pt::349.0pt.
+[36
+
+
+]
+File: images/trimbitdistribution.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7937:173.42374pt::0.0pt::349.0pt.
+[37
+
+
+]
+File: images/trimbitplot.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7941:173.42374pt::0.0pt::349.0pt.
+[38
+
+
+]
+File: images/noise_thresholdscantrimmed.eps Graphic file (type eps)
+
+l2hSize :tex2html_wrap7945:173.42374pt::0.0pt::349.0pt.
+[39
+
+
+]
+l2hSize :tex2html_wrap_inline7954:6.45831pt::0.0pt::3.27782pt.
+[40
+
+
+]
+l2hSize :tex2html_wrap_inline7968:6.95831pt::6.95831pt::18.20673pt.
+[41
+
+
+]
+l2hSize :tex2html_wrap_inline7970:7.33331pt::7.33331pt::15.68904pt.
+[42
+
+
+]
+l2hSize :tex2html_wrap_inline7972:7.33331pt::7.33331pt::15.31837pt.
+[43
+
+
+]
+l2hSize :tex2html_wrap_inline7974:7.33331pt::7.33331pt::16.3753pt.
+[44
+
+
+]
+l2hSize :tex2html_wrap_inline7976:6.95831pt::6.95831pt::12.4237pt.
+[45
+
+
+]
+l2hSize :tex2html_wrap_inline7978:6.95831pt::6.95831pt::12.94337pt.
+[46
+
+
+]
+l2hSize :tex2html_wrap_inline7980:7.44444pt::7.44444pt::13.30219pt.
+[47
+
+
+]
+l2hSize :tex2html_wrap_indisplay7982:15.0001pt::15.0001pt::176.78307pt.
+[48
+
+
+]
+l2hSize :tex2html_wrap_indisplay7984:15.0001pt::15.0001pt::243.50876pt.
+[49
+
+
+]
+l2hSize :tex2html_wrap_indisplay7987:6.95831pt::6.95831pt::12.4237pt.
+[50
+
+
+]
+l2hSize :tex2html_wrap_indisplay7989:6.95831pt::6.95831pt::8.27783pt.
+[51
+
+
+]
+l2hSize :tex2html_wrap_indisplay7991:14.09839pt::14.09839pt::21.55309pt.
+[52
+
+
+]
+l2hSize :tex2html_wrap_indisplay7993:7.44444pt::7.44444pt::13.30219pt.
+[53
+
+
+]
+l2hSize :tex2html_wrap_indisplay7997:11.57062pt::11.57062pt::20.86682pt.
+[54
+
+
+]
+l2hSize :tex2html_wrap_indisplay7999:6.95831pt::6.95831pt::12.94337pt.
+[55
+
+
+]
+l2hSize :tex2html_wrap_indisplay8003:14.09839pt::14.09839pt::65.9936pt.
+[56
+
+
+]
+l2hSize :tex2html_wrap_indisplay8006:7.33331pt::7.33331pt::15.31837pt.
+[57
+
+
+]
+l2hSize :tex2html_wrap_indisplay8010:13.70952pt::13.70952pt::70.06917pt.
+[58
+
+
+]
+l2hSize :tex2html_wrap_indisplay8012:7.33331pt::7.33331pt::15.68904pt.
+[59
+
+
+]
+l2hSize :tex2html_wrap_indisplay8016:11.57062pt::11.57062pt::18.47997pt.
+[60
+
+
+]
+l2hSize :tex2html_wrap_indisplay8018:7.33331pt::7.33331pt::16.3753pt.
+[61
+
+
+]
+l2hSize :tex2html_wrap_indisplay8022:6.95831pt::6.95831pt::20.23274pt.
+[62
+
+
+]
+l2hSize :tex2html_wrap_inline8027:6.94444pt::0.0pt::10.47227pt.
+[63
+
+
+]
+l2hSize :tex2html_wrap_inline8029:6.94444pt::0.0pt::10.47227pt.
+[64
+
+
+]
+l2hSize :tex2html_wrap_indisplay8032:14.20952pt::14.20952pt::17.34445pt.
+[65
+
+
+]
+l2hSize :tex2html_wrap_inline8034:6.83331pt::0.0pt::7.72226pt.
+[66
+
+
+]
+l2hSize :tex2html_wrap_indisplay8036:14.20952pt::14.20952pt::53.72649pt.
+[67
+
+
+]
+l2hSize :tex2html_wrap_inline8038:6.83331pt::0.0pt::12.4445pt.
+[68
+
+
+]
+l2hSize :tex2html_wrap_inline8040:6.83331pt::0.0pt::16.05562pt.
+[69
+
+
+]
+l2hSize :tex2html_wrap_inline8042:7.33331pt::7.33331pt::9.382pt.
+[70
+
+
+]
+l2hSize :tex2html_wrap_inline8046:6.94444pt::0.0pt::47.69444pt.
+[71
+
+
+]
+l2hSize :tex2html_wrap_inline8057:6.83331pt::0.0pt::8.30907pt.
+[72
+
+
+]
+l2hSize :tex2html_wrap_inline8059:6.94444pt::0.0pt::6.02087pt.
+[73
+
+
+]
+l2hSize :tex2html_wrap_inline8061:7.44444pt::7.44444pt::54.38521pt.
+[74
+
+
+]
+l2hSize :tex2html_wrap_inline8063:7.33331pt::7.33331pt::13.45491pt.
+[75
+
+
+]
+l2hSize :tex2html_wrap_inline8065:6.94444pt::0.0pt::33.77774pt.
+[76
+
+
+]
+l2hSize :tex2html_wrap_indisplay8067:12.00008pt::12.00008pt::167.62956pt.
+[77
+
+
+]
+l2hSize :tex2html_wrap_indisplay8069:17.38873pt::17.38873pt::85.71771pt.
+[78
+
+
+]
+l2hSize :tex2html_wrap_indisplay8071:9.30559pt::9.30559pt::88.87329pt.
+[79
+
+
+]
+l2hSize :tex2html_wrap_inline8073:7.33331pt::7.33331pt::18.65598pt.
+[80
+
+
+]
+l2hSize :tex2html_wrap_inline8075:6.95831pt::6.95831pt::16.16502pt.
+[81
+
+
+]
+l2hSize :tex2html_wrap_inline8077:6.95831pt::6.95831pt::20.2889pt.
+[82
+
+
+]
+l2hSize :tex2html_wrap_inline8079:7.44444pt::7.44444pt::15.80042pt.
+[83
+
+
+]
+l2hSize :tex2html_wrap_indisplay8081:11.57062pt::11.57062pt::143.29408pt.
+[84
+
+
+]
+l2hSize :tex2html_wrap_indisplay8083:13.1577pt::13.1577pt::108.83537pt.
+[85
+
+
+]
+l2hSize :tex2html_wrap_indisplay8085:14.09839pt::14.09839pt::200.85495pt.
+[86
+
+
+]
+l2hSize :tex2html_wrap_indisplay8087:13.1577pt::13.1577pt::166.44937pt.
+[87
+
+
+]
+l2hSize :tex2html_wrap_inline8089:6.83331pt::0.0pt::11.29169pt.
+[88
+
+
+]
+l2hSize :tex2html_wrap_indisplay8091:8.0pt::8.0pt::218.09163pt.
+[89
+
+
+]
+l2hSize :tex2html_wrap_indisplay8093:8.0pt::8.0pt::38.90797pt.
+[90
+
+
+]
+l2hSize :tex2html_wrap_indisplay8095:9.97221pt::9.97221pt::101.97737pt.
+[91
+
+
+]
+l2hSize :tex2html_wrap_inline8097:7.44444pt::7.44444pt::14.9584pt.
+[92
+
+
+]
+l2hSize :tex2html_wrap_inline8099:7.44444pt::7.44444pt::85.83296pt.
+[93
+
+
+]
+l2hSize :tex2html_wrap_inline8101:6.94444pt::0.0pt::4.66672pt.
+[94
+
+
+]
+l2hSize :tex2html_wrap_indisplay8103:7.44444pt::7.44444pt::15.80042pt.
+[95
+
+
+]
+l2hSize :tex2html_wrap_indisplay8104:8.0pt::8.0pt::85.0104pt.
+[96
+
+
+]
+l2hSize :tex2html_wrap_indisplay8107:10.08334pt::10.08334pt::62.23268pt.
+[97
+
+
+]
+l2hSize :tex2html_wrap_inline8111:7.33331pt::7.33331pt::11.93237pt.
+[98
+
+
+]
+l2hSize :tex2html_wrap_inline8113:7.33331pt::7.33331pt::15.29031pt.
+[99
+
+
+]
+l2hSize :tex2html_wrap_inline8115:7.33331pt::7.33331pt::13.57112pt.
+[100
+
+
+]
+l2hSize :tex2html_wrap_inline8117:6.83331pt::0.0pt::8.40558pt.
+[101
+
+
+]
+l2hSize :tex2html_wrap_inline8119:6.95831pt::6.95831pt::17.70064pt.
+[102
+
+
+]
+l2hSize :tex2html_wrap_inline8121:6.95831pt::6.95831pt::10.88318pt.
+[103
+
+
+]
+l2hSize :tex2html_wrap_indisplay8123:35.47784pt::35.47784pt::89.30644pt.
+[104
+
+
+]
+l2hSize :tex2html_wrap_indisplay8125:14.76508pt::14.76508pt::46.29935pt.
+[105
+
+
+]
+l2hSize :tex2html_wrap_inline8127:7.44444pt::7.44444pt::15.15578pt.
+[106
+
+
+]
+l2hSize :tex2html_wrap_indisplay8131:24.8389pt::24.8389pt::178.6664pt.
+[107
+
+
+]
+l2hSize :tex2html_wrap_indisplay8133:24.8389pt::24.8389pt::157.33359pt.
+[108
+
+
+]
+l2hSize :tex2html_wrap_indisplay8135:14.09839pt::14.09839pt::42.58318pt.
+[109
+
+
+]
+l2hSize :tex2html_wrap_indisplay8137:13.70952pt::13.70952pt::54.38838pt.
+[110
+
+
+]
+l2hSize :tex2html_wrap_inline8139:7.33331pt::7.33331pt::11.94019pt.
+[111
+
+
+]
+l2hSize :tex2html_wrap_inline8141:6.95831pt::6.95831pt::16.22455pt.
+[112
+
+
+]
+l2hSize :tex2html_wrap_inline8143:6.83331pt::0.0pt::8.58684pt.
+[113
+
+
+]
+l2hSize :tex2html_wrap_inline8145:6.83331pt::0.0pt::9.70836pt.
+[114
+
+
+]
+l2hSize :tex2html_wrap_indisplay8149:18.78339pt::18.78339pt::133.39876pt.
+[115
+
+
+]
+l2hSize :tex2html_wrap_indisplay8153:18.78339pt::18.78339pt::72.13547pt.
+[116
+
+
+]
+l2hSize :tex2html_wrap_indisplay8155:9.97221pt::9.97221pt::86.40256pt.
+[117
+
+
+]
+l2hSize :tex2html_wrap_inline8166:7.33331pt::7.33331pt::30.96526pt.
+[118
+
+
+]
+l2hSize :tex2html_wrap_inline8168:7.33331pt::7.33331pt::28.48608pt.
+[119
+
+
+]
+l2hSize :tex2html_wrap_inline8170:6.94444pt::0.0pt::4.79169pt.
+[120
+
+
+]
+l2hSize :tex2html_wrap_indisplay8174:17.03902pt::17.03902pt::236.17503pt.
+[121
+
+
+]
+l2hSize :tex2html_wrap_indisplay8176:17.03902pt::17.03902pt::213.8213pt.
+[122
+
+
+]
+l2hSize :tex2html_wrap_indisplay8178:14.76508pt::14.76508pt::93.05731pt.
+[123
+
+
+]
+l2hSize :tex2html_wrap_indisplay8182:18.95773pt::18.95773pt::159.65314pt.
+[124
+
+
+]
+l2hSize :tex2html_wrap_indisplay8186:18.95773pt::18.95773pt::45.29063pt.
+[125
+
+
+]
+l2hSize :tex2html_wrap_inline8189:10.08334pt::10.08334pt::15.36986pt.
+[126
+
+
+]
+l2hSize :tex2html_wrap_inline8191:9.97221pt::9.97221pt::11.93237pt.
+[127
+
+
+]
+l2hSize :tex2html_wrap_inline8194:7.33331pt::7.33331pt::12.13338pt.
+[128
+
+
+]
+l2hSize :tex2html_wrap_inline8198:9.01662pt::9.01662pt::20.46674pt.
+[129
+
+
+]
+l2hSize :tex2html_wrap_inline8200:6.45831pt::0.0pt::6.50238pt.
+[130
+
+
+]
+l2hSize :tex2html_wrap_indisplay8202:16.17734pt::16.17734pt::71.96126pt.
+[131
+
+
+]
+l2hSize :tex2html_wrap_indisplay8204:18.33339pt::18.33339pt::63.26857pt.
+[132
+
+
+]
+l2hSize :tex2html_wrap_indisplay8206:18.33339pt::18.33339pt::103.01762pt.
+[133
+
+
+]
+l2hSize :tex2html_wrap_indisplay8208:18.33339pt::18.33339pt::136.56064pt.
+[134
+
+
+]
+l2hSize :tex2html_wrap_indisplay8210:10.50487pt::10.50487pt::123.40723pt.
+[135
+
+
+]
+l2hSize :tex2html_wrap_indisplay8214:18.95563pt::18.95563pt::92.34447pt.
+[136
+
+
+]
+l2hSize :tex2html_wrap_inline8216:7.33331pt::7.33331pt::12.34135pt.
+[137
+
+
+]
+l2hSize :tex2html_wrap_inline8218:7.33331pt::7.33331pt::11.14415pt.
+[138
+
+
+]
+l2hSize :tex2html_wrap_inline8220:6.95831pt::6.95831pt::10.42772pt.
+[139
+
+
+]
+l2hSize :tex2html_wrap_indisplay8222:18.95563pt::18.95563pt::98.11395pt.
+[140
+
+
+]
+l2hSize :tex2html_wrap_indisplay8224:18.95563pt::18.95563pt::165.03024pt.
+[141
+
+
+]
+l2hSize :tex2html_wrap_inline8230:7.33331pt::7.33331pt::20.60564pt.
+[142
+
+
+]
+l2hSize :tex2html_wrap_inline8232:7.33331pt::7.33331pt::84.43443pt.
+[143
+
+
+]
+l2hSize :tex2html_wrap_inline8234:6.45831pt::0.0pt::6.2153pt.
+[144
+
+
+]
+l2hSize :tex2html_wrap_indisplay8238:18.95563pt::18.95563pt::106.4156pt.
+[145
+
+
+]
+l2hSize :tex2html_wrap_indisplay8240:25.33836pt::25.33836pt::245.22083pt.
+[146
+
+
+]
+l2hSize :tex2html_wrap_indisplay8242:21.98627pt::21.98627pt::133.23958pt.
+[147
+
+
+]
+l2hSize :tex2html_wrap_inline8245:7.33331pt::7.33331pt::30.19405pt.
+[148
+
+
+]
+l2hSize :tex2html_wrap_inline8247:7.38586pt::7.38586pt::20.60564pt.
+[149
+
+
+]
+l2hSize :tex2html_wrap_indisplay8249:22.53354pt::22.53354pt::238.01314pt.
+[150
+
+
+]
+l2hSize :tex2html_wrap_indisplay8251:19.305pt::19.305pt::186.20044pt.
+[151
+
+
+]
+l2hSize :tex2html_wrap_inline8253:7.33331pt::7.33331pt::11.86081pt.
+[152
+
+
+]
+l2hSize :tex2html_wrap_indisplay8260:18.95563pt::18.95563pt::87.41562pt.
+[153
+
+
+]
+l2hSize :tex2html_wrap_indisplay8262:37.0153pt::37.0153pt::86.36304pt.
+[154
+
+
+]
+l2hSize :tex2html_wrap_indisplay8266:35.80026pt::35.80026pt::79.5173pt.
+[155
+
+
+]
+l2hSize :tex2html_wrap_indisplay8268:81.33606pt::81.33606pt::142.41797pt.
+[156
+
+
+]
+l2hSize :tex2html_wrap_indisplay8270:9.49002pt::9.49002pt::94.47359pt.
+[157
+
+
+]
+l2hSize :tex2html_wrap_inline8273:7.33331pt::7.33331pt::37.03535pt.
+[158
+
+
+]
+l2hSize :tex2html_wrap_inline8275:8.64003pt::8.64003pt::35.75307pt.
+[159
+
+
+]
+l2hSize :tex2html_wrap_indisplay8277:32.0153pt::32.0153pt::76.96254pt.
+[160
+
+
+]
+l2hSize :tex2html_wrap_indisplay8285:41.80032pt::41.80032pt::159.8735pt.
+[161
+
+
+]
+l2hSize :tex2html_wrap_indisplay8287:57.3461pt::57.3461pt::288.90195pt.
+[162
+
+
+]
+l2hSize :tex2html_wrap_inline8289:8.0pt::8.0pt::18.59033pt.
+[163
+
+
+]
+l2hSize :tex2html_wrap_indisplay8291:9.49002pt::9.49002pt::113.94249pt.
+[164
+
+
+]
+l2hSize :tex2html_wrap_inline8294:8.0pt::8.0pt::96.17384pt.
+[165
+
+
+]
+l2hSize :tex2html_wrap_inline8296:8.64003pt::8.64003pt::52.97522pt.
+[166
+
+
+]
+l2hSize :tex2html_wrap_indisplay8298:34.64299pt::34.64299pt::110.70132pt.
+[167
+
+
+]
+l2hSize :tex2html_wrap_indisplay8300:41.80032pt::41.80032pt::177.09566pt.
+[168
+
+
+]
+l2hSize :tex2html_wrap_indisplay8302:57.3461pt::57.3461pt::355.674pt.
+
+Overfull \hbox (9.67401pt too wide) in paragraph at lines 1604--1605
+[]|[]
+ []
+
+[169
+
+
+]
+l2hSize :tex2html_wrap_indisplay8306:9.49002pt::9.49002pt::113.94249pt.
+[170
+
+
+]
+l2hSize :tex2html_wrap_indisplay8313:11.57062pt::11.57062pt::36.07587pt.
+[171
+
+
+]
+l2hSize :tex2html_wrap_inline8317:8.64003pt::8.64003pt::25.27715pt.
+[172
+
+
+]
+l2hSize :tex2html_wrap_inline8321:6.95831pt::6.95831pt::20.1493pt.
+[173
+
+
+]
+l2hSize :tex2html_wrap_inline8325:8.64003pt::8.64003pt::25.27715pt.
+[174
+
+
+]
+l2hSize :tex2html_wrap_inline8328:7.33331pt::7.33331pt::38.93887pt.
+[175
+
+
+]
+l2hSize :tex2html_wrap_inline8330:7.33331pt::7.33331pt::12.13338pt.
+[176
+
+
+]
+l2hSize :tex2html_wrap_inline8332:7.33331pt::7.33331pt::12.13338pt.
+[177
+
+
+]
+l2hSize :tex2html_wrap_indisplay8334:17.26994pt::17.26994pt::161.63051pt.
+[178
+
+
+]
+l2hSize :tex2html_wrap_indisplay8336:19.79109pt::19.79109pt::279.2141pt.
+[179
+
+
+]
+l2hSize :tex2html_wrap_inline8338:7.33331pt::7.33331pt::28.21114pt.
+[180
+
+
+]
+l2hSize :tex2html_wrap_inline8340:6.94444pt::0.0pt::6.33339pt.
+[181
+
+
+]
+l2hSize :tex2html_wrap_indisplay8342:18.33339pt::18.33339pt::305.93774pt.
+[182
+
+
+]
+l2hSize :tex2html_wrap_indisplay8344:18.33339pt::18.33339pt::247.33661pt.
+[183
+
+
+]
+l2hSize :tex2html_wrap_indisplay8346:15.9051pt::15.9051pt::136.86096pt.
+[184
+
+
+]
+l2hSize :tex2html_wrap_indisplay8348:18.33339pt::18.33339pt::363.07938pt.
+
+Overfull \hbox (17.07939pt too wide) in paragraph at lines 1722--1723
+[]|[]
+ []
+
+[185
+
+
+]
+l2hSize :tex2html_wrap_inline8350:6.95831pt::6.95831pt::45.52538pt.
+[186
+
+
+]
+l2hSize :tex2html_wrap_inline8352:6.95831pt::6.95831pt::59.07616pt.
+[187
+
+
+]
+l2hSize :tex2html_wrap_inline8354:7.44444pt::7.44444pt::68.26837pt.
+[188
+
+
+]
+l2hSize :tex2html_wrap_inline8356:6.94444pt::0.0pt::44.04147pt.
+[189
+
+
+]
+l2hSize :tex2html_wrap_indisplay8358:18.33339pt::18.33339pt::343.0692pt.
+[190
+
+
+]
+l2hSize :tex2html_wrap_indisplay8360:16.45555pt::16.45555pt::183.95403pt.
+[191
+
+
+]
+l2hSize :tex2html_wrap_inline8362:8.0pt::8.0pt::13.9931pt.
+[192
+
+
+]
+l2hSize :tex2html_wrap_indisplay8364:16.644pt::16.644pt::103.58525pt.
+[193
+
+
+]
+l2hSize :tex2html_wrap_indisplay8366:16.45555pt::16.45555pt::113.2396pt.
+[194
+
+
+]
+l2hSize :tex2html_wrap_inline8371:7.44444pt::7.44444pt::115.7777pt.
+[195
+
+
+]
+l2hSize :tex2html_wrap_inline8375:8.14003pt::0.0pt::37.44438pt.
+[196
+
+
+]
+l2hSize :tex2html_wrap_inline8381:9.85pt::9.85pt::52.85414pt.
+[197
+
+
+]
+l2hSize :tex2html_wrap_inline8383:9.85pt::9.85pt::109.99648pt.
+[198
+
+
+]
+l2hSize :tex2html_wrap_inline8385:7.33331pt::7.33331pt::13.12505pt.
+[199
+
+
+]
+l2hSize :tex2html_wrap_inline8389:8.0pt::8.0pt::47.19098pt.
+[200
+
+
+]
+l2hSize :tex2html_wrap_inline8391:8.0pt::8.0pt::24.70149pt.
+[201
+
+
+]
+l2hSize :tex2html_wrap_inline8393:6.94444pt::0.0pt::16.8889pt.
+[202
+
+
+]
+l2hSize :tex2html_wrap_inline8395:7.44444pt::7.44444pt::20.67363pt.
+[203
+
+
+]
+l2hSize :tex2html_wrap_inline8397:6.95831pt::6.95831pt::9.80214pt.
+[204
+
+
+]
+l2hSize :tex2html_wrap_inline8399:8.0pt::8.0pt::29.07188pt.
+[205
+
+
+]
+l2hSize :tex2html_wrap_inline8401:8.0pt::8.0pt::29.07188pt.
+[206
+
+
+]
+l2hSize :tex2html_wrap_inline8409:6.95831pt::6.95831pt::10.39937pt.
+[207
+
+
+]
+l2hSize :tex2html_wrap_inline8753:8.0pt::8.0pt::37.96071pt.
+[208
+
+
+]
+l2hSize :tex2html_wrap_inline8757:8.0pt::8.0pt::21.92366pt.
+[209
+
+
+]
+l2hSize :tex2html_wrap_inline8759:7.44444pt::7.44444pt::34.66666pt.
+[210
+
+
+]
+l2hSize :tex2html_wrap_inline8761:8.0pt::8.0pt::17.32643pt.
+[211
+
+
+]
+l2hSize :tex2html_wrap_indisplay8786:7.33331pt::7.33331pt::47.68889pt.
+[212
+
+
+]
+l2hSize :tex2html_wrap_inline8788:6.95831pt::6.95831pt::9.95146pt.
+[213
+
+
+]
+l2hSize :tex2html_wrap_inline8790:6.83331pt::0.0pt::9.56946pt.
+[214
+
+
+]
+l2hSize :tex2html_wrap_indisplay8792:18.00015pt::18.00015pt::207.90103pt.
+[215
+
+
+]
+l2hSize :tex2html_wrap_indisplay8796:18.33339pt::18.33339pt::151.09164pt.
+[216
+
+
+]
+l2hSize :tex2html_wrap_indisplay8798:18.33339pt::18.33339pt::228.35915pt.
+[217
+
+
+]
+l2hSize :tex2html_wrap_indisplay8800:10.50487pt::10.50487pt::235.90079pt.
+[218
+
+
+]
+l2hSize :tex2html_wrap_inline8802:9.85pt::9.85pt::88.43417pt.
+[219
+
+
+]
+l2hSize :tex2html_wrap_indisplay8804:10.50487pt::10.50487pt::150.7605pt.
+[220
+
+
+]
+l2hSize :tex2html_wrap_inline8808:6.95831pt::6.95831pt::14.73717pt.
+[221
+
+
+]
+l2hSize :tex2html_wrap_indisplay8810:22.05098pt::22.05098pt::87.08226pt.
+[222
+
+
+]
+l2hSize :tex2html_wrap_indisplay8812:18.33339pt::18.33339pt::124.6702pt.
+[223
+
+
+]
+l2hSize :tex2html_wrap_indisplay8814:18.33339pt::18.33339pt::332.75139pt.
+[224
+
+
+]
+l2hSize :tex2html_wrap_indisplay8816:18.33339pt::18.33339pt::396.02237pt.
+
+Overfull \hbox (50.02238pt too wide) in paragraph at lines 2011--2012
+[]|[]
+ []
+
+[225
+
+
+]
+l2hSize :tex2html_wrap_indisplay8818:22.80008pt::22.80008pt::508.49103pt.
+
+Overfull \hbox (162.49104pt too wide) in paragraph at lines 2028--2029
+[]|[]
+ []
+
+[226
+
+
+]
+Package atveryend Info: Empty hook `BeforeClearDocument' on input line 2033.
+Package atveryend Info: Empty hook `AfterLastShipout' on input line 2033.
+(./images.aux)
+Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 2033.
+Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 2033.
+
+
+Package rerunfilecheck Warning: File `images.out' has changed.
+(rerunfilecheck) Rerun to get outlines right
+(rerunfilecheck) or use package `bookmark'.
+
+Package rerunfilecheck Info: Checksums for `images.out':
+(rerunfilecheck) Before:
+(rerunfilecheck) After: D41D8CD98F00B204E9800998ECF8427E;0.
+
+LaTeX Warning: There were multiply-defined labels.
+
+Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 2033.
+ )
+Here is how much of TeX's memory you used:
+ 6616 strings out of 495064
+ 93570 string characters out of 3182224
+ 186843 words of memory out of 3000000
+ 9690 multiletter control sequences out of 15000+200000
+ 9425 words of font info for 38 fonts, out of 3000000 for 9000
+ 14 hyphenation exceptions out of 8191
+ 36i,49n,26p,738b,519s stack positions out of 5000i,500n,10000p,200000b,50000s
+
+Output written on images.dvi (226 pages, 163320 bytes).
diff --git a/manual/docs/html/slsDetectors-FAQ/images.out b/manual/docs/html/slsDetectors-FAQ/images.out
new file mode 100644
index 000000000..e69de29bb
diff --git a/manual/docs/html/slsDetectors-FAQ/images.pl b/manual/docs/html/slsDetectors-FAQ/images.pl
new file mode 100644
index 000000000..1dbe4feb2
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/images.pl
@@ -0,0 +1,1583 @@
+# LaTeX2HTML 2012 (1.2)
+# Associate images original text with physical files.
+
+
+$key = q/includegraphics[width=textwidth]{imagesslashtrimbitdistribution};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleX_ell={ensuremath{displaystyle{frac{{ensuremath{displaystyle{{ensure{{ensuremath{displaystyle{|b|m}}}}{{ensuremath{displaystyle{e}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/E_f|;
+
+$key = q/E_t|;
+
+$key = q/lambda=;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/N_{mathrm{obs}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylelanglexrangle={ensuremath{displaystyle{frac{{ensuremath{displaystyleath{displaystyle{sqrt{C_1+C_2}}}}}{{ensuremath{displaystyle{2}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylemathsf{GoF}_{(2)}=sqrt{{ensuremath{displaystyle{frac{{ensuremath{dismath{left({langlexrangle^*-langlexrangle_{!mathrm{w(2)}}+1}right)}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/N_k;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/E_t>4;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylePhi_m;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/DeltaOmega;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyle{ensuremath{displaystyle{frac{{ensuremath{displaystyle{E{ensuremath{mathrm{e}}}^{-2lambda}}}}}{{ensuremath{displaystyle{4lambda^3}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/s=0ldots+infty;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/{displaymath}textrm{textbf{MEASUREMENTS}}leftUpdownarrow,{array}{l}%textrm{Measuightarrow,textrm{Stopscript}{array}%right.{array}right.{displaymath};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/X;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/N_{mathrm{obs}}^*;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleY_ell=mathop{sum_{k,j}}_{{ensuremath{left|{b_{k,j}capB_ell}right|}}>displaystyle{B}}}}}}}{ensuremath{left({sigma_{r_{k,j}}}right)}}^{-2};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyle{sigma}_{langlexrangle_{!mathrm{w}}}^{mathrm{corrected}}=mathsf{GoF}sigma_{langlexrangle_{!mathrm{w}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleR_ell={ensuremath{displaystyle{frac{{ensuremath{displaystyle{X_ell}}uremath{displaystyle{e(C+1)}}}}{{ensuremath{displaystyle{m|b|}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/hat{B}_ell;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/n-m=s-2k;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleI_{k,j}={ensuremath{displaystyle{frac{{ensuremath{displaystyle{e_{k,emath{left({C_{k,j}+min{ensuremath{left({1,C_{k,j}}right)}}}right)}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/Resolution=4;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/E_0;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylex=langlexrangle^*={ensuremath{displaystyle{frac{{ensuremath{displays}}}}}{{ensuremath{displaystyle{N_{mathrm{obs}}^*}}}}}}}langlexrangle;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/sigma_{eta_0};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyle{ensuremath{left|{B_ell}right|}}=B;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/{ensuremath{{2theta}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylesigma_X=sqrt{langleX^2rangle-langleXrangle^2}=sqrt{eta_0X_0}=eta_0sqrt{C_0}=sqrt{eta_0}sqrt{X_0};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylePhi_m-{ensuremath{displaystyle{frac{{ensuremath{displaystyle{180}}}}ensuremath{displaystyle{D_m}}}}{{ensuremath{displaystyle{R_m}}}}}}}.;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/E_t|;
+
+$key = q/displaystylechi_{(0)}^2=mathop{sum}_{j=1}^{N_{mathrm{obs}}}{ensuremath{displaystath{left({F_j-C_j}right)}}^2}}}}{{ensuremath{displaystyle{C_j}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/C_j,quadj=1ldotsN_{mathrm{obs}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleepsilon={ensuremath{displaystyle{frac{{ensuremath{displaystyle{sigmaath{displaystyle{1}}}}{{ensuremath{displaystyle{sqrt{2lambda}}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylesigma_X=sqrt{eta_0}sqrt{X_0}=eta_0sqrt{C_0}=eta_0sigma_{C_0};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/N=10^8;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/D_m;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyle{ensuremath{displaystyle{frac{{ensuremath{displaystyle{{ensuremath{left|{b_{k,j}capB_ell}right|}}}}}}{{ensuremath{displaystyle{B}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/X_ell=0;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/C_1;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/e_lambda=E_lambdaslashlambda;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/sigma_{R_ell};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/F_j;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{imagesslashnoise_thresholdscantrimmed};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyle{sigma}_{langlexrangle_{!mathrm{w(2)}}}^{mathrm{corrected}}=mathsf{GoF}_{(2)}sigma_{langlexrangle_{!mathrm{w(2)}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylek_m;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/b_{k,j};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/Rightarrow;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/d;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/Phi_m;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/2thetaequiv{ensuremath{{2theta}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleB_ell=[{ensuremath{{2theta}}}_0+(ell-1)B,{ensuremath{{2theta}}}_0+ellB],qquadell=1,ldots,M;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{imagesslashthr_scan_expl};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyle{ensuremath{displaystyle{frac{{ensuremath{displaystyle{D_m}}}}{{ensuremath{displaystyle{p}}}}}}};;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/C_{k,j};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylelanglexrangle_{!mathrm{w(2)}}={ensuremath{displaystyle{frac{{ensuremmath{displaystyle{1}}}}{{ensuremath{displaystyle{C_j+1}}}}}}}}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/e_lambda;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleX_0=eta_0C_0;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{imagesslashsample_with_fluorescence};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/xi_lambda=sqrt{lambdaslashN};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{imagesslashnoise_thresholdscanuntrimmed};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/C_2;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleint_{-infty}^{+infty}{ensuremath{mathrm{d}{eta},}}mathop{sum}_{n=0}^{+infty}P(n)widehat{P}(eta)=1;;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/R_ell;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyle{ensuremath{displaystyle{frac{{ensuremath{displaystyle{E{ensuremath{ystyle{E{ensuremath{left({langlexrangle}right)}}}}}}}}}=O(epsilon^2);MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/C_1,C_2;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/N_{mathrm{obs}}=2;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyle{sigma}_{langlexrangle_{!mathrm{w(1)}}}^{mathrm{corrected}}=mathsf{GoF}_{(1)}sigma_{langlexrangle_{!mathrm{w(1)}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylelanglexrangle_{mathrm{w(2)}}={ensuremath{displaystyle{frac{{ensuremaystyle{(C_1+1)(C_2+1)}}}}{{ensuremath{displaystyle{C_1+C_2+2}}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylesigma_{r_{k,j}}={ensuremath{displaystyle{frac{{ensuremath{displaysty,j}}right|}}m_{k,j}}}}}}}}sqrt{{ensuremath{left({C_{k,j}+1}right)}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/Vthreshold=7;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylesigma_{R_ell}={ensuremath{displaystyle{frac{{ensuremath{displaystyleh{displaystyle{esqrt{(C+1)}}}}}{{ensuremath{displaystyle{|b|m}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylesigma_{langlexrangle_{!mathrm{w(1)}}}={ensuremath{displaystyle{frac{mathrm{w(1)}}}}}}{{ensuremath{displaystyle{N_{mathrm{obs}}^*}}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylelanglen^2rangle=mathop{sum}_{n=0}^{+infty}n^2P(n)=C_0^2+C_0;;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/k=1,ldots,P;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/proptoepsilon_x;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/o_m;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyler_{k,j}={ensuremath{displaystyle{frac{{ensuremath{displaystyle{I_{k,emath{left({C_{k,j}+min{ensuremath{left({1,C_{k,j}}right)}}}right)}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylesigma_x=sqrt{langlex^2rangle-langlexrangle^2}=sqrt{{ensuremath{displ{mathrm{obs}}}}}}}}}mathop{sum}_{j=1}^{N_{mathrm{obs}}}C_j}right)}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/lambda=1,10,100,ldots,1000000;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/langlexrangle^*;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleo_m+{ensuremath{displaystyle{frac{{ensuremath{displaystyle{180}}}}{{ensuremath{displaystyle{pi}}}}}}}c_mk_m;;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylex=langlexrangle={ensuremath{displaystyle{frac{{ensuremath{displaystyystyle{N_{mathrm{obs}}}}}}}}}mathop{sum}_{j=1}^{N_{mathrm{obs}}}C_j.;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/O_j=C_j+min{ensuremath{left({1,C_j}right)}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/O(epsilon_x^2);MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylelangleXrangle=mathop{sum}_{n=0}^{+infty}eta_0nP(n)=eta_0C_0=X_0;;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{data_receiver};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/chi^2;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{imagesslasheffiThinkBackplanes};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/M;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/K;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylex=langlexrangle_{!mathrm{w}}={ensuremath{displaystyle{frac{{ensurema{displaystyle{1}}}}{{ensuremath{displaystyle{sigma_j^2}}}}}}}}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylealpha_{jm}=o_m+{ensuremath{left({{ensuremath{displaystyle{frac{{ensuarctan{ensuremath{left[{{ensuremath{left({j-c_m}right)}}k_m}right]}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/E_f;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleR_ell={ensuremath{displaystyle{frac{{ensuremath{displaystyle{X_ell}}}}{{ensuremath{displaystyle{Y_ell}}}}}}};;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/e_{k,j};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/I_0;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylesigma_x={ensuremath{displaystyle{frac{{ensuremath{displaystyle{1}}}}e{langlexrangle}}}}{{ensuremath{displaystyle{N_{mathrm{obs}}}}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/eta_0;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/s=n+m;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/b;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/x;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/C_j=0;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/c_m;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/R_m;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/{langlexrangle};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleP(n)={ensuremath{displaystyle{frac{{ensuremath{displaystyle{C_0^n{ensuremath{mathrm{e}}}^{-C_0}}}}}{{ensuremath{displaystyle{n!}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/C_j;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{imagesslashthr_scan_fluo};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylechi^2=mathop{sum}_{j=1}^{N_{mathrm{obs}}}{ensuremath{displaystyle{frft({F_j-O_j}right)}}^2}}}}{{ensuremath{displaystyle{sigma_j^2}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylec_mp.;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/O_j=C_j;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{imagesslashsettings};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleE{ensuremath{left({sigma_x^2}right)}}=mathop{sum}_{m,n=0}^{+infty}{ensuremath{displaystyle{lambda}}}}{{ensuremath{displaystyle{2}}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/N_E;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyle{ensuremath{displaystyle{frac{{ensuremath{displaystyle{p}}}}{{ensuremath{displaystyle{k_m}}}}}}};;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylemathop{sum}_{n=0}^{+infty}P(n)=1;;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/hat{b}_{j,k};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/(108602&0xFFFFFFFE)>>1=54301;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylelanglexrangle_{mathrm{w(2)}}=langlexrangle+1-{ensuremath{displaystyle{(C_1-C_2)^2}}}}{{ensuremath{displaystyle{4(langlexrangle+1)}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/lambda;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{multi_detector};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylesigma_{langlexrangle_{!mathrm{w}}}={ensuremath{displaystyle{frac{{endisplaystyle{1}}}}{{ensuremath{displaystyle{sigma_j^2}}}}}}}}}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/2theta;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/O;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{imagesslashro_trigger_acquisition.eps};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/O_n;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleo_m;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/(108602&0x1)=0;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/ell;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylesigma_{x^*}={ensuremath{displaystyle{frac{{ensuremath{displaystyle{Nnglexrangle^*}}}}{{ensuremath{displaystyle{N_{mathrm{obs}}^*}}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/O(epsilon_x^3);MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/k;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylesigma_{R_ell}={ensuremath{displaystyle{frac{{ensuremath{displaystyle{1}}}}{{ensuremath{displaystyle{sqrt{Y_ell}}}}}}}}.;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyle=;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylesigma_{langlexrangle_{!mathrm{w(2)}}}={ensuremath{displaystyle{frac{mathrm{w(2)}}}}}}{{ensuremath{displaystyle{N_{mathrm{obs}}^*}}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleqquadhat{b}_{k,j}inB_ell.;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/{langlexrangle_{!mathrm{w(1)}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylelangleX^2rangle=int_{-infty}^{+infty}{ensuremath{mathrm{d}{eta},}}mahop{sum}_{n=0}^{+infty}n^2P(n)=(eta_0^2+sigma_{eta_0}^2)(C_0^2+C_0);;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/sigma_{O_n};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/{langlexrangle^*};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/Counts=500;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylesigma_{I_{k,j}}={ensuremath{displaystyle{frac{{ensuremath{displaystyisplaystyle{m_{k,j}}}}}}}}sqrt{{ensuremath{left({C_{k,j}+1}right)}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/Deltat;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylelanglexrangle_{!mathrm{w(1)}}={ensuremath{displaystyle{frac{{ensuremremath{displaystyle{1}}}}{{ensuremath{displaystyle{C_j}}}}}}}}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleX_ell=mathop{sum_{k,j}}_{{ensuremath{left|{b_{k,j}capB_ell}right|}}>style{B}}}}}}}r_{k,j}{ensuremath{left({sigma_{r_{k,j}}}right)}}^{-2};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleK={ensuremath{displaystyle{frac{{ensuremath{displaystyle{1}}}}{{ensusplaystyle{R_ell}}}}{{ensuremath{displaystyle{sigma_{R_ell}^2}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/sigma_X=sqrt{langleXrangle}=sqrt{X_0};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/O_j;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/sigma_j^2=C_j+1;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleE{ensuremath{left({{ensuremath{displaystyle{frac{{ensuremath{displayh{displaystyle{lambda^{n+m}}}}}{{ensuremath{displaystyle{n!m!}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylemathsf{GoF}=sqrt{{ensuremath{displaystyle{frac{{ensuremath{displayst}}}}}}}}}}}}}}}}}{{ensuremath{displaystyle{N_{mathrm{obs}}-1}}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/B;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/{ensuremath{{2theta}}}_{max}={ensuremath{{2theta}}}_0+MB;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylehat{B}_ell,quadKR_ell,quadKsigma_{R_ell};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/E_t=E_0slash2;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylesigma_{C_0}=sqrt{langlen^2rangle-langlenrangle^2}=sqrt{C_0};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/epsilon_lambda;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyle{I_0}DeltatDeltaOmega{ensuremath{displaystyle{frac{{ensuremath{displ}}}}{{ensuremath{displaystyle{{ensuremath{mathrm{d}{},}}Omega}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleqquad{ensuremath{left|{b_{k,j}capB_ell}right|}}>0.;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyle{ensuremath{displaystyle{frac{{ensuremath{displaystyle{p}}}}{{ensuremath{displaystyle{R_m}}}}}}};;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/Updownarrow;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{imagesslashgated_acquisition.eps};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleD_m;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/epsilon_lambda=sqrt{lambdaslashN}slashlambda=1slashsqrt{Nlambda};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/{langlexrangle_{!mathrm{w(1)}}}:;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylehat{B}_ell={ensuremath{{2theta}}}_0+(ell-1slash2)B,;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/DeltaOmegaproptoDelta{ensuremath{{2theta}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleR_m;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleY_ell={ensuremath{displaystyle{frac{{ensuremath{displaystyle{{ensureh{displaystyle{|b|^2m^2}}}}{{ensuremath{displaystyle{e^2(C+1)}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyle{ensuremath{left|{b_{k,j}}right|}}={ensuremath{{2theta}}}_{k,j}^{+}-{ensuremath{{2theta}}}_{k,j}^{-};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/E_t>E_f+3;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleb_{k,j};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylelanglenrangle=mathop{sum}_{n=0}^{+infty}nP(n)=C_0;;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleE{ensuremath{left({{ensuremath{displaystyle{frac{{ensuremath{displaye}}}^{-2lambda}}}}}{{ensuremath{displaystyle{4lambda^2}}}}}}}%{n!m!};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/mu;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/alpha_{jm};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/E_t;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylewidehat{P}(eta)={ensuremath{displaystyle{frac{{ensuremath{displaystyght)}}^2}}}}}{{ensuremath{displaystyle{sigma_{eta_0}sqrt{2pi}}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/{ensuremath{{2theta}}}_0;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyle{ensuremath{displaystyle{frac{{ensuremath{displaystyle{sigma_X}}}}{{{sigma_{eta_0}}}}}{{ensuremath{displaystyle{eta_0}}}}}}}}right)}}^2};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{imagesslashtrimbitplot};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/sqrt{C_0};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/P;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{imagesslashbad_ff_col};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/{langlexrangle_{!mathrm{w(2)}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylelangleX^2rangle=mathop{sum}_{n=0}^{+infty}eta_0^2n^2P(n)=eta_0^2(C_0^2+C_0)=X_0^2+eta_0X_0;;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleb_{k,j}={ensuremath{left[{{ensuremath{{2theta}}}_{k,j}^{-},{ensuremath{{2theta}}}_{k,j}^{+}}right]}},qquadj=1,ldots,N_k;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/sigma_j^2=C_j;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/pm;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/xi_lambda=;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/k,j;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/m_{k,j};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/lambda<100;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleE{ensuremath{left({langlexrangle}right)}}=mathop{sum}_{m,n=0}^{+inft{mathrm{e}}}^{-lambda}}}}}{{ensuremath{displaystyle{n!}}}}}}}=lambda;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/e_lambdaslashepsilon_lambda;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{imagesslashtrigger_acquisition.eps};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylec_m;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/k=0ldotss;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/k_m;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/E_lambda;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{imagesslashnormal_acquisition.eps};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylemathop{sum}_{ell=1}^M{ensuremath{displaystyle{frac{{ensuremath{displlaystyle{R_ell}}}}{{ensuremath{displaystyle{sigma_{R_ell}^2}}}}}}}=M;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylelangleOrangle={ensuremath{displaystyle{frac{{ensuremath{displaystylemath{displaystyle{mathop{sum}_{n=1}^{N_E}nu_nsigma_{O_n}^{-2}}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/Omega;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylechi_{(1)}^2=mathop{sum}_{j=1}^{N_{mathrm{obs}}}{ensuremath{displaystght)}}}right)}}}right)}}^2}}}}{{ensuremath{displaystyle{C_j+1}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylemathsf{GoF}_{(1)}=sqrt{{ensuremath{displaystyle{frac{{ensuremath{disremath{left({langlexrangle^*-langlexrangle_{!mathrm{w(1)}}}right)}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylealpha_{jm}=Phi_m-{ensuremath{left({{ensuremath{displaystyle{frac{{endisplaystyle{D_m-pj}}}}{{ensuremath{displaystyle{R_m}}}}}}}}right)}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/nu_n;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/C_0;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/langlexrangle;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{imagesslasheffiSiHardXRays2};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/B_ell;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylelangleXrangle=int_{-infty}^{+infty}{ensuremath{mathrm{d}{eta},}}math+infty}{ensuremath{mathrm{d}{eta},}}widehat{P}(eta)eta=eta_0C_0=X_0;;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyle{ensuremath{displaystyle{frac{{ensuremath{displaystyle{{ensuremath{m}}}}{{ensuremath{displaystyle{{ensuremath{mathrm{d}{},}}Omega}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/sigma_j;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/includegraphics[width=textwidth]{imagesslashFFSetup};AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/cdot;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/Y_ell=0;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleepsilon_x={ensuremath{displaystyle{frac{{ensuremath{displaystyle{sigma_x}}}}{{ensuremath{displaystyle{x}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/n;MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylechi^2=mathop{sum}_{j=1}^{N_{mathrm{obs}}}{ensuremath{displaystyle{frleft({x-O_j}right)}}^2}}}}{{ensuremath{displaystyle{sigma_j^2}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystyleP'(X)=P(Xslasheta_0)=P(n)qquadBiggl|Biggr.qquadfrac{X}{eta_0}equivninmathbb{Z};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylehat{b}_{k,j}={ensuremath{displaystyle{frac{{ensuremath{displaystyle{nsuremath{{2theta}}}_{k,j}^{-}}}}}{{ensuremath{displaystyle{2}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+$key = q/displaystylesqrt{{ensuremath{displaystyle{frac{{ensuremath{displaystyle{B}}}}{{ensuremath{displaystyle{{ensuremath{left|{bcapB_ell}right|}}}}}}}}}};MSF=1.6;AAT/;
+$cached_env_img{$key} = q| |;
+
+1;
+
diff --git a/manual/docs/html/slsDetectors-FAQ/images.tex b/manual/docs/html/slsDetectors-FAQ/images.tex
new file mode 100644
index 000000000..f28d9e6aa
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/images.tex
@@ -0,0 +1,2033 @@
+\batchmode
+\documentclass{report}
+\RequirePackage{ifthen}
+
+
+\usepackage{amssymb}
+\usepackage[dvips]{graphicx}
+\usepackage{verbatim}
+\usepackage{html}
+
+
+\usepackage{amsmath}
+\usepackage{latexsym,amssymb}
+\usepackage[mathscr]{eucal}
+\usepackage{amsthm,amsxtra,amscd,upref}
+\usepackage{layout,bm,dcolumn}
+\usepackage{graphicx,color}
+\usepackage{calc}
+
+
+\usepackage{framed}
+
+%
+\providecommand{\DST}[1]{{\ensuremath{\displaystyle{#1}}}}%
+\providecommand{\DSF}[2]{{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{#1}}}}{{\ensuremath{\displaystyle{#2}}}}}}}}
+
+%
+\providecommand{\vk}[1]{{\ensuremath{\underline{\bm{#1}}}}}%
+\providecommand{\mx}[1]{{\ensuremath{\bm{\mathsf{#1}}}}}%
+\providecommand{\lrb}[1]{{\ensuremath{\left({#1}\right)}}}%
+\providecommand{\lrs}[1]{{\ensuremath{\left[{#1}\right]}}}%
+\providecommand{\lrc}[1]{{\ensuremath{\left\{{#1}\right\}}}}%
+\providecommand{\lrv}[1]{{\ensuremath{\left|{#1}\right|}}}
+
+%
+\providecommand{\hell}{{\ensuremath{\hat{\jmath}}}}%
+\providecommand{\zell}{{\ensuremath{\mathfrak{z}}}}%
+\providecommand{\vM}{{\ensuremath{{\ensuremath{\underline{\bm{M}}}}}}}%
+\providecommand{\vr}{{\ensuremath{{\ensuremath{\underline{\bm{r}}}}}}}%
+\providecommand{\vq}{{\ensuremath{{\ensuremath{\underline{\bm{q}}}}}}}%
+\providecommand{\vh}{{\ensuremath{{\ensuremath{\underline{\bm{h}}}}}}}%
+\providecommand{\vkx}{{\ensuremath{{\ensuremath{\underline{\bm{x}}}}}}}%
+\providecommand{\vkxt}{{\ensuremath{{\ensuremath{\underline{\bm{x}}}}^t}}}%
+\providecommand{\vky}{{\ensuremath{{\ensuremath{\underline{\bm{y}}}}}}}%
+\providecommand{\vkyt}{{\ensuremath{{\ensuremath{\underline{\bm{y}}}}^t}}}
+
+%
+\providecommand{\vri}[1]{{\ensuremath{{\ensuremath{\underline{\bm{r}}}}_{#1}}}}%
+\providecommand{\vrr}{{\ensuremath{{\ensuremath{\underline{\bm{r}}}}}}}%
+\providecommand{\vqi}[1]{{\ensuremath{{\ensuremath{\underline{\bm{q}}}}_{#1}}}}%
+\providecommand{\vqr}{{\ensuremath{{\ensuremath{\underline{\bm{q}}}}}}}%
+\providecommand{\vhi}[1]{{\ensuremath{{\ensuremath{\underline{\bm{h}}}}_{#1}}}}%
+\providecommand{\vhr}{{\ensuremath{{\ensuremath{\underline{\bm{h}}}}}}}%
+\providecommand{\IMA}{{\ensuremath{\mathrm{i}}}}%
+\providecommand{\EE}{{\ensuremath{\mathrm{e}}}}%
+\providecommand{\half}{{\ensuremath{\frac{1}{2}}}}
+
+%
+\providecommand{\deltax}{{\ensuremath{\rho\cos(\beta)}}}%
+\providecommand{\deltay}{{\ensuremath{\rho\sin(\beta)}}}%
+\providecommand{\deltaz}{{\ensuremath{\delta_{z}}}}%
+\providecommand{\deltazs}{{\ensuremath{\widehat{{\ensuremath{\delta_{z}}}}}}}%
+\providecommand{\DD}[1]{{\ensuremath{\mathrm{d}{#1}\, }}}%
+\providecommand{\DDD}[2]{{\ensuremath{\mathrm{d}^{#1}{#2}\, }}}
+
+%
+\providecommand{\haf}{{\ensuremath{\scriptstyle{\frac{1}{2}}}}}%
+\providecommand{\unt}{{\ensuremath{\scriptstyle{\frac{1}{3}}}}}%
+\providecommand{\dut}{{\ensuremath{\scriptstyle{\frac{2}{3}}}}}%
+\providecommand{\xref}[1]{(\ref{#1})}%
+\providecommand{\eref}[1]{Eq.~(\ref{#1})}%
+\providecommand{\Beref}[1]{{\textcolor[rgb]{0,0,1}{Eq.~(\ref{#1})}}}%
+\providecommand{\eeref}[2]{Eqs.~(\ref{#1},\ref{#2})}%
+\providecommand{\eeeref}[3]{Eqs.~(\ref{#1},\ref{#2},\ref{#3})}%
+\providecommand{\aref}[1]{Appendix~\ref{#1}}%
+\providecommand{\sref}[1]{Sec.~\ref{#1}}%
+\providecommand{\cref}[1]{Chap.~\ref{#1}}%
+\providecommand{\tref}[1]{Tab.~\ref{#1}}%
+\providecommand{\fref}[1]{Fig.~\ref{#1}}%
+\providecommand{\Rref}[1]{Ref.~\cite{#1}}%
+\providecommand{\degC}{{\ensuremath{{}^{\mathrm{o}}}}}
+
+%
+\providecommand{\TT}{{\ensuremath{{2\theta}}}}%
+\providecommand{\TTz}{{\ensuremath{{{{\ensuremath{{2\theta}}}}_{0}}}}}%
+\providecommand{\TTe}{{\ensuremath{{{{\ensuremath{{2\theta}}}}_{e}}}}}%
+\providecommand{\TTB}{{\ensuremath{{{{\ensuremath{{2\theta}}}}_{B}}}}}
+
+
+
+
+
+\pagecolor[gray]{.7}
+
+\usepackage[]{inputenc}
+
+
+
+\makeatletter
+
+\makeatletter
+\count@=\the\catcode`\_ \catcode`\_=8
+\newenvironment{tex2html_wrap}{}{}%
+\catcode`\<=12\catcode`\_=\count@
+\newcommand{\providedcommand}[1]{\expandafter\providecommand\csname #1\endcsname}%
+\newcommand{\renewedcommand}[1]{\expandafter\providecommand\csname #1\endcsname{}%
+ \expandafter\renewcommand\csname #1\endcsname}%
+\newcommand{\newedenvironment}[1]{\newenvironment{#1}{}{}\renewenvironment{#1}}%
+\let\newedcommand\renewedcommand
+\let\renewedenvironment\newedenvironment
+\makeatother
+\let\mathon=$
+\let\mathoff=$
+\ifx\AtBeginDocument\undefined \newcommand{\AtBeginDocument}[1]{}\fi
+\newbox\sizebox
+\setlength{\hoffset}{0pt}\setlength{\voffset}{0pt}
+\addtolength{\textheight}{\footskip}\setlength{\footskip}{0pt}
+\addtolength{\textheight}{\topmargin}\setlength{\topmargin}{0pt}
+\addtolength{\textheight}{\headheight}\setlength{\headheight}{0pt}
+\addtolength{\textheight}{\headsep}\setlength{\headsep}{0pt}
+\setlength{\textwidth}{349pt}
+\newwrite\lthtmlwrite
+\makeatletter
+\let\realnormalsize=\normalsize
+\global\topskip=2sp
+\def\preveqno{}\let\real@float=\@float \let\realend@float=\end@float
+\def\@float{\let\@savefreelist\@freelist\real@float}
+\def\liih@math{\ifmmode$\else\bad@math\fi}
+\def\end@float{\realend@float\global\let\@freelist\@savefreelist}
+\let\real@dbflt=\@dbflt \let\end@dblfloat=\end@float
+\let\@largefloatcheck=\relax
+\let\if@boxedmulticols=\iftrue
+\def\@dbflt{\let\@savefreelist\@freelist\real@dbflt}
+\def\adjustnormalsize{\def\normalsize{\mathsurround=0pt \realnormalsize
+ \parindent=0pt\abovedisplayskip=0pt\belowdisplayskip=0pt}%
+ \def\phantompar{\csname par\endcsname}\normalsize}%
+\def\lthtmltypeout#1{{\let\protect\string \immediate\write\lthtmlwrite{#1}}}%
+\newcommand\lthtmlhboxmathA{\adjustnormalsize\setbox\sizebox=\hbox\bgroup\kern.05em }%
+\newcommand\lthtmlhboxmathB{\adjustnormalsize\setbox\sizebox=\hbox to\hsize\bgroup\hfill }%
+\newcommand\lthtmlvboxmathA{\adjustnormalsize\setbox\sizebox=\vbox\bgroup %
+ \let\ifinner=\iffalse \let\)\liih@math }%
+\newcommand\lthtmlboxmathZ{\@next\next\@currlist{}{\def\next{\voidb@x}}%
+ \expandafter\box\next\egroup}%
+\newcommand\lthtmlmathtype[1]{\gdef\lthtmlmathenv{#1}}%
+\newcommand\lthtmllogmath{\dimen0\ht\sizebox \advance\dimen0\dp\sizebox
+ \ifdim\dimen0>.95\vsize
+ \lthtmltypeout{%
+*** image for \lthtmlmathenv\space is too tall at \the\dimen0, reducing to .95 vsize ***}%
+ \ht\sizebox.95\vsize \dp\sizebox\z@ \fi
+ \lthtmltypeout{l2hSize %
+:\lthtmlmathenv:\the\ht\sizebox::\the\dp\sizebox::\the\wd\sizebox.\preveqno}}%
+\newcommand\lthtmlfigureA[1]{\let\@savefreelist\@freelist
+ \lthtmlmathtype{#1}\lthtmlvboxmathA}%
+\newcommand\lthtmlpictureA{\bgroup\catcode`\_=8 \lthtmlpictureB}%
+\newcommand\lthtmlpictureB[1]{\lthtmlmathtype{#1}\egroup
+ \let\@savefreelist\@freelist \lthtmlhboxmathB}%
+\newcommand\lthtmlpictureZ[1]{\hfill\lthtmlfigureZ}%
+\newcommand\lthtmlfigureZ{\lthtmlboxmathZ\lthtmllogmath\copy\sizebox
+ \global\let\@freelist\@savefreelist}%
+\newcommand\lthtmldisplayA{\bgroup\catcode`\_=8 \lthtmldisplayAi}%
+\newcommand\lthtmldisplayAi[1]{\lthtmlmathtype{#1}\egroup\lthtmlvboxmathA}%
+\newcommand\lthtmldisplayB[1]{\edef\preveqno{(\theequation)}%
+ \lthtmldisplayA{#1}\let\@eqnnum\relax}%
+\newcommand\lthtmldisplayZ{\lthtmlboxmathZ\lthtmllogmath\lthtmlsetmath}%
+\newcommand\lthtmlinlinemathA{\bgroup\catcode`\_=8 \lthtmlinlinemathB}
+\newcommand\lthtmlinlinemathB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA
+ \vrule height1.5ex width0pt }%
+\newcommand\lthtmlinlineA{\bgroup\catcode`\_=8 \lthtmlinlineB}%
+\newcommand\lthtmlinlineB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA}%
+\newcommand\lthtmlinlineZ{\egroup\expandafter\ifdim\dp\sizebox>0pt %
+ \expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetinline}
+\newcommand\lthtmlinlinemathZ{\egroup\expandafter\ifdim\dp\sizebox>0pt %
+ \expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetmath}
+\newcommand\lthtmlindisplaymathZ{\egroup %
+ \centerinlinemath\lthtmllogmath\lthtmlsetmath}
+\def\lthtmlsetinline{\hbox{\vrule width.1em \vtop{\vbox{%
+ \kern.1em\copy\sizebox}\ifdim\dp\sizebox>0pt\kern.1em\else\kern.3pt\fi
+ \ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}}
+\def\lthtmlsetmath{\hbox{\vrule width.1em\kern-.05em\vtop{\vbox{%
+ \kern.1em\kern0.8 pt\hbox{\hglue.17em\copy\sizebox\hglue0.8 pt}}\kern.3pt%
+ \ifdim\dp\sizebox>0pt\kern.1em\fi \kern0.8 pt%
+ \ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}}
+\def\centerinlinemath{%
+ \dimen1=\ifdim\ht\sizebox<\dp\sizebox \dp\sizebox\else\ht\sizebox\fi
+ \advance\dimen1by.5pt \vrule width0pt height\dimen1 depth\dimen1
+ \dp\sizebox=\dimen1\ht\sizebox=\dimen1\relax}
+
+\def\lthtmlcheckvsize{\ifdim\ht\sizebox<\vsize
+ \ifdim\wd\sizebox<\hsize\expandafter\hfill\fi \expandafter\vfill
+ \else\expandafter\vss\fi}%
+\providecommand{\selectlanguage}[1]{}%
+\makeatletter \tracingstats = 1
+\providecommand{\Beta}{\textrm{B}}
+\providecommand{\Mu}{\textrm{M}}
+\providecommand{\Kappa}{\textrm{K}}
+\providecommand{\Rho}{\textrm{R}}
+\providecommand{\Epsilon}{\textrm{E}}
+\providecommand{\Chi}{\textrm{X}}
+\providecommand{\Iota}{\textrm{J}}
+\providecommand{\omicron}{\textrm{o}}
+\providecommand{\Zeta}{\textrm{Z}}
+\providecommand{\Eta}{\textrm{H}}
+\providecommand{\Omicron}{\textrm{O}}
+\providecommand{\Nu}{\textrm{N}}
+\providecommand{\Tau}{\textrm{T}}
+\providecommand{\Alpha}{\textrm{A}}
+
+
+\begin{document}
+\pagestyle{empty}\thispagestyle{empty}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength hsize=\the\hsize}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength vsize=\the\vsize}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength hoffset=\the\hoffset}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength voffset=\the\voffset}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength topmargin=\the\topmargin}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength topskip=\the\topskip}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength headheight=\the\headheight}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength headsep=\the\headsep}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength parskip=\the\parskip}\lthtmltypeout{}%
+\lthtmltypeout{latex2htmlLength oddsidemargin=\the\oddsidemargin}\lthtmltypeout{}%
+\makeatletter
+\if@twoside\lthtmltypeout{latex2htmlLength evensidemargin=\the\evensidemargin}%
+\else\lthtmltypeout{latex2htmlLength evensidemargin=\the\oddsidemargin}\fi%
+\lthtmltypeout{}%
+\makeatother
+\setcounter{page}{1}
+\onecolumn
+
+% !!! IMAGES START HERE !!!
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7663}%
+$ \chi ^2$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{chapter}
+\stepcounter{section}
+\stepcounter{section}
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7743}%
+\includegraphics[width=\textwidth]{multi_detector}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsection}
+\stepcounter{section}
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7749}%
+\includegraphics[width=\textwidth]{data_receiver}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{section}
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{section}
+\stepcounter{section}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7759}%
+$ d$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{section}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7762}%
+$ \Updownarrow$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7764}%
+$ \Rightarrow$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmldisplayA{displaymath7766}%
+\begin{displaymath}\textrm{\textbf{MEASUREMENTS}} \\
+ \left\Updownarrow \,
+ \begin{array}{l} \\
+ % \textrm{Measurement loop} \\
+ \begin{array}{l} %\\
+ \Rightarrow \, \textrm{Start script} \\
+ \\
+\textrm{\textbf{SCAN0}}
+ \left\Updownarrow
+ \,
+ \begin{array}{l} \\
+ \Rightarrow \, \textrm{Scan0 script} \\
+ % \textrm{Scan 0 level} \\
+ \\
+\par
+\textrm{\textbf{SCAN1}} \left\Updownarrow
+ \,
+ \begin{array}{l} \\
+ % \textrm{Scan 1 level} \\
+ \begin{array}{l} %\\
+ \Rightarrow \, \textrm{Scan1 script} \\
+ \Rightarrow \, \textrm{Script before} \\
+ \\
+\begin{array}{l} \\
+ \textrm{\textbf{POSITIONS}} \left\Updownarrow \,
+\begin{array}{l} \\
+ \Rightarrow \, \textrm{Header before script} \\
+ \\
+\par
+\textrm{\textbf{CYCLES}} \left\Updownarrow \,
+ \begin{array}{l} \\
+ \\
+\textrm{\textbf{FRAMES}} \left\Updownarrow \right. \\
+ \\
+\\
+ \end{array}
+ \right. \\
+ \\
+\Rightarrow \, \textrm{Header after script}\\
+ \\
+ \end{array}
+ \right. \\
+\\
+\\
+\\
+ \end{array}
+\par
+\\
+ % \\
+\Rightarrow \, \textrm{Script after} \\
+\end{array}
+ % \right. \\
+ \\
+\\
+ \end{array}
+ \right. \\
+\\
+ \\
+\\
+ \end{array}
+ \right. \\
+ \\
+\Rightarrow \, \textrm{Stop script} \\
+\\
+ \end{array}
+ % \right. \\
+ \\
+ \end{array}
+\right.
+\end{displaymath}%
+\lthtmldisplayZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{section}
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7789}%
+\includegraphics[width=\textwidth]{images/normal_acquisition.eps}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7793}%
+\includegraphics[width=\textwidth]{images/gated_acquisition.eps}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7797}%
+\includegraphics[width=\textwidth]{images/trigger_acquisition.eps}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7801}%
+\includegraphics[width=\textwidth]{images/ro_trigger_acquisition.eps}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{section}
+\stepcounter{section}
+\stepcounter{section}
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7812}%
+$ (108602\&0xFFFFFFFE)>>1 = 54301$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7814}%
+$ (108602\&0x1) =0$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsection}
+\stepcounter{subsection}
+\stepcounter{chapter}
+\stepcounter{section}
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7823}%
+\includegraphics[width=\textwidth]{images/effiSiHardXRays2}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7825}%
+$ \mu$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7829}%
+\includegraphics[width=\textwidth]{images/effiThinkBackplanes}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7834}%
+\includegraphics[width=\textwidth]{images/settings}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{section}
+\stepcounter{chapter}
+\stepcounter{section}
+\stepcounter{subsection}
+\stepcounter{section}
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7844}%
+\includegraphics[width=\textwidth]{images/thr_scan_expl}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7848}%
+\includegraphics[width=\textwidth]{images/thr_scan_fluo}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7853}%
+$ E_0$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7857}%
+$ E_t=E_0/2$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7861}%
+$ E_f$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7865}%
+$ E_t$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7879}%
+$ E_fE_f+3$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7885}%
+$ E_t4$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7908}%
+\includegraphics[width=\textwidth]{images/sample_with_fluorescence}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{section}
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7914}%
+\includegraphics[width=\textwidth]{images/bad_ff_col}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7919}%
+\includegraphics[width=\textwidth]{images/FFSetup}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{section}
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7926}%
+$ Vthreshold=7$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7928}%
+$ Counts=500$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7930}%
+$ Resolution=4$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7932}%
+$ \pm$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7933}%
+\includegraphics[width=\textwidth]{images/noise_thresholdscanuntrimmed}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7937}%
+\includegraphics[width=\textwidth]{images/trimbitdistribution}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7941}%
+\includegraphics[width=\textwidth]{images/trimbitplot}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlpictureA{tex2html_wrap7945}%
+\includegraphics[width=\textwidth]{images/noise_thresholdscantrimmed}%
+\lthtmlpictureZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{section}
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7954}%
+$ \cdot$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{section}
+\stepcounter{section}
+\stepcounter{subsection}
+\stepcounter{chapter}
+\stepcounter{section}
+\stepcounter{section}
+\stepcounter{section}
+\stepcounter{section}
+\stepcounter{chapter}
+\stepcounter{section}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7968}%
+$ \alpha_{jm}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7970}%
+$ R_m$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7972}%
+$ \Phi_m$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7974}%
+$ D_m$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7976}%
+$ c_m$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7978}%
+$ o_m$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline7980}%
+$ k_m$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay7982}%
+$\displaystyle \alpha_{jm}=\Phi_m-{\ensuremath{\left({{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{180}}}}{{\ensuremath{\displaystyle{\pi}}}}}}}}\right)}}\arctan{\ensuremath{\left({{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{D_m-pj}}}}{{\ensuremath{\displaystyle{R_m}}}}}}}}\right)}}$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay7984}%
+$\displaystyle \alpha_{jm}=o_m+{\ensuremath{\left({{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{180}}}}{{\ensuremath{\displaystyle{\pi}}}}}}}}\right)}}c_mk_m+{\ensuremath{\left({{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{180}}}}{{\ensuremath{\displaystyle{\pi}}}}}}}}\right)}}\arctan{\ensuremath{\left[{{\ensuremath{\left({j-c_m}\right)}}k_m}\right]}}$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay7987}%
+$\displaystyle c_m$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay7989}%
+$\displaystyle =$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay7991}%
+$\displaystyle {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{D_m}}}}{{\ensuremath{\displaystyle{p}}}}}}};$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay7993}%
+$\displaystyle k_m$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay7997}%
+$\displaystyle {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{p}}}}{{\ensuremath{\displaystyle{R_m}}}}}}};$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay7999}%
+$\displaystyle o_m$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8003}%
+$\displaystyle \Phi_m-{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{180}}}}{{\ensuremath{\displaystyle{\pi}}}}}}}{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{D_m}}}}{{\ensuremath{\displaystyle{R_m}}}}}}}.$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8006}%
+$\displaystyle \Phi_m$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8010}%
+$\displaystyle o_m+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{180}}}}{{\ensuremath{\displaystyle{\pi}}}}}}}c_mk_m;$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8012}%
+$\displaystyle R_m$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8016}%
+$\displaystyle {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{p}}}}{{\ensuremath{\displaystyle{k_m}}}}}}};$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8018}%
+$\displaystyle D_m$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8022}%
+$\displaystyle c_m p.$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{section}
+\stepcounter{subsection}
+\stepcounter{subsubsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8027}%
+$ {\ensuremath{{2\theta}}}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8029}%
+$ 2\theta$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsubsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8032}%
+$\displaystyle {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{\mathrm{d}{}\, }}\bf {\sigma}}}}}{{\ensuremath{\displaystyle{{\ensuremath{\mathrm{d}{}\, }}\Omega}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8034}%
+$ \Omega$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8036}%
+$\displaystyle {I_0}\Delta t \Delta\Omega{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{\mathrm{d}{}\, }}\bf {\sigma}}}}}{{\ensuremath{\displaystyle{{\ensuremath{\mathrm{d}{}\, }}\Omega}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8038}%
+$ \Delta t$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8040}%
+$ \Delta\Omega$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8042}%
+$ I_0$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8046}%
+$ \Delta\Omega\propto \Delta {\ensuremath{{2\theta}}}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8057}%
+$ P$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8059}%
+$ k$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8061}%
+$ k=1,\ldots,P$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8063}%
+$ N_k$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8065}%
+$ 2\theta\equiv{\ensuremath{{2\theta}}}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8067}%
+$\displaystyle b_{k,j}={\ensuremath{\left[{{\ensuremath{{2\theta}}}_{k,j}^{-},{\ensuremath{{2\theta}}}_{k,j}^{+}}\right]}},\qquad j=1,\ldots,N_k
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8069}%
+$\displaystyle \hat{b}_{k,j}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{{2\theta}}}_{k,j}^{+}+{\ensuremath{{2\theta}}}_{k,j}^{-}}}}}{{\ensuremath{\displaystyle{2}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8071}%
+$\displaystyle {\ensuremath{\left|{b_{k,j}}\right|}}={\ensuremath{{2\theta}}}_{k,j}^{+}-{\ensuremath{{2\theta}}}_{k,j}^{-}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8073}%
+$ C_{k,j}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8075}%
+$ e_{k,j}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8077}%
+$ m_{k,j}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8079}%
+$ b_{k,j}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8081}%
+$\displaystyle I_{k,j}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{e_{k,j}}}}}{{\ensuremath{\displaystyle{m_{k,j}}}}}}}}{\ensuremath{\left({C_{k,j}+\min{\ensuremath{\left({1,C_{k,j}}\right)}}}\right)}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8083}%
+$\displaystyle \sigma_{I_{k,j}}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{e_{k,j}}}}}{{\ensuremath{\displaystyle{m_{k,j}}}}}}}}\sqrt{{\ensuremath{\left({C_{k,j}+1}\right)}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8085}%
+$\displaystyle r_{k,j}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{I_{k,j}}}}}{{\ensuremath{\displaystyle{{\ensuremath{\left|{b_{k,j}}\right|}}}}}}}}}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{e_{k,j}}}}}{{\ensuremath{\displaystyle{m_{k,j}{\ensuremath{\left|{b_{k,j}}\right|}}}}}}}}}{\ensuremath{\left({C_{k,j}+\min{\ensuremath{\left({1,C_{k,j}}\right)}}}\right)}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8087}%
+$\displaystyle \sigma_{r_{k,j}}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\sigma_{I_{k,j}}}}}}{{\ensuremath{\displaystyle{{\ensuremath{\left|{b_{k,j}}\right|}}}}}}}}}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{e_{k,j}}}}}{{\ensuremath{\displaystyle{{\ensuremath{\left|{b_{k,j}}\right|}}m_{k,j}}}}}}}}\sqrt{{\ensuremath{\left({C_{k,j}+1}\right)}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8089}%
+$ M$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8091}%
+$\displaystyle B_\ell=[{\ensuremath{{2\theta}}}_0+(\ell-1)B, {\ensuremath{{2\theta}}}_0+\ell B],\qquad \ell=1,\ldots,M
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8093}%
+$\displaystyle {\ensuremath{\left|{B_\ell}\right|}}=B$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8095}%
+$\displaystyle \hat{B}_\ell={\ensuremath{{2\theta}}}_0+(\ell-1/2)B,$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8097}%
+$ {\ensuremath{{2\theta}}}_0$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8099}%
+$ {\ensuremath{{2\theta}}}_{max}={\ensuremath{{2\theta}}}_0+MB$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8101}%
+$ \ell$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8103}%
+$\displaystyle b_{k,j}$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8104}%
+$\displaystyle \qquad {\ensuremath{\left|{ b_{k,j}\cap B_\ell }\right|}} > 0.
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8107}%
+$\displaystyle \qquad \hat{b}_{k,j}\in B_\ell .
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8111}%
+$ B_\ell$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8113}%
+$ N_E$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8115}%
+$ O_n$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8117}%
+$ O$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8119}%
+$ \sigma_{O_n}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8121}%
+$ \nu_n$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8123}%
+$\displaystyle \langle O\rangle ={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+\mathop{\sum}_{n=1}^{N_E}\nu_n
+O_n\sigma_{O_n}^{-2}
+}}}}{{\ensuremath{\displaystyle{
+\mathop{\sum}_{n=1}^{N_E}\nu_n
+\sigma_{O_n}^{-2}
+}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8125}%
+$\displaystyle {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{\left|{ b_{k,j}\cap B_\ell }\right|}}}}}}{{\ensuremath{\displaystyle{B}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8127}%
+$ k,j$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8131}%
+$\displaystyle X_\ell=\mathop{\sum_{k,j}}_{ {\ensuremath{\left|{ b_{k,j}\cap B_\ell }\right|}} > 0}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{\left|{ b_{k,j}\cap B_\ell }\right|}}}}}}{{\ensuremath{\displaystyle{B}}}}}}}\ r_{k,j}\ {\ensuremath{\left({\sigma_{r_{k,j}}}\right)}}^{-2}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8133}%
+$\displaystyle Y_\ell=\mathop{\sum_{k,j}}_{ {\ensuremath{\left|{ b_{k,j}\cap B_\ell }\right|}} > 0}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{\left|{ b_{k,j}\cap B_\ell }\right|}}}}}}{{\ensuremath{\displaystyle{B}}}}}}}\ {\ensuremath{\left({\sigma_{r_{k,j}}}\right)}}^{-2}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8135}%
+$\displaystyle R_\ell={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{X_\ell}}}}{{\ensuremath{\displaystyle{Y_\ell}}}}}}};
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8137}%
+$\displaystyle \sigma_{R_\ell}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1}}}}{{\ensuremath{\displaystyle{\sqrt{Y_\ell}}}}}}}}.
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8139}%
+$ R_\ell$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8141}%
+$ \sigma_{R_\ell}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8143}%
+$ B$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8145}%
+$ K$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8149}%
+$\displaystyle \mathop{\sum}_{\ell=1}^M{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{KR_\ell}}}}{{\ensuremath{\displaystyle{K^2\sigma_{R_\ell}^2}}}}}}}=
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1}}}}{{\ensuremath{\displaystyle{K}}}}}}}
+\mathop{\sum}_{\ell=1}^M{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{R_\ell}}}}{{\ensuremath{\displaystyle{\sigma_{R_\ell}^2}}}}}}}=M
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8153}%
+$\displaystyle K={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+1
+}}}}{{\ensuremath{\displaystyle{
+M
+}}}}}}}\mathop{\sum}_{\ell=1}^M{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{R_\ell}}}}{{\ensuremath{\displaystyle{\sigma_{R_\ell}^2}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8155}%
+$\displaystyle \hat{B}_\ell, \quad KR_\ell, \quad K\sigma_{R_\ell}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsubsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8166}%
+$ X_\ell=0$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8168}%
+$ Y_\ell=0$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8170}%
+$ b$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8174}%
+$\displaystyle X_\ell={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{\left|{ b\cap B_\ell }\right|}}}}}}{{\ensuremath{\displaystyle{B}}}}}}}\
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{e(C+1)}}}}{{\ensuremath{\displaystyle{m|b|}}}}}}}\
+{\ensuremath{\left({
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{|b|m}}}}{{\ensuremath{\displaystyle{e\sqrt{C+1}}}}}}}}
+}\right)}}^{2}
+={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{\left|{ b\cap B_\ell }\right|}}}}}}{{\ensuremath{\displaystyle{B}}}}}}}{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{|b|m}}}}{{\ensuremath{\displaystyle{e}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8176}%
+$\displaystyle Y_\ell={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{\left|{ b\cap B_\ell }\right|}}}}}}{{\ensuremath{\displaystyle{B}}}}}}}\
+{\ensuremath{\left({
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{|b|m}}}}{{\ensuremath{\displaystyle{e\sqrt{C+1}}}}}}}}
+}\right)}}^{2}
+={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{\left|{ b\cap B_\ell }\right|}}}}}}{{\ensuremath{\displaystyle{B}}}}}}}{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{|b|^2m^2}}}}{{\ensuremath{\displaystyle{e^2(C+1)}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8178}%
+$\displaystyle R_\ell={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{X_\ell}}}}{{\ensuremath{\displaystyle{Y_\ell}}}}}}}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{e(C+1)}}}}{{\ensuremath{\displaystyle{m|b|}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8182}%
+$\displaystyle \sigma_{R_\ell}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1}}}}{{\ensuremath{\displaystyle{\sqrt{Y_\ell}}}}}}}}=
+\sqrt{{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{B}}}}{{\ensuremath{\displaystyle{{\ensuremath{\left|{ b\cap B_\ell }\right|}}}}}}}}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{e\sqrt{(C+1)}}}}}{{\ensuremath{\displaystyle{|b|m}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8186}%
+$\displaystyle \sqrt{{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{B}}}}{{\ensuremath{\displaystyle{{\ensuremath{\left|{ b\cap B_\ell }\right|}}}}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8189}%
+$ \hat{b}_{j,k}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8191}%
+$ \hat{B}_\ell$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8194}%
+$ C_0$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8198}%
+$ \sqrt{C_0}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8200}%
+$ n$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8202}%
+$\displaystyle P(n)={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{C_0^n{\ensuremath{\mathrm{e}}}^{-C_0}
+}}}}{{\ensuremath{\displaystyle{
+n!}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8204}%
+$\displaystyle \mathop{\sum}_{n=0}^{+\infty}
+P(n)=1\ ;
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8206}%
+$\displaystyle \langle n\rangle=\mathop{\sum}_{n=0}^{+\infty}
+nP(n)=C_0\ ;
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8208}%
+$\displaystyle \langle n^2\rangle=\mathop{\sum}_{n=0}^{+\infty}
+n^2 P(n)=C_0^2+C_0\ ;
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8210}%
+$\displaystyle \sigma_{C_0}=\sqrt{\langle n^2\rangle-\langle n\rangle^2}=\sqrt{C_0}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8214}%
+$\displaystyle \chi^2 = \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{\left({F_j-O_j}\right)}}^2
+}}}}{{\ensuremath{\displaystyle{
+\sigma_j^2
+}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8216}%
+$ O_j$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8218}%
+$ F_j$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8220}%
+$ \sigma_j$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8222}%
+$\displaystyle \chi_{(0)}^2 = \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{\left({F_j-C_j}\right)}}^2
+}}}}{{\ensuremath{\displaystyle{
+C_j
+}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8224}%
+$\displaystyle \chi_{(1)}^2 = \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{\left({F_j-{\ensuremath{\left({C_j+\min{\ensuremath{\left({1,C_j}\right)}}}\right)}}}\right)}}^2
+}}}}{{\ensuremath{\displaystyle{
+C_j+1
+}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsection}
+\stepcounter{subsubsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8230}%
+$ N_{\mathrm{obs}}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8232}%
+$ C_j,\quad j=1\ldots N_{\mathrm{obs}}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8234}%
+$ x$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8238}%
+$\displaystyle x=\langle x\rangle={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1}}}}{{\ensuremath{\displaystyle{ N_{\mathrm{obs}}}}}}}}}
+ \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}C_j\ .
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8240}%
+$\displaystyle \sigma_x=\sqrt{\langle x^2\rangle-\langle x\rangle^2}=\sqrt{
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1}}}}{{\ensuremath{\displaystyle{ N_{\mathrm{obs}}}}}}}}}
+ \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}C_j^2-{\ensuremath{\left({
+ {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1}}}}{{\ensuremath{\displaystyle{ N_{\mathrm{obs}}}}}}}}}
+ \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}C_j
+ }\right)}}
+ }
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8242}%
+$\displaystyle \sigma_x={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1}}}}{{\ensuremath{\displaystyle{ N_{\mathrm{obs}}}}}}}}}\sqrt{ \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}C_j }
+=\sqrt{{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\langle x\rangle}}}}{{\ensuremath{\displaystyle{N_{\mathrm{obs}}}}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsubsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8245}%
+$ C_j=0$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8247}%
+$ N_{\mathrm{obs}}^*$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8249}%
+$\displaystyle x=\langle x\rangle^*={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1}}}}{{\ensuremath{\displaystyle{ N_{\mathrm{obs}}^*}}}}}}}
+ \mathop{\sum}_ {\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
+ C_j={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1}}}}{{\ensuremath{\displaystyle{ N_{\mathrm{obs}}^*}}}}}}}
+ \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}C_j = {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{N_{\mathrm{obs}}}}}}{{\ensuremath{\displaystyle{N_{\mathrm{obs}}^*}}}}}}}\langle x\rangle
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8251}%
+$\displaystyle \sigma_{x^*}= {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{N_{\mathrm{obs}}}}}}{{\ensuremath{\displaystyle{N_{\mathrm{obs}}^*}}}}}}}\sigma_x = \sqrt{{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{N_{\mathrm{obs}}}}}}{{\ensuremath{\displaystyle{N_{\mathrm{obs}}^*}}}}}}}}
+\sqrt{{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\langle x\rangle}}}}{{\ensuremath{\displaystyle{N_{\mathrm{obs}}^*}}}}}}}}=\sqrt{{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\langle x\rangle^*}}}}{{\ensuremath{\displaystyle{N_{\mathrm{obs}}^*}}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8253}%
+$ C_j$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsubsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8260}%
+$\displaystyle \chi^2 = \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{\left({x-O_j}\right)}}^2
+}}}}{{\ensuremath{\displaystyle{
+\sigma_j^2
+}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8262}%
+$\displaystyle x= \langle x \rangle_{\!\mathrm{w}}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{O_j
+}}}}{{\ensuremath{\displaystyle{
+\sigma_j^2
+}}}}}}}
+}}}}{{\ensuremath{\displaystyle{
+\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1
+}}}}{{\ensuremath{\displaystyle{
+\sigma_j^2
+}}}}}}}
+}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8266}%
+$\displaystyle \sigma_{\langle x \rangle_{\!\mathrm{w}}} = {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+1
+}}}}{{\ensuremath{\displaystyle{\sqrt{
+\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1
+}}}}{{\ensuremath{\displaystyle{
+\sigma_j^2
+}}}}}}}
+}}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8268}%
+$\displaystyle \mathsf{GoF}=
+\sqrt{
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{O_j^2
+}}}}{{\ensuremath{\displaystyle{
+\sigma_j^2
+}}}}}}}
+-{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+{\ensuremath{\left[{
+\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{O_j
+}}}}{{\ensuremath{\displaystyle{
+\sigma_j^2
+}}}}}}}
+}\right]}}^2
+}}}}{{\ensuremath{\displaystyle{ \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1
+}}}}{{\ensuremath{\displaystyle{
+\sigma_j^2
+}}}}}}} }}}}}}}
+}}}}{{\ensuremath{\displaystyle{
+N_{\mathrm{obs}}-1
+}}}}}}}
+}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8270}%
+$\displaystyle {\sigma}_{\langle x \rangle_{\!\mathrm{w}}}^{\mathrm{corrected}} = \mathsf{GoF}\ \sigma_{\langle x \rangle_{\!\mathrm{w}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsubsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8273}%
+$ O_j=C_j$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8275}%
+$ \sigma_j^2=C_j$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8277}%
+$\displaystyle \langle x \rangle_{\!\mathrm{w(1)}}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+{N_{\mathrm{obs}}}
+}}}}{{\ensuremath{\displaystyle{
+\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1
+}}}}{{\ensuremath{\displaystyle{
+C_j
+}}}}}}}
+}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8285}%
+$\displaystyle \sigma_{\langle x \rangle_{\!\mathrm{w(1)}}} = {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+1
+}}}}{{\ensuremath{\displaystyle{\sqrt{
+\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1
+}}}}{{\ensuremath{\displaystyle{
+C_j
+}}}}}}}
+}}}}}}}}=\sqrt{{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\langle x \rangle_{\!\mathrm{w(1)}}}}}}{{\ensuremath{\displaystyle{
+N_{\mathrm{obs}}^*
+}}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8287}%
+$\displaystyle \mathsf{GoF}_{(1)}=
+\sqrt{
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
+\!\!\!\!C_j
+-{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+{\ensuremath{\left[{
+N_{\mathrm{obs}}^*
+}\right]}}^2
+}}}}{{\ensuremath{\displaystyle{ \mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1
+}}}}{{\ensuremath{\displaystyle{
+C_j
+}}}}}}} }}}}}}}
+}}}}{{\ensuremath{\displaystyle{
+N_{\mathrm{obs}}^*-1
+}}}}}}}
+}
+=\sqrt{
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{N_{\mathrm{obs}}^*}}}}{{\ensuremath{\displaystyle{N_{\mathrm{obs}}^*-1}}}}}}}
+{\ensuremath{\left({
+\langle x\rangle^*-\langle x \rangle_{\!\mathrm{w(1)}}
+}\right)}}
+}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8289}%
+$ \langle x\rangle^*$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8291}%
+$\displaystyle {\sigma}_{\langle x \rangle_{\!\mathrm{w(1)}}}^{\mathrm{corrected}} = \mathsf{GoF}_{(1)}\ \sigma_{\langle x \rangle_{\!\mathrm{w(1)}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsubsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8294}%
+$ O_j=C_j+\min{\ensuremath{\left({1,C_j}\right)}}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8296}%
+$ \sigma_j^2=C_j+1$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8298}%
+$\displaystyle \langle x \rangle_{\!\mathrm{w(2)}}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+{N_{\mathrm{obs}}^*}
+}}}}{{\ensuremath{\displaystyle{
+\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1
+}}}}{{\ensuremath{\displaystyle{
+C_j+1
+}}}}}}}
+}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8300}%
+$\displaystyle \sigma_{\langle x \rangle_{\!\mathrm{w(2)}}} = {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+1
+}}}}{{\ensuremath{\displaystyle{\sqrt{
+\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1
+}}}}{{\ensuremath{\displaystyle{
+C_j+1
+}}}}}}}
+}}}}}}}}=\sqrt{{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\langle x \rangle_{\!\mathrm{w(2)}}}}}}{{\ensuremath{\displaystyle{
+N_{\mathrm{obs}}^*
+}}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8302}%
+$\displaystyle \mathsf{GoF}_{(2)}=
+\sqrt{
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
+\!\!\!\!C_j+N_{\mathrm{obs}}^*
+-{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+{\ensuremath{\left[{
+N_{\mathrm{obs}}^*
+}\right]}}^2
+}}}}{{\ensuremath{\displaystyle{ \mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1
+}}}}{{\ensuremath{\displaystyle{
+C_j+1
+}}}}}}} }}}}}}}
+}}}}{{\ensuremath{\displaystyle{
+N_{\mathrm{obs}}^*-1
+}}}}}}}
+}
+=\sqrt{
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{N_{\mathrm{obs}}^*}}}}{{\ensuremath{\displaystyle{N_{\mathrm{obs}}^*-1}}}}}}}
+{\ensuremath{\left({
+\langle x\rangle^*-\langle x \rangle_{\!\mathrm{w(2)}}+1
+}\right)}}
+}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8306}%
+$\displaystyle {\sigma}_{\langle x \rangle_{\!\mathrm{w(2)}}}^{\mathrm{corrected}} = \mathsf{GoF}_{(2)}\ \sigma_{\langle x \rangle_{\!\mathrm{w(2)}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsubsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8313}%
+$\displaystyle \epsilon_x = {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\sigma_x}}}}{{\ensuremath{\displaystyle{x}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8317}%
+$ O(\epsilon_x^2)$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8321}%
+$ \propto\epsilon_x$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8325}%
+$ O(\epsilon_x^3)$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsubsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8328}%
+$ N_{\mathrm{obs}}=2$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8330}%
+$ C_1$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8332}%
+$ C_2$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8334}%
+$\displaystyle \langle x \rangle={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{C_1+C_2}}}}{{\ensuremath{\displaystyle{2}}}}}}}; \qquad \sigma_x={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\sqrt{C_1+C_2}}}}}{{\ensuremath{\displaystyle{2}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8336}%
+$\displaystyle \langle x \rangle_{\mathrm{w(2)}}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{2(C_1+1)(C_2+1)}}}}{{\ensuremath{\displaystyle{C_1+C_2+2}}}}}}}; \qquad
+\sigma_{\langle x \rangle_{\mathrm{w(2)}}}=\sqrt{{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{(C_1+1)(C_2+1)}}}}{{\ensuremath{\displaystyle{C_1+C_2+2}}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8338}%
+$ C_1,C_2$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8340}%
+$ \lambda$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8342}%
+$\displaystyle E{\ensuremath{\left({\langle x \rangle}\right)}} = \mathop{\sum}_{m,n=0}^{+\infty}
+ {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{n+m}}}}{{\ensuremath{\displaystyle{2}}}}}}}P(n)P(m)=\mathop{\sum}_{m=0}^{+\infty}
+ {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{m}}}}{{\ensuremath{\displaystyle{2}}}}}}}{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\lambda^m{\ensuremath{\mathrm{e}}}^{-\lambda}}}}}{{\ensuremath{\displaystyle{m!}}}}}}}
+ +\mathop{\sum}_{n=0}^{+\infty}
+ {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{n}}}}{{\ensuremath{\displaystyle{2}}}}}}}{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\lambda^n{\ensuremath{\mathrm{e}}}^{-\lambda}}}}}{{\ensuremath{\displaystyle{n!}}}}}}}
+ =\lambda
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8344}%
+$\displaystyle E{\ensuremath{\left({\sigma_x^2}\right)}} = \mathop{\sum}_{m,n=0}^{+\infty}
+ {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{n+m}}}}{{\ensuremath{\displaystyle{4}}}}}}}P(n)P(m)={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+ \lambda}}}}{{\ensuremath{\displaystyle{2}}}}}}};\qquad E{\ensuremath{\left({\sigma_x}\right)}} =\sqrt{{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\lambda}}}}{{\ensuremath{\displaystyle{2}}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8346}%
+$\displaystyle \langle x \rangle_{\mathrm{w(2)}}=\langle x \rangle + 1 -{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{(C_1-C_2)^2}}}}{{\ensuremath{\displaystyle{4(\langle x \rangle+1)}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8348}%
+$\displaystyle E{\ensuremath{\left({{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{(C_1-C_2)^2}}}}{{\ensuremath{\displaystyle{4(\langle x \rangle+1)}}}}}}}}\right)}} =
+ \mathop{\sum}_{m,n=0}^{+\infty}
+ {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{(n-m)^2}}}}{{\ensuremath{\displaystyle{2(n+m+2) }}}}}}}P(n)P(m)={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{\mathrm{e}}}^{-2\lambda}}}}}{{\ensuremath{\displaystyle{2}}}}}}}
+ \mathop{\sum}_{m,n=0}^{+\infty}
+ {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{(n-m)^2}}}}{{\ensuremath{\displaystyle{(n+m+2) }}}}}}}{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\lambda^{n+m}}}}}{{\ensuremath{\displaystyle{n!m!}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8350}%
+$ s=n+m$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8352}%
+$ s=0\ldots +\infty$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8354}%
+$ n-m=s-2k$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8356}%
+$ k=0\ldots s$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8358}%
+$\displaystyle E{\ensuremath{\left({{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{(C_1-C_2)^2}}}}{{\ensuremath{\displaystyle{4(\langle x \rangle+1)}}}}}}}}\right)}} =
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{{\ensuremath{\mathrm{e}}}^{-2\lambda}}}}}{{\ensuremath{\displaystyle{2}}}}}}}
+ \mathop{\sum}_{s=0}^{+\infty}
+ \mathop{\sum}_{k=0}^{s}
+ {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{(s-2k)^2(s+1)}}}}{{\ensuremath{\displaystyle{(s+2)! }}}}}}}{\lambda^{s}}
+ \binom{s}{k}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1}}}}{{\ensuremath{\displaystyle{2}}}}}}}-{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1}}}}{{\ensuremath{\displaystyle{2\lambda}}}}}}}+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1-{\ensuremath{\mathrm{e}}}^{-2\lambda}}}}}{{\ensuremath{\displaystyle{4\lambda^2}}}}}}}
+ %{n!m!}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8360}%
+$\displaystyle {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{E{\ensuremath{\left({\langle x \rangle_{\mathrm{w(2)}}-\langle x \rangle}\right)}}}}}}{{\ensuremath{\displaystyle{E{\ensuremath{\left({\langle x \rangle}\right)}}}}}}}}}=
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1}}}}{{\ensuremath{\displaystyle{2\lambda}}}}}}}+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1}}}}{{\ensuremath{\displaystyle{2\lambda^2}}}}}}}-{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1-{\ensuremath{\mathrm{e}}}^{-2\lambda}}}}}{{\ensuremath{\displaystyle{4\lambda^3}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8362}%
+$ \langle x \rangle$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8364}%
+$\displaystyle \epsilon = {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\sigma_x}}}}{{\ensuremath{\displaystyle{\langle x \rangle}}}}}}} =
+{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\lambda^{1/2}}}}}{{\ensuremath{\displaystyle{\sqrt{2} \lambda}}}}}}}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{1}}}}{{\ensuremath{\displaystyle{\sqrt{2\lambda}}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8366}%
+$\displaystyle {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{E{\ensuremath{\left({\langle x \rangle_{\mathrm{w(2)}}-\langle x \rangle}\right)}}}}}}{{\ensuremath{\displaystyle{E{\ensuremath{\left({\langle x \rangle}\right)}}}}}}}}}=
+O(\epsilon^2)
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsubsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8371}%
+$ \lambda=1,10,100,\ldots,1000000$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8375}%
+$ N=10^8$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8381}%
+$ \xi_\lambda=\sqrt{\lambda/N}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8383}%
+$ \epsilon_\lambda=\sqrt{\lambda/N}/\lambda=1/\sqrt{N\lambda}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8385}%
+$ E_\lambda$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8389}%
+$ e_\lambda=E_\lambda/\lambda$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8391}%
+$ e_\lambda/\epsilon_\lambda$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8393}%
+$ \lambda =$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8395}%
+$ \xi_\lambda = $%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8397}%
+$ \epsilon_\lambda$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8399}%
+$ {\langle x \rangle_{\!\mathrm{w(1)}}}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8401}%
+$ {\langle x \rangle_{\!\mathrm{w(2)}}}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8409}%
+$ e_\lambda$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8753}%
+$ {\langle x \rangle_{\!\mathrm{w(1)}}}\ :$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8757}%
+$ {\langle x \rangle^*}\ $%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8759}%
+$ \lambda<100$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8761}%
+$ {\langle x \rangle}\ $%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{subsection}
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8786}%
+$\displaystyle X_0=\eta_0 C_0
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8788}%
+$ \eta_0$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8790}%
+$ X$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8792}%
+$\displaystyle P'(X)=P(X/\eta_0)=P(n)\qquad\Biggl|\Biggr.\qquad \frac{X}{\eta_0}\equiv n\in\mathbb{Z}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8796}%
+$\displaystyle \langle X\rangle=\mathop{\sum}_{n=0}^{+\infty}
+\eta_0 nP(n)=\eta_0 C_0=X_0\ ;
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8798}%
+$\displaystyle \langle X^2\rangle=\mathop{\sum}_{n=0}^{+\infty}
+\eta_0^2 n^2 P(n)=\eta_0^2(C_0^2+C_0)=X_0^2+\eta_0 X_0\ ;
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8800}%
+$\displaystyle \sigma_X=\sqrt{\langle X^2\rangle-\langle X\rangle^2}=\sqrt{\eta_0 X_0}=\eta_0\sqrt{C_0}=\sqrt{\eta_0}\sqrt{X_0}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8802}%
+$ \sigma_X=\sqrt{\langle X\rangle}=\sqrt{X_0}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8804}%
+$\displaystyle \sigma_X=\sqrt{\eta_0}\sqrt{X_0}=\eta_0\sqrt{C_0}=\eta_0\sigma_{C_0}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_inline8808}%
+$ \sigma_{\eta_0}$%
+\lthtmlinlinemathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8810}%
+$\displaystyle \widehat{P}(\eta)={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{
+{\ensuremath{\mathrm{e}}}^{
+-\frac{1}{2}
+{\ensuremath{\left({
+\frac{\eta-\eta_0}{\sigma_{\eta_0}}
+}\right)}}^2
+}
+}}}}{{\ensuremath{\displaystyle{
+\sigma_{\eta_0}\sqrt{2\pi}
+}}}}}}}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8812}%
+$\displaystyle \int_{-\infty}^{+\infty}{\ensuremath{\mathrm{d}{\eta}\, }}\mathop{\sum}_{n=0}^{+\infty}
+P(n)\widehat{P}(\eta)=1\ ;
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8814}%
+$\displaystyle \langle X\rangle=\int_{-\infty}^{+\infty}{\ensuremath{\mathrm{d}{\eta}\, }}\mathop{\sum}_{n=0}^{+\infty}
+\widehat{P}(\eta)\eta nP(n)=
+\mathop{\sum}_{n=0}^{+\infty}
+ nP(n)
+\int_{-\infty}^{+\infty}{\ensuremath{\mathrm{d}{\eta}\, }} \widehat{P}(\eta)\eta
+ =
+\eta_0 C_0=X_0\ ;
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8816}%
+$\displaystyle \langle X^2\rangle=\int_{-\infty}^{+\infty}{\ensuremath{\mathrm{d}{\eta}\, }}\mathop{\sum}_{n=0}^{+\infty}
+\widehat{P}(\eta)\eta^2 n^2 P(n)=
+\int_{-\infty}^{+\infty}{\ensuremath{\mathrm{d}{\eta}\, }}\widehat{P}(\eta)\eta^2
+\mathop{\sum}_{n=0}^{+\infty}
+ n^2 P(n)
+=
+(\eta_0^2+\sigma_{\eta_0}^2)(C_0^2+C_0)\ ;
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+{\newpage\clearpage
+\lthtmlinlinemathA{tex2html_wrap_indisplay8818}%
+$\displaystyle {\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\sigma_X}}}}{{\ensuremath{\displaystyle{\langle X\rangle}}}}}}}={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\sqrt{\langle X^2\rangle-\langle X\rangle^2}}}}}{{\ensuremath{\displaystyle{\langle X\rangle}}}}}}}
+={\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\sqrt{
+\eta_0^2 C_0+\sigma_{\eta_0}^2C_0^2+\sigma_{\eta_0}^2 C_0
+}}}}}{{\ensuremath{\displaystyle{\eta_0C_0}}}}}}}=
+\sqrt{
+{\ensuremath{\left({{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{ \sigma_{C_0}}}}}{{\ensuremath{\displaystyle{C_0}}}}}}}}\right)}}^2
++{\ensuremath{\left({{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\sigma_{\eta_0}}}}}{{\ensuremath{\displaystyle{\eta_0}}}}}}}}\right)}}^2+{\ensuremath{\left({{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\sigma_{\eta_0}}}}}{{\ensuremath{\displaystyle{\eta_0}}}}}}}{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\sigma_{C_0}}}}}{{\ensuremath{\displaystyle{C_0}}}}}}}}\right)}}^2
+}\approx\sqrt{
+{\ensuremath{\left({{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{ \sigma_{C_0}}}}}{{\ensuremath{\displaystyle{C_0}}}}}}}}\right)}}^2
++{\ensuremath{\left({{\ensuremath{\displaystyle{\frac{{\ensuremath{\displaystyle{\sigma_{\eta_0}}}}}{{\ensuremath{\displaystyle{\eta_0}}}}}}}}\right)}}^2
+}
+$%
+\lthtmlindisplaymathZ
+\lthtmlcheckvsize\clearpage}
+
+\stepcounter{section}
+
+\end{document}
diff --git a/manual/docs/html/slsDetectors-FAQ/img1.png b/manual/docs/html/slsDetectors-FAQ/img1.png
new file mode 100644
index 000000000..a779a8e08
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img1.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img10.png b/manual/docs/html/slsDetectors-FAQ/img10.png
new file mode 100644
index 000000000..deec7e56e
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img10.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img100.png b/manual/docs/html/slsDetectors-FAQ/img100.png
new file mode 100644
index 000000000..0e7f63502
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img100.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img101.png b/manual/docs/html/slsDetectors-FAQ/img101.png
new file mode 100644
index 000000000..a4bb2cb89
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img101.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img102.png b/manual/docs/html/slsDetectors-FAQ/img102.png
new file mode 100644
index 000000000..341d0e12f
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img102.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img103.png b/manual/docs/html/slsDetectors-FAQ/img103.png
new file mode 100644
index 000000000..c5a143564
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img103.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img104.png b/manual/docs/html/slsDetectors-FAQ/img104.png
new file mode 100644
index 000000000..b2601ae58
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img104.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img105.png b/manual/docs/html/slsDetectors-FAQ/img105.png
new file mode 100644
index 000000000..b546ab960
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img105.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img106.png b/manual/docs/html/slsDetectors-FAQ/img106.png
new file mode 100644
index 000000000..89361f973
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img106.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img107.png b/manual/docs/html/slsDetectors-FAQ/img107.png
new file mode 100644
index 000000000..9ed9987b1
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img107.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img108.png b/manual/docs/html/slsDetectors-FAQ/img108.png
new file mode 100644
index 000000000..2ce4b4cc3
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img108.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img109.png b/manual/docs/html/slsDetectors-FAQ/img109.png
new file mode 100644
index 000000000..acbe1ac60
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img109.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img11.png b/manual/docs/html/slsDetectors-FAQ/img11.png
new file mode 100644
index 000000000..f7a28efdd
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img11.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img110.png b/manual/docs/html/slsDetectors-FAQ/img110.png
new file mode 100644
index 000000000..e846ecd0c
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img110.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img111.png b/manual/docs/html/slsDetectors-FAQ/img111.png
new file mode 100644
index 000000000..1d3d1fd72
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img111.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img112.png b/manual/docs/html/slsDetectors-FAQ/img112.png
new file mode 100644
index 000000000..1b6e641dd
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img112.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img113.png b/manual/docs/html/slsDetectors-FAQ/img113.png
new file mode 100644
index 000000000..9f5204990
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img113.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img114.png b/manual/docs/html/slsDetectors-FAQ/img114.png
new file mode 100644
index 000000000..6b9b4a285
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img114.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img115.png b/manual/docs/html/slsDetectors-FAQ/img115.png
new file mode 100644
index 000000000..dcddbd267
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img115.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img116.png b/manual/docs/html/slsDetectors-FAQ/img116.png
new file mode 100644
index 000000000..96953e9bc
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img116.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img117.png b/manual/docs/html/slsDetectors-FAQ/img117.png
new file mode 100644
index 000000000..55ecfd71e
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img117.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img118.png b/manual/docs/html/slsDetectors-FAQ/img118.png
new file mode 100644
index 000000000..e7e86b3a1
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img118.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img119.png b/manual/docs/html/slsDetectors-FAQ/img119.png
new file mode 100644
index 000000000..12a611c23
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img119.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img12.png b/manual/docs/html/slsDetectors-FAQ/img12.png
new file mode 100644
index 000000000..c0560a18e
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img12.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img120.png b/manual/docs/html/slsDetectors-FAQ/img120.png
new file mode 100644
index 000000000..0dea7105f
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img120.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img121.png b/manual/docs/html/slsDetectors-FAQ/img121.png
new file mode 100644
index 000000000..2af42f5b0
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img121.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img122.png b/manual/docs/html/slsDetectors-FAQ/img122.png
new file mode 100644
index 000000000..836591313
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img122.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img123.png b/manual/docs/html/slsDetectors-FAQ/img123.png
new file mode 100644
index 000000000..d686d536f
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img123.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img124.png b/manual/docs/html/slsDetectors-FAQ/img124.png
new file mode 100644
index 000000000..c4f6ae615
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img124.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img125.png b/manual/docs/html/slsDetectors-FAQ/img125.png
new file mode 100644
index 000000000..2e6aab758
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img125.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img126.png b/manual/docs/html/slsDetectors-FAQ/img126.png
new file mode 100644
index 000000000..38cb5402a
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img126.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img127.png b/manual/docs/html/slsDetectors-FAQ/img127.png
new file mode 100644
index 000000000..53d44813e
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img127.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img128.png b/manual/docs/html/slsDetectors-FAQ/img128.png
new file mode 100644
index 000000000..b38e7d60a
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img128.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img129.png b/manual/docs/html/slsDetectors-FAQ/img129.png
new file mode 100644
index 000000000..209f3e74a
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img129.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img13.png b/manual/docs/html/slsDetectors-FAQ/img13.png
new file mode 100644
index 000000000..bcda9d441
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img13.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img130.png b/manual/docs/html/slsDetectors-FAQ/img130.png
new file mode 100644
index 000000000..9f6b36a51
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img130.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img131.png b/manual/docs/html/slsDetectors-FAQ/img131.png
new file mode 100644
index 000000000..96b9fc1df
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img131.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img132.png b/manual/docs/html/slsDetectors-FAQ/img132.png
new file mode 100644
index 000000000..fda1721f8
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img132.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img133.png b/manual/docs/html/slsDetectors-FAQ/img133.png
new file mode 100644
index 000000000..76bd34d65
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img133.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img134.png b/manual/docs/html/slsDetectors-FAQ/img134.png
new file mode 100644
index 000000000..4021b9607
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img134.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img135.png b/manual/docs/html/slsDetectors-FAQ/img135.png
new file mode 100644
index 000000000..007c348ab
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img135.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img136.png b/manual/docs/html/slsDetectors-FAQ/img136.png
new file mode 100644
index 000000000..18ea39a15
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img136.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img137.png b/manual/docs/html/slsDetectors-FAQ/img137.png
new file mode 100644
index 000000000..353d3857e
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img137.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img138.png b/manual/docs/html/slsDetectors-FAQ/img138.png
new file mode 100644
index 000000000..009422312
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img138.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img139.png b/manual/docs/html/slsDetectors-FAQ/img139.png
new file mode 100644
index 000000000..6480bc44a
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img139.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img14.png b/manual/docs/html/slsDetectors-FAQ/img14.png
new file mode 100644
index 000000000..5116090f0
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img14.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img140.png b/manual/docs/html/slsDetectors-FAQ/img140.png
new file mode 100644
index 000000000..c3374bdac
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img140.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img141.png b/manual/docs/html/slsDetectors-FAQ/img141.png
new file mode 100644
index 000000000..2d965d0af
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img141.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img142.png b/manual/docs/html/slsDetectors-FAQ/img142.png
new file mode 100644
index 000000000..91d478e10
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img142.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img143.png b/manual/docs/html/slsDetectors-FAQ/img143.png
new file mode 100644
index 000000000..b036fc434
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img143.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img144.png b/manual/docs/html/slsDetectors-FAQ/img144.png
new file mode 100644
index 000000000..ab341c11d
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img144.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img145.png b/manual/docs/html/slsDetectors-FAQ/img145.png
new file mode 100644
index 000000000..b48375dcc
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img145.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img146.png b/manual/docs/html/slsDetectors-FAQ/img146.png
new file mode 100644
index 000000000..1e0b9f1d9
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img146.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img147.png b/manual/docs/html/slsDetectors-FAQ/img147.png
new file mode 100644
index 000000000..2ad1f8a71
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img147.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img148.png b/manual/docs/html/slsDetectors-FAQ/img148.png
new file mode 100644
index 000000000..5ae28b112
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img148.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img149.png b/manual/docs/html/slsDetectors-FAQ/img149.png
new file mode 100644
index 000000000..8632a1534
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img149.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img15.png b/manual/docs/html/slsDetectors-FAQ/img15.png
new file mode 100644
index 000000000..48c1c8eb0
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img15.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img150.png b/manual/docs/html/slsDetectors-FAQ/img150.png
new file mode 100644
index 000000000..3f7aa62e8
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img150.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img151.png b/manual/docs/html/slsDetectors-FAQ/img151.png
new file mode 100644
index 000000000..4817f8a2b
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img151.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img152.png b/manual/docs/html/slsDetectors-FAQ/img152.png
new file mode 100644
index 000000000..2a7483097
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img152.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img153.png b/manual/docs/html/slsDetectors-FAQ/img153.png
new file mode 100644
index 000000000..ccfbd4f38
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img153.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img154.png b/manual/docs/html/slsDetectors-FAQ/img154.png
new file mode 100644
index 000000000..95c189c78
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img154.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img155.png b/manual/docs/html/slsDetectors-FAQ/img155.png
new file mode 100644
index 000000000..c74a82d17
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img155.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img156.png b/manual/docs/html/slsDetectors-FAQ/img156.png
new file mode 100644
index 000000000..65c36f936
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img156.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img157.png b/manual/docs/html/slsDetectors-FAQ/img157.png
new file mode 100644
index 000000000..b753f317c
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img157.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img158.png b/manual/docs/html/slsDetectors-FAQ/img158.png
new file mode 100644
index 000000000..327e10406
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img158.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img159.png b/manual/docs/html/slsDetectors-FAQ/img159.png
new file mode 100644
index 000000000..0cf55cda9
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img159.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img16.png b/manual/docs/html/slsDetectors-FAQ/img16.png
new file mode 100644
index 000000000..c73b0abe3
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img16.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img160.png b/manual/docs/html/slsDetectors-FAQ/img160.png
new file mode 100644
index 000000000..353ccb419
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img160.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img161.png b/manual/docs/html/slsDetectors-FAQ/img161.png
new file mode 100644
index 000000000..b00629daa
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img161.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img162.png b/manual/docs/html/slsDetectors-FAQ/img162.png
new file mode 100644
index 000000000..11a6fb1c8
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img162.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img163.png b/manual/docs/html/slsDetectors-FAQ/img163.png
new file mode 100644
index 000000000..70ac016d3
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img163.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img164.png b/manual/docs/html/slsDetectors-FAQ/img164.png
new file mode 100644
index 000000000..1f628ea87
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img164.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img165.png b/manual/docs/html/slsDetectors-FAQ/img165.png
new file mode 100644
index 000000000..fe66a1144
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img165.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img166.png b/manual/docs/html/slsDetectors-FAQ/img166.png
new file mode 100644
index 000000000..0e2cf398b
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img166.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img167.png b/manual/docs/html/slsDetectors-FAQ/img167.png
new file mode 100644
index 000000000..27ef32714
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img167.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img168.png b/manual/docs/html/slsDetectors-FAQ/img168.png
new file mode 100644
index 000000000..54df94a76
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img168.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img169.png b/manual/docs/html/slsDetectors-FAQ/img169.png
new file mode 100644
index 000000000..397024e08
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img169.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img17.png b/manual/docs/html/slsDetectors-FAQ/img17.png
new file mode 100644
index 000000000..4165658d0
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img17.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img170.png b/manual/docs/html/slsDetectors-FAQ/img170.png
new file mode 100644
index 000000000..ceb7248ea
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img170.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img171.png b/manual/docs/html/slsDetectors-FAQ/img171.png
new file mode 100644
index 000000000..7434431c9
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img171.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img172.png b/manual/docs/html/slsDetectors-FAQ/img172.png
new file mode 100644
index 000000000..ee184143e
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img172.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img173.png b/manual/docs/html/slsDetectors-FAQ/img173.png
new file mode 100644
index 000000000..8a47b968c
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img173.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img174.png b/manual/docs/html/slsDetectors-FAQ/img174.png
new file mode 100644
index 000000000..05c3f2f8f
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img174.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img175.png b/manual/docs/html/slsDetectors-FAQ/img175.png
new file mode 100644
index 000000000..25de9b8e6
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img175.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img176.png b/manual/docs/html/slsDetectors-FAQ/img176.png
new file mode 100644
index 000000000..064dd31c2
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img176.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img177.png b/manual/docs/html/slsDetectors-FAQ/img177.png
new file mode 100644
index 000000000..10ce881c9
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img177.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img178.png b/manual/docs/html/slsDetectors-FAQ/img178.png
new file mode 100644
index 000000000..6e79c76a2
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img178.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img179.png b/manual/docs/html/slsDetectors-FAQ/img179.png
new file mode 100644
index 000000000..85b654e6e
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img179.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img18.png b/manual/docs/html/slsDetectors-FAQ/img18.png
new file mode 100644
index 000000000..8a17be88c
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img18.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img180.png b/manual/docs/html/slsDetectors-FAQ/img180.png
new file mode 100644
index 000000000..a8974f5eb
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img180.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img181.png b/manual/docs/html/slsDetectors-FAQ/img181.png
new file mode 100644
index 000000000..d1778b53c
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img181.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img182.png b/manual/docs/html/slsDetectors-FAQ/img182.png
new file mode 100644
index 000000000..74f1bbadb
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img182.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img183.png b/manual/docs/html/slsDetectors-FAQ/img183.png
new file mode 100644
index 000000000..5bffbef75
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img183.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img184.png b/manual/docs/html/slsDetectors-FAQ/img184.png
new file mode 100644
index 000000000..685458dba
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img184.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img185.png b/manual/docs/html/slsDetectors-FAQ/img185.png
new file mode 100644
index 000000000..940adf378
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img185.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img186.png b/manual/docs/html/slsDetectors-FAQ/img186.png
new file mode 100644
index 000000000..ebaadee0d
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img186.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img187.png b/manual/docs/html/slsDetectors-FAQ/img187.png
new file mode 100644
index 000000000..bf4c5fcbe
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img187.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img188.png b/manual/docs/html/slsDetectors-FAQ/img188.png
new file mode 100644
index 000000000..b8f7e70ca
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img188.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img189.png b/manual/docs/html/slsDetectors-FAQ/img189.png
new file mode 100644
index 000000000..0d6b6ccef
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img189.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img19.png b/manual/docs/html/slsDetectors-FAQ/img19.png
new file mode 100644
index 000000000..4dde52753
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img19.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img190.png b/manual/docs/html/slsDetectors-FAQ/img190.png
new file mode 100644
index 000000000..4866630f4
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img190.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img191.png b/manual/docs/html/slsDetectors-FAQ/img191.png
new file mode 100644
index 000000000..eb9326509
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img191.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img192.png b/manual/docs/html/slsDetectors-FAQ/img192.png
new file mode 100644
index 000000000..e83fdc681
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img192.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img193.png b/manual/docs/html/slsDetectors-FAQ/img193.png
new file mode 100644
index 000000000..1e8fb02ec
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img193.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img194.png b/manual/docs/html/slsDetectors-FAQ/img194.png
new file mode 100644
index 000000000..844a6f77d
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img194.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img195.png b/manual/docs/html/slsDetectors-FAQ/img195.png
new file mode 100644
index 000000000..abff2533f
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img195.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img196.png b/manual/docs/html/slsDetectors-FAQ/img196.png
new file mode 100644
index 000000000..b11678e28
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img196.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img197.png b/manual/docs/html/slsDetectors-FAQ/img197.png
new file mode 100644
index 000000000..f6b982d0c
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img197.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img198.png b/manual/docs/html/slsDetectors-FAQ/img198.png
new file mode 100644
index 000000000..ba553755c
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img198.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img199.png b/manual/docs/html/slsDetectors-FAQ/img199.png
new file mode 100644
index 000000000..40bc6eab9
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img199.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img2.png b/manual/docs/html/slsDetectors-FAQ/img2.png
new file mode 100644
index 000000000..78611ada5
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img2.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img20.png b/manual/docs/html/slsDetectors-FAQ/img20.png
new file mode 100644
index 000000000..74d5b3806
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img20.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img200.png b/manual/docs/html/slsDetectors-FAQ/img200.png
new file mode 100644
index 000000000..45ed07e69
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img200.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img201.png b/manual/docs/html/slsDetectors-FAQ/img201.png
new file mode 100644
index 000000000..b02437ee7
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img201.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img202.png b/manual/docs/html/slsDetectors-FAQ/img202.png
new file mode 100644
index 000000000..f819959f0
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img202.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img203.png b/manual/docs/html/slsDetectors-FAQ/img203.png
new file mode 100644
index 000000000..03f4dc9f6
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img203.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img204.png b/manual/docs/html/slsDetectors-FAQ/img204.png
new file mode 100644
index 000000000..7368887d3
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img204.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img205.png b/manual/docs/html/slsDetectors-FAQ/img205.png
new file mode 100644
index 000000000..3047b4eef
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img205.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img206.png b/manual/docs/html/slsDetectors-FAQ/img206.png
new file mode 100644
index 000000000..f9bb4d64c
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img206.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img207.png b/manual/docs/html/slsDetectors-FAQ/img207.png
new file mode 100644
index 000000000..4153371e2
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img207.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img208.png b/manual/docs/html/slsDetectors-FAQ/img208.png
new file mode 100644
index 000000000..dca257cfa
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img208.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img209.png b/manual/docs/html/slsDetectors-FAQ/img209.png
new file mode 100644
index 000000000..fd6272a0a
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img209.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img21.png b/manual/docs/html/slsDetectors-FAQ/img21.png
new file mode 100644
index 000000000..397bd8bbb
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img21.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img210.png b/manual/docs/html/slsDetectors-FAQ/img210.png
new file mode 100644
index 000000000..e6ad0a3b1
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img210.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img211.png b/manual/docs/html/slsDetectors-FAQ/img211.png
new file mode 100644
index 000000000..c1a4b2d60
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img211.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img212.png b/manual/docs/html/slsDetectors-FAQ/img212.png
new file mode 100644
index 000000000..dbd7f7327
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img212.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img213.png b/manual/docs/html/slsDetectors-FAQ/img213.png
new file mode 100644
index 000000000..2879bafc9
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img213.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img214.png b/manual/docs/html/slsDetectors-FAQ/img214.png
new file mode 100644
index 000000000..2f8ab5eb1
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img214.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img215.png b/manual/docs/html/slsDetectors-FAQ/img215.png
new file mode 100644
index 000000000..276ab83ec
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img215.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img216.png b/manual/docs/html/slsDetectors-FAQ/img216.png
new file mode 100644
index 000000000..084183bbf
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img216.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img217.png b/manual/docs/html/slsDetectors-FAQ/img217.png
new file mode 100644
index 000000000..ecf198564
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img217.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img218.png b/manual/docs/html/slsDetectors-FAQ/img218.png
new file mode 100644
index 000000000..d071216d5
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img218.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img219.png b/manual/docs/html/slsDetectors-FAQ/img219.png
new file mode 100644
index 000000000..ee7f72d9d
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img219.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img22.png b/manual/docs/html/slsDetectors-FAQ/img22.png
new file mode 100644
index 000000000..bcb055c2b
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img22.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img220.png b/manual/docs/html/slsDetectors-FAQ/img220.png
new file mode 100644
index 000000000..2fb28a3b5
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img220.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img221.png b/manual/docs/html/slsDetectors-FAQ/img221.png
new file mode 100644
index 000000000..9393b64ee
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img221.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img222.png b/manual/docs/html/slsDetectors-FAQ/img222.png
new file mode 100644
index 000000000..48395bf4b
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img222.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img223.png b/manual/docs/html/slsDetectors-FAQ/img223.png
new file mode 100644
index 000000000..19fbc2211
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img223.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img224.png b/manual/docs/html/slsDetectors-FAQ/img224.png
new file mode 100644
index 000000000..cf92cb378
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img224.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img225.png b/manual/docs/html/slsDetectors-FAQ/img225.png
new file mode 100644
index 000000000..3a0bd968e
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img225.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img226.png b/manual/docs/html/slsDetectors-FAQ/img226.png
new file mode 100644
index 000000000..f2257627e
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img226.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img23.png b/manual/docs/html/slsDetectors-FAQ/img23.png
new file mode 100644
index 000000000..c0c9becf6
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img23.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img24.png b/manual/docs/html/slsDetectors-FAQ/img24.png
new file mode 100644
index 000000000..706e7ae7f
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img24.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img25.png b/manual/docs/html/slsDetectors-FAQ/img25.png
new file mode 100644
index 000000000..87b0475f4
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img25.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img26.png b/manual/docs/html/slsDetectors-FAQ/img26.png
new file mode 100644
index 000000000..98df701fc
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img26.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img27.png b/manual/docs/html/slsDetectors-FAQ/img27.png
new file mode 100644
index 000000000..0eb1921b7
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img27.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img28.png b/manual/docs/html/slsDetectors-FAQ/img28.png
new file mode 100644
index 000000000..e90d33a93
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img28.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img29.png b/manual/docs/html/slsDetectors-FAQ/img29.png
new file mode 100644
index 000000000..4ec956b54
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img29.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img3.png b/manual/docs/html/slsDetectors-FAQ/img3.png
new file mode 100644
index 000000000..c2c98324d
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img3.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img30.png b/manual/docs/html/slsDetectors-FAQ/img30.png
new file mode 100644
index 000000000..cdf856bcf
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img30.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img31.png b/manual/docs/html/slsDetectors-FAQ/img31.png
new file mode 100644
index 000000000..a15f6b1a6
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img31.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img32.png b/manual/docs/html/slsDetectors-FAQ/img32.png
new file mode 100644
index 000000000..356f944c3
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img32.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img33.png b/manual/docs/html/slsDetectors-FAQ/img33.png
new file mode 100644
index 000000000..de1d1f439
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img33.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img34.png b/manual/docs/html/slsDetectors-FAQ/img34.png
new file mode 100644
index 000000000..af800e781
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img34.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img35.png b/manual/docs/html/slsDetectors-FAQ/img35.png
new file mode 100644
index 000000000..8279580be
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img35.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img36.png b/manual/docs/html/slsDetectors-FAQ/img36.png
new file mode 100644
index 000000000..7ed2b212a
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img36.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img37.png b/manual/docs/html/slsDetectors-FAQ/img37.png
new file mode 100644
index 000000000..0df62b40d
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img37.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img38.png b/manual/docs/html/slsDetectors-FAQ/img38.png
new file mode 100644
index 000000000..7bf7f3700
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img38.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img39.png b/manual/docs/html/slsDetectors-FAQ/img39.png
new file mode 100644
index 000000000..7b6be64c9
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img39.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img4.png b/manual/docs/html/slsDetectors-FAQ/img4.png
new file mode 100644
index 000000000..d6580ada5
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img4.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img40.png b/manual/docs/html/slsDetectors-FAQ/img40.png
new file mode 100644
index 000000000..ab3552ef2
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img40.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img41.png b/manual/docs/html/slsDetectors-FAQ/img41.png
new file mode 100644
index 000000000..8ffbe6be5
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img41.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img42.png b/manual/docs/html/slsDetectors-FAQ/img42.png
new file mode 100644
index 000000000..6642783d7
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img42.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img43.png b/manual/docs/html/slsDetectors-FAQ/img43.png
new file mode 100644
index 000000000..f549932d0
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img43.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img44.png b/manual/docs/html/slsDetectors-FAQ/img44.png
new file mode 100644
index 000000000..d10304f5c
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img44.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img45.png b/manual/docs/html/slsDetectors-FAQ/img45.png
new file mode 100644
index 000000000..49253edb9
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img45.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img46.png b/manual/docs/html/slsDetectors-FAQ/img46.png
new file mode 100644
index 000000000..93d20946c
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img46.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img47.png b/manual/docs/html/slsDetectors-FAQ/img47.png
new file mode 100644
index 000000000..2268ee18d
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img47.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img48.png b/manual/docs/html/slsDetectors-FAQ/img48.png
new file mode 100644
index 000000000..46ec6a0e2
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img48.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img49.png b/manual/docs/html/slsDetectors-FAQ/img49.png
new file mode 100644
index 000000000..7bf3b6bcc
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img49.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img5.png b/manual/docs/html/slsDetectors-FAQ/img5.png
new file mode 100644
index 000000000..58570f480
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img5.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img50.png b/manual/docs/html/slsDetectors-FAQ/img50.png
new file mode 100644
index 000000000..49253edb9
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img50.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img51.png b/manual/docs/html/slsDetectors-FAQ/img51.png
new file mode 100644
index 000000000..9fd08931f
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img51.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img52.png b/manual/docs/html/slsDetectors-FAQ/img52.png
new file mode 100644
index 000000000..e5262581e
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img52.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img53.png b/manual/docs/html/slsDetectors-FAQ/img53.png
new file mode 100644
index 000000000..2268ee18d
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img53.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img54.png b/manual/docs/html/slsDetectors-FAQ/img54.png
new file mode 100644
index 000000000..9de1ca7e4
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img54.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img55.png b/manual/docs/html/slsDetectors-FAQ/img55.png
new file mode 100644
index 000000000..93d20946c
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img55.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img56.png b/manual/docs/html/slsDetectors-FAQ/img56.png
new file mode 100644
index 000000000..1ad9378b0
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img56.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img57.png b/manual/docs/html/slsDetectors-FAQ/img57.png
new file mode 100644
index 000000000..f549932d0
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img57.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img58.png b/manual/docs/html/slsDetectors-FAQ/img58.png
new file mode 100644
index 000000000..53795235d
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img58.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img59.png b/manual/docs/html/slsDetectors-FAQ/img59.png
new file mode 100644
index 000000000..6642783d7
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img59.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img6.png b/manual/docs/html/slsDetectors-FAQ/img6.png
new file mode 100644
index 000000000..f49d74583
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img6.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img60.png b/manual/docs/html/slsDetectors-FAQ/img60.png
new file mode 100644
index 000000000..1dfd63d10
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img60.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img61.png b/manual/docs/html/slsDetectors-FAQ/img61.png
new file mode 100644
index 000000000..d10304f5c
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img61.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img62.png b/manual/docs/html/slsDetectors-FAQ/img62.png
new file mode 100644
index 000000000..6897b93a3
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img62.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img63.png b/manual/docs/html/slsDetectors-FAQ/img63.png
new file mode 100644
index 000000000..0b6f822a9
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img63.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img64.png b/manual/docs/html/slsDetectors-FAQ/img64.png
new file mode 100644
index 000000000..0b6f822a9
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img64.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img65.png b/manual/docs/html/slsDetectors-FAQ/img65.png
new file mode 100644
index 000000000..5dfb1d2c1
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img65.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img66.png b/manual/docs/html/slsDetectors-FAQ/img66.png
new file mode 100644
index 000000000..7ba8c525f
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img66.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img67.png b/manual/docs/html/slsDetectors-FAQ/img67.png
new file mode 100644
index 000000000..313bcbbd3
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img67.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img68.png b/manual/docs/html/slsDetectors-FAQ/img68.png
new file mode 100644
index 000000000..5242e2c4f
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img68.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img69.png b/manual/docs/html/slsDetectors-FAQ/img69.png
new file mode 100644
index 000000000..a17042363
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img69.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img7.png b/manual/docs/html/slsDetectors-FAQ/img7.png
new file mode 100644
index 000000000..c655ff1db
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img7.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img70.png b/manual/docs/html/slsDetectors-FAQ/img70.png
new file mode 100644
index 000000000..92285588e
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img70.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img71.png b/manual/docs/html/slsDetectors-FAQ/img71.png
new file mode 100644
index 000000000..94290ca1a
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img71.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img72.png b/manual/docs/html/slsDetectors-FAQ/img72.png
new file mode 100644
index 000000000..0dacc1175
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img72.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img73.png b/manual/docs/html/slsDetectors-FAQ/img73.png
new file mode 100644
index 000000000..320722513
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img73.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img74.png b/manual/docs/html/slsDetectors-FAQ/img74.png
new file mode 100644
index 000000000..cf01214ce
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img74.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img75.png b/manual/docs/html/slsDetectors-FAQ/img75.png
new file mode 100644
index 000000000..75512193b
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img75.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img76.png b/manual/docs/html/slsDetectors-FAQ/img76.png
new file mode 100644
index 000000000..e2ef9d407
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img76.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img77.png b/manual/docs/html/slsDetectors-FAQ/img77.png
new file mode 100644
index 000000000..70cbc4f4b
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img77.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img78.png b/manual/docs/html/slsDetectors-FAQ/img78.png
new file mode 100644
index 000000000..9259cf9fa
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img78.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img79.png b/manual/docs/html/slsDetectors-FAQ/img79.png
new file mode 100644
index 000000000..645e439e0
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img79.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img8.png b/manual/docs/html/slsDetectors-FAQ/img8.png
new file mode 100644
index 000000000..0a80ddc57
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img8.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img80.png b/manual/docs/html/slsDetectors-FAQ/img80.png
new file mode 100644
index 000000000..a6d623faa
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img80.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img81.png b/manual/docs/html/slsDetectors-FAQ/img81.png
new file mode 100644
index 000000000..1b169a4cd
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img81.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img82.png b/manual/docs/html/slsDetectors-FAQ/img82.png
new file mode 100644
index 000000000..c2544f366
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img82.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img83.png b/manual/docs/html/slsDetectors-FAQ/img83.png
new file mode 100644
index 000000000..ef68a809f
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img83.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img84.png b/manual/docs/html/slsDetectors-FAQ/img84.png
new file mode 100644
index 000000000..1b357bdd9
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img84.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img85.png b/manual/docs/html/slsDetectors-FAQ/img85.png
new file mode 100644
index 000000000..c7fd545bd
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img85.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img86.png b/manual/docs/html/slsDetectors-FAQ/img86.png
new file mode 100644
index 000000000..407a53dbf
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img86.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img87.png b/manual/docs/html/slsDetectors-FAQ/img87.png
new file mode 100644
index 000000000..bef7b40c1
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img87.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img88.png b/manual/docs/html/slsDetectors-FAQ/img88.png
new file mode 100644
index 000000000..f814bd0bb
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img88.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img89.png b/manual/docs/html/slsDetectors-FAQ/img89.png
new file mode 100644
index 000000000..9b1f3505d
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img89.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img9.png b/manual/docs/html/slsDetectors-FAQ/img9.png
new file mode 100644
index 000000000..ae0e35742
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img9.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img90.png b/manual/docs/html/slsDetectors-FAQ/img90.png
new file mode 100644
index 000000000..052d37965
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img90.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img91.png b/manual/docs/html/slsDetectors-FAQ/img91.png
new file mode 100644
index 000000000..67a4936be
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img91.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img92.png b/manual/docs/html/slsDetectors-FAQ/img92.png
new file mode 100644
index 000000000..081ffb002
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img92.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img93.png b/manual/docs/html/slsDetectors-FAQ/img93.png
new file mode 100644
index 000000000..3545352a9
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img93.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img94.png b/manual/docs/html/slsDetectors-FAQ/img94.png
new file mode 100644
index 000000000..e6ef729d2
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img94.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img95.png b/manual/docs/html/slsDetectors-FAQ/img95.png
new file mode 100644
index 000000000..ef68a809f
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img95.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img96.png b/manual/docs/html/slsDetectors-FAQ/img96.png
new file mode 100644
index 000000000..854b42583
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img96.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img97.png b/manual/docs/html/slsDetectors-FAQ/img97.png
new file mode 100644
index 000000000..6a049f33a
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img97.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img98.png b/manual/docs/html/slsDetectors-FAQ/img98.png
new file mode 100644
index 000000000..356d39827
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img98.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/img99.png b/manual/docs/html/slsDetectors-FAQ/img99.png
new file mode 100644
index 000000000..e5470d4eb
Binary files /dev/null and b/manual/docs/html/slsDetectors-FAQ/img99.png differ
diff --git a/manual/docs/html/slsDetectors-FAQ/index.html b/manual/docs/html/slsDetectors-FAQ/index.html
new file mode 100644
index 000000000..a76300860
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/index.html
@@ -0,0 +1,250 @@
+
+
+
+
+
+SLS Detectors
+Frequently Asked Questions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Contents
+ Contents
+
+
+
+
+
+
+
SLS Detectors
+
+Frequently Asked Questions
+Anna Bergamaschi
+
+Date: August 23, 2018
+
+
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/internals.pl b/manual/docs/html/slsDetectors-FAQ/internals.pl
new file mode 100644
index 000000000..9eba68261
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/internals.pl
@@ -0,0 +1,134 @@
+# LaTeX2HTML 2012 (1.2)
+# Associate internals original text with physical files.
+
+
+$key = q/sec:usersFunc/;
+$ref_files{$key} = "$dir".q|node15.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:merging/;
+$ref_files{$key} = "$dir".q|node46.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:multidet/;
+$ref_files{$key} = "$dir".q|node4.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:3/;
+$ref_files{$key} = "$dir".q|node63.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:samplefluo/;
+$ref_files{$key} = "$dir".q|node28.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:dataFormat/;
+$ref_files{$key} = "$dir".q|node16.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:badff/;
+$ref_files{$key} = "$dir".q|node30.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:datareceiver/;
+$ref_files{$key} = "$dir".q|node6.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:mythensett/;
+$ref_files{$key} = "$dir".q|node23.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:thresholdscanuntrimmed/;
+$ref_files{$key} = "$dir".q|node33.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:ffsetup/;
+$ref_files{$key} = "$dir".q|node31.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:effiback/;
+$ref_files{$key} = "$dir".q|node22.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:trimdir/;
+$ref_files{$key} = "$dir".q|node7.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:thresholdscantrimmed/;
+$ref_files{$key} = "$dir".q|node33.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:encal/;
+$ref_files{$key} = "$dir".q|node34.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:noisetrim/;
+$ref_files{$key} = "$dir".q|node33.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:thrscan/;
+$ref_files{$key} = "$dir".q|node28.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:timing/;
+$ref_files{$key} = "$dir".q|node13.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:gating/;
+$ref_files{$key} = "$dir".q|node13.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/eq:acqflow/;
+$ref_files{$key} = "$dir".q|node12.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:improvetrimming/;
+$ref_files{$key} = "$dir".q|node33.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:autotiming/;
+$ref_files{$key} = "$dir".q|node13.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:settings/;
+$ref_files{$key} = "$dir".q|node27.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:2/;
+$ref_files{$key} = "$dir".q|node52.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:effidet/;
+$ref_files{$key} = "$dir".q|node22.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:11/;
+$ref_files{$key} = "$dir".q|node50.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:thrscanfluo/;
+$ref_files{$key} = "$dir".q|node28.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:sync/;
+$ref_files{$key} = "$dir".q|node14.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:trig/;
+$ref_files{$key} = "$dir".q|node13.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:trimdistribution/;
+$ref_files{$key} = "$dir".q|node33.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:angcal/;
+$ref_files{$key} = "$dir".q|node45.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:trimplot/;
+$ref_files{$key} = "$dir".q|node33.html|;
+$noresave{$key} = "$nosave";
+
+1;
+
diff --git a/manual/docs/html/slsDetectors-FAQ/labels.pl b/manual/docs/html/slsDetectors-FAQ/labels.pl
new file mode 100644
index 000000000..ee5d67ce4
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/labels.pl
@@ -0,0 +1,269 @@
+# LaTeX2HTML 2012 (1.2)
+# Associate labels original text with physical files.
+
+
+$key = q/sec:usersFunc/;
+$external_labels{$key} = "$URL/" . q|node15.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:merging/;
+$external_labels{$key} = "$URL/" . q|node46.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:multidet/;
+$external_labels{$key} = "$URL/" . q|node4.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:3/;
+$external_labels{$key} = "$URL/" . q|node63.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:samplefluo/;
+$external_labels{$key} = "$URL/" . q|node28.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:dataFormat/;
+$external_labels{$key} = "$URL/" . q|node16.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:badff/;
+$external_labels{$key} = "$URL/" . q|node30.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:datareceiver/;
+$external_labels{$key} = "$URL/" . q|node6.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:mythensett/;
+$external_labels{$key} = "$URL/" . q|node23.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:thresholdscanuntrimmed/;
+$external_labels{$key} = "$URL/" . q|node33.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:ffsetup/;
+$external_labels{$key} = "$URL/" . q|node31.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:effiback/;
+$external_labels{$key} = "$URL/" . q|node22.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:trimdir/;
+$external_labels{$key} = "$URL/" . q|node7.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:thresholdscantrimmed/;
+$external_labels{$key} = "$URL/" . q|node33.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:encal/;
+$external_labels{$key} = "$URL/" . q|node34.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:noisetrim/;
+$external_labels{$key} = "$URL/" . q|node33.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:thrscan/;
+$external_labels{$key} = "$URL/" . q|node28.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:timing/;
+$external_labels{$key} = "$URL/" . q|node13.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:gating/;
+$external_labels{$key} = "$URL/" . q|node13.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/eq:acqflow/;
+$external_labels{$key} = "$URL/" . q|node12.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:improvetrimming/;
+$external_labels{$key} = "$URL/" . q|node33.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:autotiming/;
+$external_labels{$key} = "$URL/" . q|node13.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:settings/;
+$external_labels{$key} = "$URL/" . q|node27.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:2/;
+$external_labels{$key} = "$URL/" . q|node52.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:effidet/;
+$external_labels{$key} = "$URL/" . q|node22.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:11/;
+$external_labels{$key} = "$URL/" . q|node50.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:thrscanfluo/;
+$external_labels{$key} = "$URL/" . q|node28.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:sync/;
+$external_labels{$key} = "$URL/" . q|node14.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:trig/;
+$external_labels{$key} = "$URL/" . q|node13.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:trimdistribution/;
+$external_labels{$key} = "$URL/" . q|node33.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:angcal/;
+$external_labels{$key} = "$URL/" . q|node45.html|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:trimplot/;
+$external_labels{$key} = "$URL/" . q|node33.html|;
+$noresave{$key} = "$nosave";
+
+1;
+
+
+# LaTeX2HTML 2012 (1.2)
+# labels from external_latex_labels array.
+
+
+$key = q/sec:usersFunc/;
+$external_latex_labels{$key} = q|1.10|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:merging/;
+$external_latex_labels{$key} = q|5.2|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:multidet/;
+$external_latex_labels{$key} = q|1.1|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:3/;
+$external_latex_labels{$key} = q|5.2.6|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:samplefluo/;
+$external_latex_labels{$key} = q|3.4|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:dataFormat/;
+$external_latex_labels{$key} = q|1.11|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:badff/;
+$external_latex_labels{$key} = q|3.5|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:datareceiver/;
+$external_latex_labels{$key} = q|1.2|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:mythensett/;
+$external_latex_labels{$key} = q|2.3|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:thresholdscanuntrimmed/;
+$external_latex_labels{$key} = q|3.7|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:ffsetup/;
+$external_latex_labels{$key} = q|3.6|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:effiback/;
+$external_latex_labels{$key} = q|2.2|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:trimdir/;
+$external_latex_labels{$key} = q|1.4|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:thresholdscantrimmed/;
+$external_latex_labels{$key} = q|3.10|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:noisetrim/;
+$external_latex_labels{$key} = q|3.4.1|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:encal/;
+$external_latex_labels{$key} = q|3.5|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:thrscan/;
+$external_latex_labels{$key} = q|3.2|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:timing/;
+$external_latex_labels{$key} = q|1.8|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:gating/;
+$external_latex_labels{$key} = q|1.4|;
+$noresave{$key} = "$nosave";
+
+$key = q/eq:acqflow/;
+$external_latex_labels{$key} = q|1.7|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:improvetrimming/;
+$external_latex_labels{$key} = q|3.4.1|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:autotiming/;
+$external_latex_labels{$key} = q|1.3|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:settings/;
+$external_latex_labels{$key} = q|3.1|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:2/;
+$external_latex_labels{$key} = q|5.2.3|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:effidet/;
+$external_latex_labels{$key} = q|2.1|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:11/;
+$external_latex_labels{$key} = q|5.2.2|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:thrscanfluo/;
+$external_latex_labels{$key} = q|3.3|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:sync/;
+$external_latex_labels{$key} = q|1.9|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:trig/;
+$external_latex_labels{$key} = q|1.6|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:trimdistribution/;
+$external_latex_labels{$key} = q|3.8|;
+$noresave{$key} = "$nosave";
+
+$key = q/sec:angcal/;
+$external_latex_labels{$key} = q|5.1|;
+$noresave{$key} = "$nosave";
+
+$key = q/fig:trimplot/;
+$external_latex_labels{$key} = q|3.9|;
+$noresave{$key} = "$nosave";
+
+1;
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node1.html b/manual/docs/html/slsDetectors-FAQ/node1.html
new file mode 100644
index 000000000..89606d097
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node1.html
@@ -0,0 +1,204 @@
+
+
+
+
+
+Contents
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: SLS Detectors Software
+ Up: SLS Detectors Frequently Asked
+ Previous: SLS Detectors Frequently Asked
+
+
+
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node10.html b/manual/docs/html/slsDetectors-FAQ/node10.html
new file mode 100644
index 000000000..153ff070c
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node10.html
@@ -0,0 +1,77 @@
+
+
+
+
+
+How should a configuration file look like?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: What is the meaning
+ Up: SLS Detectors Software
+ Previous: GOTTHARD
+ Contents
+
+
+
+
+
+
+
+A configuration file is a list of command necessary to properly configure your detector systems, with default valuee for some parameters and other settings that the users should normally not change dinamically.
+For this reason most of the commands present in the configuration file cannot be modified when using the API.
+
+The syntax of the configuration file is exactly the same as in the comman line interface, therefore you can refere to that documentation to edit the files.
+
+The configuration files look different for the different detector types. Examples of configuration files can be found in the examples directory.
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node11.html b/manual/docs/html/slsDetectors-FAQ/node11.html
new file mode 100644
index 000000000..ac686cf3a
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node11.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+What is the meaning of the file name?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Which is the sequence
+ Up: SLS Detectors Software
+ Previous: How should a configuration
+ Contents
+
+
+
+
+
+The final file name will be:
+outdir/prefix [_d
+][_S
v0 ][_s
v1 ][_p
p ][_f
f ]_
i .
ext
+
+where:
+outdir is the output directory path;
+prefix is the chosen prefix for the file name;
+d is the detector index, in case of data receiver and more than one detector;
+v0 is the scan0 variable with the desired precision, if scan0 is enabled;
+v1 is the scan1 variable with the desired precision, if scan1 is enabled;
+p is the position index, if different positions are configured;
+f is the frame index of the first frame stored in the file, if many frames and cycles are configured;
+i is the file index;
+ext is the file extension e.g. .raw for MYTHEN raw data, .dat for MYTHEN processed data.
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node12.html b/manual/docs/html/slsDetectors-FAQ/node12.html
new file mode 100644
index 000000000..a1a220dd0
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node12.html
@@ -0,0 +1,343 @@
+
+
+
+
+
+Which is the sequence of the acquisition flow?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How can I synchronize
+ Up: SLS Detectors Software
+ Previous: What is the meaning
+ Contents
+
+
+
+
+
+
+
+The software gives the possibility to setup several loops, actions and scan utilities which are then handled during the acquisition.
+The software will also take care to generate the file names and increment the indexes accordingly.
+
+
+Figure 1.7 shows in which sequence the various scripts and loops are executed when calling the acquire command. The loops are drawn using the
+
+ symbol, while the scripts using the
+
+.
+
+
+
+
+
+
+
+
+
+
+If you prefere to handle the acquisition from your acquisition enviroment, simply leave al scripts and scans disabled and call the acquition from your acquisition enviroment.
+
+Only the frames and cycles loops are defined in firmware and guarantee a precise timing of the acquisition which cannot replaced by any other method (you can synchronize to your beamline by hardware connection of the IO signals as described in 1.8 ).
+
+
+Hereafter a description of the meaning of the various loops:
+
+Measurement loop
+executes offline several times the entire sequence of the acquisition. At the end of each measurement the file index is incremented.
+
+
+
+Scan 0 loop
+is a high level scan loop which can be used e.g to loop on an enviroment variable (temperature, humidity...) or even to change sample.
+
+The list of steps or range of the scan0 variable must be set as scan0steps or scan0range. For small steps of the scan variable, avoid overwriting of the files specifying all the necessary digits in the filename by properly setting the precision with scan0prec.
+
+
+
+Scan 1 loop
+is a low level scan loop which can be used e.g to loop on an enviroment variable (temperature, humidity...) or to move the sample in case of radiation damage.
+
+The list of steps or range of the scan1 variable must be set as scan1steps or scan1range. For small steps of the scan variable, avoid overwriting of the files specifying all the necessary digits in the filename by properly setting the precision with scan1prec.
+
+
+
+Position loop
+The detector is moved in the angular positions specified by the positions command.
+
+The command for moving the detector should be defined as described in 1.10 .
+
+All data acquired during a position loop will be merged together, unless the number of positions is set to 0. In this case single frames will be converted to angle without merging.
+
+Avoid using the position loop together with many frames/cycles.
+
+
+
+Cycles loop
+is executed in real time and defines e.g. the number of triggers that will be accepted. The total number of images will be given by frames times cycles.
+
+
+
+Frames loop
+is executed in real time and defines e.g. the images acquired per trigger. The total number of images will be given by frames times cycles.
+
+
+
+
+Executing a script simply consists in a system call with the arguments specified below. The various scripts are executed only if they are enabled and different than none .
+
+The scripts must be executable and the capability of parsing the arguments passed by the acquition program is left to the user writing the scripts. some example scripts writte in awk can be found in the examples directory.
+
+Hereafter a short description of how the scripts are called and with which options:
+
+Start script
+is executed at the very beginning of the measurement and can be used e.g. to initialize all the devices needed for the acquisition or open the beamline valves. The script is executed as:
+
+script nrun=i par=p
+
+where i is the file index and p is the start script parameter .
+
+
+
+Scan0 script
+There are a few predefined scan modes i.e. threshold changing the detector threshold in DAC units, energy chaning the calibrated detector threshold in eV, trimbits chaning the trimbits of the detector (advanced: do not use) and position changing the detector position (if the motor movement is correctly setup as described in 1.10 ). Otherwise the scan0script is executed as:
+
+script nrun=i fn=fn var=v par=p
+
+where i is the file index , fn is the file name , v is the value of the scan0 variable at the present step of the scan0 loop and p is the scan 0 script parameter .
+
+
+
+Scan1 script
+There are a few predefined scan modes i.e. threshold changing the detector threshold in DAC units, energy chaning the calibrated detector threshold in eV, trimbits chaning the trimbits of the detector (advanced: do not use) and position changing the detector position (if the motor movement is correctly setup as described in 1.10 ). Otherwise the scan1script is executed as:
+
+script nrun=i fn=fn var=v par=p
+
+where i is the file index , fn is the file name , v is the value of the scan1 variable at the present step of the scan1 loop and p is the scan 1 script parameter .
+
+
+
+Script before
+is called just before the beginning of the data taking and can be used e.g. to open the shutter.
+ The script is executed as:
+
+script nrun=i fn=fn par=p sv0=v0 sv1=v1 p0=p0 p1=p1
+
+where i is the file index , fn is the file name , p is the script before parameter , v0 and v1 are the values of the scan0 and scan1 variables at the present step of the scan loops and p0 and p1 are the scan0 and scan1 script parameters .
+
+
+
+Header before script
+is called before every step of the data taking (i.e. for each position, but at the beginning of the frames train if several acquisition have been programmed in real time) and can e.g. be used to dump the exact settings of the detector and beamline to reproduce or analyze the data offline.
+ The script is executed as:
+
+script nrun=i fn=fn par=p
+
+where i is the file index , fn is the file name , and p is the header before parameter .
+
+
+
+Header after script
+is called after every step of the data taking (i.e. for each position, but at the end of the frames train if several acquisition have been programmed in real time) and can e.g. be used to dump the exact settings of the detector and beamline to reproduce or analyze the data offline.
+ The script is executed as:
+
+script nrun=i fn=fn par=p
+
+where i is the file index , fn is the file name , and p is the header after parameter .
+
+
+
+Script after
+is called just after the end of the data taking and can be used e.g. to close the shutter.
+ The script is executed as:
+
+script nrun=i fn=fn par=p sv0=v0 sv1=v1 p0=p0 p1=p1
+
+where i is the file index , fn is the file name , p is the script after parameter , v0 and v1 are the values of the scan0 and scan1 variables at the present step of the scan loops and p0 and p1 are the scan0 and scan1 script parameters .
+
+
+
+Stop script
+is executed at the very end of the measurement and can be used e.g. to switch off all devices. The script is executed as:
+
+script nrun=i par=p
+
+where i si the file index and p is the stop script parameter .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How can I synchronize
+ Up: SLS Detectors Software
+ Previous: What is the meaning
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node13.html b/manual/docs/html/slsDetectors-FAQ/node13.html
new file mode 100644
index 000000000..e763c979c
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node13.html
@@ -0,0 +1,201 @@
+
+
+
+
+
+How can I synchronize my detector with the experiment?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How can several controllers
+ Up: SLS Detectors Software
+ Previous: Which is the sequence
+ Contents
+
+
+
+
+
+
+How can I synchronize my detector with the experiment?
+
+
+
+The timing of the detector is always defined by an active detection time followed by a dead time during which the detector is read out. This read out time as a fixed duration depending on the detector type and its configuration (e.g. dynamic range) which limits the maximum frame rate achievable.
+
+In the following is a list of the main parameters involved in the acquisition timing:
+
+Exposure time
+is the time during which the detector is detecting X-rays for each image (ignored is the timing mode is gating ).
+
+Period
+is the period of the images acquired. If it is shorter than the exposure time plus readout time, it will be ignored.
+
+Delay after trigger
+can be set as a delay between the trigger signal and the start of the detection time.
+
+Number of gates
+is used only in gating mode and is the number of times that the gate is toggled before the detector is read out. Useful for stroboscopic measurements with gate period shorter than the minim acquisition period of the detector, otherwise can be left to 1.
+
+Number of frames
+is the number of images to be acquired per cycle. Frames and cycles have the same meaning except in trigger mode, when frames means the number of images per trigger. The total number of images is frames time cycles.
+
+Number of cycles
+is the number of times that the frames are acquired. Frames and cycles have the same meaning except in trigger mode, when cycles means the number of triggers that will be accepted. The total number of images is frames time cycles.
+
+Number of probes
+is used in stoboscopic measurements when the period is longer than the minimum acquisition period, but shorter than the frame rate.
+
+In this case the data can be summed in firmware.
+
+Currently it is implemented for Mythen only. If probes is set to 0, works normallyreturning an image for each readout, otherwise set number of cycles to 1. The maximum number of probes that can be set is 3. The detector will return a number of image equal to the number of probes, where all frames are going to be accumulated. The total number of readouts is number of frames time probes and for probes=1 the detector will return one image where all frames have been summed, for probes=2 two images where every second frame has been summed (each image accumulates the number of frames), for probes=3 three images where every third image has been summed (each image accumulates the number of frames).
+
+The returned images will always have 32 bit dynamic range, while the dynamic range if the detector defines the bit depth of the counters in rder to limit the readout time, if necessary.
+
+The probes counter waorks also in trigger and gating modes.
+
+
+
+
+
+
+
+Figure 1.3:
+Auto timing: the detection time is defined by the exposure time and the period by period (if longer than exposure time plus readout time). The total number of images is frames (in the example 3) times cycles (in the example 2), and in this case there is no difference between the acquisition of the two.
+
+
+
+
+
+
+
+
+
+
+
+
+Figure 1.4:
+Gating mode: the detector acquires for a number of gates define by the user (in this case 4) before being read out, independently on the timing of the gates. The detector remains insensitive during the readout time and then starts being active again. External gates given during the readout time are ignored. The total number of images is frames (in the example 3) times cycles (in the example 2), and in this case there is no difference between the acquisition of the two. The polarity of the external gate signal can be defined by the user through the external signal flag (in the example active high).
+
+
+
+
+
+
+
+
+
+
+
+
+Figure 1.5:
+Trigger mode: the external trigger signal defines the start of the beginning of the acquisition, which starts after the delay set by the user. For each trigger, the number of frames is acquired (in the example 3) and all trigger signals ignored. The number of trigger accepted is given by the number of cycles (in the example 2). The polarity of the external trigger signal can be defined by the user through the external signal flag (in the example rising edge).
+
+
+
+
+
+
+
+
+
+
+
+
+Figure 1.6:
+Read Out Trigger mode: the external trigger signal defines the beginning of the readout. The exposure time works as a time out for the waiting time for the trigger signal. The number of trigger accepted is given by the number of cycles (in the example 3) and it does not make sense to program more than one frame. The polarity of the external trigger signal can be defined by the user through the external signal flag (in the example rising edge).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How can several controllers
+ Up: SLS Detectors Software
+ Previous: Which is the sequence
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node14.html b/manual/docs/html/slsDetectors-FAQ/node14.html
new file mode 100644
index 000000000..49e6edf18
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node14.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+How can several controllers be synchronized?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How can the detector
+ Up: SLS Detectors Software
+ Previous: How can I synchronize
+ Contents
+
+
+
+
+
+
+How can several controllers be synchronized?
+
+If you are not performing time resolved measurements, you will probably not need any synchronization of the controllers: they will be started sequentially by the software and their acquisition will have a jitter of a few ms.
+
+In the case you need a precise synchronization, on the other hand, hardware connection is required between the controllers through the external IO signals. The external signals used for this synchronization should be configured as sync with the extsig command.
+
+In this case a master controller should be defined for the acquisition which will the send the synchronization signal to the other controllers, while the other controllers will use them as inputs.
+
+The type of synchronization can begating or trigger depending if the synchronization signal will gate the slave detectors or trigegr the beginning of the acquisition. There are no particular reasons to chose one or the other method, except if the user finds out that one is more stable than the other.
+
+Normally the configuration of the synchronization is configured inside the configuration file and should not be changed dynamically by the user.
+
+
+After the configuration, the synchronization of the controllers will be completely transparent for the user, who will simply have to setup the timing parameters of the detector as a whole.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How can the detector
+ Up: SLS Detectors Software
+ Previous: How can I synchronize
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node15.html b/manual/docs/html/slsDetectors-FAQ/node15.html
new file mode 100644
index 000000000..8dca1ea20
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node15.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+How can the detector movement and position and I0 readout be customized for my beamline?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: In which data format
+ Up: SLS Detectors Software
+ Previous: How can several controllers
+ Contents
+
+
+
+
+
+
+How can the detector movement and position and I0 readout be customized for my beamline?
+
+
+
+The easiest way to allow the software to perform all the necessary normalization and angular conversion steps, is enable it to move your detector and read the encoder position and the value of the ionization chamber.
+
+These functions are defines as callbacks and can be redifined by registering your own functions. This is normally a good method if you use the API or are willing to write your main client program.
+
+Otherwise the simpleast way is to edit the file
+slsDetectorSoftware/usersFunctions/usersFunctions.cpp
+
+where the default functions performing these actions are implemented and modify them to interface with your beamline hardware. The functions are written in C and are very simple to implement for anyone with some programming knowledge.
+
+A simple high-level solution in case you need to maintain the software for several beamlines and don't want to recompile for all of them is to call external scripts.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: In which data format
+ Up: SLS Detectors Software
+ Previous: How can several controllers
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node16.html b/manual/docs/html/slsDetectors-FAQ/node16.html
new file mode 100644
index 000000000..ce04de260
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node16.html
@@ -0,0 +1,88 @@
+
+
+
+
+
+In which data format are written the data?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: GOTTHARD
+ Up: SLS Detectors Software
+ Previous: How can the detector
+ Contents
+
+
+
+
+
+
+In which data format are written the data?
+
+
+
+For MYTHEN the data are writen in ASCII fomat, one file per frame, in columns, either channel number - counts for the .raw files or angle (or channel number)-counts-error for the .dat files.
+
+
+For the other detectors the files are written in binary format, and must be decoded depending on the detector.
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node17.html b/manual/docs/html/slsDetectors-FAQ/node17.html
new file mode 100644
index 000000000..d4ec39995
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node17.html
@@ -0,0 +1,156 @@
+
+
+
+
+
+GOTTHARD
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: EIGER
+ Up: In which data format
+ Previous: In which data format
+ Contents
+
+
+
+
+
+Each file contains 100 frames.
+
+Normal mode
+Each frame is split into 2 packets of 1286 bytes each, where actual data is 1280 bytes each. Both the packets (incl header and footer) are written one after the other into the file.
+
+
+Representation of each packet:
+
+
+The first 4 bytes represents a number from which, the frame number and packet number can be derived.
+If the number was 108601, increment it by 1 to get 108602.
+
+Then this
+
+ is the frame number
+and
+
+ is the packet number.
+
+0 is the packet on the left and 1 is the packet on the right.
+
+On a side note, when you use the data call back, we also give you the derived frame number as an argument.
+
+
+
+Data of 1280 bytes. 16 bits per pixel.
+
+
+
+2 bytes of insignificant footer.
+
+
+
+
+
+Short Frame Mode
+One Frame has only one packet of 518 bytes, where actual data is 512 bytes.
+
+
+first 4 bytes is the frame number. There is no packet number or increment required herecompared to the normal mode.
+
+Data of 512 bytes.
+
+2 bytes of insignificant footer.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: EIGER
+ Up: In which data format
+ Previous: In which data format
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node18.html b/manual/docs/html/slsDetectors-FAQ/node18.html
new file mode 100644
index 000000000..6840bc787
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node18.html
@@ -0,0 +1,69 @@
+
+
+
+
+
+EIGER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: JUNGFRAU
+ Up: In which data format
+ Previous: GOTTHARD
+ Contents
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node19.html b/manual/docs/html/slsDetectors-FAQ/node19.html
new file mode 100644
index 000000000..b8a973b44
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node19.html
@@ -0,0 +1,68 @@
+
+
+
+
+
+JUNGFRAU
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: General questions about detectors
+ Up: In which data format
+ Previous: EIGER
+ Contents
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node2.html b/manual/docs/html/slsDetectors-FAQ/node2.html
new file mode 100644
index 000000000..319c4dd55
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node2.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+SLS Detectors Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Which programs can I
+ Up: SLS Detectors Frequently Asked
+ Previous: Contents
+ Contents
+
+
+
+
+
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node20.html b/manual/docs/html/slsDetectors-FAQ/node20.html
new file mode 100644
index 000000000..488298e5e
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node20.html
@@ -0,0 +1,87 @@
+
+
+
+
+
+General questions about detectors
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: In which X-ray energy
+ Up: SLS Detectors Frequently Asked
+ Previous: JUNGFRAU
+ Contents
+
+
+
+
+
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node21.html b/manual/docs/html/slsDetectors-FAQ/node21.html
new file mode 100644
index 000000000..800ef7ec1
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node21.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+In which X-ray energy range can I use the detector?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Sensors
+ Up: General questions about detectors
+ Previous: General questions about detectors
+ Contents
+
+
+
+
+
+What limits the energy range in which the detector can be used is defined both by the sensors characteristics and the readout electronics.
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node22.html b/manual/docs/html/slsDetectors-FAQ/node22.html
new file mode 100644
index 000000000..d95c2f6f5
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node22.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+Sensors
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Frontend electronics
+ Up: In which X-ray energy
+ Previous: In which X-ray energy
+ Contents
+
+
+
+
+
+Most of the SLS detectors make use of silicon sensors.
+
+
+Since silicon is a relatively light for hard X-rays the only limitation at high energies is the acceptable absorption efficiency that can be achieved in the sensors thickness.
+
+Figure 2.1 shows the absorption efficiency as a function of the X-ray energy and detector thickness. Normally it is possible to use sensors up to 1 mm thick, while to achieve larger absorption thicknesses it is necessary tu assemble and control telescopic systems (possible up to a few mms).
+
+To achieve larger absorption thicknesses, the sensors can be oriented in edge-on configuration (in particular strip sensors). However in this case one should take into consideration the dead entrance window due to the cutting distance from the strips, which is normally several hundreds micron, or even up to mms and reduces the absorption efficiency at lower energies.
+
+
+
+
+
+Figure 2.1:
+Efficiency of a silicon sensor as a function of the sensors thickness and X-ray energy.
+
+
+
+
+
+In standard face-on orientation, the backplane of the sensor acts as the entrance window. It presents a think n+ doped layer, which is unsensitive to radiation and causes a loss of efficiency at low energies.
+Figure 2.2 shows the absorption efficiency of the sensors for different backplane thicknesses at low energies.
+
+The exact thickness of the backplane for standard SLS sensors is not exactly known but should be about 1-2
+m.
+
+
+
+
+
+Figure 2.2:
+Efficiency of a silicon sensor as a function of the X-ray energy for different thicknesses of the backplane.
+
+
+
+
+
+However for lower energies, the main limitation is normally given by the noise of the frontend electronics (if single photon resolution is required).
+
+For higher energies it is also possible to use different sesnor materials as CdTe or Ge, although up to now they cannot provide the same signal quality as silicon.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Frontend electronics
+ Up: In which X-ray energy
+ Previous: In which X-ray energy
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node23.html b/manual/docs/html/slsDetectors-FAQ/node23.html
new file mode 100644
index 000000000..14dadb107
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node23.html
@@ -0,0 +1,135 @@
+
+
+
+
+
+Frontend electronics
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: What limits the maximum
+ Up: In which X-ray energy
+ Previous: Sensors
+ Contents
+
+
+
+
+
+
+
+The limitations on the energy range arising from the readout electronics come from the noise and from saturation.
+The electronic noise limits the minimum detectable energy for single photons, while saturation limits the maximum detectable signal either for single photons or in total.
+
+
+In single photon counting detectors , the minimum threshold cannot be set lower than 3-5 times the electronic noise.
+If the threshold is set at approximately half of the X-ray energy (see specific documentation about single photon counting detectors), the minimu detectable energy will be about 6-10 times the noise.
+
+In order to reduce the noise of the frontend electronics different settings can be chosen, but this puts a limit on the maximum incoming flux that can be detected without incurring in pileup (see specific documentation about single photon counting detectors). Figure 2.3 shows an example of the settings used for the MYTHEN detector for different energy ranges and fluxes.
+
+For state of the art single photon counting detectors, the minimum thrshold can be about 2-3 keV (details depend on the detector and can be further reduced using special settings).
+
+
+Concerning saturation, this imposes a maximum value for the comparator threshold. Normally photons of higher energies can still be detected, but without resolution concerning the threshold energy and eventually losing spatial resolution.
+By changing the settings it is possible to increase the maximum threshold value (normally also noise increases in this case).
+
+
+
+For charge integrating detectors the electronics noise puts a limit on the minimum detectable signal. Therefore if single photon resolution is required, the minimum detectable energy is defined as for single photon counting detectors at about 6-10 times the electronic noise. In case no single photon resolution is required, the electronic noise will put a limit on the sensitivity of the detector i.e. the total accumulated signal needs to be larger than 6-10 times the noise in order to be detected (also about 2-3 keV depending on the detector). It is important to point out that the acquisition time of charge integrating detectors is limited by the leakage current of the sesnors and the noise quadratically sums out. Therefore the signal for low energy photons should be strong enough to be acquired during single frames.
+
+
+Concerning saturation, this sets a limit on the total number of photons acquired during the acquistion slot and is normally much larger than the energy released by single X-rays. Dynamic gain switching can strongly increase the dynamic range of the detector up to 10E+4 12 keV photons.
+
+
+
+
+
+
+
+
+
+Figure 2.3:
+Settings to be chosen for the MYTHEN detector as a function of the X-ray energy and radiation intensity.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: What limits the maximum
+ Up: In which X-ray energy
+ Previous: Sensors
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node24.html b/manual/docs/html/slsDetectors-FAQ/node24.html
new file mode 100644
index 000000000..4e0e7bbc6
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node24.html
@@ -0,0 +1,111 @@
+
+
+
+
+
+What limits the maximum frame rate?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Single photon counting detectors
+ Up: General questions about detectors
+ Previous: Frontend electronics
+ Contents
+
+
+
+
+
+
+
+In order to acquired the data, they should be:
+
+
+Transferred from readout electronics to readout board memory. This readou time is very dependent on the detector and on the dynamic range chose (for single photon counting detectors if configurable) and can range from hundreds or tens to few us.
+
+In case the board has some memory that can be accessed by the hardware, this is the only limitation on the maximum frame rate as long as the memory is not filled (burst mode). Frame rates as high as a few tens of kHz can be achieved for photon countign detectors (EIGER) or up to 1 MHz for charge integrating (GOTTHARD).
+
+
+
+Transferred from readout board to client PC or file server. In this case the main bottleneck is normally given by the data transfer rate on the network and on the performances of the receiver PC. This limits the frame rate in continous mode. However also the data writing capabilities and amount of data which are being acquired should be taken into consideration when setting up very fast acquisitions.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Single photon counting detectors
+ Up: General questions about detectors
+ Previous: Frontend electronics
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node25.html b/manual/docs/html/slsDetectors-FAQ/node25.html
new file mode 100644
index 000000000..65dd19ccc
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node25.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+Single photon counting detectors
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Which detector settings should
+ Up: SLS Detectors Frequently Asked
+ Previous: What limits the maximum
+ Contents
+
+
+
+
+
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node26.html b/manual/docs/html/slsDetectors-FAQ/node26.html
new file mode 100644
index 000000000..658685864
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node26.html
@@ -0,0 +1,88 @@
+
+
+
+
+
+Which detector settings should I choose?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: MYTHEN
+ Up: Single photon counting detectors
+ Previous: Single photon counting detectors
+ Contents
+
+
+
+
+
+
+
+The choice of the operation settings is very important in order to obtain good quality data.
+
+Normally slower settings will reduce the electronics noise and therefore it is possible to work at lower energies, but will saturate for high photon fluxes.
+
+On the other hand, faster settings will allow to work with higher photon intensities without pileup, but not to access lower energies because of an higher electronics noise.
+
+Therefore it is extremely important to chose adequate settings for the detector depending on the X-ray energy and expected maximum count rate.
+In the following is a description of the energy and intensity range coverd by the different settings for each detector.
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node27.html b/manual/docs/html/slsDetectors-FAQ/node27.html
new file mode 100644
index 000000000..bcdb3d014
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node27.html
@@ -0,0 +1,99 @@
+
+
+
+
+
+MYTHEN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How do I chose
+ Up: Which detector settings should
+ Previous: Which detector settings should
+ Contents
+
+
+
+
+
+
+
+Normally the user can follow these rules:
+
+
+If the X-ray energy is lower than 8 keV the High gain setting should be used. Since it is a slow mode of operation it is necessary to take care that the maximum count rate is lower than 100 kcounts/s for all channels (use filters to reduce the beam intensisty).
+
+For energies higher than 8 keV, the Standard setting is normally fine if the count rate can be kept lower than 300 kcounts/s for all channels (use filters to reduce the beam intensisty).
+
+
+
+In case a larger count rate is required in order to keep the acquisition time shorter, the Fast setting must be selected. However the maximum count rate should never exceed 1 Mcounts/s for all channels.
+
+
+
+
+
+
+
+Figure 3.1:
+Plot indicating the reccomended choice of detector settings as a function of the X-ray energy and maximum count rate per channel..
+
+
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node28.html b/manual/docs/html/slsDetectors-FAQ/node28.html
new file mode 100644
index 000000000..6d5acdfe0
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node28.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+How do I chose the comparator threshold?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How does the flat
+ Up: Single photon counting detectors
+ Previous: MYTHEN
+ Contents
+
+
+
+
+
+
+
+
+
+
+Figure 3.2:
+Number of counts as a function of the threshold detected in an ideal case.
+
+
+
+
+
+
+
+
+
+
+
+
+Figure 3.3:
+Number of counts as a function of the threshold detected in presence of fluorescent radiation
+
+
+
+
+
+
+
+
+
+Once selected the settings, the threshold should be selected.
+Figure 3.2 shows the number of counts as a function of the threshold value in the ideal case of monoenergetix X-rays of energy
+=10 keV.
+For thresholds larger than the X-ray energy the detector should always count 0 and for lower thresholds it should always count all the photons. However the curve is smoothed around
+ because of the electronic noise (ENC) and is not perfectly flat for lower energies because the photons absorbed in the region between two strips distribute their energy between them and it is not flully collected by a single channel (charge sharing).
+
+In order to count once al X-rays the threshold should be set at half of the X-ray energy
+: if the threshold would be higher some photons would not be counted, leading to a loss of efficiency, while if it would be lower some photons would be counted twice leading to a loss of spatial resolution.
+
+
+Since the detector threshold can't be precisely set at the same value for all channels but there will always be some spread of the order of 200 eV (threshold dispersion) there will always be some fluctuations on the number of counts between channels, which however should be corrected by the flat field correction.
+
+
+The choice of the threshold should also depend from considerations regarding the emission of fluorescent radiation from the sample.
+
+Figure 3.3 shows how the curve of the counts would look like for monochromatic X-rays of energy
+ in presence of radiation of energy
+ emitted by the sample. The curve would show a second step at
+.
+
+
+Since the fluorecence emission is not present in the flat field data, the difference of counts between the channels due to the fluorescent radiation cannot be corrected and the threshold
+ should be set at an energy larger than
+. This also helps to cut down the background.
+
+The difference of counts between the channels will be particularly large if the threshold is set in some ``steep'' part of the curve i.e. close to
+ or to
+ (but in this case it would be corrected by the flat field, at cost of loss of efficiency).
+Because of the presence of the electronic noise,
+ should be at least 3 keV larger than
+.
+
+
+Here is a short list of rules to select the appropriate working threshold in order of importance (and eventually modify the X-ray energy):
+
+
+List the fluorescent emission lines
+ that you expect from your sample.
+
+If there is no fluorescent emission (
+)
+
+
+If there is fluorescent emission
+
+
+
+ keV
+
+
+ keV
+
+
+If the range where both requirements are satisfied is large, try to increase the distance of
+ from
+ up to 5 keV and then set
+ as close as possible to the ideal value
+
+
+If it is not possible to satisfy the previous minimal requirements:
+
+
+If you need high quality data and you can sacrifice detector efficiency (a lot!)
+ keV
+
+If you need fast measurments and you can sacrifice detector uniformity (difficult to say how much) and increase the background
+ keV. Remember that
+ is klimited by the electronic noise
+ keV (3 keV for High gain settings).
+
+Consider to change
+ to values lower than
+ or at least 6-8 keV larger than
+
+
+
+
+
+
+
+
+
+
+Figure 3.4:
+Example of data from a sample emitting fluorescent light and detector threshold set at a value close to the emission line. The background data cannot be properly flat field corrected.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How does the flat
+ Up: Single photon counting detectors
+ Previous: MYTHEN
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node29.html b/manual/docs/html/slsDetectors-FAQ/node29.html
new file mode 100644
index 000000000..4c341aeb8
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node29.html
@@ -0,0 +1,80 @@
+
+
+
+
+
+How does the flat field correction work?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Why isn't my flat-field
+ Up: Single photon counting detectors
+ Previous: How do I chose
+ Contents
+
+
+
+
+
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node3.html b/manual/docs/html/slsDetectors-FAQ/node3.html
new file mode 100644
index 000000000..849d9754a
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node3.html
@@ -0,0 +1,116 @@
+
+
+
+
+
+Which programs can I use to control my detector?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How can I control
+ Up: SLS Detectors Software
+ Previous: SLS Detectors Software
+ Contents
+
+
+
+
+
+
+
+The complete software package is composed of several programs which can be installed (or locally compiled) depending on the needs:
+
+
+
+
+The slsDetector shared and static libraries which are necessary for all user interfaces.
+
+The class slsDetectorUsers can be used as API from your acquisition software (see separate documentation).
+
+The command line interfaces (sls_detector_put, sls_detector_get, sls_detector_acquire, sls_detector_help) , which are provided to communicate with the detectors using the command line and eventually to the data receiver
+
+The data receiver (slsReceiver) , which can be run on a different machine, receives the data from the detector and interfaces to the control software via TCP/IP for defining e.g. the file name, output path and return status and progress of the acquisition
+
+The graphical user interface (slsDetectorGUI) which provides a user friendly way of operating the detectors with online data preview
+
+The calibration wizards (energyCalibrationWizard, angularCalibrationWizard) to analyze the data and produce the energy or angular calibration files
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How can I control
+ Up: SLS Detectors Software
+ Previous: SLS Detectors Software
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node30.html b/manual/docs/html/slsDetectors-FAQ/node30.html
new file mode 100644
index 000000000..29ee0dd42
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node30.html
@@ -0,0 +1,127 @@
+
+
+
+
+
+Why isn't my flat-field flat?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Dynamic acquisition of the
+ Up: How does the flat
+ Previous: How does the flat
+ Contents
+
+
+
+
+
+
+
+The main reasons of a non flat flat-field can be:
+
+
+The scattering from the glass rod is not uniform over the angular range. In this case you should take the flat field dynamically i.e. scanning the detector in front of the cylinder with the small window, as we do at the SLS. In this case when you shift the detector, the shape of the illumination remains in the same angular position (and shifts in channel number). Of course it depends a lot on the energy and on the geometry of the flat field acquisition.
+
+
+
+Figure 3.5:
+Example of a very bad flat field data set with highlights of some of the reasons which can cause the non-flat behavior for the MYTHEN detector. Similar effects can be visible also in 2D.
+
+
+
+
+
+
+
+
+
+
+The entrance window for the X-rays is deformed (we also have this problem at the SLS). In this case when you move the detector the "mountain" moves with it in angle (And remains still in channel number). However this should correct without problems with the flat field correction, even in case of fluorescent emission. Should appear at all energies.
+
+Differences of efficiency between the modules i.e. mainly bad energy calibration. You normally see really steps at the transition between modules. Sometimes you have some groups of strips withing a module that are not properly trimmed and look as smallish peaks or valleys in the flat field. When you move the detector, these steps or peaks move in angle and remain still in channel number.
+These differences can slightly change as a function of the energy (probably more evident at lower energies) but should normally always be there for the same settings.
+These differences get much worse in presence of fluorescent emission, but normally correct properly with flat field correction.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Dynamic acquisition of the
+ Up: How does the flat
+ Previous: How does the flat
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node31.html b/manual/docs/html/slsDetectors-FAQ/node31.html
new file mode 100644
index 000000000..674243616
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node31.html
@@ -0,0 +1,122 @@
+
+
+
+
+
+Dynamic acquisition of the flat field
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: What happens when I
+ Up: How does the flat
+ Previous: Why isn't my flat-field
+ Contents
+
+
+
+
+
+
+
+In case it is not possible to uniformely illuminate the detector due to its large dimensions, one of the solutions is to scan it in front of an illuminated are with a uniform speed such that the integrated number of counts during the exposure time is the same for all channels.
+
+
+To do that, at the SLS we have optimized the dynamic acquisition of the flat fiel with the MYTHEN detector using a setup similar to the one sketched in figure 3.6 .
+It is important that the scanning range of the detector is chose such that the detector is not illuminated both at the beginning and at the end of the acquisition. Moreover the movement of the detector should be as uniform as possible. To avoid this kind of systematic errors we normally sum two flat field images taken in the two opposite directions of translation.
+
+
+Also take care that your sample does not emit fluorescent light at the chosen energy (e.g. a glass rod works at all energies, but heavier materials can be chosen to increase the efficiency at higher energies taking care that the fluorescence emission is negligible).
+
+
+
+
+
+Figure 3.6:
+Sketch of the experimental setup for a dynamic acquisition of the flat field.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: What happens when I
+ Up: How does the flat
+ Previous: Why isn't my flat-field
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node32.html b/manual/docs/html/slsDetectors-FAQ/node32.html
new file mode 100644
index 000000000..b84bf6a05
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node32.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+What happens when I trim the detector?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: MYTHEN
+ Up: Single photon counting detectors
+ Previous: Dynamic acquisition of the
+ Contents
+
+
+
+
+
+
+
+General remarks about trimming.
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node33.html b/manual/docs/html/slsDetectors-FAQ/node33.html
new file mode 100644
index 000000000..612ccba9a
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node33.html
@@ -0,0 +1,245 @@
+
+
+
+
+
+MYTHEN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: In what consists the
+ Up: What happens when I
+ Previous: What happens when I
+ Contents
+
+
+
+
+
+
+
+Trimming with noise
+
+
+The first step in the trimming procedure is to trim with noise (this is often sufficient). This has to be done for all the settings which are foreseen to be used (highgain, standard and fast).
+
+The procedure for the noise trimming is as follows:
+
+
+In the Initialization tab click on the settings for which you want to trim (e.g. standard)
+
+In the Initialization tab click on the advanced radio button to make the trimming accessible.
+
+In the Acquisition tab set the acquisition time to 100 ms, the repetion to 1 and the delay between frames to 0.
+
+For noise trimming usually the default parameters
+
+,
+
+,
+
+ work.
+
+However, to verify the threshold setting it is best to make a threshold scan. To do this go to the Data tab, in the Data display section select the 2D color and type advanced option. In the Acquisition tab select your data directory. Set the number of positions to 0. Select Scan, Type threshold. Typical values for the range are 500 to 900 with a step size of 10. Then click on the start button to perform the threshold scan. After the threhold scan has finished an image similar to the one in 3.7 should be shown. Depending on the system the number of modules may vary. If the plot is similar to the one in 3.10 the noise trim files did already exist and have been loaded when selecting the settings. In this case you don't need to trim with noise again.
+
+Set the parameter Vthreshold in the Trimming box (Initialization tab ) 10-30 DAC units below the onset of the noise for the module with the lowest threshold offset. Since the modules have differences in the offset and gain the onset of the noise varies.
+
+You can usually leave the remaining parameters unchanged (Counts/pixel=500; Resolution=4).
+
+Select the directory where the noise trim files should be written and the filename, to wich will be attached the extension given by the module serial number (.snxxx). If you want the trimfiles to be loaded authomatically when the global settings are selected, select the default directory specified in the config file (or in the ``trimbits/beamline'' directory for the older software versions).
+Click on Trim to start the noise trimming process. After the trimming has finished look at the plot and the distribution of the trim bits. The distribution should be around 32
+5 and should look gaussian. An example distribution is shown in figure 3.8 and an example plot in 3.9 . If the distribution is too much off center change the counts/pixel, if it is too narrow reduce the resolution (set it to 3), if it is too wide increase it (set it to 5). Make sure not too many channels have a trim value of 0 or 63.
+
+Execute the treshold scan again to verify the trimming was done properly. A plot similar tho the one in figure 3.10 should appear.
+
+
+
+
+
+
+
+Figure 3.7:
+The untrimmed threshold scan.
+
+
+
+
+
+
+
+
+
+
+
+
+Figure 3.8:
+The distribution of the trimbits.
+
+
+
+
+
+
+
+
+
+
+
+
+Figure 3.9:
+The trimbits for all the channels.
+
+
+
+
+
+
+
+
+
+
+
+
+Figure 3.10:
+The trimmed threshold scan.
+
+
+
+
+
+
+
+
+
+Improve the trimming using X-rays
+
+
+The improvement of the trimming acquired with noise is not essential: at 12 keV an untrimmed module has a threshold dispersion which is about 1.4 keV and is already reduced to 200 eV at 12 keV by the noise trimming. At lower energies the noise trimming will be more effective, while the threshold dispesion will be still larger at higher energies. The trimming improvement reduces the threshold dispersion to 140 eV at 12 keV and is expected to be almost constant at all energies. For this reason it is suggested to perform the trimming improvement only when a small threshold dispersion is really important (e.g. to avoid flat field corrections or in presence of fluorescent lines close to the threshold value) and it will probably be not worthy at lower energies (i.e. threshold lower than 6 keV and X-ray energy lower than 12 keV).
+The procedure for the trimming improvement is as follows:
+
+
+Select the settings of the detector and load the noise trimming file
+
+Set the threshold at half of the X-ray energy (better if the detector has already been calibrated in energy like explained in 3.5 )
+
+Illuminate the detector with a flat field. This is very important to obtain a good trimming.
+
+Select the acquisition time in the acquisition tab so that there are at least 1000 counts/strip per frame (the more counts, the better trimming). Set the repetions to 1 and the delay between frames to 0.
+
+Go to expert mode by clicking on advanced in the initialization tab , settings box
+
+In the trimming box select the directory where the noise trim files should be written and the filename, to wich will be attached the extension given by the module serial number (.snxxx).
+
+Select the improve method
+S tart the trimming
+
+
+If the trimming is correctly performed and the illumination is flat enough, the same trimming can be used every time you will measure at this same energy.
+The authomatic loading of energy-specific trim files is not yet implemented.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: In what consists the
+ Up: What happens when I
+ Previous: What happens when I
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node34.html b/manual/docs/html/slsDetectors-FAQ/node34.html
new file mode 100644
index 000000000..52cfb7c70
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node34.html
@@ -0,0 +1,82 @@
+
+
+
+
+
+In what consists the energy calibration of the detector?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: MYTHEN
+ Up: Single photon counting detectors
+ Previous: MYTHEN
+ Contents
+
+
+
+
+
+
+In what consists the energy calibration of the detector?
+
+
+
+General remarks about DAC to energy conversion
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node35.html b/manual/docs/html/slsDetectors-FAQ/node35.html
new file mode 100644
index 000000000..e7d6b6224
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node35.html
@@ -0,0 +1,165 @@
+
+
+
+
+
+MYTHEN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Why should I change
+ Up: In what consists the
+ Previous: In what consists the
+ Contents
+
+
+
+
+
+
+
+Since the conversion between the threshold DAC units and energy depends on the gain and offset of the channels the energy calibration has to be done for all settings (high gain, standard and fast). For each setting follow this procedure:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Why should I change
+ Up: In what consists the
+ Previous: In what consists the
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node36.html b/manual/docs/html/slsDetectors-FAQ/node36.html
new file mode 100644
index 000000000..989ff857b
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node36.html
@@ -0,0 +1,69 @@
+
+
+
+
+
+Why should I change the dynamic range of the counters?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: When should I enable
+ Up: Single photon counting detectors
+ Previous: MYTHEN
+ Contents
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node37.html b/manual/docs/html/slsDetectors-FAQ/node37.html
new file mode 100644
index 000000000..bb5b50901
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node37.html
@@ -0,0 +1,75 @@
+
+
+
+
+
+When should I enable rate correction
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How can I choose
+ Up: Single photon counting detectors
+ Previous: Why should I change
+ Contents
+
+
+
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node38.html b/manual/docs/html/slsDetectors-FAQ/node38.html
new file mode 100644
index 000000000..871b490c1
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node38.html
@@ -0,0 +1,68 @@
+
+
+
+
+
+How can I choose the dead time?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Charge Integrating detectors
+ Up: When should I enable
+ Previous: When should I enable
+ Contents
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node39.html b/manual/docs/html/slsDetectors-FAQ/node39.html
new file mode 100644
index 000000000..fb2c41f65
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node39.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+Charge Integrating detectors
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: (Dynamic) Gain Switching
+ Up: SLS Detectors Frequently Asked
+ Previous: How can I choose
+ Contents
+
+
+
+
+
+
+
+Various issues concerning calibration, dynamic gain switching, data handling data processing etc.
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node4.html b/manual/docs/html/slsDetectors-FAQ/node4.html
new file mode 100644
index 000000000..69bd172f9
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node4.html
@@ -0,0 +1,146 @@
+
+
+
+
+
+How can I control many detectors in parallel or independently?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Examples
+ Up: SLS Detectors Software
+ Previous: Which programs can I
+ Contents
+
+
+
+
+
+
+
+For most users the detector will be composed by a single module. Therefore all configurations of the detector will refere to that single entity.
+
+
+However, for some experiments it is necessary to concatenate the data from several detector controllers, and sometimes (e.g. MYTHEN) each controller can control many modules. This should be transparent to the user since most parameters will be identical for all controllers (e.g. exposure time, energy threshold etc.), except for the configurations specific to the controller (e.g. hardware configuration).
+
+In principle it is possible to combine controllers of different type (e.g. MYTHEN, GOTTHARD, EIGER) but the user should then evaluate if it really makes sense to control such different systems in parallel.
+
+
+In other cases, several SLS detectors will independently acquire data during the same experiment. In this case it will be necessary to be able to seperately control them.
+
+
+The detectors can be controlled in parallel from several PCs (clients). However it is important the the configurations match on all of the them such that no conflict arise. Eventually a detector can be locked to a specific control PC, still different users interfaces (command line, GUI) can be used in parallel.
+
+
+A sketch of a possible complex detector configuration is shown in figure 1.1
+
+
+For this reason and index is assigned to each detector. If a single detector is used, as in most cases, the index will be omitted and defaults to 0.
+
+To control the other detectors the index cannot be omitted!
+
+
+An index will also be assigned to each controller within a detector. However the user normally will not need to address single controllers, except for the most advanced settings which can be left to configuration files.
+
+
+Finally each module within a controller has an internal index. However in general it is not required that the user is aware of the system architecture and, if needed (rarely), the modules can simply be addressed sequentially starting from controller 0.
+
+
+
+
+
+Figure 1.1:
+Scketch of a possible complex system architecture composed of several detector, each consisting in many controllers eventually controlling several modules.
+
+
+
+
+
+
+
+Subsections
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Examples
+ Up: SLS Detectors Software
+ Previous: Which programs can I
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node40.html b/manual/docs/html/slsDetectors-FAQ/node40.html
new file mode 100644
index 000000000..0c8aec7b9
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node40.html
@@ -0,0 +1,67 @@
+
+
+
+
+
+(Dynamic) Gain Switching
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Pedestals
+ Up: Charge Integrating detectors
+ Previous: Charge Integrating detectors
+ Contents
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node41.html b/manual/docs/html/slsDetectors-FAQ/node41.html
new file mode 100644
index 000000000..d3d98d2b2
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node41.html
@@ -0,0 +1,67 @@
+
+
+
+
+
+Pedestals
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Energy calibration
+ Up: Charge Integrating detectors
+ Previous: (Dynamic) Gain Switching
+ Contents
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node42.html b/manual/docs/html/slsDetectors-FAQ/node42.html
new file mode 100644
index 000000000..b951887dc
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node42.html
@@ -0,0 +1,67 @@
+
+
+
+
+
+Energy calibration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Data processing
+ Up: Charge Integrating detectors
+ Previous: Pedestals
+ Contents
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node43.html b/manual/docs/html/slsDetectors-FAQ/node43.html
new file mode 100644
index 000000000..10b1a1e75
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node43.html
@@ -0,0 +1,70 @@
+
+
+
+
+
+Data processing
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Angular conversion
+ Up: Charge Integrating detectors
+ Previous: Energy calibration
+ Contents
+
+
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node44.html b/manual/docs/html/slsDetectors-FAQ/node44.html
new file mode 100644
index 000000000..ce20093fd
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node44.html
@@ -0,0 +1,131 @@
+
+
+
+
+
+Angular conversion
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How is the channel
+ Up: SLS Detectors Frequently Asked
+ Previous: Data processing
+ Contents
+
+
+
+
+
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node45.html b/manual/docs/html/slsDetectors-FAQ/node45.html
new file mode 100644
index 000000000..6214877db
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node45.html
@@ -0,0 +1,284 @@
+
+
+
+
+
+How is the channel number coverted into angle?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How are different positions
+ Up: Angular conversion
+ Previous: Angular conversion
+ Contents
+
+
+
+
+
+
+How is the channel number coverted into angle?
+
+
+
+Mythen II modules are composed by 1280 pixels, each having width p=0.05 mm, and numbered with j=0,..,1279.
+Angles are counted counterclockwise from the beam direction. For the m-th module, the angle
+
+ of its j-th pixel center
+can be determined using the three geometric parameters
+ [mm],
+ [deg],
+ [mm], as in Fig. .
+The detector group uses instead the 3 parameters center
+ [ ], offset
+ [deg], conversion
+ [ ].
+The law with the 3 geometric parameter is
+
+
+
+
+
+
+(5.1)
+
+
+The corresponding law using DG's parameters is
+
+
+
+
+
+
+(5.2)
+
+
+One can convert the two forms by equating separately the term out of the arctan and the argument of arctan for two different values of j.
+It results
+
+
+
+
+Conversely,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How are different positions
+ Up: Angular conversion
+ Previous: Angular conversion
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node46.html b/manual/docs/html/slsDetectors-FAQ/node46.html
new file mode 100644
index 000000000..fc9cd18a7
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node46.html
@@ -0,0 +1,126 @@
+
+
+
+
+
+How are different positions merged together?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Introduction
+ Up: Angular conversion
+ Previous: How is the channel
+ Contents
+
+
+
+
+
+
+How are different positions merged together?
+
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node47.html b/manual/docs/html/slsDetectors-FAQ/node47.html
new file mode 100644
index 000000000..4ccd68c5a
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node47.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+Introduction
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Notation
+ Up: How are different positions
+ Previous: How are different positions
+ Contents
+
+
+
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node48.html b/manual/docs/html/slsDetectors-FAQ/node48.html
new file mode 100644
index 000000000..b48692cb3
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node48.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+Notation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Observables
+ Up: Introduction
+ Previous: Introduction
+ Contents
+
+
+
+
+
+
+
+[I use symbol
+
+ for the diffraction angle
+]
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node49.html b/manual/docs/html/slsDetectors-FAQ/node49.html
new file mode 100644
index 000000000..251d5f92d
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node49.html
@@ -0,0 +1,179 @@
+
+
+
+
+
+Observables
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Basic binning
+ Up: Introduction
+ Previous: Notation
+ Contents
+
+
+
+
+
+The physical observable of interest in any scattering experiment is [1-3] the differential cross section
+
+
+
+
+
+
+as a function of direction
+.
+To measure that directly we should operate with zero-width point detectors, with instant measurement and unit incident intensity.
+Practically
+the quantity we can actually measure - putting a detector in a position covering a certain
+solid angle for a certain time with a certain incident intensity - is
+
+
+
+
+
+
+If
+,
+
+ are small and known and
+ is separately monitored,
+we can (have to) normalize the observations by simply dividing them out.
+
+
+Specifically for the powder diffraction field, historically, this is not usually done because
+- as it is normally true with anode sources and point detectors and usual procedures -
+the counting times
+, the solid angle width
+
+
+and the incident intensity
+ are considered
+constant and therefore go into some 'global scaling' constant that is usually considered arbitrary.
+
+
+However, as we have more sophisticated acquisition methods,
+we may need revert to the original approach and consider the
+counts divided by time and angular width as the real observable.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Basic binning
+ Up: Introduction
+ Previous: Notation
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node5.html b/manual/docs/html/slsDetectors-FAQ/node5.html
new file mode 100644
index 000000000..49d4dd176
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node5.html
@@ -0,0 +1,80 @@
+
+
+
+
+
+Examples
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How can I configure
+ Up: How can I control
+ Previous: How can I control
+ Contents
+
+
+
+
+
+
+
+For MYTHEN, if one needs to control 6 modules, the system can either be composed by and MCS6 with 6 modules (1 detector, 1 controller, 6 modules), or by 6 MCS1 (1 detector, 6 controller, 1 module each). After apppropriate configuration of the system, the interface to the user will be the same for both systems.
+
+
+For GOTTHARD, one module corresponds to one controller. A detector will have the smae number of controllers and modules.
+
+
+For EIGER, one module consists in two controllers. Fo a multi-module system, the number of controllers will increase accordingly, but should be left to a configuration file.
+
+
+You will need to configure more than one detector, only in case you want to operate several detectors independently.
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node50.html b/manual/docs/html/slsDetectors-FAQ/node50.html
new file mode 100644
index 000000000..e6f3678df
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node50.html
@@ -0,0 +1,629 @@
+
+
+
+
+
+Basic binning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Special nasty cases
+ Up: How are different positions
+ Previous: Observables
+ Contents
+
+
+
+
+
+
+Basic binning
+
+
+
+
+1.
+
+We have several patterns, say
+. Each
+-th pattern, for
+
+, is
+constituted by
+ angular intervals in the diffraction angle
+
+:
+
+
+
+
+
+
+of center
+
+
+
+
+
+
+and width
+
+
+
+
+
+
+To each interval is associated a counting
+, an efficiency correction factor
+, a
+monitor
+ (ionization chamber times acquisition time). All 'bad' intervals have been already flagged down and discarded.
+Efficiency corrections and monitors are supposed to be normalized to a suitable value.
+Note that intervals
+ might have multiple overlaps and might not cover an compact angular
+range.
+
+2.
+Following Mighell's statistics[6] and normal scaling procedures, we first
+transform those numbers into associated intensities, intensity rates and relevant s.d.:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+3.
+
+We set up the final binned grid,
+composed of
+ binning intervals
+
+
+
+
+
+
+all contiguous and each having the same width
+
+
+
+
+
+and each centered in
+
+
+
+
+
+
+covering completely the angular range between
+
+ and
+
+.
+
+
+4.
+
+For bin
+, we consider only and all the experimental intervals
+
+
+
+
such that
+
+
+More restrictively, one may require to consider only and all the experimental intervals
+
+
+
+
such that
+
+
+
+5.
+
+In order to estimate the rate in each
+-th bin,
+we use all above selected rate estimates concerning bin
+ and we get
+a better one with the weighted average method.
+
+In the weighted average method, we suppose to have a number
+ of estimates
+
+of the same observable
+,
+each one with a known s.d.
+
+ and each (optionally) repeated with a frequency
+
+.
+Then
+
+
+
+
+
+
+Clearly the place of the frequencies in our case can be taken by coefficients
+
+
+
+
+
+
+that weigh the
+-th estimate by its relative extension within bin
+.
+
+
+6.
+
+Now
+we can simply accumulate registers
+
+
+
+
+
+
+and
+
+
+
+
+
+
+so that we can extract an intensity rate estimate (counts per unit diffraction angle and per unit time at constant incident intensity) as
+
+
+
+
+
+
+
+
+
+
+
+
+Now optionally we can transforms rates in intensities (multiplying
+both
+ and
+
+ by
+).
+We can use any other scaling factor
+ as we wish instead of
+.
+The best cosmetic scaling is the one where
+
+
+
+
+
+
+as if the intensities were simply counts.
+Therefore
+ is given by
+
+
+
+
+
+
+
+
+In output then we give 3-column files
+with columns
+
+
+
+
+
+
+
+
+
+
+
+
+Subsections
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Special nasty cases
+ Up: How are different positions
+ Previous: Observables
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node51.html b/manual/docs/html/slsDetectors-FAQ/node51.html
new file mode 100644
index 000000000..e4aaf2b04
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node51.html
@@ -0,0 +1,202 @@
+
+
+
+
+
+Special nasty cases
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Advanced binning
+ Up: Basic binning
+ Previous: Basic binning
+ Contents
+
+
+
+
+
+
+
+Here we explore some special cases to see the robustness
+of the method.
+
+
+1) If no experimental observation contributes to bin
+ according to one of the criteria
+above, then we shall find
+ and especially
+. The latter condition is
+valid as an exclusion condition
+(meaning that we discard that point and we do not perform further operations on it,
+neither do we output it).
+
+
+2) if only one experimental observation - call it interval
+, dropping indices - contributes
+to bin
+,
+then we have
+
+
+
+
+
+
+
+
+
+
+
+
+and so
+
+
+
+
+
+
+that is the experimental rate as in pixel
+;
+
+
+
+
+
+
+that is the same s.d. that can be calculated directly for
+, augmented by factor
+
+
+
+
+
+
+that takes into account the extrapolation error.
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node52.html b/manual/docs/html/slsDetectors-FAQ/node52.html
new file mode 100644
index 000000000..dcdff9aa7
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node52.html
@@ -0,0 +1,88 @@
+
+
+
+
+
+Advanced binning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Poisson and normal statistics
+ Up: How are different positions
+ Previous: Special nasty cases
+ Contents
+
+
+
+
+
+
+Advanced binning
+
+
+
+There are more advanced (and more complex) methods that take more carefully into account the real position of the centers
+
+ w.r.t.
+
+.
+If we find out that it is the case we may develop them too.
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node53.html b/manual/docs/html/slsDetectors-FAQ/node53.html
new file mode 100644
index 000000000..2293ad432
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node53.html
@@ -0,0 +1,318 @@
+
+
+
+
+
+Poisson and normal statistics for diffraction
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Average vs. weighted average
+ Up: How are different positions
+ Previous: Advanced binning
+ Contents
+
+
+
+
+
+
+
+The normal situation for diffraction data
+is that the observed signal is a photon count.
+Therefore it follows a Poisson distribution.
+If we have a count value
+ that follows a Poisson distribution,
+we can assume immediately that the average is equal to
+ and the s.d. is
+
+.
+I.e., repeated experiments would give values
+
+distributed according to the normalized distribution
+
+
+
+
+
+
+This obeys
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+The standard deviation comes then to
+
+
+
+
+
+
+
+
+When the data have to be analyzed, one must compare observations with a model
+which gives calculated values of the observations in dependence of a certain set of
+parameters. The best values of the parameters (the target of investigation)
+are the one that maximize the likelihood function [4,5]. The likelihood function for
+Poisson variates is pretty difficult to use; furthermore, even simple data manipulations
+are not straightforward with Poisson variates (see Sec. 5.2.6 ). The common choice is to approximate
+Poisson variates with normal variates, and then use the much easier formalism
+of normal distribution to a) do basic data manipulations and b) fit data with model.
+To the latter task, in fact, the likelihood function is maximized simply by minimizing
+the usual weighted-
+[4] :
+
+
+
+
+
+
+where
+ are the experimentally observed values,
+ the calculated model values,
+
+ the s.d.s of the observations.
+
+
+Substituting directly the counts (and derived s.d.s) for the observations in the former :
+
+
+
+
+
+
+is the most common way. It is slightly wrong to do so, however [6],
+the error being large only when the counts are low.
+There is also a divergence for zero counts.
+In fact, a slightly modified form [6] exists, reading
+
+
+
+
+
+
+Minimizing this form of
+ is equivalent - to an exceptionally good approximation [6]-
+to maximizing the proper Poisson-likelihood.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Average vs. weighted average
+ Up: How are different positions
+ Previous: Advanced binning
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node54.html b/manual/docs/html/slsDetectors-FAQ/node54.html
new file mode 100644
index 000000000..c71b2dbe1
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node54.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+Average vs. weighted average
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Simple average
+ Up: How are different positions
+ Previous: Poisson and normal statistics
+ Contents
+
+
+
+
+
+
+
+
+
+Subsections
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node55.html b/manual/docs/html/slsDetectors-FAQ/node55.html
new file mode 100644
index 000000000..9c0f4cb78
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node55.html
@@ -0,0 +1,161 @@
+
+
+
+
+
+Simple average
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Zero-skipping average
+ Up: Average vs. weighted average
+ Previous: Average vs. weighted average
+ Contents
+
+
+
+
+
+
+
+Suppose we have
+
+ Poisson-variate experimental evaluations
+
+
+,
+of the same quantity
+.
+There are different ways to obtain from all
+
+ data values a single estimate of the observable which is better than
+any of them. The most straightforward and the best is the simple average
+
+
+
+
+
+
+As the sum of Poisson variates is a Poisson variate, the standard deviation
+
+
+
+
+
+
+can be evaluated more comfortably as
+
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node56.html b/manual/docs/html/slsDetectors-FAQ/node56.html
new file mode 100644
index 000000000..649faccc8
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node56.html
@@ -0,0 +1,126 @@
+
+
+
+
+
+Zero-skipping average
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Weighted average: definition and
+ Up: Average vs. weighted average
+ Previous: Simple average
+ Contents
+
+
+
+
+
+
+
+In some cases, in order to avoid possible singularities,
+values
+ are skipped. Then if
+
+ is the number of non-zero data points,
+we can evaluate the 'zero-skipping' average as
+
+
+
+
+
+
+The standard deviation is then
+
+
+
+
+
+
+Note that the s.d. is evaluated exactly as if the non-zero
+ were the only observations,
+whilst the average is overestimated by the fraction of zero-counting events.
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node57.html b/manual/docs/html/slsDetectors-FAQ/node57.html
new file mode 100644
index 000000000..26059f9aa
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node57.html
@@ -0,0 +1,264 @@
+
+
+
+
+
+Weighted average: definition and relationship with
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Straight Poisson (zero-skipping) weighted
+ Up: Average vs. weighted average
+ Previous: Zero-skipping average
+ Contents
+
+
+
+
+
+
+
+A weighted average is the result of the special case of a data fitting to a model function which is a constant.
+It is easy to see that minimizing w.r.t
+
+
+
+
+
+
+
+yields
+
+
+
+
+
+
+The good-faith s.d. (square-root of twice the inverse of the second derivative of
+ at the minimum)
+is then
+
+
+
+
+
+
+I use the term 'good-faith' to indicate the case when it is really appropriate to use a constant as a model functions,
+i.e. when the observations are truly different observations of the same observable.
+When this is not the case but we do not know what to do better we can at least increase the s.d.
+In fact, there is a correction factor for the s.d., given - in this case - by
+
+
+
+
+
+
+so that
+
+
+
+
+
+
+
+
+Specializing now to the two cases above,
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Straight Poisson (zero-skipping) weighted
+ Up: Average vs. weighted average
+ Previous: Zero-skipping average
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node58.html b/manual/docs/html/slsDetectors-FAQ/node58.html
new file mode 100644
index 000000000..9debffe00
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node58.html
@@ -0,0 +1,242 @@
+
+
+
+
+
+Straight Poisson (zero-skipping) weighted average
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Mighell-Poisson weighted average
+ Up: Average vs. weighted average
+ Previous: Weighted average: definition and
+ Contents
+
+
+
+
+
+
+
+When
+ and
+
+
+
+
+
+
+
+
+Here we need to eliminate the singularity when
+. In order to do so, we skip data points which are zero.
+Then if
+
+ is the number of non-zero data points,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+where
+
+ is the simple average of the non-zero data points; and of course
+
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node59.html b/manual/docs/html/slsDetectors-FAQ/node59.html
new file mode 100644
index 000000000..098bde4ec
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node59.html
@@ -0,0 +1,205 @@
+
+
+
+
+
+Mighell-Poisson weighted average
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Comparison
+ Up: Average vs. weighted average
+ Previous: Straight Poisson (zero-skipping) weighted
+ Contents
+
+
+
+
+
+
+
+When
+
+ and
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+where
+
+ is the simple average of the non-zero data points; and of course
+
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node6.html b/manual/docs/html/slsDetectors-FAQ/node6.html
new file mode 100644
index 000000000..bb1218b2b
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node6.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+How can I configure the data receiver?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: What are settings and
+ Up: SLS Detectors Software
+ Previous: Examples
+ Contents
+
+
+
+
+
+
+
+For slower acquisitions, the detector will return the data to the control PC over TCP/IP (e.g. MYTHEN).
+
+
+However, for faster frame rates (e.g. GOTTHARD, EIGER) the controllers will return the data to a data receiver i.e. a process specifically designed to receive the data from the controller over a GBit network and save them to disk.
+
+The data receiver can run on any machine (e.g. a file server) accessible by both the control PC and the detector controller, as sketched in figure 1.2 . A data receiver process must be configured for each controller. Normally, to avoid performance loss it is better if different data receivers run on different machines.
+
+
+
+
+
+Figure 1.2:
+Scketch of the communication between the control PC, the detector and the data receiver.
+
+
+
+
+
+To setup the system, you should configure:
+
+Client-Detector TCP/IP connection
+i.e. for each controller hostname or IP address (hostname ) and communication port (port , use default).
+
+Client-Receiver TCP/IP connection
+i.e. hostname or IP address of the data receiver (rx_hostname ) and communication port (textitrx_tcpport, use default).
+
+Detector-Receiver UDP connection
+i.e. for each controller IP address of the receiver network interface (rx_udpip ) and communication port (rx_udpport ) used for receiveing the data. By detfault the IP address of the TCP/IP receiver interface will be used also for the UDP conenction. Editing the UDP network interfaces and ports is useful if several controller are sending data to a single receiver (not reccomended to avoid performance loss).
+
+A MAC (detectormac ) and IP address (detectorudpip ) should also be assigned to the controller network interface used for the UDP communication, but the default values can normally be used unless firewalls are defined between the detectors and the receiver.
+
+
+All these configurations are normally left to the configuration file and should not be changed dynamically by the user.
+
+
+After starting the data receiver process and correctly configuring the client and the detector, this architecture should be completely transparent for the user, except that the output file path must be properly configured from the client for the data receiver machine (easiest is that the disk is mounted for both machines in the same location).
+
+The client will take care of communicating with the data receiver and the detector. A feedback about the progress of the acquisition and a preview of the data being acquired can also be obtained by the client from the data receiver.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: What are settings and
+ Up: SLS Detectors Software
+ Previous: Examples
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node60.html b/manual/docs/html/slsDetectors-FAQ/node60.html
new file mode 100644
index 000000000..f2d4676bc
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node60.html
@@ -0,0 +1,173 @@
+
+
+
+
+
+Comparison
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Analytical comparison of averages
+ Up: Average vs. weighted average
+ Previous: Mighell-Poisson weighted average
+ Contents
+
+
+
+
+
+
+
+We have seen four different ways to take an average -
+two simple averages (the second skipping zero values)
+and two weighted averages (using straight Poisson and Poisson-Mighell [6]
+ formulations).
+We know that the simple average (not skipping zeros) is the best possible result. However,
+there are inconveniences with it. If for instance we need to scale our data before averaging, then the
+simple average is no more usable (it will give the correct average but a bad estimate of the s.d.) .
+In any case, the passage to normal statistics (using Mighell's correction) needs to be done before or later.
+Therefore a comparison is due in order to ascertain
+how wrong can it be using the different methods.
+
+
+We have to give a measure of what is negligible first.
+The relative error is a measure of the smallest relative variation of an estimate
+ that is not negligible:
+
+
+
+
+
+
+We shall then consider negligible
+(w.r.t.
+) terms whose relative magnitude is
+
+.
+As the s.d. of
+ is
+
+, we may not discard terms
+
+ on the s.d.;
+there instead we may neglect terms
+
+.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Analytical comparison of averages
+ Up: Average vs. weighted average
+ Previous: Mighell-Poisson weighted average
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node61.html b/manual/docs/html/slsDetectors-FAQ/node61.html
new file mode 100644
index 000000000..f0a4490da
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node61.html
@@ -0,0 +1,345 @@
+
+
+
+
+
+Analytical comparison of averages
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Numerical comparison of averages
+ Up: Average vs. weighted average
+ Previous: Comparison
+ Contents
+
+
+
+
+
+
+
+First we give an analytical comparison between simple average and Mighell-Poisson weighted average
+for
+
+.
+If the two events are
+ and
+, then
+
+
+
+
+
+
+For the M-P weighted average,
+
+
+
+
+
+
+
+
+Now, supposing that the common 'true' value of
+ is
+,
+we use the Poisson distribution to compare the expectation values of the two results. The expectation value of the simple average is
+
+
+
+
+
+
+As expected, the simple average gives the true value.
+For its variance,
+
+
+
+
+
+
+
+
+In order to evaluate the difference with the M-P weighted average, we rewrite the latter as
+
+
+
+
+
+
+and calculate the expectation value of the last term:
+
+
+
+
+
+
+Rearranging the sums with
+,
+
+;
+,
+
+,
+we get
+
+
+
+
+
+
+So, the relative difference between averages is
+
+
+
+
+
+
+The relative error on
+
+ is
+
+
+
+
+
+
+therefore
+
+
+
+
+
+
+Therefore, the expectation value of the error (relative) involved in taking
+the M-P weighted average instead of the simple average is negligible.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Numerical comparison of averages
+ Up: Average vs. weighted average
+ Previous: Comparison
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node62.html b/manual/docs/html/slsDetectors-FAQ/node62.html
new file mode 100644
index 000000000..b5fdd5d20
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node62.html
@@ -0,0 +1,976 @@
+
+
+
+
+
+Numerical comparison of averages
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Scaling Poisson variates
+ Up: Average vs. weighted average
+ Previous: Analytical comparison of averages
+ Contents
+
+
+
+
+
+
+
+In the next table numerical results are displayed. An exact random-Poisson generator has been used to generate Poisson deviates of given average value
+
+, with
+
+. For each value
+
+
+ deviates have been generated. Then averages have been taken for each value
+ and compared with the true value.
+For each value
+ - in order to have a scale for comparison -
+we evaluate the expected absolute s.d. of averages as
+
+, and the relative s.d. of averages as
+
+. Then - for each averaging method - we evaluate the error
+ (average minus
+),
+the relative error
+
+, and finally the comparison criterion
+
+ (bold). The comparison criterion is expected to be close to 1 in absolute value. Values much larger than one mean that we are introducing a systematic error.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1. ;
+
+0.0001 ;
+
+ = 0.0001
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Averages
+ 1.303772380383934
+ 0.9999155361216990
+ 1.581941754994651
+ 0.9999283300000000
+
+
+
+
+ 0.3037723803839338
+ -0.8446387830096658E-04
+ 0.5819417549946508
+ -0.7166999999996815E-04
+
+
+
+
+ 0.3037723803839338
+ -0.8446387830096658E-04
+ 0.5819417549946508
+ -0.7166999999996815E-04
+
+
+
+
+
+ 3037.723803839338
+ -0.8446387830096658
+ 5819.417549946508
+ -0.7166999999996815
+
+
+
+
+
+
+
+
+
+
+
+ 10.000000000000002 ;
+
+0.00031622776601683794 ;
+
+ = 0.00003162277660168379
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Averages
+ 8.848248847530357
+ 10.00025732384808
+ 10.00052232372917
+ 10.00006800000000
+
+
+
+
+ -1.151751152469645
+ 0.2573238480785278E-03
+ 0.5223237291644978E-03
+ 0.6799999999884676E-04
+
+
+
+
+ -0.1151751152469645
+ 0.2573238480785278E-04
+ 0.5223237291644977E-04
+ 0.6799999999884675E-05
+
+
+
+
+
+ -3642.156939527943
+ 0.8137294562072904
+ 1.651732660112730
+ 0.2150348808878029
+
+
+
+
+
+
+
+
+
+
+
+ 100.00000000000004 ;
+
+0.0010000000000000002 ;
+
+ = 0.000009999999999999997
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Averages
+ 98.98978896904168
+ 100.0001037814804
+ 100.0002153600000
+ 100.0002153600000
+
+
+
+
+ -1.010211030958359
+ 0.1037814803765968E-03
+ 0.2153599999559219E-03
+ 0.2153599999559219E-03
+
+
+
+
+ -0.1010211030958359E-01
+ 0.1037814803765968E-05
+ 0.2153599999559218E-05
+ 0.2153599999559218E-05
+
+
+
+
+
+ -1010.211030958359
+ 0.1037814803765968
+ 0.2153599999559219
+ 0.2153599999559219
+
+
+
+
+
+
+
+
+
+
+
+ 1000.0000000000007 ;
+
+0.0031622776601683803 ;
+
+ = 0.000003162277660168378
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Averages
+ 999.0029754507847
+ 1000.003978305674
+ 1000.003836760000
+ 1000.003836760000
+
+
+
+
+ -0.9970245492160075
+ 0.3978305673513205E-02
+ 0.3836759999330752E-02
+ 0.3836759999330752E-02
+
+
+
+
+ -0.9970245492160069E-03
+ 0.3978305673513202E-05
+ 0.3836759999330750E-05
+ 0.3836759999330750E-05
+
+
+
+
+
+ -315.2868458625229
+ 1.258050715667192
+ 1.213290043331128
+ 1.213290043331128
+
+
+
+
+
+
+
+
+
+
+
+ 10000.00000000001 ;
+
+0.010000000000000005 ;
+
+ = 9.999999999999995E-7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Averages
+ 9998.995728116572
+ 9999.995828163173
+ 9999.995919900000
+ 9999.995919900000
+
+
+
+
+ -1.004271883437468
+ -0.4171836835666909E-02
+-0.4080100008650334E-02
+-0.4080100008650334E-02
+
+
+
+
+ -0.1004271883437467E-03
+ -0.4171836835666905E-06
+ -0.4080100008650330E-06
+-0.4080100008650330E-06
+
+
+
+
+
+ -100.4271883437468
+ -0.4171836835666907
+ -0.4080100008650331
+ -0.4080100008650331
+
+
+
+
+
+
+
+
+
+
+
+ 100000.0000000002 ;
+
+0.031622776601683826 ;
+
+ = 3.162277660168376E-7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Averages
+ 99999.01275394148
+ 100000.0127639189
+ 100000.0125627100
+ 100000.0125627100
+
+
+
+
+ -0.9872460587212117
+ 0.1276391866849735E-01
+ 0.1256270980229601E-01
+ 0.1256270980229601E-01
+
+
+
+
+ -0.9872460587212097E-05
+ 0.1276391866849733E-06
+ 0.1256270980229599E-06
+ 0.1256270980229599E-06
+
+
+
+
+
+ -31.21946156583365
+ 0.4036305486159527
+ 0.3972677655897895
+ 0.3972677655897895
+
+
+
+
+
+
+
+
+
+
+
+ 1000000.0000000013 ;
+
+0.10000000000000006 ;
+
+ = 9.999999999999993E-8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Averages
+ 999999.1188353101
+ 1000000.118835812
+ 1000000.118809340
+ 1000000.118809340
+
+
+
+
+ -0.8811646911781281
+ 0.1188358106883243
+ 0.1188093387754634
+ 0.1188093387754634
+
+
+
+
+ -0.8811646911781270E-06
+ 0.1188358106883241E-06
+ 0.1188093387754633E-06
+ 0.1188093387754633E-06
+
+
+
+
+
+ -8.811646911781276
+ 1.188358106883242
+ 1.188093387754633
+ 1.188093387754633
+
+
+
+
+
+As it is visible from the table:
+
+1.
+
+
+ the weighted average using straight Poisson statistics is consistenty bad at all values of
+, that means at all counting levels;
+
+2.
+
+
+: the normal average skipping zero count data is bad for
+
+, that means at low counting levels (of course at higher counting levels zeroes are not happening);
+
+3.
+
+ and
+: the normal average including zero count data and the Mighell-Poisson weighted average
+are consistently and equivalently good at all counting levels.
+
+
+Therefore there is no bias when using the Mighell-Poisson weighted method to average data w.r.t. the usual average. The former, however,
+has already accomplished the passage to normal statistics, therefore all operations on data that are not simple averaging can be done in
+the framework of normal statistics, where everything is known and clear. In the next section, on the opposite, it is shown that
+even simple operations as scaling data lead to the necessity of abandoning Poisson statistics in order to estimate correctly the standard deviations.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Scaling Poisson variates
+ Up: Average vs. weighted average
+ Previous: Analytical comparison of averages
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node63.html b/manual/docs/html/slsDetectors-FAQ/node63.html
new file mode 100644
index 000000000..74acf47ed
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node63.html
@@ -0,0 +1,465 @@
+
+
+
+
+
+Scaling Poisson variates
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Bibliography
+ Up: How are different positions
+ Previous: Numerical comparison of averages
+ Contents
+
+
+
+
+
+
+Scaling Poisson variates
+
+
+
+If we have a count value
+ that follows a Poisson distribution,
+we can assume immediately that the average is
+ and the s.d. is
+
+.
+I.e., repeated experiments would give values
+
+distributed according to the normalized distribution
+
+
+
+
+
+
+This obeys
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Suppose now that
+our observable is
+
+
+
+
+
+
+where
+ is a known error-free scaling factor.
+The distribution of
+ is
+
+
+
+
+
+
+and now,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Now it is no more valid that
+
+, instead
+
+
+
+
+
+
+that is the characteristic relationship for a normal-variate distribution.
+
+
+Moreover, assume now that the scaling factor is not exctly known
+but instead it is a normal-variate itself with average
+, s.d.
+
+
+, and distribution
+
+
+
+
+
+
+Then,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+where in the last we discard, as usual, the 4th order in the relative errors. Both the exact and approximated forms
+are exactly the same as if both distributions were to be normal.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Bibliography
+ Up: How are different positions
+ Previous: Numerical comparison of averages
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node64.html b/manual/docs/html/slsDetectors-FAQ/node64.html
new file mode 100644
index 000000000..ae81f4524
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node64.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+Bibliography
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Why can't I properly
+ Up: How are different positions
+ Previous: Scaling Poisson variates
+ Contents
+
+
+
+
+
+
+
+[1] - B. E. Warren, "X-Ray Diffraction" (Dover:1990)
+
+
+[2] - A. Guinier, "X-Ray Diffraction In Crystals, Imperfect Crystals, and Amorphous Bodies" (Dover:1994)
+
+
+[3] - G. L. Squires, "Introduction to the Theory of Thermal Neutron Scattering" (Dover:1997)
+
+
+[4] - G. E. P. Box, G. C. Tiao, "Bayesian inference in statistical analysis" (Wiley, NY: 1996)
+
+
+[5] - E. Prince, P. T. Boggs, "International Tables for Crystallography" Vol. C, ch. 8.1, pp. 678-688 (First online edition : 2006)
+
+
+[6] - K. J. Mighell, Astrophys. J. 518 (1999) p. 380-393
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node65.html b/manual/docs/html/slsDetectors-FAQ/node65.html
new file mode 100644
index 000000000..ec5b37ec3
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node65.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+Why can't I properly merge different positions?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: About this document ...
+ Up: Angular conversion
+ Previous: Bibliography
+ Contents
+
+
+
+
+
+
+
+From my experience, when data don't merge properly after flat-file corrections there are mainly two reasons:
+
+
+FLUORESCENCE. We ahve already discussed about it and normally it shouws up as differences between individual channels or groups of channels i.e. the patterns don't match in several places.
+This does not seem the case, in my opinion (but do you know exactly what's inside Aspirin?)
+
+
+
+Background scattering from the air. When you move the detector the walls of the housing make a different shadow on the modules and at small angles if you have no beamstopper it could even be backscattering from the housing hit by the beam in the different positions. The only way of improving it is to properly place the beamstopper and to avoid air scattering before the sample e.g. by using a "nose" from the end of your flight tube to very close to the sample.
+Of course the problem is stronger at lower energies (more air scattering) and normally with the detector positioned at low angles (scattering from the housing, shadowing of the "forward" scattered beam).
+When you see this problem you could try to take data e.g. at 20-25 degrees instead of 5-10 degrees and see if it's still there.
+It could also be that the geometry of your housing with the flat window and shorter path inside the housing amplifies the problem, so that you should take special care of it with respect to the SLS where we have just a feww cm before entering the housing and then half a meter inside it.
+
+
+
+Your sample changes over time e.g. in case of radiation damage and long exposure times (usually several seconds).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: About this document ...
+ Up: Angular conversion
+ Previous: Bibliography
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node66.html b/manual/docs/html/slsDetectors-FAQ/node66.html
new file mode 100644
index 000000000..57f671172
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node66.html
@@ -0,0 +1,80 @@
+
+
+
+
+
+About this document ...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Up: SLS Detectors Frequently Asked
+ Previous: Why can't I properly
+ Contents
+
+
+
+
+
+ SLS Detectors
+
+Frequently Asked Questions
+This document was generated using the
+LaTeX 2HTML translator Version 2012 (1.2)
+
+Copyright © 1993, 1994, 1995, 1996,
+Nikos Drakos ,
+Computer Based Learning Unit, University of Leeds.
+
+Copyright © 1997, 1998, 1999,
+Ross Moore ,
+Mathematics Department, Macquarie University, Sydney.
+
+The command line arguments were:
+ latex2html slsDetectors-FAQ.tex
+
+The translation was initiated by Thattil Dhanya on 2018-08-23
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node7.html b/manual/docs/html/slsDetectors-FAQ/node7.html
new file mode 100644
index 000000000..38c8ea8bd
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node7.html
@@ -0,0 +1,122 @@
+
+
+
+
+
+What are settings and calibration files for?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: MYTHEN
+ Up: SLS Detectors Software
+ Previous: How can I configure
+ Contents
+
+
+
+
+
+
+What are settings and calibration files for?
+
+
+
+The analog characteristics of the detector have to be initialized in order to define the noise and the dynamic range which need to be used for the measurements. These parameters have a different meaning for analog or digital detectors, but in both cases some predefined voltage levels and current (we call them settings ) must be laoded to the detector. Moreover, there are some parameters that are custom to single detectors or modules (e.g. the trimbits). All these settings are stored in some settings file, which are organized in a settingsdir with a definite architecture, where the software will look for the files to load to the detector whaen changing its settings.
+
+
+In addition to that, in a single photon counting detector the threshold is set as a voltage level for the comparator, but for the user it is useful to have a direct conversion to the energy level. For this, after a proper calibration of the detector (see specific documentation) calibration file are generated in order to convert threshold in volts to keV. Also in this case the directory caldir where the calibration files are stored must be defined ad organized with a proper architecture, suche that the software can find the calibration coefficients for settings the threshold.
+
+Normally settingsdir and caldir can be the same, but have been left separate for flexibility.
+
+
+The settingsdir and caldir should be properly configured for your detector either in a configuration file (for use with text clients, GUI or API) or dynamically (works only for the text clients).
+
+
+In the following, the architecture of the settingsdir and caldir is described for the different detectors.
+
+
+
+
+Subsections
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: MYTHEN
+ Up: SLS Detectors Software
+ Previous: How can I configure
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node8.html b/manual/docs/html/slsDetectors-FAQ/node8.html
new file mode 100644
index 000000000..d93e3abe9
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node8.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+MYTHEN
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: GOTTHARD
+ Up: What are settings and
+ Previous: What are settings and
+ Contents
+
+
+
+
+
+For mythen, an example of settingsdir and caldir is given in the software package by the directory trimdir
.
+Since these directories are customized by producing trimbit files and calibration for each detector, make sure not to overwrite yours every time you upgrade the software.
+
+
+settingsdir should contain three subdirectories standard
, fast
and highgain
containing respectively the trimfiles standard.trim
, fast.trim
and highgain.trim
which contain the correct voltage settings for the detector although all the individual channel thresholds set to 0. The original files contained in the package should be used, infact in case of error the detector would not recognize the correct settings.
+
+The default trimbit files for each file will be stored in the directory according to the settings with the name noise.snxxx
where xxx
is the module serial number.
+
+
+caldir should contain three subdirectories standard
, fast
and highgain
containing respectively the trimfiles standard.cal
, fast.cal
and highgain.cal
which contain an average calibration of the modules for the diffrent settings. However this can different from the correct one for each individual module even of several kev and therefore it is very important to perform an energy calibration on a module basis.
+
+The default calibration files for each file will be stored in the directory according to the settings with the name calibration.snxxx
where xxx
is the module serial number.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: GOTTHARD
+ Up: What are settings and
+ Previous: What are settings and
+ Contents
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/node9.html b/manual/docs/html/slsDetectors-FAQ/node9.html
new file mode 100644
index 000000000..f571753c2
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/node9.html
@@ -0,0 +1,71 @@
+
+
+
+
+
+GOTTHARD
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: How should a configuration
+ Up: What are settings and
+ Previous: MYTHEN
+ Contents
+
+
+
+
+
+A settingsdir should be configured, as the directory settings
in this software package.
+
+It must contain the subdirectories dynamicgain
, gain1
, gain2
, gain3
, highgain
, lowgain
, mediumgain
, and veryhighgain
in order to properly configure the GOTTHARD detector using the various gain settings.
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/html/slsDetectors-FAQ/slsDetectors-FAQ.css b/manual/docs/html/slsDetectors-FAQ/slsDetectors-FAQ.css
new file mode 100644
index 000000000..d1824aff4
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/slsDetectors-FAQ.css
@@ -0,0 +1,30 @@
+/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
+.MATH { font-family: "Century Schoolbook", serif; }
+.MATH I { font-family: "Century Schoolbook", serif; font-style: italic }
+.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold }
+
+/* implement both fixed-size and relative sizes */
+SMALL.XTINY { font-size : xx-small }
+SMALL.TINY { font-size : x-small }
+SMALL.SCRIPTSIZE { font-size : smaller }
+SMALL.FOOTNOTESIZE { font-size : small }
+SMALL.SMALL { }
+BIG.LARGE { }
+BIG.XLARGE { font-size : large }
+BIG.XXLARGE { font-size : x-large }
+BIG.HUGE { font-size : larger }
+BIG.XHUGE { font-size : xx-large }
+
+/* heading styles */
+H1 { }
+H2 { }
+H3 { }
+H4 { }
+H5 { }
+
+/* mathematics styles */
+DIV.displaymath { } /* math displays */
+TD.eqno { } /* equation-number cells */
+
+
+/* document-specific styles come next */
diff --git a/manual/docs/html/slsDetectors-FAQ/slsDetectors-FAQ.html b/manual/docs/html/slsDetectors-FAQ/slsDetectors-FAQ.html
new file mode 100644
index 000000000..a76300860
--- /dev/null
+++ b/manual/docs/html/slsDetectors-FAQ/slsDetectors-FAQ.html
@@ -0,0 +1,250 @@
+
+
+
+
+
+SLS Detectors
+Frequently Asked Questions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Next: Contents
+ Contents
+
+
+
+
+
+
+
SLS Detectors
+
+Frequently Asked Questions
+Anna Bergamaschi
+
+Date: August 23, 2018
+
+
+
+
+
+
+
+
+
+
+
+Thattil Dhanya
+2018-08-23
+
+
+
diff --git a/manual/docs/pdf/angularCalibrationHowTo.pdf b/manual/docs/pdf/angularCalibrationHowTo.pdf
new file mode 100644
index 000000000..67e099dec
Binary files /dev/null and b/manual/docs/pdf/angularCalibrationHowTo.pdf differ
diff --git a/manual/docs/pdf/energyCalibrationHowTo.pdf b/manual/docs/pdf/energyCalibrationHowTo.pdf
new file mode 100644
index 000000000..a9cf4bcd6
Binary files /dev/null and b/manual/docs/pdf/energyCalibrationHowTo.pdf differ
diff --git a/manual/docs/pdf/slsDetectorClientDocs.pdf b/manual/docs/pdf/slsDetectorClientDocs.pdf
new file mode 100644
index 000000000..738667013
Binary files /dev/null and b/manual/docs/pdf/slsDetectorClientDocs.pdf differ
diff --git a/manual/docs/pdf/slsDetectorClientHowTo.pdf b/manual/docs/pdf/slsDetectorClientHowTo.pdf
new file mode 100644
index 000000000..61ebda4f5
Binary files /dev/null and b/manual/docs/pdf/slsDetectorClientHowTo.pdf differ
diff --git a/manual/docs/pdf/slsDetectorGuiHowTo.pdf b/manual/docs/pdf/slsDetectorGuiHowTo.pdf
new file mode 100644
index 000000000..cedae8459
Binary files /dev/null and b/manual/docs/pdf/slsDetectorGuiHowTo.pdf differ
diff --git a/manual/docs/pdf/slsDetectorInstall.pdf b/manual/docs/pdf/slsDetectorInstall.pdf
new file mode 100644
index 000000000..2c0594e25
Binary files /dev/null and b/manual/docs/pdf/slsDetectorInstall.pdf differ
diff --git a/manual/docs/pdf/slsDetectorUsersDocs.pdf b/manual/docs/pdf/slsDetectorUsersDocs.pdf
new file mode 100644
index 000000000..d7951793f
Binary files /dev/null and b/manual/docs/pdf/slsDetectorUsersDocs.pdf differ
diff --git a/manual/docs/pdf/slsDetectors-FAQ.pdf b/manual/docs/pdf/slsDetectors-FAQ.pdf
new file mode 100644
index 000000000..bf4bd3639
Binary files /dev/null and b/manual/docs/pdf/slsDetectors-FAQ.pdf differ
diff --git a/manual/manual-api/Makefile b/manual/manual-api/Makefile
index 42dcf7004..3acbcf9d4 100644
--- a/manual/manual-api/Makefile
+++ b/manual/manual-api/Makefile
@@ -20,7 +20,7 @@ all: docs detUser slsMultiReceiver
docs: createdocs docspdf docshtml removedocs
-createdocs: slsDetectorUsers.doxy slsDetectorUsers.h detectorData.h slsReceiverUsers.h mainClient.cpp mainReceiver.cpp
+createdocs: slsDetectorUsers.doxy mainClient.cpp mainReceiver.cpp
doxygen slsDetectorUsers.doxy
docspdf:
diff --git a/manual/manual-api/slsDetectorUsers.doxy b/manual/manual-api/slsDetectorUsers.doxy
index 41a4eba4a..51be05dc6 100644
--- a/manual/manual-api/slsDetectorUsers.doxy
+++ b/manual/manual-api/slsDetectorUsers.doxy
@@ -81,7 +81,7 @@ LATEX_HIDE_INDICES = YES
SOURCE_BROWSER = YES
PREDEFINED = __cplusplus
-
+
INPUT = slsDetectorUsers.h detectorData.h slsReceiverUsers.h mainClient.cpp mainReceiver.cpp
OUTPUT_DIRECTORY = slsDetectorUsersDocs
diff --git a/manual/manual-main/slsDetectorInstall.tex b/manual/manual-main/slsDetectorInstall.tex
index 0df430fdd..93d178623 100644
--- a/manual/manual-main/slsDetectorInstall.tex
+++ b/manual/manual-main/slsDetectorInstall.tex
@@ -61,6 +61,11 @@ The \textit{data receiver}, which can be run on a different machine than the
client, receives the data from the detector and processes it. The receiver can
be configured, controlled and monitored by the client.
+\item \textcolor{blue}{slsMultiReceiver}: \\
+It is the same as the \textit{slsReceiver}, but that it is a single process
+for many multiple slsReceiver child processes. One can configure the start TCP port,
+number of slsReceiver processes and if call back should be enabled or not.
+
\item \textcolor{blue}{slsDetectorGUI}: \\
The \textit{graphical user interface}, which provides a user friendly way
of operating the detectors and data receivers with online data preview.
@@ -113,10 +118,10 @@ conda config --add channels slsdetectorgroup
conda install sls_detector_software
#Install specific release (GLIBC2.14)
-conda install sls_detector_software=3.1.0
+conda install sls_detector_software=4.0.0
#Scientific Linux 6 version (GLIBC2.12)
-conda install sls_detector_software=SL6_3.1.0
+conda install sls_detector_software=SL6_4.0.0
\end{verbatim}
\item The package including Python interface
\begin{verbatim}
@@ -128,10 +133,10 @@ conda config --add channels sls_detector
conda install sls_detector
#Install specific release (GLIBC2.14)
-conda install sls_detector=3.1.0
+conda install sls_detector=4.0.0
#Scientific Linux 6 version (GLIBC2.12)
-conda install sls_detector=SL6_3.1.0
+conda install sls_detector=SL6_4.0.0
\end{verbatim}
\end{itemize}
@@ -148,13 +153,13 @@ acquisition system, or if one wants to download the source code and compile.
\begin{verbatim}
#Clone source code with specific release
git clone https://github.com/slsdetectorgroup/slsDetectorPackage.git --branch
-3.1.0
+4.0.0
\end{verbatim}
\item The package including Python interface
\begin{verbatim}
#Clone source code with specific release
git clone https://github.com/slsdetectorgroup/sls_detector.git --branch
-3.1.0
+4.0.0
\end{verbatim}
\end{itemize}
@@ -437,14 +442,11 @@ the SLS Detector Package or a different detector type.
One can use the \verb=cleansharedmemory.sh= script available under the
slsDetector Package.
-One can also just use the following commands to clean the shared memory
-segments one by one.
-\begin{verbatim}
-#displays list of shared memeory segments
-ipcs -m
-#remove segments that have nattach equal to zero. They key is the first column
-ipcrm -M [key]
-\end{verbatim}
+One can also just delete the files that are typically located under /dev/shm/ folder
+and starts with slsDetectorPackage.
+
+One no longer has to delete segments using ipcs.
+
\section{Software Upgrade}
@@ -544,14 +546,14 @@ detector board the programming files and/or software package provided by
the SLS Detectors group.
\subsubsection{GOTTHARD Firmware}
-\textit{For SLS Detector Package v3.1.0} \\
+\textit{For SLS Detector Package v4.0.0} \\
\indent Minimum compatible version: \\
\indent \indent 11.01.2013 \\
\indent Latest version: \\
-\indent \indent 08.02.2018 (50um and 25um Master) \\
+\indent \indent 26.06.2018 (50um) \\
+\indent \indent 08.02.2018 (25 um Master) \\
\indent \indent 09.02.2018 (25 um Slave) \\
-
Normally, the firmware will be upgraded by us as it requires programming the
FPGA via the USB-Blaster.
@@ -636,9 +638,9 @@ detector board the programming files and/or software package provided by
the SLS Detectors group.
\subsubsection{EIGER Firmware}
-\textit{For SLS Detector Package v3.1.0} \\
-\indent Minimum compatible version: 16 \\
-\indent Latest version: 20 \\
+\textit{For SLS Detector Package v4.0.0} \\
+\indent Minimum compatible version: 22 \\
+\indent Latest version: 22 \\
\begin{enumerate}
@@ -647,6 +649,20 @@ Detector Group.
\item If one does not have the bcp script, that should also be obtained from
the SLS Detector Group. It is required to program the bit files and requires
that tftp be installed on the pc.
+ \item Bring the detector into programmable mode by either of the following ways.
+Both ways end up in just the central LED blinking.
+ \begin{enumerate}
+ \item hard reset on the back panel boards resulting in blinking LEDS
+ \item by having the following program running in the background.
+ \begin{verbatim}
+ boot_recovery
+ \end{verbatim}
+\end{enumerate}
+ \item Start a terminal for each half module and run the following to see
+progress.
+\begin{verbatim}
+ nc -p 3000 -u bebxxx 3000
+\end{verbatim}
\item Run the following to update firmware
\begin{verbatim}
#update back end fpga
@@ -715,9 +731,9 @@ detector board the programming files and/or software package provided by
the SLS Detectors group.
\subsubsection{JUNGFRAU Firmware}
-\textit{For SLS Detector Package v3.1.0} \\
-\indent Minimum compatible version: 13.11.2017 \\
-\indent Latest version: 13.11.2017 \\
+\textit{For SLS Detector Package v4.0.0} \\
+\indent Minimum compatible version: 15.06.2018 \\
+\indent Latest version: 15.06.2018 \\
At times, one has to update the firmware, which then also requires updating the
diff --git a/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServer_virtual b/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServer_virtual
index 5d6f88363..ea518da8c 100755
Binary files a/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServer_virtual and b/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServer_virtual differ
diff --git a/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv4.0.0.0 b/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv4.0.0.0
index 2bd730b81..32bd2c563 100755
Binary files a/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv4.0.0.0 and b/slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv4.0.0.0 differ
diff --git a/slsDetectorSoftware/jungfrauDetectorServer/gitInfo.txt b/slsDetectorSoftware/jungfrauDetectorServer/gitInfo.txt
index 58572721c..c5527c47f 100644
--- a/slsDetectorSoftware/jungfrauDetectorServer/gitInfo.txt
+++ b/slsDetectorSoftware/jungfrauDetectorServer/gitInfo.txt
@@ -1,9 +1,9 @@
Path: slsDetectorsPackage/slsDetectorSoftware/jungfrauDetectorServer
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
-Repsitory UUID: 63c130a3806b47332b1532ab00f9f344c5839e0e
-Revision: 161
+Repsitory UUID: b7f62fcd47f8c0a5c23b2073812adb9bba806ce9
+Revision: 162
Branch: 4.0.0-rc
Last Changed Author: Dhanya_Thattil
-Last Changed Rev: 3986
-Last Changed Date: 2018-08-20 11:38:13.000000002 +0200 ./RegisterDefs.h
+Last Changed Rev: 3990
+Last Changed Date: 2018-08-23 11:57:31.000000002 +0200 ./RegisterDefs.h
diff --git a/slsDetectorSoftware/jungfrauDetectorServer/gitInfoJungfrau.h b/slsDetectorSoftware/jungfrauDetectorServer/gitInfoJungfrau.h
index 7a917f824..13b3559cb 100644
--- a/slsDetectorSoftware/jungfrauDetectorServer/gitInfoJungfrau.h
+++ b/slsDetectorSoftware/jungfrauDetectorServer/gitInfoJungfrau.h
@@ -1,6 +1,6 @@
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
-#define GITREPUUID "63c130a3806b47332b1532ab00f9f344c5839e0e"
+#define GITREPUUID "b7f62fcd47f8c0a5c23b2073812adb9bba806ce9"
#define GITAUTH "Dhanya_Thattil"
-#define GITREV 0x3986
-#define GITDATE 0x20180820
+#define GITREV 0x3990
+#define GITDATE 0x20180823
#define GITBRANCH "4.0.0-rc"
diff --git a/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorServer_defs.h b/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorServer_defs.h
index e98896d43..f4e89e760 100644
--- a/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorServer_defs.h
+++ b/slsDetectorSoftware/jungfrauDetectorServer/slsDetectorServer_defs.h
@@ -10,7 +10,7 @@
#define GOODBYE (-200)
#define PROGRAMMING_MODE (-200)
#define MIN_REQRD_VRSN_T_RD_API 0x171220
-#define REQRD_FRMWR_VRSN 0x180226
+#define REQRD_FRMWR_VRSN 0x180615
/* Struct Definitions */
diff --git a/slsDetectorSoftware/slsDetector/slsDetectorUsers.h b/slsDetectorSoftware/slsDetector/slsDetectorUsers.h
index c3836c521..b9010b975 100644
--- a/slsDetectorSoftware/slsDetector/slsDetectorUsers.h
+++ b/slsDetectorSoftware/slsDetector/slsDetectorUsers.h
@@ -25,7 +25,6 @@ class multiSlsDetectorCommand;
-
/*
\mainpage
API for SLS detectors data acquisition