Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer
1
.gitignore
vendored
@ -8,3 +8,4 @@ bin/
|
||||
*.toc
|
||||
build
|
||||
docs/
|
||||
RELEASE.txt
|
||||
|
@ -13,6 +13,8 @@ find_package(Qt4)
|
||||
find_package(Qwt 6)
|
||||
find_package(CBF)
|
||||
find_package(Doxygen)
|
||||
find_package(PNG REQUIRED)
|
||||
|
||||
if (USE_HDF5)
|
||||
find_package(HDF5 1.10 COMPONENTS CXX)
|
||||
endif (USE_HDF5)
|
||||
|
84
README.md
@ -1,46 +1,88 @@
|
||||
# slsDetector package
|
||||
### Documentation
|
||||
Detailed documentation can be found on the [official site.](https://www.psi.ch/detectors/users-support)
|
||||
|
||||
### Binaries
|
||||
Documentation to obtain the binaries via the conda package is available [here.](https://github.com/slsdetectorgroup/sls_detector_software)
|
||||
|
||||
## Installation
|
||||
|
||||
### Get source
|
||||
The source code is organised into several submodules, and the top level module is
|
||||
sls_detectors_package.
|
||||
### Source code
|
||||
One can also obtain the source code from this repository and compile while realizing the setup dependencies as required.
|
||||
```
|
||||
git clone https://github.com/slsdetectorgroup/slsDetectorPackage.git
|
||||
|
||||
```
|
||||
$ git clone git@git.psi.ch:sls_detectors_software/sls_detectors_package.git
|
||||
$ cd sls_detectors_package
|
||||
$ ./checkout.sh
|
||||
```
|
||||
|
||||
### Setup dependencies
|
||||
The GUI client requires Qt 4.8 and Qwt 6.0
|
||||
#### Setup dependencies
|
||||
* Gui Client <br>
|
||||
Requirements: Qt 4.8 and Qwt 6.0
|
||||
```
|
||||
export QTDIR=/usr/local/Trolltech/
|
||||
export QWTDIR=/usr/local/qwt-6.0.1/
|
||||
```
|
||||
If either of them does not exist, the GUI client will not be built.
|
||||
|
||||
The calibration wizards require ROOT
|
||||
* Calibration wizards<br>
|
||||
Requirements: ROOT
|
||||
```
|
||||
export ROOTSYS=/usr/local/root-5.34
|
||||
```
|
||||
|
||||
### Compile
|
||||
Use cmake to create out-of-source builds, by creating an build folder parallel to source directory.
|
||||
#### Compilation
|
||||
|
||||
Compiling can be done in two ways.
|
||||
|
||||
**1. Compile using script cmk.sh**<br>
|
||||
|
||||
After compiling, the libraries and executables will be found in `slsDetectorPackage/build/bin` directory<br>
|
||||
|
||||
Usage: [-c] [-b] [-h] [-d HDF5 directory] [-j]<br>
|
||||
* -[no option]: only make<br>
|
||||
* -c: Clean<br>
|
||||
* -b: Builds/Rebuilds CMake files normal mode<br>
|
||||
* -h: Builds/Rebuilds Cmake files with HDF5 package<br>
|
||||
* -d: HDF5 Custom Directory<br>
|
||||
* -t: Build/Rebuilds only text client<br>
|
||||
* -r: Build/Rebuilds only receiver<br>
|
||||
* -g: Build/Rebuilds only gui<br>
|
||||
* -j: Number of threads to compile through<br>
|
||||
|
||||
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<br>
|
||||
|
||||
|
||||
For rebuilding only certain sections<br>
|
||||
./cmk.sh -tg #only text client and gui<br>
|
||||
./cmk.sh -r #only receiver<br>
|
||||
|
||||
|
||||
**2. Compile without script**<br>
|
||||
Use cmake to create out-of-source builds, by creating a build folder parallel to source directory.
|
||||
```
|
||||
$ cd ..
|
||||
$ mkdir sls_detectors_package-build
|
||||
$ cd sls_detectors_package-build
|
||||
$ cmake ../sls_detectors_package
|
||||
$ 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 -DHDF5_USE_STATIC_LIBRARIES=TRUE ../slsDetectorsPackage
|
||||
$ HDF5_ROOT=/opt/hdf5v1.10.0 cmake ../slsDetectorPackage -DCMAKE_BUILD_TYPE=Debug -DUSE_HDF5=ON
|
||||
```
|
||||
The libraries and executables will be found at `bin` directory
|
||||
After compiling, the libraries and executables will be found at `bin` directory
|
||||
```
|
||||
$ ls bin/
|
||||
gui_client libSlsDetector.a libSlsDetector.so libSlsReceiver.a libSlsReceiver.so
|
||||
|
80
RELEASE.txt
@ -1,13 +1,20 @@
|
||||
|
||||
SLS Detector Package 3.1.0 released on 2017-10-02
|
||||
SLS Detector Package 3.1.1 released on 2018-03-12
|
||||
=================================================
|
||||
|
||||
|
||||
|
||||
INTRODUCTION
|
||||
|
||||
This document describes the differences between 3.1.0 and 3.0.1 release.
|
||||
This document describes the differences between 3.1.0 and 3.1.0 releases.
|
||||
|
||||
The conda package of the binaries can be downloaded from
|
||||
|
||||
https://github.com/slsdetectorgroup/sls_detector_software.git
|
||||
|
||||
The Python interface to the software package (including the package) is at
|
||||
|
||||
https://github.com/slsdetectorgroup/sls_detector.git
|
||||
|
||||
Manual (both HTML and pdf versions) are provided in
|
||||
manual/docs/
|
||||
|
||||
@ -31,10 +38,15 @@ If you have any software related questions or comments, please send them to:
|
||||
|
||||
dhanya.thattil@psi.ch
|
||||
anna.bergamaschi@psi.ch
|
||||
|
||||
If you have any python related questions or comments, please send them to:
|
||||
|
||||
erik.frojdh@psi.ch
|
||||
|
||||
|
||||
CONTENTS
|
||||
|
||||
- Firmware Requirements
|
||||
- Changes in User Interface
|
||||
- New Features
|
||||
- Resolved Issues
|
||||
@ -42,44 +54,60 @@ CONTENTS
|
||||
|
||||
|
||||
|
||||
Changes in User Interface
|
||||
=========================
|
||||
|
||||
Client
|
||||
------
|
||||
1. User Detector API for call back has been changed. Instead of providing double* data,
|
||||
it will now provided in char* with the bit width. One can decode the char* to get an
|
||||
array with data type of their own choosing.
|
||||
|
||||
Receiver
|
||||
--------
|
||||
2. (Eiger) Gap Pixels are included in the data provided. It can be enabled/disabled using
|
||||
'gappixels' from the command line.
|
||||
Firmware Requirements
|
||||
=====================
|
||||
|
||||
Please refer to the link below for more details on the firmware versions.
|
||||
https://www.psi.ch/detectors/firmware.
|
||||
|
||||
Gotthard
|
||||
========
|
||||
Minimum compatible version : 11.01.2013
|
||||
Latest version : 08.02.2018 (50um and 25um Master)
|
||||
09.02.2018 (25 um Slave)
|
||||
|
||||
-Can not be upgraded remotely.
|
||||
|
||||
|
||||
Eiger
|
||||
=====
|
||||
Minimum compatible version : 16
|
||||
Latest version : 20
|
||||
|
||||
-Can be upgraded remotely via bit files.
|
||||
|
||||
|
||||
Jungfrau
|
||||
========
|
||||
Minimum compatible version : 13.11.2017
|
||||
Latest version : 13.11.2017
|
||||
|
||||
-Can be upgraded remotely via sls_detector_put programfpga <pof>.
|
||||
|
||||
|
||||
|
||||
Changes in User Interface
|
||||
=========================
|
||||
|
||||
|
||||
|
||||
|
||||
New Features
|
||||
============
|
||||
|
||||
Gui
|
||||
---
|
||||
1. (Jungfrau) Now features gain plot. Enabled or disabled on the fly using the check button
|
||||
in the tab plot under 2D options.
|
||||
|
||||
|
||||
Resolved Issues
|
||||
===============
|
||||
|
||||
|
||||
|
||||
Resolved Issues
|
||||
===============
|
||||
|
||||
|
||||
|
||||
Known Issues
|
||||
============
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
17
checkout.sh
@ -1,17 +0,0 @@
|
||||
#git clone $1@git.psi.ch:sls_det_software/sls_detectors_package.git slsDetectorsPackage
|
||||
|
||||
#cd slsDetectorsPackage
|
||||
|
||||
git clone $1@git.psi.ch:sls_detectors_software/sls_detector_software.git slsDetectorSoftware
|
||||
|
||||
git clone $1@git.psi.ch:sls_detectors_software/sls_detector_gui.git slsDetectorGui
|
||||
|
||||
git clone $1@git.psi.ch:sls_detectors_software/sls_receiver_software.git slsReceiverSoftware
|
||||
|
||||
git clone $1@git.psi.ch:sls_detectors_software/sls_detector_calibration.git slsDetectorCalibration
|
||||
|
||||
#git clone $1@git.psi.ch:sls_detectors_software/sls_image_reconstruction.git slsImageReconstruction
|
||||
|
||||
git clone $1@git.psi.ch:sls_detectors_software/calibration_wizards.git calibrationWizards
|
||||
|
||||
#git clone git@git.psi.ch:sls_detectors_software/tests.git tests
|
@ -10,9 +10,6 @@ hostname bchip007
|
||||
0:caldir /home/l_maliakal_d/mySoft/newMythenSoftware/settingsdir/gotthard
|
||||
0:ffdir /home/l_maliakal_d
|
||||
0:extsig:0 off
|
||||
0:extsig:1 off
|
||||
0:extsig:2 off
|
||||
0:extsig:3 off
|
||||
#0:detectorip 129.129.202.9
|
||||
0:detectormac 00:aa:bb:cc:dd:ee
|
||||
0:rx_udpport 50004
|
||||
|
@ -15,9 +15,6 @@ hostname bchip007+bchip009+
|
||||
0:caldir /home/l_msdetect/dhanya/slsDetectorsPackage/settingsdir/gotthard
|
||||
0:ffdir /home/l_msdetect
|
||||
0:extsig:0 off
|
||||
0:extsig:1 off
|
||||
0:extsig:2 off
|
||||
0:extsig:3 off
|
||||
0:detectorip 10.1.1.2
|
||||
#0:detectormac 00:aa:bb:cc:dd:ee
|
||||
#0:rx_udpport 50001
|
||||
@ -38,9 +35,6 @@ hostname bchip007+bchip009+
|
||||
1:caldir /home/l_msdetect/dhanya/slsDetectorsPackage/settingsdir/gotthard
|
||||
1:ffdir /home/l_msdetect
|
||||
1:extsig:0 off
|
||||
1:extsig:1 off
|
||||
1:extsig:2 off
|
||||
1:extsig:3 off
|
||||
1:detectorip 10.1.2.2
|
||||
#1:detectormac 00:aa:bb:cc:dd:ee
|
||||
1:rx_udpport 50004
|
||||
|
@ -5,7 +5,7 @@ DESTDIR?=docs
|
||||
|
||||
|
||||
|
||||
MAINDIRS= manual-main
|
||||
MAINDIRS= manual-main manual-api manual-calwiz manual-client manual-gui
|
||||
#manual-calwiz manual-calwiz manual-gui manual-client manual-api
|
||||
CLEANDIRS=$(MAINDIRS:manual-%=clean-%)
|
||||
PDFDIRS=$(MAINDIRS:manual-%=pdf-%)
|
||||
|
@ -1,13 +0,0 @@
|
||||
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.
|
||||
|
||||
? brace missing for \textit
|
@ -1,103 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Footnotes</TITLE>
|
||||
<META NAME="description" CONTENT="Footnotes">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="previous" HREF="node30.html">
|
||||
<LINK REL="up" HREF="slsDetectors-FAQ.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
|
||||
<DL>
|
||||
<DT><A NAME="foot1316">... tab </A><A
|
||||
HREF="node22.html#tex2html20"><SUP>3.1</SUP></A></DT>
|
||||
<DD>The default name of the calibrated trimfiles is <I>trimbits/beamline/</I><I>settings</I><I>/noise.snxxx</I> where <I>settings</I> is the chosen settings. You can change it in <I>src/qDetector.h</I> and then recompile the acquisition program as described in <A HREF="#sec:installation"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
|
||||
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>.
|
||||
|
||||
<PRE>.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
</PRE>
|
||||
</DD>
|
||||
<DT><A NAME="foot1317">....snxxx </A><A
|
||||
HREF="node22.html#tex2html21"><SUP>3.2</SUP></A></DT>
|
||||
<DD>The default name of the calibration file <I>calibration/</I><I>settings</I><I>.snxxx</I> where <I>settings</I> is the chosen settings. You can change it in <I>src/qDetector.h</I> and then recompile the acquisition program.
|
||||
|
||||
<PRE>.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
</PRE>
|
||||
</DD>
|
||||
</DL>
|
||||
</BODY>
|
||||
</HTML>
|
Before Width: | Height: | Size: 242 B |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 682 B |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 223 B |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 255 B |
Before Width: | Height: | Size: 471 B |
Before Width: | Height: | Size: 269 B |
Before Width: | Height: | Size: 259 B |
Before Width: | Height: | Size: 416 B |
Before Width: | Height: | Size: 485 B |
Before Width: | Height: | Size: 461 B |
Before Width: | Height: | Size: 473 B |
Before Width: | Height: | Size: 348 B |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 578 B |
Before Width: | Height: | Size: 495 B |
Before Width: | Height: | Size: 550 B |
Before Width: | Height: | Size: 159 B |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 211 B |
Before Width: | Height: | Size: 215 B |
Before Width: | Height: | Size: 161 B |
Before Width: | Height: | Size: 9.8 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 3.3 KiB |
@ -1,250 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>SLS Detectors
|
||||
Frequently Asked Questions</TITLE>
|
||||
<META NAME="description" CONTENT="SLS Detectors
|
||||
Frequently Asked Questions">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node1.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html24"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up_g.png">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev_g.png">
|
||||
<A NAME="tex2html22"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html25"
|
||||
HREF="node1.html">Contents</A>
|
||||
<B> <A NAME="tex2html23"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<P>
|
||||
|
||||
<H1 ALIGN=CENTER>SLS Detectors
|
||||
<BR>
|
||||
Frequently Asked Questions</H1>
|
||||
<P ALIGN=CENTER><STRONG>Anna Bergamaschi</STRONG>
|
||||
</P>
|
||||
<BR><P ALIGN=CENTER><B>Date:</B> November 28, 2017</P>
|
||||
|
||||
<HR>
|
||||
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html26"
|
||||
HREF="node1.html">Contents</A>
|
||||
<LI><A NAME="tex2html27"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html28"
|
||||
HREF="node3.html">Which programs can I use to control my detector?</A>
|
||||
<LI><A NAME="tex2html29"
|
||||
HREF="node4.html">How can I control many detectors in parallel or independently?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html30"
|
||||
HREF="node4.html#SECTION00221000000000000000">Examples</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html31"
|
||||
HREF="node5.html">How can I configure the data receiver?</A>
|
||||
<LI><A NAME="tex2html32"
|
||||
HREF="node6.html">What are settings and calibration files for?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html33"
|
||||
HREF="node6.html#SECTION00241000000000000000">MYTHEN</A>
|
||||
<LI><A NAME="tex2html34"
|
||||
HREF="node6.html#SECTION00242000000000000000">GOTTHARD</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html35"
|
||||
HREF="node7.html">How should a configuration file look like?</A>
|
||||
<LI><A NAME="tex2html36"
|
||||
HREF="node8.html">What is the meaning of the file name?</A>
|
||||
<LI><A NAME="tex2html37"
|
||||
HREF="node9.html">Which is the sequence of the acquisition flow?</A>
|
||||
<LI><A NAME="tex2html38"
|
||||
HREF="node10.html">How can I synchronize my detector with the experiment?</A>
|
||||
<LI><A NAME="tex2html39"
|
||||
HREF="node11.html">How can several controllers be synchronized?</A>
|
||||
<LI><A NAME="tex2html40"
|
||||
HREF="node12.html">How can the detector movement and position and I0 readout be customized for my beamline?</A>
|
||||
<LI><A NAME="tex2html41"
|
||||
HREF="node13.html">In which data format are written the data?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html42"
|
||||
HREF="node13.html#SECTION002111000000000000000">GOTTHARD</A>
|
||||
<LI><A NAME="tex2html43"
|
||||
HREF="node13.html#SECTION002112000000000000000">EIGER</A>
|
||||
<LI><A NAME="tex2html44"
|
||||
HREF="node13.html#SECTION002113000000000000000">JUNGFRAU</A>
|
||||
</UL>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html45"
|
||||
HREF="node14.html">General questions about detectors</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html46"
|
||||
HREF="node15.html">In which X-ray energy range can I use the detector?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html47"
|
||||
HREF="node15.html#SECTION00311000000000000000">Sensors</A>
|
||||
<LI><A NAME="tex2html48"
|
||||
HREF="node15.html#SECTION00312000000000000000">Frontend electronics</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html49"
|
||||
HREF="node16.html">What limits the maximum frame rate?</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html50"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html51"
|
||||
HREF="node18.html">Which detector settings should I choose?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html52"
|
||||
HREF="node18.html#SECTION00411000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html53"
|
||||
HREF="node19.html">How do I chose the comparator threshold?</A>
|
||||
<LI><A NAME="tex2html54"
|
||||
HREF="node20.html">How does the flat field correction work?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html55"
|
||||
HREF="node20.html#SECTION00431000000000000000">Why isn't my flat-field flat?</A>
|
||||
<LI><A NAME="tex2html56"
|
||||
HREF="node20.html#SECTION00432000000000000000">Dynamic acquisition of the flat field</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html57"
|
||||
HREF="node21.html">What happens when I trim the detector?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html58"
|
||||
HREF="node21.html#SECTION00441000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html59"
|
||||
HREF="node22.html">In what consists the energy calibration of the detector?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html60"
|
||||
HREF="node22.html#SECTION00451000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html61"
|
||||
HREF="node23.html">Why should I change the dynamic range of the counters?</A>
|
||||
<LI><A NAME="tex2html62"
|
||||
HREF="node24.html">When should I enable rate correction</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html63"
|
||||
HREF="node24.html#SECTION00471000000000000000">How can I choose the dead time?</A>
|
||||
</UL>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html64"
|
||||
HREF="node25.html">Charge Integrating detectors</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html65"
|
||||
HREF="node26.html">(Dynamic) Gain Switching</A>
|
||||
<LI><A NAME="tex2html66"
|
||||
HREF="node27.html">Pedestals</A>
|
||||
<LI><A NAME="tex2html67"
|
||||
HREF="node28.html">Energy calibration</A>
|
||||
<LI><A NAME="tex2html68"
|
||||
HREF="node29.html">Data processing</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html69"
|
||||
HREF="node30.html">Angular conversion</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html70"
|
||||
HREF="node31.html">How is the channel number coverted into angle?</A>
|
||||
<LI><A NAME="tex2html71"
|
||||
HREF="node32.html">How are different positions merged together?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html72"
|
||||
HREF="node32.html#SECTION00621000000000000000">Introduction</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html73"
|
||||
HREF="node32.html#SECTION00621100000000000000">Notation</A>
|
||||
<LI><A NAME="tex2html74"
|
||||
HREF="node32.html#SECTION00621200000000000000">Observables</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html75"
|
||||
HREF="node32.html#SECTION00622000000000000000">Basic binning</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html76"
|
||||
HREF="node32.html#SECTION00622100000000000000">Special nasty cases</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html77"
|
||||
HREF="node32.html#SECTION00623000000000000000">Advanced binning</A>
|
||||
<LI><A NAME="tex2html78"
|
||||
HREF="node32.html#SECTION00624000000000000000">Poisson and normal statistics for diffraction</A>
|
||||
<LI><A NAME="tex2html79"
|
||||
HREF="node32.html#SECTION00625000000000000000">Average vs. weighted average</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html80"
|
||||
HREF="node32.html#SECTION00625100000000000000">Simple average</A>
|
||||
<LI><A NAME="tex2html81"
|
||||
HREF="node32.html#SECTION00625200000000000000">Zero-skipping average</A>
|
||||
<LI><A NAME="tex2html82"
|
||||
HREF="node32.html#SECTION00625300000000000000">Weighted average: definition and relationship with <IMG
|
||||
WIDTH="22" HEIGHT="34" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$ \chi ^2$">
|
||||
</A>
|
||||
<LI><A NAME="tex2html83"
|
||||
HREF="node32.html#SECTION00625400000000000000">Straight Poisson (zero-skipping) weighted average</A>
|
||||
<LI><A NAME="tex2html84"
|
||||
HREF="node32.html#SECTION00625500000000000000">Mighell-Poisson weighted average</A>
|
||||
<LI><A NAME="tex2html85"
|
||||
HREF="node32.html#SECTION00625600000000000000">Comparison</A>
|
||||
<LI><A NAME="tex2html86"
|
||||
HREF="node32.html#SECTION00625700000000000000">Analytical comparison of averages</A>
|
||||
<LI><A NAME="tex2html87"
|
||||
HREF="node32.html#SECTION00625800000000000000">Numerical comparison of averages</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html88"
|
||||
HREF="node32.html#SECTION00626000000000000000">Scaling Poisson variates</A>
|
||||
<LI><A NAME="tex2html89"
|
||||
HREF="node32.html#SECTION00627000000000000000">Bibliography</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html90"
|
||||
HREF="node33.html">Why can't I properly merge different positions?</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html91"
|
||||
HREF="node34.html">About this document ...</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,134 +0,0 @@
|
||||
# LaTeX2HTML 2008 (1.71)
|
||||
# Associate internals original text with physical files.
|
||||
|
||||
|
||||
$key = q/sec:usersFunc/;
|
||||
$ref_files{$key} = "$dir".q|node12.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:merging/;
|
||||
$ref_files{$key} = "$dir".q|node32.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:timing/;
|
||||
$ref_files{$key} = "$dir".q|node10.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:gating/;
|
||||
$ref_files{$key} = "$dir".q|node10.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:improvetrimming/;
|
||||
$ref_files{$key} = "$dir".q|node21.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:multidet/;
|
||||
$ref_files{$key} = "$dir".q|node4.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/eq:acqflow/;
|
||||
$ref_files{$key} = "$dir".q|node9.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:autotiming/;
|
||||
$ref_files{$key} = "$dir".q|node10.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:3/;
|
||||
$ref_files{$key} = "$dir".q|node32.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:samplefluo/;
|
||||
$ref_files{$key} = "$dir".q|node19.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:settings/;
|
||||
$ref_files{$key} = "$dir".q|node18.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:2/;
|
||||
$ref_files{$key} = "$dir".q|node32.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:effidet/;
|
||||
$ref_files{$key} = "$dir".q|node15.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:11/;
|
||||
$ref_files{$key} = "$dir".q|node32.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:thrscanfluo/;
|
||||
$ref_files{$key} = "$dir".q|node19.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:dataFormat/;
|
||||
$ref_files{$key} = "$dir".q|node13.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:mythensett/;
|
||||
$ref_files{$key} = "$dir".q|node15.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:sync/;
|
||||
$ref_files{$key} = "$dir".q|node11.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:badff/;
|
||||
$ref_files{$key} = "$dir".q|node20.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:datareceiver/;
|
||||
$ref_files{$key} = "$dir".q|node5.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:effiback/;
|
||||
$ref_files{$key} = "$dir".q|node15.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:trig/;
|
||||
$ref_files{$key} = "$dir".q|node10.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:ffsetup/;
|
||||
$ref_files{$key} = "$dir".q|node20.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:thresholdscanuntrimmed/;
|
||||
$ref_files{$key} = "$dir".q|node21.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:trimdistribution/;
|
||||
$ref_files{$key} = "$dir".q|node21.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:angcal/;
|
||||
$ref_files{$key} = "$dir".q|node31.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:trimdir/;
|
||||
$ref_files{$key} = "$dir".q|node6.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:trimplot/;
|
||||
$ref_files{$key} = "$dir".q|node21.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:thresholdscantrimmed/;
|
||||
$ref_files{$key} = "$dir".q|node21.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:noisetrim/;
|
||||
$ref_files{$key} = "$dir".q|node21.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:encal/;
|
||||
$ref_files{$key} = "$dir".q|node22.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:thrscan/;
|
||||
$ref_files{$key} = "$dir".q|node19.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
1;
|
||||
|
@ -1,269 +0,0 @@
|
||||
# LaTeX2HTML 2008 (1.71)
|
||||
# Associate labels original text with physical files.
|
||||
|
||||
|
||||
$key = q/sec:usersFunc/;
|
||||
$external_labels{$key} = "$URL/" . q|node12.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:merging/;
|
||||
$external_labels{$key} = "$URL/" . q|node32.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:timing/;
|
||||
$external_labels{$key} = "$URL/" . q|node10.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:gating/;
|
||||
$external_labels{$key} = "$URL/" . q|node10.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:improvetrimming/;
|
||||
$external_labels{$key} = "$URL/" . q|node21.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:multidet/;
|
||||
$external_labels{$key} = "$URL/" . q|node4.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/eq:acqflow/;
|
||||
$external_labels{$key} = "$URL/" . q|node9.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:autotiming/;
|
||||
$external_labels{$key} = "$URL/" . q|node10.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:3/;
|
||||
$external_labels{$key} = "$URL/" . q|node32.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:samplefluo/;
|
||||
$external_labels{$key} = "$URL/" . q|node19.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:settings/;
|
||||
$external_labels{$key} = "$URL/" . q|node18.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:2/;
|
||||
$external_labels{$key} = "$URL/" . q|node32.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:effidet/;
|
||||
$external_labels{$key} = "$URL/" . q|node15.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:11/;
|
||||
$external_labels{$key} = "$URL/" . q|node32.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:thrscanfluo/;
|
||||
$external_labels{$key} = "$URL/" . q|node19.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:dataFormat/;
|
||||
$external_labels{$key} = "$URL/" . q|node13.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:mythensett/;
|
||||
$external_labels{$key} = "$URL/" . q|node15.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:sync/;
|
||||
$external_labels{$key} = "$URL/" . q|node11.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:badff/;
|
||||
$external_labels{$key} = "$URL/" . q|node20.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:datareceiver/;
|
||||
$external_labels{$key} = "$URL/" . q|node5.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:effiback/;
|
||||
$external_labels{$key} = "$URL/" . q|node15.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:trig/;
|
||||
$external_labels{$key} = "$URL/" . q|node10.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:ffsetup/;
|
||||
$external_labels{$key} = "$URL/" . q|node20.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:thresholdscanuntrimmed/;
|
||||
$external_labels{$key} = "$URL/" . q|node21.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:trimdistribution/;
|
||||
$external_labels{$key} = "$URL/" . q|node21.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:angcal/;
|
||||
$external_labels{$key} = "$URL/" . q|node31.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:trimdir/;
|
||||
$external_labels{$key} = "$URL/" . q|node6.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:trimplot/;
|
||||
$external_labels{$key} = "$URL/" . q|node21.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:thresholdscantrimmed/;
|
||||
$external_labels{$key} = "$URL/" . q|node21.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:noisetrim/;
|
||||
$external_labels{$key} = "$URL/" . q|node21.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:encal/;
|
||||
$external_labels{$key} = "$URL/" . q|node22.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:thrscan/;
|
||||
$external_labels{$key} = "$URL/" . q|node19.html|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
1;
|
||||
|
||||
|
||||
# LaTeX2HTML 2008 (1.71)
|
||||
# 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/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/sec:improvetrimming/;
|
||||
$external_latex_labels{$key} = q|3.4.1|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:multidet/;
|
||||
$external_latex_labels{$key} = q|1.1|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/eq:acqflow/;
|
||||
$external_latex_labels{$key} = q|1.7|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:autotiming/;
|
||||
$external_latex_labels{$key} = q|1.3|;
|
||||
$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/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:dataFormat/;
|
||||
$external_latex_labels{$key} = q|1.11|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:mythensett/;
|
||||
$external_latex_labels{$key} = q|2.3|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/sec:sync/;
|
||||
$external_latex_labels{$key} = q|1.9|;
|
||||
$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:effiback/;
|
||||
$external_latex_labels{$key} = q|2.2|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:trig/;
|
||||
$external_latex_labels{$key} = q|1.6|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:ffsetup/;
|
||||
$external_latex_labels{$key} = q|3.6|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:thresholdscanuntrimmed/;
|
||||
$external_latex_labels{$key} = q|3.7|;
|
||||
$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/sec:trimdir/;
|
||||
$external_latex_labels{$key} = q|1.4|;
|
||||
$noresave{$key} = "$nosave";
|
||||
|
||||
$key = q/fig:trimplot/;
|
||||
$external_latex_labels{$key} = q|3.9|;
|
||||
$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";
|
||||
|
||||
1;
|
||||
|
@ -1,204 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Contents</TITLE>
|
||||
<META NAME="description" CONTENT="Contents">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node2.html">
|
||||
<LINK REL="previous" HREF="slsDetectors-FAQ.html">
|
||||
<LINK REL="up" HREF="slsDetectors-FAQ.html">
|
||||
<LINK REL="next" HREF="node2.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html100"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html98"
|
||||
HREF="slsDetectors-FAQ.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html92"
|
||||
HREF="slsDetectors-FAQ.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html101"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Up:</B> <A NAME="tex2html99"
|
||||
HREF="slsDetectors-FAQ.html">SLS Detectors Frequently Asked</A>
|
||||
<B> Previous:</B> <A NAME="tex2html93"
|
||||
HREF="slsDetectors-FAQ.html">SLS Detectors Frequently Asked</A>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
<BR>
|
||||
|
||||
<H2><A NAME="SECTION00100000000000000000">
|
||||
Contents</A>
|
||||
</H2>
|
||||
<!--Table of Contents-->
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html102"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html103"
|
||||
HREF="node3.html">Which programs can I use to control my detector?</A>
|
||||
<LI><A NAME="tex2html104"
|
||||
HREF="node4.html">How can I control many detectors in parallel or independently?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html105"
|
||||
HREF="node4.html#SECTION00221000000000000000">Examples</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html106"
|
||||
HREF="node5.html">How can I configure the data receiver?</A>
|
||||
<LI><A NAME="tex2html107"
|
||||
HREF="node6.html">What are settings and calibration files for?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html108"
|
||||
HREF="node6.html#SECTION00241000000000000000">MYTHEN</A>
|
||||
<LI><A NAME="tex2html109"
|
||||
HREF="node6.html#SECTION00242000000000000000">GOTTHARD</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html110"
|
||||
HREF="node7.html">How should a configuration file look like?</A>
|
||||
<LI><A NAME="tex2html111"
|
||||
HREF="node8.html">What is the meaning of the file name?</A>
|
||||
<LI><A NAME="tex2html112"
|
||||
HREF="node9.html">Which is the sequence of the acquisition flow?</A>
|
||||
<LI><A NAME="tex2html113"
|
||||
HREF="node10.html">How can I synchronize my detector with the experiment?</A>
|
||||
<LI><A NAME="tex2html114"
|
||||
HREF="node11.html">How can several controllers be synchronized?</A>
|
||||
<LI><A NAME="tex2html115"
|
||||
HREF="node12.html">How can the detector movement and position and I0 readout be customized for my beamline?</A>
|
||||
<LI><A NAME="tex2html116"
|
||||
HREF="node13.html">In which data format are written the data?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html117"
|
||||
HREF="node13.html#SECTION002111000000000000000">GOTTHARD</A>
|
||||
<LI><A NAME="tex2html118"
|
||||
HREF="node13.html#SECTION002112000000000000000">EIGER</A>
|
||||
<LI><A NAME="tex2html119"
|
||||
HREF="node13.html#SECTION002113000000000000000">JUNGFRAU</A>
|
||||
</UL>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html120"
|
||||
HREF="node14.html">General questions about detectors</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html121"
|
||||
HREF="node15.html">In which X-ray energy range can I use the detector?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html122"
|
||||
HREF="node15.html#SECTION00311000000000000000">Sensors</A>
|
||||
<LI><A NAME="tex2html123"
|
||||
HREF="node15.html#SECTION00312000000000000000">Frontend electronics</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html124"
|
||||
HREF="node16.html">What limits the maximum frame rate?</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html125"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html126"
|
||||
HREF="node18.html">Which detector settings should I choose?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html127"
|
||||
HREF="node18.html#SECTION00411000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html128"
|
||||
HREF="node19.html">How do I chose the comparator threshold?</A>
|
||||
<LI><A NAME="tex2html129"
|
||||
HREF="node20.html">How does the flat field correction work?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html130"
|
||||
HREF="node20.html#SECTION00431000000000000000">Why isn't my flat-field flat?</A>
|
||||
<LI><A NAME="tex2html131"
|
||||
HREF="node20.html#SECTION00432000000000000000">Dynamic acquisition of the flat field</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html132"
|
||||
HREF="node21.html">What happens when I trim the detector?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html133"
|
||||
HREF="node21.html#SECTION00441000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html134"
|
||||
HREF="node22.html">In what consists the energy calibration of the detector?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html135"
|
||||
HREF="node22.html#SECTION00451000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html136"
|
||||
HREF="node23.html">Why should I change the dynamic range of the counters?</A>
|
||||
<LI><A NAME="tex2html137"
|
||||
HREF="node24.html">When should I enable rate correction</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html138"
|
||||
HREF="node24.html#SECTION00471000000000000000">How can I choose the dead time?</A>
|
||||
</UL>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html139"
|
||||
HREF="node25.html">Charge Integrating detectors</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html140"
|
||||
HREF="node26.html">(Dynamic) Gain Switching</A>
|
||||
<LI><A NAME="tex2html141"
|
||||
HREF="node27.html">Pedestals</A>
|
||||
<LI><A NAME="tex2html142"
|
||||
HREF="node28.html">Energy calibration</A>
|
||||
<LI><A NAME="tex2html143"
|
||||
HREF="node29.html">Data processing</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html144"
|
||||
HREF="node30.html">Angular conversion</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html145"
|
||||
HREF="node31.html">How is the channel number coverted into angle?</A>
|
||||
<LI><A NAME="tex2html146"
|
||||
HREF="node32.html">How are different positions merged together?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html147"
|
||||
HREF="node32.html#SECTION00621000000000000000">Introduction</A>
|
||||
<LI><A NAME="tex2html148"
|
||||
HREF="node32.html#SECTION00622000000000000000">Basic binning</A>
|
||||
<LI><A NAME="tex2html149"
|
||||
HREF="node32.html#SECTION00623000000000000000">Advanced binning</A>
|
||||
<LI><A NAME="tex2html150"
|
||||
HREF="node32.html#SECTION00624000000000000000">Poisson and normal statistics for diffraction</A>
|
||||
<LI><A NAME="tex2html151"
|
||||
HREF="node32.html#SECTION00625000000000000000">Average vs. weighted average</A>
|
||||
<LI><A NAME="tex2html152"
|
||||
HREF="node32.html#SECTION00626000000000000000">Scaling Poisson variates</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html153"
|
||||
HREF="node33.html">Why can't I properly merge different positions?</A>
|
||||
</UL></UL>
|
||||
<!--End of Table of Contents-->
|
||||
<BR><HR>
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,201 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>How can I synchronize my detector with the experiment?</TITLE>
|
||||
<META NAME="description" CONTENT="How can I synchronize my detector with the experiment?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node11.html">
|
||||
<LINK REL="previous" HREF="node9.html">
|
||||
<LINK REL="up" HREF="node2.html">
|
||||
<LINK REL="next" HREF="node11.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html280"
|
||||
HREF="node11.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html276"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html270"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html278"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html281"
|
||||
HREF="node11.html">How can several controllers</A>
|
||||
<B> Up:</B> <A NAME="tex2html277"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html271"
|
||||
HREF="node9.html">Which is the sequence</A>
|
||||
<B> <A NAME="tex2html279"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00280000000000000000"></A><A NAME="sec:timing"></A>
|
||||
<BR>
|
||||
How can I synchronize my detector with the experiment?
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
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.
|
||||
<BR>
|
||||
In the following is a list of the main parameters involved in the acquisition timing:
|
||||
<DL>
|
||||
<DT><STRONG>Exposure time</STRONG></DT>
|
||||
<DD>is the time during which the detector is detecting X-rays for each image (ignored is the timing mode is <I>gating</I>).
|
||||
</DD>
|
||||
<DT><STRONG>Period</STRONG></DT>
|
||||
<DD>is the period of the images acquired. If it is shorter than the exposure time plus readout time, it will be ignored.
|
||||
</DD>
|
||||
<DT><STRONG>Delay after trigger</STRONG></DT>
|
||||
<DD>can be set as a delay between the trigger signal and the start of the detection time.
|
||||
</DD>
|
||||
<DT><STRONG>Number of gates</STRONG></DT>
|
||||
<DD>is used only in <I>gating</I> 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.
|
||||
</DD>
|
||||
<DT><STRONG>Number of frames</STRONG></DT>
|
||||
<DD>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.
|
||||
</DD>
|
||||
<DT><STRONG>Number of cycles</STRONG></DT>
|
||||
<DD>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.
|
||||
</DD>
|
||||
<DT><STRONG>Number of probes</STRONG></DT>
|
||||
<DD>is used in stoboscopic measurements when the period is longer than the minimum acquisition period, but shorter than the frame rate.
|
||||
<BR>
|
||||
In this case the data can be summed in firmware.
|
||||
<BR>
|
||||
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).
|
||||
<BR>
|
||||
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.
|
||||
<BR>
|
||||
The probes counter waorks also in trigger and gating modes.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:autotiming"></A><A NAME="820"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1.3:</STRONG>
|
||||
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.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="555" HEIGHT="159" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img8.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/normal_acquisition.eps}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:gating"></A><A NAME="873"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1.4:</STRONG>
|
||||
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 <I>external signal flag</I> (in the example active high).</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="555" HEIGHT="194" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img9.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/gated_acquisition.eps}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:trig"></A><A NAME="874"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1.5:</STRONG>
|
||||
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 <I>external signal flag</I> (in the example rising edge).</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="555" HEIGHT="199" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img10.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/trigger_acquisition.eps}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:trig"></A><A NAME="875"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1.6:</STRONG>
|
||||
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 <I>external signal flag</I> (in the example rising edge).</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="555" HEIGHT="161" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img11.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/ro_trigger_acquisition.eps}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html280"
|
||||
HREF="node11.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html276"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html270"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html278"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html281"
|
||||
HREF="node11.html">How can several controllers</A>
|
||||
<B> Up:</B> <A NAME="tex2html277"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html271"
|
||||
HREF="node9.html">Which is the sequence</A>
|
||||
<B> <A NAME="tex2html279"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,109 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>How can several controllers be synchronized?</TITLE>
|
||||
<META NAME="description" CONTENT="How can several controllers be synchronized?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node12.html">
|
||||
<LINK REL="previous" HREF="node10.html">
|
||||
<LINK REL="up" HREF="node2.html">
|
||||
<LINK REL="next" HREF="node12.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html292"
|
||||
HREF="node12.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html288"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html282"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html290"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html293"
|
||||
HREF="node12.html">How can the detector</A>
|
||||
<B> Up:</B> <A NAME="tex2html289"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html283"
|
||||
HREF="node10.html">How can I synchronize</A>
|
||||
<B> <A NAME="tex2html291"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00290000000000000000"></A> <A NAME="sec:sync"></A>
|
||||
<BR>
|
||||
How can several controllers be synchronized?
|
||||
</H1>
|
||||
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.
|
||||
<BR>
|
||||
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 <I>sync</I> with the <I>extsig</I> command.
|
||||
<BR>
|
||||
In this case a <I>master</I> 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.
|
||||
<BR>
|
||||
The type of synchronization can be<I>gating</I> or <I>trigger</I> 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.
|
||||
<BR>
|
||||
Normally the configuration of the synchronization is configured inside the configuration file and should not be changed dynamically by the user.
|
||||
<BR>
|
||||
<P>
|
||||
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.
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html292"
|
||||
HREF="node12.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html288"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html282"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html290"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html293"
|
||||
HREF="node12.html">How can the detector</A>
|
||||
<B> Up:</B> <A NAME="tex2html289"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html283"
|
||||
HREF="node10.html">How can I synchronize</A>
|
||||
<B> <A NAME="tex2html291"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,109 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>How can the detector movement and position and I0 readout be customized for my beamline?</TITLE>
|
||||
<META NAME="description" CONTENT="How can the detector movement and position and I0 readout be customized for my beamline?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node13.html">
|
||||
<LINK REL="previous" HREF="node11.html">
|
||||
<LINK REL="up" HREF="node2.html">
|
||||
<LINK REL="next" HREF="node13.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html304"
|
||||
HREF="node13.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html300"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html294"
|
||||
HREF="node11.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html302"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html305"
|
||||
HREF="node13.html">In which data format</A>
|
||||
<B> Up:</B> <A NAME="tex2html301"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html295"
|
||||
HREF="node11.html">How can several controllers</A>
|
||||
<B> <A NAME="tex2html303"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION002100000000000000000"></A> <A NAME="sec:usersFunc"></A>
|
||||
<BR>
|
||||
How can the detector movement and position and I0 readout be customized for my beamline?
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
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.
|
||||
<BR>
|
||||
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.
|
||||
<BR>
|
||||
Otherwise the simpleast way is to edit the file
|
||||
<BR><code>slsDetectorSoftware/usersFunctions/usersFunctions.cpp</code>
|
||||
<BR>
|
||||
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.
|
||||
<BR>
|
||||
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.
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html304"
|
||||
HREF="node13.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html300"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html294"
|
||||
HREF="node11.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html302"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html305"
|
||||
HREF="node13.html">In which data format</A>
|
||||
<B> Up:</B> <A NAME="tex2html301"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html295"
|
||||
HREF="node11.html">How can several controllers</A>
|
||||
<B> <A NAME="tex2html303"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,193 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>In which data format are written the data?</TITLE>
|
||||
<META NAME="description" CONTENT="In which data format are written the data?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="previous" HREF="node12.html">
|
||||
<LINK REL="up" HREF="node2.html">
|
||||
<LINK REL="next" HREF="node14.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html314"
|
||||
HREF="node14.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html310"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html306"
|
||||
HREF="node12.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html312"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html315"
|
||||
HREF="node14.html">General questions about detectors</A>
|
||||
<B> Up:</B> <A NAME="tex2html311"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html307"
|
||||
HREF="node12.html">How can the detector</A>
|
||||
<B> <A NAME="tex2html313"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html316"
|
||||
HREF="node13.html#SECTION002111000000000000000">GOTTHARD</A>
|
||||
<LI><A NAME="tex2html317"
|
||||
HREF="node13.html#SECTION002112000000000000000">EIGER</A>
|
||||
<LI><A NAME="tex2html318"
|
||||
HREF="node13.html#SECTION002113000000000000000">JUNGFRAU</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
|
||||
<H1><A NAME="SECTION002110000000000000000"></A> <A NAME="sec:dataFormat"></A>
|
||||
<BR>
|
||||
In which data format are written the data?
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
For MYTHEN the data are writen in ASCII fomat, one file per frame, in columns, either channel number - counts for the <I>.raw</I> files or angle (or channel number)-counts-error for the <I>.dat</I> files.
|
||||
|
||||
<P>
|
||||
For the other detectors the files are written in binary format, and must be decoded depending on the detector.
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION002111000000000000000">
|
||||
GOTTHARD</A>
|
||||
</H2>
|
||||
Each file contains 100 frames.
|
||||
<DL>
|
||||
<DT><STRONG>Normal mode</STRONG></DT>
|
||||
<DD>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.
|
||||
|
||||
<P>
|
||||
Representation of each packet:
|
||||
|
||||
<UL>
|
||||
<LI>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.
|
||||
<BR>
|
||||
Then this <!-- MATH
|
||||
$(108602\&0xFFFFFFFE)>>1 = 54301$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="296" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img12.png"
|
||||
ALT="$ (108602\&0xFFFFFFFE)>>1 = 54301$">
|
||||
is the frame number
|
||||
and <!-- MATH
|
||||
$(108602\&0x1) =0$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="131" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img13.png"
|
||||
ALT="$ (108602\&0x1) =0$">
|
||||
is the packet number.
|
||||
<BR>
|
||||
0 is the packet on the left and 1 is the packet on the right.
|
||||
<BR>
|
||||
On a side note, when you use the data call back, we also give you the derived frame number as an argument.
|
||||
|
||||
<P>
|
||||
</LI>
|
||||
<LI>Data of 1280 bytes. 16 bits per pixel.
|
||||
|
||||
<P>
|
||||
</LI>
|
||||
<LI>2 bytes of insignificant footer.
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>Short Frame Mode</STRONG></DT>
|
||||
<DD>One Frame has only one packet of 518 bytes, where actual data is 512 bytes.
|
||||
|
||||
<UL>
|
||||
<LI>first 4 bytes is the frame number. There is no packet number or increment required herecompared to the normal mode.
|
||||
</LI>
|
||||
<LI>Data of 512 bytes.
|
||||
</LI>
|
||||
<LI>2 bytes of insignificant footer.
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION002112000000000000000">
|
||||
EIGER</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION002113000000000000000">
|
||||
JUNGFRAU</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html314"
|
||||
HREF="node14.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html310"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html306"
|
||||
HREF="node12.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html312"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html315"
|
||||
HREF="node14.html">General questions about detectors</A>
|
||||
<B> Up:</B> <A NAME="tex2html311"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html307"
|
||||
HREF="node12.html">How can the detector</A>
|
||||
<B> <A NAME="tex2html313"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,87 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>General questions about detectors</TITLE>
|
||||
<META NAME="description" CONTENT="General questions about detectors">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node17.html">
|
||||
<LINK REL="previous" HREF="node2.html">
|
||||
<LINK REL="up" HREF="slsDetectors-FAQ.html">
|
||||
<LINK REL="next" HREF="node15.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html329"
|
||||
HREF="node15.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html325"
|
||||
HREF="slsDetectors-FAQ.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html319"
|
||||
HREF="node13.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html327"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html330"
|
||||
HREF="node15.html">In which X-ray energy</A>
|
||||
<B> Up:</B> <A NAME="tex2html326"
|
||||
HREF="slsDetectors-FAQ.html">SLS Detectors Frequently Asked</A>
|
||||
<B> Previous:</B> <A NAME="tex2html320"
|
||||
HREF="node13.html">In which data format</A>
|
||||
<B> <A NAME="tex2html328"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00300000000000000000">
|
||||
General questions about detectors</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html331"
|
||||
HREF="node15.html">In which X-ray energy range can I use the detector?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html332"
|
||||
HREF="node15.html#SECTION00311000000000000000">Sensors</A>
|
||||
<LI><A NAME="tex2html333"
|
||||
HREF="node15.html#SECTION00312000000000000000">Frontend electronics</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html334"
|
||||
HREF="node16.html">What limits the maximum frame rate?</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,209 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>In which X-ray energy range can I use the detector?</TITLE>
|
||||
<META NAME="description" CONTENT="In which X-ray energy range can I use the detector?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node16.html">
|
||||
<LINK REL="previous" HREF="node14.html">
|
||||
<LINK REL="up" HREF="node14.html">
|
||||
<LINK REL="next" HREF="node16.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html345"
|
||||
HREF="node16.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html341"
|
||||
HREF="node14.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html335"
|
||||
HREF="node14.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html343"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html346"
|
||||
HREF="node16.html">What limits the maximum</A>
|
||||
<B> Up:</B> <A NAME="tex2html342"
|
||||
HREF="node14.html">General questions about detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html336"
|
||||
HREF="node14.html">General questions about detectors</A>
|
||||
<B> <A NAME="tex2html344"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html347"
|
||||
HREF="node15.html#SECTION00311000000000000000">Sensors</A>
|
||||
<LI><A NAME="tex2html348"
|
||||
HREF="node15.html#SECTION00312000000000000000">Frontend electronics</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
|
||||
<H1><A NAME="SECTION00310000000000000000">
|
||||
In which X-ray energy range can I use the detector?</A>
|
||||
</H1>
|
||||
What limits the energy range in which the detector can be used is defined both by the sensors characteristics and the readout electronics.
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00311000000000000000">
|
||||
Sensors</A>
|
||||
</H2>
|
||||
Most of the SLS detectors make use of silicon sensors.
|
||||
|
||||
<P>
|
||||
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.
|
||||
<BR>
|
||||
Figure <A HREF="#fig:effidet">2.1</A> 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).
|
||||
<BR>
|
||||
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.
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:effidet"></A><A NAME="1066"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2.1:</STRONG>
|
||||
Efficiency of a silicon sensor as a function of the sensors thickness and X-ray energy.</CAPTION>
|
||||
<TR><TD><IMG
|
||||
WIDTH="556" HEIGHT="537" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img14.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/effiSiHardXRays2}"></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
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 <A HREF="#fig:effiback">2.2</A> shows the absorption efficiency of the sensors for different backplane thicknesses at low energies.
|
||||
<BR>
|
||||
The exact thickness of the backplane for standard SLS sensors is not exactly known but should be about 1-2 <IMG
|
||||
WIDTH="14" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img15.png"
|
||||
ALT="$ \mu$">
|
||||
m.
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:effiback"></A><A NAME="1072"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2.2:</STRONG>
|
||||
Efficiency of a silicon sensor as a function of the X-ray energy for different thicknesses of the backplane.</CAPTION>
|
||||
<TR><TD><IMG
|
||||
WIDTH="554" HEIGHT="538" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img16.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/effiThinkBackplanes}"></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
However for lower energies, the main limitation is normally given by the noise of the frontend electronics (if single photon resolution is required).
|
||||
<BR>
|
||||
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.
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00312000000000000000">
|
||||
Frontend electronics</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
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.
|
||||
|
||||
<UL>
|
||||
<LI>In <B>single photon counting detectors</B>, 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.
|
||||
<BR>
|
||||
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 <A HREF="#fig:mythensett">2.3</A> shows an example of the settings used for the MYTHEN detector for different energy ranges and fluxes.
|
||||
<BR>
|
||||
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).
|
||||
|
||||
<P>
|
||||
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).
|
||||
|
||||
<P>
|
||||
</LI>
|
||||
<LI>For <B>charge integrating detectors</B> 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.
|
||||
|
||||
<P>
|
||||
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.
|
||||
|
||||
<P>
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:mythensett"></A><A NAME="1083"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2.3:</STRONG>
|
||||
Settings to be chosen for the MYTHEN detector as a function of the X-ray energy and radiation intensity.</CAPTION>
|
||||
<TR><TD><IMG
|
||||
WIDTH="555" HEIGHT="284" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img17.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/settings}"></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html345"
|
||||
HREF="node16.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html341"
|
||||
HREF="node14.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html335"
|
||||
HREF="node14.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html343"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html346"
|
||||
HREF="node16.html">What limits the maximum</A>
|
||||
<B> Up:</B> <A NAME="tex2html342"
|
||||
HREF="node14.html">General questions about detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html336"
|
||||
HREF="node14.html">General questions about detectors</A>
|
||||
<B> <A NAME="tex2html344"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,111 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>What limits the maximum frame rate?</TITLE>
|
||||
<META NAME="description" CONTENT="What limits the maximum frame rate?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="previous" HREF="node15.html">
|
||||
<LINK REL="up" HREF="node14.html">
|
||||
<LINK REL="next" HREF="node17.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html357"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html353"
|
||||
HREF="node14.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html349"
|
||||
HREF="node15.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html355"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html358"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> Up:</B> <A NAME="tex2html354"
|
||||
HREF="node14.html">General questions about detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html350"
|
||||
HREF="node15.html">In which X-ray energy</A>
|
||||
<B> <A NAME="tex2html356"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00320000000000000000">
|
||||
What limits the maximum frame rate?</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
In order to acquired the data, they should be:
|
||||
|
||||
<UL>
|
||||
<LI>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.
|
||||
<BR>
|
||||
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).
|
||||
|
||||
<P>
|
||||
</LI>
|
||||
<LI>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.
|
||||
|
||||
<P>
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html357"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html353"
|
||||
HREF="node14.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html349"
|
||||
HREF="node15.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html355"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html358"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> Up:</B> <A NAME="tex2html354"
|
||||
HREF="node14.html">General questions about detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html350"
|
||||
HREF="node15.html">In which X-ray energy</A>
|
||||
<B> <A NAME="tex2html356"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,115 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Single photon counting detectors</TITLE>
|
||||
<META NAME="description" CONTENT="Single photon counting detectors">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node25.html">
|
||||
<LINK REL="previous" HREF="node14.html">
|
||||
<LINK REL="up" HREF="slsDetectors-FAQ.html">
|
||||
<LINK REL="next" HREF="node18.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html369"
|
||||
HREF="node18.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html365"
|
||||
HREF="slsDetectors-FAQ.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html359"
|
||||
HREF="node16.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html367"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html370"
|
||||
HREF="node18.html">Which detector settings should</A>
|
||||
<B> Up:</B> <A NAME="tex2html366"
|
||||
HREF="slsDetectors-FAQ.html">SLS Detectors Frequently Asked</A>
|
||||
<B> Previous:</B> <A NAME="tex2html360"
|
||||
HREF="node16.html">What limits the maximum</A>
|
||||
<B> <A NAME="tex2html368"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00400000000000000000">
|
||||
Single photon counting detectors</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html371"
|
||||
HREF="node18.html">Which detector settings should I choose?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html372"
|
||||
HREF="node18.html#SECTION00411000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html373"
|
||||
HREF="node19.html">How do I chose the comparator threshold?</A>
|
||||
<LI><A NAME="tex2html374"
|
||||
HREF="node20.html">How does the flat field correction work?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html375"
|
||||
HREF="node20.html#SECTION00431000000000000000">Why isn't my flat-field flat?</A>
|
||||
<LI><A NAME="tex2html376"
|
||||
HREF="node20.html#SECTION00432000000000000000">Dynamic acquisition of the flat field</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html377"
|
||||
HREF="node21.html">What happens when I trim the detector?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html378"
|
||||
HREF="node21.html#SECTION00441000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html379"
|
||||
HREF="node22.html">In what consists the energy calibration of the detector?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html380"
|
||||
HREF="node22.html#SECTION00451000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html381"
|
||||
HREF="node23.html">Why should I change the dynamic range of the counters?</A>
|
||||
<LI><A NAME="tex2html382"
|
||||
HREF="node24.html">When should I enable rate correction</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html383"
|
||||
HREF="node24.html#SECTION00471000000000000000">How can I choose the dead time?</A>
|
||||
</UL></UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,152 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Which detector settings should I choose?</TITLE>
|
||||
<META NAME="description" CONTENT="Which detector settings should I choose?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node19.html">
|
||||
<LINK REL="previous" HREF="node17.html">
|
||||
<LINK REL="up" HREF="node17.html">
|
||||
<LINK REL="next" HREF="node19.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html394"
|
||||
HREF="node19.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html390"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html384"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html392"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html395"
|
||||
HREF="node19.html">How do I chose</A>
|
||||
<B> Up:</B> <A NAME="tex2html391"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html385"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> <A NAME="tex2html393"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html396"
|
||||
HREF="node18.html#SECTION00411000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
|
||||
<H1><A NAME="SECTION00410000000000000000">
|
||||
Which detector settings should I choose?</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
The choice of the operation settings is very important in order to obtain good quality data.
|
||||
<BR>
|
||||
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.
|
||||
<BR>
|
||||
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.
|
||||
<BR>
|
||||
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.
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00411000000000000000">
|
||||
MYTHEN</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
Normally the user can follow these rules:
|
||||
|
||||
<OL>
|
||||
<LI>If the X-ray energy is lower than 8 keV the <I>High gain</I> 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).
|
||||
</LI>
|
||||
<LI>For energies higher than 8 keV, the <I>Standard</I> 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).
|
||||
|
||||
<P>
|
||||
</LI>
|
||||
<LI>In case a larger count rate is required in order to keep the acquisition time shorter, the <I>Fast</I> setting must be selected. However the maximum count rate should never exceed 1 Mcounts/s for all channels.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:settings"></A><A NAME="1148"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3.1:</STRONG>
|
||||
Plot indicating the reccomended choice of detector settings as a function of the X-ray energy and maximum count rate per channel..</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="555" HEIGHT="284" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img17.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/settings}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html394"
|
||||
HREF="node19.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html390"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html384"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html392"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html395"
|
||||
HREF="node19.html">How do I chose</A>
|
||||
<B> Up:</B> <A NAME="tex2html391"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html385"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> <A NAME="tex2html393"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,311 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>How do I chose the comparator threshold?</TITLE>
|
||||
<META NAME="description" CONTENT="How do I chose the comparator threshold?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node20.html">
|
||||
<LINK REL="previous" HREF="node18.html">
|
||||
<LINK REL="up" HREF="node17.html">
|
||||
<LINK REL="next" HREF="node20.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html407"
|
||||
HREF="node20.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html403"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html397"
|
||||
HREF="node18.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html405"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html408"
|
||||
HREF="node20.html">How does the flat</A>
|
||||
<B> Up:</B> <A NAME="tex2html404"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html398"
|
||||
HREF="node18.html">Which detector settings should</A>
|
||||
<B> <A NAME="tex2html406"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00420000000000000000">
|
||||
How do I chose the comparator threshold?</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:thrscan"></A><A NAME="1156"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3.2:</STRONG>
|
||||
Number of counts as a function of the threshold detected in an ideal case.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="556" HEIGHT="539" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img18.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/thr_scan_expl}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:thrscanfluo"></A><A NAME="1163"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3.3:</STRONG>
|
||||
Number of counts as a function of the threshold detected in presence of fluorescent radiation</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="556" HEIGHT="539" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img19.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/thr_scan_fluo}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
Once selected the settings, the threshold should be selected.
|
||||
Figure <A HREF="#fig:thrscan">3.2</A> shows the number of counts as a function of the threshold value in the ideal case of monoenergetix X-rays of energy <IMG
|
||||
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$ E_0$">
|
||||
=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 <IMG
|
||||
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$ E_0$">
|
||||
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).
|
||||
<BR>
|
||||
In order to count once al X-rays the threshold should be set at half of the X-ray energy <IMG
|
||||
WIDTH="78" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$ E_t=E_0/2$">
|
||||
: 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.
|
||||
|
||||
<P>
|
||||
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.
|
||||
|
||||
<P>
|
||||
The choice of the threshold should also depend from considerations regarding the emission of fluorescent radiation from the sample.
|
||||
<BR>
|
||||
Figure <A HREF="#fig:thrscanfluo">3.3</A> shows how the curve of the counts would look like for monochromatic X-rays of energy <IMG
|
||||
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$ E_0$">
|
||||
in presence of radiation of energy <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
emitted by the sample. The curve would show a second step at <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
.
|
||||
|
||||
<P>
|
||||
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 <IMG
|
||||
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$ E_t$">
|
||||
should be set at an energy larger than <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
. This also helps to cut down the background.
|
||||
<BR>
|
||||
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 <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
or to <IMG
|
||||
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$ E_0$">
|
||||
(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, <IMG
|
||||
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$ E_t$">
|
||||
should be at least 3 keV larger than <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
.
|
||||
|
||||
<P>
|
||||
Here is a short list of rules to select the appropriate working threshold in order of importance (and eventually modify the X-ray energy):
|
||||
|
||||
<OL>
|
||||
<LI>List the fluorescent emission lines <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
that you expect from your sample.
|
||||
</LI>
|
||||
<LI>If there is no fluorescent emission (<IMG
|
||||
WIDTH="65" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img24.png"
|
||||
ALT="$ E_f<E_0$">
|
||||
) <IMG
|
||||
WIDTH="78" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$ E_t=E_0/2$">
|
||||
|
||||
</LI>
|
||||
<LI>If there is fluorescent emission
|
||||
|
||||
<OL>
|
||||
<LI><IMG
|
||||
WIDTH="91" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img25.png"
|
||||
ALT="$ E_t>E_f+3$">
|
||||
keV
|
||||
</LI>
|
||||
<LI><IMG
|
||||
WIDTH="89" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img26.png"
|
||||
ALT="$ E_t<E_0-3$">
|
||||
keV
|
||||
</LI>
|
||||
</OL>
|
||||
If the range where both requirements are satisfied is large, try to increase the distance of <IMG
|
||||
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$ E_t$">
|
||||
from <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
up to 5 keV and then set <IMG
|
||||
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$ E_t$">
|
||||
as close as possible to the ideal value <IMG
|
||||
WIDTH="78" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$ E_t=E_0/2$">
|
||||
|
||||
</LI>
|
||||
<LI>If it is not possible to satisfy the previous minimal requirements:
|
||||
|
||||
<OL>
|
||||
<LI>If you need high quality data and you can sacrifice detector efficiency (a lot!) <IMG
|
||||
WIDTH="91" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img25.png"
|
||||
ALT="$ E_t>E_f+3$">
|
||||
keV
|
||||
</LI>
|
||||
<LI>If you need fast measurments and you can sacrifice detector uniformity (difficult to say how much) and increase the background <IMG
|
||||
WIDTH="91" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img27.png"
|
||||
ALT="$ E_t<E_f-3$">
|
||||
keV. Remember that <IMG
|
||||
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$ E_t$">
|
||||
is klimited by the electronic noise <IMG
|
||||
WIDTH="51" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img28.png"
|
||||
ALT="$ E_t>4$">
|
||||
keV (3 keV for <I>High gain</I> settings).
|
||||
</LI>
|
||||
<LI>Consider to change <IMG
|
||||
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$ E_0$">
|
||||
to values lower than <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
or at least 6-8 keV larger than <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$ E_f$">
|
||||
|
||||
</LI>
|
||||
</OL>
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:samplefluo"></A><A NAME="1179"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3.4:</STRONG>
|
||||
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.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="556" HEIGHT="539" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img29.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/sample_with_fluorescence}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html407"
|
||||
HREF="node20.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html403"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html397"
|
||||
HREF="node18.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html405"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html408"
|
||||
HREF="node20.html">How does the flat</A>
|
||||
<B> Up:</B> <A NAME="tex2html404"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html398"
|
||||
HREF="node18.html">Which detector settings should</A>
|
||||
<B> <A NAME="tex2html406"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,117 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>SLS Detectors Software</TITLE>
|
||||
<META NAME="description" CONTENT="SLS Detectors Software">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node14.html">
|
||||
<LINK REL="previous" HREF="node1.html">
|
||||
<LINK REL="up" HREF="slsDetectors-FAQ.html">
|
||||
<LINK REL="next" HREF="node3.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html164"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html160"
|
||||
HREF="slsDetectors-FAQ.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html154"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html162"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html165"
|
||||
HREF="node3.html">Which programs can I</A>
|
||||
<B> Up:</B> <A NAME="tex2html161"
|
||||
HREF="slsDetectors-FAQ.html">SLS Detectors Frequently Asked</A>
|
||||
<B> Previous:</B> <A NAME="tex2html155"
|
||||
HREF="node1.html">Contents</A>
|
||||
<B> <A NAME="tex2html163"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00200000000000000000">
|
||||
SLS Detectors Software</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html166"
|
||||
HREF="node3.html">Which programs can I use to control my detector?</A>
|
||||
<LI><A NAME="tex2html167"
|
||||
HREF="node4.html">How can I control many detectors in parallel or independently?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html168"
|
||||
HREF="node4.html#SECTION00221000000000000000">Examples</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html169"
|
||||
HREF="node5.html">How can I configure the data receiver?</A>
|
||||
<LI><A NAME="tex2html170"
|
||||
HREF="node6.html">What are settings and calibration files for?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html171"
|
||||
HREF="node6.html#SECTION00241000000000000000">MYTHEN</A>
|
||||
<LI><A NAME="tex2html172"
|
||||
HREF="node6.html#SECTION00242000000000000000">GOTTHARD</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html173"
|
||||
HREF="node7.html">How should a configuration file look like?</A>
|
||||
<LI><A NAME="tex2html174"
|
||||
HREF="node8.html">What is the meaning of the file name?</A>
|
||||
<LI><A NAME="tex2html175"
|
||||
HREF="node9.html">Which is the sequence of the acquisition flow?</A>
|
||||
<LI><A NAME="tex2html176"
|
||||
HREF="node10.html">How can I synchronize my detector with the experiment?</A>
|
||||
<LI><A NAME="tex2html177"
|
||||
HREF="node11.html">How can several controllers be synchronized?</A>
|
||||
<LI><A NAME="tex2html178"
|
||||
HREF="node12.html">How can the detector movement and position and I0 readout be customized for my beamline?</A>
|
||||
<LI><A NAME="tex2html179"
|
||||
HREF="node13.html">In which data format are written the data?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html180"
|
||||
HREF="node13.html#SECTION002111000000000000000">GOTTHARD</A>
|
||||
<LI><A NAME="tex2html181"
|
||||
HREF="node13.html#SECTION002112000000000000000">EIGER</A>
|
||||
<LI><A NAME="tex2html182"
|
||||
HREF="node13.html#SECTION002113000000000000000">JUNGFRAU</A>
|
||||
</UL></UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,177 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>How does the flat field correction work?</TITLE>
|
||||
<META NAME="description" CONTENT="How does the flat field correction work?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node21.html">
|
||||
<LINK REL="previous" HREF="node19.html">
|
||||
<LINK REL="up" HREF="node17.html">
|
||||
<LINK REL="next" HREF="node21.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html419"
|
||||
HREF="node21.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html415"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html409"
|
||||
HREF="node19.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html417"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html420"
|
||||
HREF="node21.html">What happens when I</A>
|
||||
<B> Up:</B> <A NAME="tex2html416"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html410"
|
||||
HREF="node19.html">How do I chose</A>
|
||||
<B> <A NAME="tex2html418"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html421"
|
||||
HREF="node20.html#SECTION00431000000000000000">Why isn't my flat-field flat?</A>
|
||||
<LI><A NAME="tex2html422"
|
||||
HREF="node20.html#SECTION00432000000000000000">Dynamic acquisition of the flat field</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
|
||||
<H1><A NAME="SECTION00430000000000000000">
|
||||
How does the flat field correction work?</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00431000000000000000">
|
||||
Why isn't my flat-field flat?</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
The main reasons of a non flat flat-field can be:
|
||||
|
||||
<UL>
|
||||
<LI>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.
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:badff"></A><A NAME="1189"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3.5:</STRONG>
|
||||
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.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="554" HEIGHT="538" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img30.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/bad_ff_col}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
</LI>
|
||||
<LI>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.
|
||||
</LI>
|
||||
<LI>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.
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00432000000000000000">
|
||||
Dynamic acquisition of the flat field</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
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.
|
||||
<BR>
|
||||
<P>
|
||||
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 <A HREF="#fig:ffsetup">3.6</A>.
|
||||
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.
|
||||
<BR>
|
||||
<P>
|
||||
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).
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:ffsetup"></A><A NAME="1199"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3.6:</STRONG>
|
||||
Sketch of the experimental setup for a dynamic acquisition of the flat field.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="555" HEIGHT="396" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img31.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/FFSetup}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html419"
|
||||
HREF="node21.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html415"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html409"
|
||||
HREF="node19.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html417"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html420"
|
||||
HREF="node21.html">What happens when I</A>
|
||||
<B> Up:</B> <A NAME="tex2html416"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html410"
|
||||
HREF="node19.html">How do I chose</A>
|
||||
<B> <A NAME="tex2html418"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,264 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>What happens when I trim the detector?</TITLE>
|
||||
<META NAME="description" CONTENT="What happens when I trim the detector?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node22.html">
|
||||
<LINK REL="previous" HREF="node20.html">
|
||||
<LINK REL="up" HREF="node17.html">
|
||||
<LINK REL="next" HREF="node22.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html433"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html429"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html423"
|
||||
HREF="node20.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html431"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html434"
|
||||
HREF="node22.html">In what consists the</A>
|
||||
<B> Up:</B> <A NAME="tex2html430"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html424"
|
||||
HREF="node20.html">How does the flat</A>
|
||||
<B> <A NAME="tex2html432"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html435"
|
||||
HREF="node21.html#SECTION00441000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
|
||||
<H1><A NAME="SECTION00440000000000000000">
|
||||
What happens when I trim the detector?</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
General remarks about trimming.
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00441000000000000000">
|
||||
MYTHEN</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<B>Trimming with noise</B> <A NAME="sec:noisetrim"></A>
|
||||
<BR>
|
||||
<P>
|
||||
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).
|
||||
<BR>
|
||||
The procedure for the noise trimming is as follows:
|
||||
|
||||
<OL>
|
||||
<LI>In the <I>Initialization tab</I> click on the settings for which you want to trim (e.g. standard)
|
||||
</LI>
|
||||
<LI>In the <I>Initialization tab</I> click on the <I>advanced</I> radio button to make the trimming accessible.
|
||||
</LI>
|
||||
<LI>In the <I>Acquisition tab</I> set the acquisition time to 100 ms, the repetion to 1 and the delay between frames to 0.
|
||||
</LI>
|
||||
<LI>For noise trimming usually the default parameters <!-- MATH
|
||||
$Vthreshold=7$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="114" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img32.png"
|
||||
ALT="$ Vthreshold=7$">
|
||||
, <!-- MATH
|
||||
$Counts=500$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="102" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img33.png"
|
||||
ALT="$ Counts=500$">
|
||||
, <!-- MATH
|
||||
$Resolution=4$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="111" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img34.png"
|
||||
ALT="$ Resolution=4$">
|
||||
work.
|
||||
<BR>
|
||||
However, to verify the threshold setting it is best to make a threshold scan. To do this go to the <I>Data</I> tab, in the Data display section select the 2D color and type advanced option. In the <I>Acquisition</I> 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 <A HREF="#fig:thresholdscanuntrimmed">3.7</A> should be shown. Depending on the system the number of modules may vary. If the plot is similar to the one in <A HREF="#fig:thresholdscantrimmed">3.10</A> 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.
|
||||
<BR>
|
||||
Set the parameter Vthreshold in the <I>Trimming</I> box (<I>Initialization tab</I>) 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.
|
||||
<BR>
|
||||
You can usually leave the remaining parameters unchanged (Counts/pixel=500; Resolution=4).
|
||||
</LI>
|
||||
<LI>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 <I>Trim</I> 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<IMG
|
||||
WIDTH="17" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img35.png"
|
||||
ALT="$ \pm$">
|
||||
5 and should look gaussian. An example distribution is shown in figure <A HREF="#fig:trimdistribution">3.8</A> and an example plot in <A HREF="#fig:trimplot">3.9</A>. 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.
|
||||
</LI>
|
||||
<LI>Execute the treshold scan again to verify the trimming was done properly. A plot similar tho the one in figure <A HREF="#fig:thresholdscantrimmed">3.10</A> should appear.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:thresholdscanuntrimmed"></A><A NAME="1226"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3.7:</STRONG>
|
||||
The untrimmed threshold scan.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="554" HEIGHT="275" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img36.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/noise_thresholdscanuntrimmed}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:trimdistribution"></A><A NAME="1233"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3.8:</STRONG>
|
||||
The distribution of the trimbits.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="554" HEIGHT="275" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img37.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/trimbitdistribution}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:trimplot"></A><A NAME="1240"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3.9:</STRONG>
|
||||
The trimbits for all the channels.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="554" HEIGHT="275" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img38.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/trimbitplot}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:thresholdscantrimmed"></A><A NAME="1247"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3.10:</STRONG>
|
||||
The trimmed threshold scan.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="554" HEIGHT="275" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img39.png"
|
||||
ALT="\includegraphics[width=\textwidth]{images/noise_thresholdscantrimmed}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
<B>Improve the trimming using X-rays</B><A NAME="sec:improvetrimming"></A>
|
||||
<BR>
|
||||
<P>
|
||||
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:
|
||||
|
||||
<OL>
|
||||
<LI>Select the settings of the detector and load the noise trimming file
|
||||
</LI>
|
||||
<LI>Set the threshold at half of the X-ray energy (better if the detector has already been calibrated in energy like explained in <A HREF="node22.html#sec:encal">3.5</A>)
|
||||
</LI>
|
||||
<LI>Illuminate the detector with a flat field. This is very important to obtain a good trimming.
|
||||
</LI>
|
||||
<LI>Select the <I>acquisition time</I> in the <I>acquisition tab</I> 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.
|
||||
</LI>
|
||||
<LI>Go to expert mode by clicking on <I>advanced</I> in the <I>initialization tab</I>, <I>settings</I> box
|
||||
</LI>
|
||||
<LI>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).
|
||||
</LI>
|
||||
<LI>Select the <I>improve</I> method
|
||||
<I>S</I>tart the trimming
|
||||
</LI>
|
||||
</OL>
|
||||
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.
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html433"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html429"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html423"
|
||||
HREF="node20.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html431"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html434"
|
||||
HREF="node22.html">In what consists the</A>
|
||||
<B> Up:</B> <A NAME="tex2html430"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html424"
|
||||
HREF="node20.html">How does the flat</A>
|
||||
<B> <A NAME="tex2html432"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,185 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>In what consists the energy calibration of the detector?</TITLE>
|
||||
<META NAME="description" CONTENT="In what consists the energy calibration of the detector?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node23.html">
|
||||
<LINK REL="previous" HREF="node21.html">
|
||||
<LINK REL="up" HREF="node17.html">
|
||||
<LINK REL="next" HREF="node23.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html446"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html442"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html436"
|
||||
HREF="node21.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html444"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html447"
|
||||
HREF="node23.html">Why should I change</A>
|
||||
<B> Up:</B> <A NAME="tex2html443"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html437"
|
||||
HREF="node21.html">What happens when I</A>
|
||||
<B> <A NAME="tex2html445"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html448"
|
||||
HREF="node22.html#SECTION00451000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
|
||||
<H1><A NAME="SECTION00450000000000000000"></A><A NAME="sec:encal"></A>
|
||||
<BR>
|
||||
In what consists the energy calibration of the detector?
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
General remarks about DAC to energy conversion
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00451000000000000000">
|
||||
MYTHEN</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
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:
|
||||
|
||||
<UL>
|
||||
<LI>Select the setting in the <I>Initialization</I> tab.
|
||||
</LI>
|
||||
<LI>Enter in expert mode by clicking the <I>Advanced</I> radiobutton in the <I>Global settings</I> box in the <I>Initialization</I> tab.
|
||||
</LI>
|
||||
<LI>If the trimfiles are in the correct location and with the correct name, they should be loaded by default every time you select the corresponding settings in the <I>global settings</I> box in the <I>initialization</I> tab <A NAME="tex2html20"
|
||||
HREF="footnode.html#foot1316"><SUP>3.1</SUP></A>.
|
||||
If the trim files do not yet exist generate them as explained in section <A HREF="node21.html#sec:noisetrim">3.4.1</A>.
|
||||
</LI>
|
||||
<LI>Execute a threshold scan of the detector with at least three different energies. The more monochromatic are the X-rays, the better the calibration will be (i.e. scattered X-rays are better than the fluorescent emission).
|
||||
<BR>
|
||||
The scan should range from where all modules count 0 (estimate 850-20<IMG
|
||||
WIDTH="9" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img40.png"
|
||||
ALT="$ \cdot$">
|
||||
energy(keV) DAcu) and where all modules start having a lot of noise (usually 800 DACu) with a step of 1 or 2 DACu. The acquisition time should be chosen so that there are at least 1000 counts per strip on the plateau.
|
||||
</LI>
|
||||
<LI>Open the file <I>root/CalAllModules.C</I> for editing. Change the value of the following global variables according to your needs:
|
||||
|
||||
<UL>
|
||||
<LI><I>nmod</I> is the number of modules of your system.
|
||||
</LI>
|
||||
<LI><I>nscan</I> is the number of different threshold scans you acquired.
|
||||
</LI>
|
||||
<LI><I>en</I> is the array with the energies at which you acquired the scans, in keV.
|
||||
</LI>
|
||||
<LI><I>een</I> is the array with the errors on the energies at which you acquired the scans, in keV. It is usually small, but can be some hundreds eV in case of dirty fluorescent samples.
|
||||
</LI>
|
||||
<LI><I>fn</I> is the array containing the location and root file name of your data.
|
||||
</LI>
|
||||
<LI><I>run</I> is the array containing the run index of your data.
|
||||
</LI>
|
||||
<LI><I>startscan</I> is the array containing the threshold value at which you started the scans.
|
||||
</LI>
|
||||
<LI><I>stopscan</I> is the array containing the threshold value at which you finished the scans.
|
||||
</LI>
|
||||
<LI><I>stepscan</I> is the array containing the threshold step of the scans.
|
||||
</LI>
|
||||
<LI><I>ave</I> is the array containing the average number of counts per strip on the plateau (it must not be too precise).
|
||||
</LI>
|
||||
<LI><I>sn</I> is the array containing the list of the serial number of the modules to be calibrated. It is important that the list is in the right order, so that the optput calibration files have the extension .snxxx corresponding to the right module.
|
||||
</LI>
|
||||
<LI><I>of</I> is the location and root file name of the calibration file. The directory should already exist and the extension .snxxx will be attached to the output file.
|
||||
</LI>
|
||||
</UL>
|
||||
</LI>
|
||||
<LI>Launch <I>root</I>, which you should have already installed on your linux PC
|
||||
</LI>
|
||||
<LI>Execute the following commands in order to load the macros needed for the calibration:
|
||||
<PRE>
|
||||
root$ .L root/NewMythenMacros.C++
|
||||
root$ .L root/CalAllModules.C++
|
||||
</PRE>
|
||||
You should get a lot of warnings, but no errors.
|
||||
</LI>
|
||||
<LI>Execute the following command in order to run the calibration:
|
||||
<PRE>
|
||||
root$ EnCalModules()
|
||||
root$
|
||||
</PRE>
|
||||
Reading and analyzing the data takes some time, but, after a while, a canvas should open where the plots of the median of the counts of every module as a function of the threshold should be shown for each energy, fitted with a modified <I>erf</I> function in order to find the inflextion point. The last plot of the canvas should represent the inflexion points as a function of the energies, and by fitting it with a straight line it is possible to calculate the offset and gain for each module i.e. calibrate it as a function of the energy. Please check that this automated fitting procedure succeeds. In case you see many fitting errors you should try to check wether the variable you edited in <I>root/CalAllModules.C</I> are all correct or try to edit the fitting procedures in the two root macro files (sorry!).
|
||||
</LI>
|
||||
<LI>Copy the calibration file you obtained to <I>calibration</I>/<I>settings</I><I>.snxxx</I> <A NAME="tex2html21"
|
||||
HREF="footnode.html#foot1317"><SUP>3.2</SUP></A> By doing this the correct threshold for each module will be calculated every time you change the <I>threhsold energy</I> in the <I>global settings</I> box in the <I>initialization</I> tab, you have loaded some default settings and you are not in expert mode.
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html446"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html442"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html436"
|
||||
HREF="node21.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html444"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html447"
|
||||
HREF="node23.html">Why should I change</A>
|
||||
<B> Up:</B> <A NAME="tex2html443"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<B> Previous:</B> <A NAME="tex2html437"
|
||||
HREF="node21.html">What happens when I</A>
|
||||
<B> <A NAME="tex2html445"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,116 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Which programs can I use to control my detector?</TITLE>
|
||||
<META NAME="description" CONTENT="Which programs can I use to control my detector?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node4.html">
|
||||
<LINK REL="previous" HREF="node2.html">
|
||||
<LINK REL="up" HREF="node2.html">
|
||||
<LINK REL="next" HREF="node4.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html193"
|
||||
HREF="node4.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html189"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html183"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html191"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html194"
|
||||
HREF="node4.html">How can I control</A>
|
||||
<B> Up:</B> <A NAME="tex2html190"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html184"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> <A NAME="tex2html192"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00210000000000000000">
|
||||
Which programs can I use to control my detector?</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
The complete software package is composed of several programs which can be installed (or locally compiled) depending on the needs:
|
||||
|
||||
<P>
|
||||
|
||||
<UL>
|
||||
<LI>The <B>slsDetector shared and static libraries</B> which are necessary for all user interfaces.
|
||||
<BR>
|
||||
The class slsDetectorUsers can be used as API from your acquisition software (see separate documentation).
|
||||
</LI>
|
||||
<LI>The <B>command line interfaces (sls_detector_put, sls_detector_get, sls_detector_acquire, sls_detector_help)</B>, which are provided to communicate with the detectors using the command line and eventually to the data receiver
|
||||
</LI>
|
||||
<LI>The <B>data receiver (slsReceiver)</B>, 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
|
||||
</LI>
|
||||
<LI>The <B>graphical user interface (slsDetectorGUI)</B> which provides a user friendly way of operating the detectors with online data preview
|
||||
</LI>
|
||||
<LI>The <B>calibration wizards (energyCalibrationWizard, angularCalibrationWizard)</B> to analyze the data and produce the energy or angular calibration files
|
||||
</LI>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html193"
|
||||
HREF="node4.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html189"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html183"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html191"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html194"
|
||||
HREF="node4.html">How can I control</A>
|
||||
<B> Up:</B> <A NAME="tex2html190"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html184"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> <A NAME="tex2html192"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,164 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>How can I control many detectors in parallel or independently?</TITLE>
|
||||
<META NAME="description" CONTENT="How can I control many detectors in parallel or independently?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node5.html">
|
||||
<LINK REL="previous" HREF="node3.html">
|
||||
<LINK REL="up" HREF="node2.html">
|
||||
<LINK REL="next" HREF="node5.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html205"
|
||||
HREF="node5.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html201"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html195"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html203"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html206"
|
||||
HREF="node5.html">How can I configure</A>
|
||||
<B> Up:</B> <A NAME="tex2html202"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html196"
|
||||
HREF="node3.html">Which programs can I</A>
|
||||
<B> <A NAME="tex2html204"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html207"
|
||||
HREF="node4.html#SECTION00221000000000000000">Examples</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
|
||||
<H1><A NAME="SECTION00220000000000000000">
|
||||
How can I control many detectors in parallel or independently?</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
For most users the detector will be composed by a single module. Therefore all configurations of the detector will refere to that single entity.
|
||||
|
||||
<P>
|
||||
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).
|
||||
<BR>
|
||||
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.
|
||||
|
||||
<P>
|
||||
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.
|
||||
|
||||
<P>
|
||||
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.
|
||||
|
||||
<P>
|
||||
A sketch of a possible complex detector configuration is shown in figure <A HREF="#fig:multidet">1.1</A>
|
||||
|
||||
<P>
|
||||
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.
|
||||
<BR>
|
||||
To control the other detectors the index cannot be omitted!
|
||||
<BR>
|
||||
<P>
|
||||
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.
|
||||
<BR>
|
||||
<P>
|
||||
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.
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:multidet"></A><A NAME="659"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1.1:</STRONG>
|
||||
Scketch of a possible complex system architecture composed of several detector, each consisting in many controllers eventually controlling several modules.</CAPTION>
|
||||
<TR><TD><IMG
|
||||
WIDTH="554" HEIGHT="139" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img2.png"
|
||||
ALT="\includegraphics[width=\textwidth]{multi_detector}"></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00221000000000000000">
|
||||
Examples</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
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.
|
||||
|
||||
<P>
|
||||
For GOTTHARD, one module corresponds to one controller. A detector will have the smae number of controllers and modules.
|
||||
|
||||
<P>
|
||||
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.
|
||||
|
||||
<P>
|
||||
You will need to configure more than one detector, only in case you want to operate several detectors independently.
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html205"
|
||||
HREF="node5.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html201"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html195"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html203"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html206"
|
||||
HREF="node5.html">How can I configure</A>
|
||||
<B> Up:</B> <A NAME="tex2html202"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html196"
|
||||
HREF="node3.html">Which programs can I</A>
|
||||
<B> <A NAME="tex2html204"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,139 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>How can I configure the data receiver?</TITLE>
|
||||
<META NAME="description" CONTENT="How can I configure the data receiver?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node6.html">
|
||||
<LINK REL="previous" HREF="node4.html">
|
||||
<LINK REL="up" HREF="node2.html">
|
||||
<LINK REL="next" HREF="node6.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html218"
|
||||
HREF="node6.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html214"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html208"
|
||||
HREF="node4.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html216"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html219"
|
||||
HREF="node6.html">What are settings and</A>
|
||||
<B> Up:</B> <A NAME="tex2html215"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html209"
|
||||
HREF="node4.html">How can I control</A>
|
||||
<B> <A NAME="tex2html217"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00230000000000000000">
|
||||
How can I configure the data receiver?</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
For slower acquisitions, the detector will return the data to the control PC over TCP/IP (e.g. MYTHEN).
|
||||
|
||||
<P>
|
||||
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.
|
||||
<BR>
|
||||
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 <A HREF="#fig:datareceiver">1.2</A>. 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.
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:datareceiver"></A><A NAME="667"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1.2:</STRONG>
|
||||
Scketch of the communication between the control PC, the detector and the data receiver.</CAPTION>
|
||||
<TR><TD><IMG
|
||||
WIDTH="551" HEIGHT="293" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img3.png"
|
||||
ALT="\includegraphics[width=\textwidth]{data_receiver}"></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
To setup the system, you should configure:
|
||||
<DL>
|
||||
<DT><STRONG>Client-Detector TCP/IP connection</STRONG></DT>
|
||||
<DD>i.e. for each controller hostname or IP address (<I>hostname</I>) and communication port (<I>port</I>, use default).
|
||||
</DD>
|
||||
<DT><STRONG>Client-Receiver TCP/IP connection</STRONG></DT>
|
||||
<DD>i.e. hostname or IP address of the data receiver (<I>rx_hostname</I>) and communication port (textitrx_tcpport, use default).
|
||||
</DD>
|
||||
<DT><STRONG>Detector-Receiver UDP connection</STRONG></DT>
|
||||
<DD>i.e. for each controller IP address of the receiver network interface (<I>rx_udpip</I>) and communication port (<I>rx_udpport</I>) 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).
|
||||
<BR>
|
||||
A MAC (<I>detectormac</I>) and IP address (<I>detectorudpip</I>) 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.
|
||||
</DD>
|
||||
</DL>
|
||||
All these configurations are normally left to the configuration file and should not be changed dynamically by the user.
|
||||
|
||||
<P>
|
||||
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).
|
||||
<BR>
|
||||
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.
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html218"
|
||||
HREF="node6.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html214"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html208"
|
||||
HREF="node4.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html216"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html219"
|
||||
HREF="node6.html">What are settings and</A>
|
||||
<B> Up:</B> <A NAME="tex2html215"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html209"
|
||||
HREF="node4.html">How can I control</A>
|
||||
<B> <A NAME="tex2html217"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,149 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>What are settings and calibration files for?</TITLE>
|
||||
<META NAME="description" CONTENT="What are settings and calibration files for?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node7.html">
|
||||
<LINK REL="previous" HREF="node5.html">
|
||||
<LINK REL="up" HREF="node2.html">
|
||||
<LINK REL="next" HREF="node7.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html230"
|
||||
HREF="node7.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html226"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html220"
|
||||
HREF="node5.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html228"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html231"
|
||||
HREF="node7.html">How should a configuration</A>
|
||||
<B> Up:</B> <A NAME="tex2html227"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html221"
|
||||
HREF="node5.html">How can I configure</A>
|
||||
<B> <A NAME="tex2html229"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html232"
|
||||
HREF="node6.html#SECTION00241000000000000000">MYTHEN</A>
|
||||
<LI><A NAME="tex2html233"
|
||||
HREF="node6.html#SECTION00242000000000000000">GOTTHARD</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
|
||||
<H1><A NAME="SECTION00240000000000000000"></A> <A NAME="sec:trimdir"></A>
|
||||
<BR>
|
||||
What are settings and calibration files for?
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
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 <I>settings</I>) 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 <I>settingsdir</I> with a definite architecture, where the software will look for the files to load to the detector whaen changing its settings.
|
||||
|
||||
<P>
|
||||
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 <I>caldir</I> 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.
|
||||
<BR>
|
||||
Normally <I>settingsdir</I> and <I>caldir</I> can be the same, but have been left separate for flexibility.
|
||||
|
||||
<P>
|
||||
The <I>settingsdir</I> and <I>caldir</I> 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).
|
||||
|
||||
<P>
|
||||
In the following, the architecture of the <I>settingsdir</I> and <I>caldir</I> is described for the different detectors.
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00241000000000000000">
|
||||
MYTHEN</A>
|
||||
</H2>
|
||||
For mythen, an example of <I>settingsdir</I> and <I>caldir</I> is given in the software package by the directory <code>trimdir</code>.
|
||||
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.
|
||||
|
||||
<P>
|
||||
<I>settingsdir</I> should contain three subdirectories <code>standard</code>, <code>fast</code> and <code>highgain</code> containing respectively the trimfiles <code>standard.trim</code>, <code>fast.trim</code> and <code>highgain.trim</code> 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.
|
||||
<BR>
|
||||
The default trimbit files for each file will be stored in the directory according to the settings with the name <code>noise.snxxx</code> where <code>xxx</code> is the module serial number.
|
||||
<BR>
|
||||
<P>
|
||||
<I>caldir</I> should contain three subdirectories <code>standard</code>, <code>fast</code> and <code>highgain</code> containing respectively the trimfiles <code>standard.cal</code>, <code>fast.cal</code> and <code>highgain.cal</code> 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.
|
||||
<BR>
|
||||
The default calibration files for each file will be stored in the directory according to the settings with the name <code>calibration.snxxx</code> where <code>xxx</code> is the module serial number.
|
||||
|
||||
<P>
|
||||
|
||||
<H2><A NAME="SECTION00242000000000000000">
|
||||
GOTTHARD</A>
|
||||
</H2>
|
||||
A <I>settingsdir</I> should be configured, as the directory <code>settings</code> in this software package.
|
||||
<BR>
|
||||
It must contain the subdirectories <code>dynamicgain</code>, <code>gain1</code>, <code>gain2</code>, <code>gain3</code>, <code>highgain</code>, <code>lowgain</code>, <code>mediumgain</code>, and <code>veryhighgain</code> in order to properly configure the GOTTHARD detector using the various gain settings.
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html230"
|
||||
HREF="node7.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html226"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html220"
|
||||
HREF="node5.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html228"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html231"
|
||||
HREF="node7.html">How should a configuration</A>
|
||||
<B> Up:</B> <A NAME="tex2html227"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html221"
|
||||
HREF="node5.html">How can I configure</A>
|
||||
<B> <A NAME="tex2html229"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,77 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>How should a configuration file look like?</TITLE>
|
||||
<META NAME="description" CONTENT="How should a configuration file look like?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node8.html">
|
||||
<LINK REL="previous" HREF="node6.html">
|
||||
<LINK REL="up" HREF="node2.html">
|
||||
<LINK REL="next" HREF="node8.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html244"
|
||||
HREF="node8.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html240"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html234"
|
||||
HREF="node6.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html242"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html245"
|
||||
HREF="node8.html">What is the meaning</A>
|
||||
<B> Up:</B> <A NAME="tex2html241"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html235"
|
||||
HREF="node6.html">What are settings and</A>
|
||||
<B> <A NAME="tex2html243"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00250000000000000000">
|
||||
How should a configuration file look like?</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
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.
|
||||
<BR>
|
||||
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.
|
||||
<BR>
|
||||
The configuration files look different for the different detector types. Examples of configuration files can be found in the examples directory.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,86 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>What is the meaning of the file name?</TITLE>
|
||||
<META NAME="description" CONTENT="What is the meaning of the file name?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node9.html">
|
||||
<LINK REL="previous" HREF="node7.html">
|
||||
<LINK REL="up" HREF="node2.html">
|
||||
<LINK REL="next" HREF="node9.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html256"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html252"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html246"
|
||||
HREF="node7.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html254"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html257"
|
||||
HREF="node9.html">Which is the sequence</A>
|
||||
<B> Up:</B> <A NAME="tex2html253"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html247"
|
||||
HREF="node7.html">How should a configuration</A>
|
||||
<B> <A NAME="tex2html255"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00260000000000000000">
|
||||
What is the meaning of the file name?</A>
|
||||
</H1>
|
||||
The final file name will be:
|
||||
<BR><I>outdir/prefix</I><code>[_d</code><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img4.png"
|
||||
ALT="$ d$">
|
||||
<code>][_S</code><I>v0</I><code>][_s</code><I>v1</I><code>][_p</code><I>p</I><code>][_f</code><I>f</I><code>]_</code><I>i</I><code>.</code><I>ext</I>
|
||||
<BR>
|
||||
where:
|
||||
<BR><I>outdir</I> is the output directory path;
|
||||
<BR><I>prefix</I> is the chosen prefix for the file name;
|
||||
<BR><I>d</I> is the detector index, in case of data receiver and more than one detector;
|
||||
<BR><I>v0</I> is the scan0 variable with the desired precision, if scan0 is enabled;
|
||||
<BR><I>v1</I> is the scan1 variable with the desired precision, if scan1 is enabled;
|
||||
<BR><I>p</I> is the position index, if different positions are configured;
|
||||
<BR><I>f</I> is the frame index of the first frame stored in the file, if many frames and cycles are configured;
|
||||
<BR><I>i</I> is the file index;
|
||||
<BR><I>ext</I> is the file extension e.g. <I>.raw</I> for MYTHEN raw data, <I>.dat</I> for MYTHEN processed data.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,343 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Which is the sequence of the acquisition flow?</TITLE>
|
||||
<META NAME="description" CONTENT="Which is the sequence of the acquisition flow?">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node10.html">
|
||||
<LINK REL="previous" HREF="node8.html">
|
||||
<LINK REL="up" HREF="node2.html">
|
||||
<LINK REL="next" HREF="node10.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html268"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html264"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html258"
|
||||
HREF="node8.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html266"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html269"
|
||||
HREF="node10.html">How can I synchronize</A>
|
||||
<B> Up:</B> <A NAME="tex2html265"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html259"
|
||||
HREF="node8.html">What is the meaning</A>
|
||||
<B> <A NAME="tex2html267"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00270000000000000000">
|
||||
Which is the sequence of the acquisition flow?</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
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.
|
||||
<BR>
|
||||
<P>
|
||||
Figure <A HREF="#eq:acqflow">1.7</A> shows in which sequence the various scripts and loops are executed when calling the acquire command. The loops are drawn using the <!-- MATH
|
||||
$\Updownarrow$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="14" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img5.png"
|
||||
ALT="$ \Updownarrow$">
|
||||
symbol, while the scripts using the <!-- MATH
|
||||
$\Rightarrow$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="20" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img6.png"
|
||||
ALT="$ \Rightarrow$">
|
||||
.
|
||||
|
||||
<P>
|
||||
<P><A NAME="eq:acqflow"></A><!-- MATH
|
||||
\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}
|
||||
-->
|
||||
</P>
|
||||
<DIV ALIGN="CENTER"><A NAME="eq:acqflow"></A>
|
||||
<IMG
|
||||
WIDTH="698" HEIGHT="637" BORDER="0"
|
||||
SRC="img7.png"
|
||||
ALT="\begin{displaymath}\textrm{\textbf{MEASUREMENTS}} \\
|
||||
\left\Updownarrow \,
|
||||
\be...
|
||||
...
|
||||
\\
|
||||
\end{array}
|
||||
% \right. \\
|
||||
\\
|
||||
\end{array}
|
||||
\right.
|
||||
\end{displaymath}">
|
||||
</DIV><P>
|
||||
</P>
|
||||
|
||||
<P>
|
||||
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.
|
||||
<BR>
|
||||
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 <A HREF="node10.html#sec:timing">1.8</A>).
|
||||
|
||||
<P>
|
||||
Hereafter a description of the meaning of the various loops:
|
||||
<DL>
|
||||
<DT><STRONG>Measurement loop</STRONG></DT>
|
||||
<DD>executes offline several times the entire sequence of the acquisition. At the end of each measurement the <I>file index</I> is incremented.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>Scan 0 loop</STRONG></DT>
|
||||
<DD>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.
|
||||
<BR>
|
||||
The list of steps or range of the <I>scan0 variable</I> 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.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>Scan 1 loop</STRONG></DT>
|
||||
<DD>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.
|
||||
<BR>
|
||||
The list of steps or range of the <I>scan1 variable</I> 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.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>Position loop</STRONG></DT>
|
||||
<DD>The detector is moved in the angular positions specified by the positions command.
|
||||
<BR>
|
||||
The command for moving the detector should be defined as described in <A HREF="node12.html#sec:usersFunc">1.10</A>.
|
||||
<BR>
|
||||
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.
|
||||
<BR>
|
||||
Avoid using the position loop together with many frames/cycles.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>Cycles loop</STRONG></DT>
|
||||
<DD>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.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>Frames loop</STRONG></DT>
|
||||
<DD>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.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
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 <I>none</I>.
|
||||
<BR>
|
||||
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.
|
||||
<BR>
|
||||
Hereafter a short description of how the scripts are called and with which options:
|
||||
<DL>
|
||||
<DT><STRONG>Start script</STRONG></DT>
|
||||
<DD>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:
|
||||
<BR>
|
||||
script nrun=i par=p
|
||||
<BR>
|
||||
where i is the <I>file index</I> and p is the <I>start script parameter</I>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>Scan0 script</STRONG></DT>
|
||||
<DD>There are a few predefined scan modes i.e. <I>threshold</I> changing the detector threshold in DAC units, <I>energy</I> chaning the calibrated detector threshold in eV, <I>trimbits</I> chaning the trimbits of the detector (advanced: do not use) and <I>position</I> changing the detector position (if the motor movement is correctly setup as described in <A HREF="node12.html#sec:usersFunc">1.10</A>). Otherwise the scan0script is executed as:
|
||||
<BR>
|
||||
script nrun=i fn=fn var=v par=p
|
||||
<BR>
|
||||
where i is the <I>file index</I>, fn is the <I>file name</I>, v is the value of the <I>scan0 variable</I> at the present step of the scan0 loop and p is the <I>scan 0 script parameter</I>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>Scan1 script</STRONG></DT>
|
||||
<DD>There are a few predefined scan modes i.e. <I>threshold</I> changing the detector threshold in DAC units, <I>energy</I> chaning the calibrated detector threshold in eV, <I>trimbits</I> chaning the trimbits of the detector (advanced: do not use) and <I>position</I> changing the detector position (if the motor movement is correctly setup as described in <A HREF="node12.html#sec:usersFunc">1.10</A>). Otherwise the scan1script is executed as:
|
||||
<BR>
|
||||
script nrun=i fn=fn var=v par=p
|
||||
<BR>
|
||||
where i is the <I>file index</I>, fn is the <I>file name</I>, v is the value of the <I>scan1 variable</I> at the present step of the scan1 loop and p is the <I>scan 1 script parameter</I>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>Script before</STRONG></DT>
|
||||
<DD>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:
|
||||
<BR>
|
||||
script nrun=i fn=fn par=p sv0=v0 sv1=v1 p0=p0 p1=p1
|
||||
<BR>
|
||||
where i is the <I>file index</I>, fn is the <I>file name</I>, p is the <I>script before parameter</I>, v0 and v1 are the values of the <I>scan0 and scan1 variables</I> at the present step of the scan loops and p0 and p1 are the <I>scan0 and scan1 script parameters</I>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>Header before script</STRONG></DT>
|
||||
<DD>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:
|
||||
<BR>
|
||||
script nrun=i fn=fn par=p
|
||||
<BR>
|
||||
where i is the <I>file index</I>, fn is the <I>file name</I>, and p is the <I>header before parameter</I>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>Header after script</STRONG></DT>
|
||||
<DD>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:
|
||||
<BR>
|
||||
script nrun=i fn=fn par=p
|
||||
<BR>
|
||||
where i is the <I>file index</I>, fn is the <I>file name</I>, and p is the <I>header after parameter</I>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>Script after</STRONG></DT>
|
||||
<DD>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:
|
||||
<BR>
|
||||
script nrun=i fn=fn par=p sv0=v0 sv1=v1 p0=p0 p1=p1
|
||||
<BR>
|
||||
where i is the <I>file index</I>, fn is the <I>file name</I>, p is the <I>script after parameter</I>, v0 and v1 are the values of the <I>scan0 and scan1 variables</I> at the present step of the scan loops and p0 and p1 are the <I>scan0 and scan1 script parameters</I>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>Stop script</STRONG></DT>
|
||||
<DD>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:
|
||||
<BR>
|
||||
script nrun=i par=p
|
||||
<BR>
|
||||
where i si the <I>file index</I> and p is the <I>stop script parameter</I>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html268"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<A NAME="tex2html264"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
||||
<A NAME="tex2html258"
|
||||
HREF="node8.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
||||
<A NAME="tex2html266"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html269"
|
||||
HREF="node10.html">How can I synchronize</A>
|
||||
<B> Up:</B> <A NAME="tex2html265"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<B> Previous:</B> <A NAME="tex2html259"
|
||||
HREF="node8.html">What is the meaning</A>
|
||||
<B> <A NAME="tex2html267"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -1,30 +0,0 @@
|
||||
/* 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 */
|
@ -1,250 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2008 (1.71)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>SLS Detectors
|
||||
Frequently Asked Questions</TITLE>
|
||||
<META NAME="description" CONTENT="SLS Detectors
|
||||
Frequently Asked Questions">
|
||||
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
|
||||
|
||||
<LINK REL="next" HREF="node1.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html24"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
||||
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
||||
SRC="file:/usr/share/latex2html/icons/up_g.png">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
||||
SRC="file:/usr/share/latex2html/icons/prev_g.png">
|
||||
<A NAME="tex2html22"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
||||
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html25"
|
||||
HREF="node1.html">Contents</A>
|
||||
<B> <A NAME="tex2html23"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<P>
|
||||
|
||||
<H1 ALIGN=CENTER>SLS Detectors
|
||||
<BR>
|
||||
Frequently Asked Questions</H1>
|
||||
<P ALIGN=CENTER><STRONG>Anna Bergamaschi</STRONG>
|
||||
</P>
|
||||
<BR><P ALIGN=CENTER><B>Date:</B> November 28, 2017</P>
|
||||
|
||||
<HR>
|
||||
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html26"
|
||||
HREF="node1.html">Contents</A>
|
||||
<LI><A NAME="tex2html27"
|
||||
HREF="node2.html">SLS Detectors Software</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html28"
|
||||
HREF="node3.html">Which programs can I use to control my detector?</A>
|
||||
<LI><A NAME="tex2html29"
|
||||
HREF="node4.html">How can I control many detectors in parallel or independently?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html30"
|
||||
HREF="node4.html#SECTION00221000000000000000">Examples</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html31"
|
||||
HREF="node5.html">How can I configure the data receiver?</A>
|
||||
<LI><A NAME="tex2html32"
|
||||
HREF="node6.html">What are settings and calibration files for?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html33"
|
||||
HREF="node6.html#SECTION00241000000000000000">MYTHEN</A>
|
||||
<LI><A NAME="tex2html34"
|
||||
HREF="node6.html#SECTION00242000000000000000">GOTTHARD</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html35"
|
||||
HREF="node7.html">How should a configuration file look like?</A>
|
||||
<LI><A NAME="tex2html36"
|
||||
HREF="node8.html">What is the meaning of the file name?</A>
|
||||
<LI><A NAME="tex2html37"
|
||||
HREF="node9.html">Which is the sequence of the acquisition flow?</A>
|
||||
<LI><A NAME="tex2html38"
|
||||
HREF="node10.html">How can I synchronize my detector with the experiment?</A>
|
||||
<LI><A NAME="tex2html39"
|
||||
HREF="node11.html">How can several controllers be synchronized?</A>
|
||||
<LI><A NAME="tex2html40"
|
||||
HREF="node12.html">How can the detector movement and position and I0 readout be customized for my beamline?</A>
|
||||
<LI><A NAME="tex2html41"
|
||||
HREF="node13.html">In which data format are written the data?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html42"
|
||||
HREF="node13.html#SECTION002111000000000000000">GOTTHARD</A>
|
||||
<LI><A NAME="tex2html43"
|
||||
HREF="node13.html#SECTION002112000000000000000">EIGER</A>
|
||||
<LI><A NAME="tex2html44"
|
||||
HREF="node13.html#SECTION002113000000000000000">JUNGFRAU</A>
|
||||
</UL>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html45"
|
||||
HREF="node14.html">General questions about detectors</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html46"
|
||||
HREF="node15.html">In which X-ray energy range can I use the detector?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html47"
|
||||
HREF="node15.html#SECTION00311000000000000000">Sensors</A>
|
||||
<LI><A NAME="tex2html48"
|
||||
HREF="node15.html#SECTION00312000000000000000">Frontend electronics</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html49"
|
||||
HREF="node16.html">What limits the maximum frame rate?</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html50"
|
||||
HREF="node17.html">Single photon counting detectors</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html51"
|
||||
HREF="node18.html">Which detector settings should I choose?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html52"
|
||||
HREF="node18.html#SECTION00411000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html53"
|
||||
HREF="node19.html">How do I chose the comparator threshold?</A>
|
||||
<LI><A NAME="tex2html54"
|
||||
HREF="node20.html">How does the flat field correction work?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html55"
|
||||
HREF="node20.html#SECTION00431000000000000000">Why isn't my flat-field flat?</A>
|
||||
<LI><A NAME="tex2html56"
|
||||
HREF="node20.html#SECTION00432000000000000000">Dynamic acquisition of the flat field</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html57"
|
||||
HREF="node21.html">What happens when I trim the detector?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html58"
|
||||
HREF="node21.html#SECTION00441000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html59"
|
||||
HREF="node22.html">In what consists the energy calibration of the detector?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html60"
|
||||
HREF="node22.html#SECTION00451000000000000000">MYTHEN</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html61"
|
||||
HREF="node23.html">Why should I change the dynamic range of the counters?</A>
|
||||
<LI><A NAME="tex2html62"
|
||||
HREF="node24.html">When should I enable rate correction</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html63"
|
||||
HREF="node24.html#SECTION00471000000000000000">How can I choose the dead time?</A>
|
||||
</UL>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html64"
|
||||
HREF="node25.html">Charge Integrating detectors</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html65"
|
||||
HREF="node26.html">(Dynamic) Gain Switching</A>
|
||||
<LI><A NAME="tex2html66"
|
||||
HREF="node27.html">Pedestals</A>
|
||||
<LI><A NAME="tex2html67"
|
||||
HREF="node28.html">Energy calibration</A>
|
||||
<LI><A NAME="tex2html68"
|
||||
HREF="node29.html">Data processing</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html69"
|
||||
HREF="node30.html">Angular conversion</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html70"
|
||||
HREF="node31.html">How is the channel number coverted into angle?</A>
|
||||
<LI><A NAME="tex2html71"
|
||||
HREF="node32.html">How are different positions merged together?</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html72"
|
||||
HREF="node32.html#SECTION00621000000000000000">Introduction</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html73"
|
||||
HREF="node32.html#SECTION00621100000000000000">Notation</A>
|
||||
<LI><A NAME="tex2html74"
|
||||
HREF="node32.html#SECTION00621200000000000000">Observables</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html75"
|
||||
HREF="node32.html#SECTION00622000000000000000">Basic binning</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html76"
|
||||
HREF="node32.html#SECTION00622100000000000000">Special nasty cases</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html77"
|
||||
HREF="node32.html#SECTION00623000000000000000">Advanced binning</A>
|
||||
<LI><A NAME="tex2html78"
|
||||
HREF="node32.html#SECTION00624000000000000000">Poisson and normal statistics for diffraction</A>
|
||||
<LI><A NAME="tex2html79"
|
||||
HREF="node32.html#SECTION00625000000000000000">Average vs. weighted average</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html80"
|
||||
HREF="node32.html#SECTION00625100000000000000">Simple average</A>
|
||||
<LI><A NAME="tex2html81"
|
||||
HREF="node32.html#SECTION00625200000000000000">Zero-skipping average</A>
|
||||
<LI><A NAME="tex2html82"
|
||||
HREF="node32.html#SECTION00625300000000000000">Weighted average: definition and relationship with <IMG
|
||||
WIDTH="22" HEIGHT="34" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$ \chi ^2$">
|
||||
</A>
|
||||
<LI><A NAME="tex2html83"
|
||||
HREF="node32.html#SECTION00625400000000000000">Straight Poisson (zero-skipping) weighted average</A>
|
||||
<LI><A NAME="tex2html84"
|
||||
HREF="node32.html#SECTION00625500000000000000">Mighell-Poisson weighted average</A>
|
||||
<LI><A NAME="tex2html85"
|
||||
HREF="node32.html#SECTION00625600000000000000">Comparison</A>
|
||||
<LI><A NAME="tex2html86"
|
||||
HREF="node32.html#SECTION00625700000000000000">Analytical comparison of averages</A>
|
||||
<LI><A NAME="tex2html87"
|
||||
HREF="node32.html#SECTION00625800000000000000">Numerical comparison of averages</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html88"
|
||||
HREF="node32.html#SECTION00626000000000000000">Scaling Poisson variates</A>
|
||||
<LI><A NAME="tex2html89"
|
||||
HREF="node32.html#SECTION00627000000000000000">Bibliography</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html90"
|
||||
HREF="node33.html">Why can't I properly merge different positions?</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html91"
|
||||
HREF="node34.html">About this document ...</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
<ADDRESS>
|
||||
Thattil Dhanya
|
||||
2017-11-28
|
||||
</ADDRESS>
|
||||
</BODY>
|
||||
</HTML>
|
@ -4,28 +4,34 @@ DESTDIR=../docs
|
||||
TEX=latex
|
||||
|
||||
|
||||
MAINTEXS= slsDetectorInstall.tex slsDetectors-FAQ.tex
|
||||
MAINTEXS2= slsDetectorInstall.tex
|
||||
MAINTEXS=slsDetectors-FAQ.tex
|
||||
|
||||
TEXS=slsDetector-softFAQ.tex singlePhotonCounting-FAQ.tex angConv-FAQ.tex generalDet-FAQ.tex
|
||||
|
||||
DVIS = $(MAINTEXS:.tex=.dvi)
|
||||
PSS = $(MAINTEXS:.tex=.ps)
|
||||
PDFS = $(MAINTEXS:.tex=.pdf)
|
||||
PDFS2 = $(MAINTEXS2:.tex=.pdf)
|
||||
HTMLS = $(MAINTEXS:%.tex=%)
|
||||
HTMLS2 = $(MAINTEXS2:%.tex=%)
|
||||
|
||||
|
||||
|
||||
all: pdf html
|
||||
echo $(PWD)
|
||||
echo $(PDFS)
|
||||
echo $(PDFS2)
|
||||
echo $(HTMLS)
|
||||
echo $(HTMLS2)
|
||||
|
||||
pdf: $(PDFS)
|
||||
pdf: $(PDFS) $(PDFS2)
|
||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
|
||||
mv $(PDFS) $(DESTDIR)/pdf
|
||||
mv $(PDFS) $(DESTDIR)/pdf
|
||||
mv $(PDFS2) $(DESTDIR)/pdf
|
||||
|
||||
html: $(HTMLS)
|
||||
html: $(HTMLS) $(HTMLS2)
|
||||
|
||||
|
||||
$(HTMLS): $(TEXS) $(MAINTEXS)
|
||||
@ -34,7 +40,18 @@ $(HTMLS): $(TEXS) $(MAINTEXS)
|
||||
$(shell test -d $(DESTDIR)/html/$@ && rm -fr $(DESTDIR)/html/$@)
|
||||
echo "***************************** $@"
|
||||
latex $@.tex
|
||||
latex2html -split 4 $@.tex
|
||||
latex2html $@.tex
|
||||
mv $@ $(DESTDIR)/html
|
||||
|
||||
$(HTMLS2): $(MAINTEXS2)
|
||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
|
||||
$(shell test -d $(DESTDIR)/html/$@ && rm -fr $(DESTDIR)/html/$@)
|
||||
echo "***************************** $@"
|
||||
latex $@.tex
|
||||
latex2html -split 16 -no_navigation -info "" -address "" -long_titles 5 -link 0 $@.tex
|
||||
#-show_section_numbers $@.tex
|
||||
# -local_icons
|
||||
mv $@ $(DESTDIR)/html
|
||||
|
||||
|
||||
@ -51,7 +68,7 @@ $(HTMLS): $(TEXS) $(MAINTEXS)
|
||||
|
||||
|
||||
clean:
|
||||
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(HTMLS)
|
||||
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(PDFS2) $(HTMLS) $(HTMLS2)
|
||||
rm -rf $(DESTDIR)/html/slsDetectors-FAQ
|
||||
rm -rf $(DESTDIR)/html/slsDetectorInstall
|
||||
rm -rf $(DESTDIR)/pdf/slsDetectors-FAQ.pdf
|
||||
|
@ -3,135 +3,299 @@
|
||||
\usepackage[dvips]{graphicx}
|
||||
\usepackage{verbatim}
|
||||
\usepackage{hyperref}
|
||||
\usepackage{color}
|
||||
|
||||
|
||||
|
||||
\begin{document}
|
||||
|
||||
\title{SLS Detectors software installation}
|
||||
\author{Anna Bergamaschi}
|
||||
\author{Anna Bergamaschi, Dhanya Thattil}
|
||||
\date{\today}
|
||||
\maketitle
|
||||
\tableofcontents
|
||||
\clearpage
|
||||
|
||||
%setcounter{tocdepth}{4} and \setcounter{secnumdepth}{4}
|
||||
|
||||
|
||||
|
||||
The SLS detectors software is intended to control the detectors developed by the SLS Detectors group.
|
||||
|
||||
It provides a command line interface (text client), a graphical user interface (GUI) as well as an API that can be embedded in your acquisitions system, some tools for detector calibration and the software to receive the data from detector with high data throughput (e.g. GOTTHARD, EIGER).
|
||||
|
||||
|
||||
|
||||
\section{The software package}
|
||||
|
||||
\section{The Software Package}
|
||||
The SLS detectors software is intended to control the detectors developed by
|
||||
the SLS Detectors group. The detectors currently supported are:
|
||||
|
||||
\indent MYTHEN, GOTTHARD, EIGER and JUNGFRAU.
|
||||
|
||||
|
||||
The complete software package is composed of several programs which can be installed (or locally compiled) depending on the needs:
|
||||
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.
|
||||
|
||||
\subsection{Binaries}
|
||||
\noindent The complete software package is composed of several programs which
|
||||
can be installed (or locally compiled) depending on one's requirements:
|
||||
|
||||
\begin{itemize}
|
||||
\item The \textbf{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).
|
||||
\item The \textbf{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
|
||||
\item The \textbf{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
|
||||
\item The \textbf{graphical user interface (slsDetectorGUI)} which provides a user friendly way of operating the detectors with online data preview
|
||||
\item The \textbf{calibration wizards (energyCalibrationWizard, angularCalibrationWizard)} to analyze the data and produce the energy or angular calibration files
|
||||
\item The \textbf{GOTTHARD and MYTHEN virtual servers} to simulate the detectors behavior (however only control commands work, not the data acquisition itself)
|
||||
|
||||
\item \textcolor{blue}{libSlsDetector.so, libSlsReceiver.so}:\\
|
||||
The \textit{slsDetector shared and static libraries}, which are
|
||||
necessary for all user interfaces. The \textit{C++ API} via the class
|
||||
\textit{slsDetectorUsers} (installed with the default package) or the
|
||||
\textit{Python API} via the class \textit{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.
|
||||
|
||||
\item \textcolor{blue}{sls\_detector\_put, sls\_detector\_get,
|
||||
sls\_detector\_acquire, sls\_detector\_help}: \\
|
||||
The \textit{command line interfaces}, which are provided to communicate with the
|
||||
detectors and data receivers using the command line.
|
||||
|
||||
\item \textcolor{blue}{slsReceiver}: \\
|
||||
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}{slsDetectorGUI}: \\
|
||||
The \textit{graphical user interface}, which provides a user friendly way
|
||||
of operating the detectors and data receivers with online data preview.
|
||||
|
||||
\item \textcolor{blue}{energyCalibrationWizard,angularCalibrationWizard}: \\
|
||||
The \textit{calibration wizards} to analyze the data and produce the energy or
|
||||
angular calibration files.
|
||||
|
||||
\item The \textit{virtual Detector servers} to simulate the detectors behavior.
|
||||
However, only control commands work, not the data acquisition itself.
|
||||
\end{itemize}
|
||||
|
||||
Please refere to the SLS Detectors FAQ for additional documentation.
|
||||
|
||||
\section{Requirements}
|
||||
|
||||
The software is written in C/C++.\\
|
||||
It needs to be able to access the shared memeory of the control PC and communicate to the detectors over TCP/IP. Therefore the detector should receive a proper IP address (either DHCP or static) and no firewall should be present between th control PC and the detector.
|
||||
|
||||
For installing the slsDetector shared and static libraries and the slsDetectorClient software, any Linux installation with a working gcc should be fine.
|
||||
\section{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.
|
||||
|
||||
The slsDetectorGUI is based on Qt4 with Qwt libraries.
|
||||
|
||||
The calibration wizards are based on the CERN Root data analysis framework.
|
||||
One can download and install Miniconda via
|
||||
|
||||
To compile the software you will need the whole Qt4, Qwt and Root installation, including the header files.\\
|
||||
To run the software, it is enough to have the Qt4, Qwt or Root libraries appended to the \verb=LD_LIBRARY_PATH=.
|
||||
\url{https://conda.io/miniconda.html}
|
||||
|
||||
\subsection{Qt4 installation}
|
||||
|
||||
A Qt version equal or higher than 4.6 is required.
|
||||
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.
|
||||
\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}
|
||||
|
||||
\begin{itemize}
|
||||
\item Only the package
|
||||
\begin{verbatim}
|
||||
#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=3.1.0
|
||||
|
||||
#Scientific Linux 6 version (GLIBC2.12)
|
||||
conda install sls_detector_software=SL6_3.1.0
|
||||
\end{verbatim}
|
||||
\item The package including Python interface
|
||||
\begin{verbatim}
|
||||
#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=3.1.0
|
||||
|
||||
#Scientific Linux 6 version (GLIBC2.12)
|
||||
conda install sls_detector=SL6_3.1.0
|
||||
\end{verbatim}
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\clearpage
|
||||
\section{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.
|
||||
|
||||
\subsection{Download Source Code}
|
||||
|
||||
\begin{itemize}
|
||||
\item Only the package
|
||||
\begin{verbatim}
|
||||
#Clone source code with specific release
|
||||
git clone https://github.com/slsdetectorgroup/slsDetectorPackage.git --branch
|
||||
3.1.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
|
||||
\end{verbatim}
|
||||
\end{itemize}
|
||||
|
||||
|
||||
|
||||
\subsection{Requirements}
|
||||
These are the basic requirements to install and use the software. Fine Tuning
|
||||
the system will be discussed in other documentation provided.
|
||||
\begin{itemize}
|
||||
|
||||
\item \emph{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.
|
||||
|
||||
\item \emph{Shared Memory}:\\
|
||||
Access to the shared memory of the control PC is required for the client.
|
||||
|
||||
\item \emph{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.
|
||||
|
||||
\item \emph{Compilation}:\\
|
||||
cmake is required to compile. make is also possible, but is harder to find
|
||||
dependencies.
|
||||
|
||||
\item \emph{GUI}:\\
|
||||
To use the GUI, one requires atleast Qt4.8.2 and Qwt6.0. Installation of these
|
||||
are discussed in the next sections.
|
||||
|
||||
\item \emph{Calibration Wizards}:\\
|
||||
They are based on the CERN Root data analysis framework. Installation of it is
|
||||
discussed in the next sections.
|
||||
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\subsubsection{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:
|
||||
\begin{itemize}
|
||||
\item via YUM:
|
||||
\begin{verbatim}
|
||||
yum install qt-devel
|
||||
\end{verbatim}
|
||||
\item via download from:\\
|
||||
\url{
|
||||
https://download.qt.io/archive/qt/4.8/4.8.2/qt-everywhere-opensource-src-4.8.2.t
|
||||
ar.gz}
|
||||
|
||||
You can retrieve the Qt4 libraries using YUM or download the open source version from e.g. \url{ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.8.1.tar.gz}
|
||||
|
||||
To install:
|
||||
\begin{verbatim}
|
||||
> gunzip qt-everywhere-opensource-src-4.6.2.tar.gz
|
||||
> tar xvf qt-everywhere-opensource-src-4.6.2.tar
|
||||
> gunzip qt-everywhere-opensource-src-4.8.2.tar.gz
|
||||
> tar xvf qt-everywhere-opensource-src-4.8.2.tar
|
||||
> ./configure
|
||||
> make
|
||||
> make install
|
||||
\end{verbatim}
|
||||
By default Qt4 will be installed in /usr/local/Trolltech/Qt-4.8.2/.
|
||||
\end{itemize}
|
||||
|
||||
By default Qt4 will be installed int /usr/local/Trolltech/Qt-4.8.1/
|
||||
Edit your .bashrc to define the enviroment variable \verb=QTDIR= and add the libraries and exacutables to your \verb=LD_LIBRARY_PATH= and \verb=PATH=:
|
||||
|
||||
\textbf{Setup Environment}
|
||||
|
||||
|
||||
One has to ensure that \verb=PATH= and \verb=LD_LIBRARY_PATH= have
|
||||
been updated to include Qt4 install path, binaries and libraries.
|
||||
Confirm by executing \verb=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
|
||||
\verb=LD_LIBRARY_PATH= and \verb=PATH=:
|
||||
\begin{verbatim}
|
||||
export QTDIR=/usr/local/Trolltech/Qt-4.8.1
|
||||
export QTDIR=/usr/local/Trolltech/Qt-4.8.2
|
||||
export PATH=$QTDIR/bin:$PATH
|
||||
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
|
||||
\end{verbatim}
|
||||
|
||||
If your system also have Qt3 installed, make sure that \verb=QTDIR=, \verb=PATH= and \verb=LD_LIBRARY_PATH= point to Qt4 before installing Qwt (and of course compiling and running the GUI).
|
||||
|
||||
\subsection{Qwt installation}
|
||||
A Qwt version equal or higher than 5 is required.\\
|
||||
Before installing it, make sure that your \verb=QTDIR=, \verb=LD_LIBRARY_PATH= and \verb=PATH= point to the correct Qt4 version.
|
||||
\subsubsection{Qwt Installation for GUI}
|
||||
Before installing Qwt, one must install Qt
|
||||
and ensure that \verb=QTDIR=, \verb=LD_LIBRARY_PATH= and \verb=PATH= point to
|
||||
the correct Qt4
|
||||
version.
|
||||
|
||||
You can retrieve the Qwt libraries using YUM or download the open source version via svn:
|
||||
|
||||
A Qwt version equal or higher than 6 is required. One can
|
||||
install it:
|
||||
\begin{itemize}
|
||||
\item via YUM:
|
||||
\begin{verbatim}
|
||||
> svn co https://qwt.svn.sourceforge.net/svnroot/qwt/branches/qwt-6.0
|
||||
yum install qwt-devel
|
||||
\end{verbatim}
|
||||
\item via download from:\\
|
||||
\url{
|
||||
https://sourceforge.net/projects/qwt/files/qwt/6.0.0/qwt-6.0.0.zip/download}
|
||||
|
||||
|
||||
To install:
|
||||
\begin{verbatim}
|
||||
> cd qwt-6.0
|
||||
> cd qwt-6.0.0
|
||||
> qmake
|
||||
> make
|
||||
> make install
|
||||
\end{verbatim}
|
||||
By default Qwt will be installed int /usr/local/qwt-6.0.0
|
||||
\end{itemize}
|
||||
|
||||
By default Qwt will be installed in /usr/local/qwt-6.0
|
||||
Edit your .bashrc to define the enviroment variable \verb=QWTDIR= and add the libraries to the \verb=LD_LIBRARY_PATH=:
|
||||
\textbf{Setup Environment}
|
||||
|
||||
|
||||
One has to ensure that \verb=QWTDIR= and \verb=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 \verb=LD_LIBRARY_PATH=:
|
||||
\begin{verbatim}
|
||||
export QWTDIR=/usr/local/qwt-6.0-svn/
|
||||
export QWTDIR=/usr/local/qwt-6.0.0/
|
||||
export LD_LIBRARY_PATH=$QWTDIR/lib:$LD_LIBRARY_PATH
|
||||
\end{verbatim}
|
||||
|
||||
\subsection{Installation with YUM}
|
||||
|
||||
You must install the qt4 and qwt development package i.e.
|
||||
\begin{verbatim}
|
||||
> yum install qt-devel qwt-devel
|
||||
\end{verbatim}
|
||||
and then edit edit your .bashrc as follows
|
||||
\begin{verbatim}
|
||||
export ROOTSYS=/opt/root/5.28.00
|
||||
export QTDIR=/usr/lib64/qt4
|
||||
export QWTDIR=/usr/include/qwt
|
||||
export PATH=$QTDIR:bin:$PATH
|
||||
\end{verbatim}
|
||||
|
||||
You should then continue with the root installation.
|
||||
|
||||
To compile, you should edit the file slsDetectorGui/slsDetectorGui.pro as follows.\\
|
||||
All lines containing \verb=$QTDIR= and \verb=$QWTDIR= should be commented, except in the INCLUDEPATH (\verb=$QWTDIR \=).\\
|
||||
Moreover the \verb=LIBS= line should be changed \verb=-L$(QWTDIR)/lib= to \verb=-L$(QWTDIR)/lib64=.
|
||||
|
||||
|
||||
\subsection{Root installation}
|
||||
|
||||
The software has been developed and tested with root 5.20, but any version should work.
|
||||
|
||||
Download the sources via svn:
|
||||
|
||||
|
||||
\subsubsection{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:
|
||||
\begin{verbatim}
|
||||
> svn co https://root.cern.ch/svn/root/trunk root
|
||||
\end{verbatim}
|
||||
|
||||
To install:
|
||||
\noindent To install:
|
||||
\begin{verbatim}
|
||||
> cd root
|
||||
> ./configure --enable-qt
|
||||
@ -139,120 +303,212 @@ To install:
|
||||
> make install
|
||||
\end{verbatim}
|
||||
|
||||
Edit your .bashrc to define the ROOTSYS enviroment variable and annd the libraries and executables to the \verb=LD_LIBRARY_PATH= and \verb=PATH=:
|
||||
Edit your .bashrc to define the ROOTSYS enviroment variable and annd
|
||||
the libraries and executables to the \verb=LD_LIBRARY_PATH= and \verb=PATH=:
|
||||
\begin{verbatim}
|
||||
export ROOTSYS=/usr/local/root
|
||||
export ROOTSYS=/usr/local/root-5.34
|
||||
export PATH=$ROOTSYS/bin:$PATH
|
||||
export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH
|
||||
\end{verbatim}
|
||||
|
||||
You can also download the binaries, assuming that your linuc and gcc versions match:
|
||||
You can also download the binaries, assuming that your linux and gcc versions
|
||||
match as in:
|
||||
\begin{verbatim}
|
||||
http://root.cern.ch/drupal/content/production-version-534
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\section{Compilation}
|
||||
|
||||
|
||||
|
||||
If you simply want to install the software in the working directory you can:
|
||||
\subsection{Compilation}
|
||||
One requires \verb=cmake= to compile and can be done in two ways:
|
||||
|
||||
\subsubsection{Using script cmk.sh}
|
||||
The script uses \verb=cmake=. After compiling, the libraries and executables
|
||||
will be found in `slsDetectorPackage/build/bin` directory.
|
||||
Usage: [-c] [-b] [-h] [-d HDF5 directory] [-j]
|
||||
\begin{itemize}
|
||||
\item[make] compile the library, the command line interface and the receiver
|
||||
|
||||
\item[make lib] compile only the library
|
||||
|
||||
\item[make textclient] compile the command line interface (and the library, since it is required)
|
||||
|
||||
\item[make stextclient] compile the command line interface statically linking the library (and the library, since it is required)
|
||||
|
||||
\item[make receiver] compile the data reciever (and the library, since it is required)
|
||||
|
||||
\item[make sreceiver] compile the data reciever statically linking the library (and the library, since it is required)
|
||||
|
||||
\item[make gui] compile slsDetectorGUI - requires a working Qt4 and Qwt installation
|
||||
|
||||
\item[make calWiz] compile the calibration wizards - requires a working root installation
|
||||
|
||||
\item[make doc] compile documentation in pdf format
|
||||
|
||||
\item[make htmldoc] compile documentation in html format
|
||||
|
||||
\item[make install\_lib] installs the libraries, the text clients, the documentation and the includes for the API
|
||||
|
||||
\item[make install] installs all software, including the gui, the cal wizards and the includes for the API
|
||||
|
||||
\item[make confinstall] installs all software, including the gui, the cal wizards and the includes for the API, prompting for the install paths
|
||||
|
||||
\item[make clean] remove object files and executables
|
||||
|
||||
\item[make help] lists possible targets
|
||||
|
||||
\item[make mythen\_virtual] compile a virtual MYTHEN detector server (works for control commands, not for data taking)
|
||||
|
||||
\item[make gotthard\_virtual] compile a virtual GOTTHARD detector server (works for control commands, not for data taking)
|
||||
\item -[no option]: only make
|
||||
\item -c: Clean
|
||||
\item -b: Builds/Rebuilds CMake files normal mode
|
||||
\item -h: Builds/Rebuilds Cmake files with HDF5 package
|
||||
\item -d: HDF5 Custom Directory
|
||||
\item -t: Build/Rebuilds only text client
|
||||
\item -r: Build/Rebuilds only receiver
|
||||
\item -g: Build/Rebuilds only gui
|
||||
\item -j: Number of threads to compile through
|
||||
\end{itemize}
|
||||
|
||||
The path where the files binaries, libraries, documentation and includes will be installed can either be defined interactively by sourcing the \verb=configure= script (not executing!) or during compilation using \verb=make confinstall= or defined on the command line deifning one (or all) the following variables (normally \verb=INSTALLROOT= is enough:
|
||||
\begin{itemize}
|
||||
\item[INSTALLROOT] Directory where you want to install the software. Defaults to \verb=PWD=
|
||||
\item[BINDIR] Directory where you want to install the binaries. Defaults to bin/
|
||||
\item[INCDIR] Directory where you want to pute the header files. Defaults to include
|
||||
\item[LIBDIR] Directory where you want to install the libraries. Defaults to bin/
|
||||
\item[DOCDIR] Directory where you want to copy the documentation. Defaults to doc/
|
||||
\end{itemize}
|
||||
Some example options for compilation:
|
||||
|
||||
Most basic option: \verb=./cmk.sh -b=
|
||||
|
||||
For only make: \verb=./cmk.sh=
|
||||
|
||||
For make clean;make: \verb=./cmk.sh -c=
|
||||
|
||||
For using hdf5 without custom dir /blabla: \verb=./cmk.sh -h -d /blabla=
|
||||
|
||||
For rebuilding cmake without hdf5: \verb=./cmk.sh -b=
|
||||
|
||||
For using multiple cores to compile faster: \verb=./cmk.sh -j9=
|
||||
|
||||
For rebuilding only certain parts: \verb=./cmk.sh -tg= (only text client and
|
||||
gui)
|
||||
|
||||
|
||||
\subsubsection{Directly using cmake}
|
||||
|
||||
Use cmake to create out-of-source builds, by creating a build folder parallel to
|
||||
source directory.
|
||||
\begin{verbatim}
|
||||
$ cd ..
|
||||
$ mkdir slsDetectorPackage-build
|
||||
$ cd slsDetectorPackage-build
|
||||
$ cmake ../slsDetectorPackage -DCMAKE_BUILD_TYPE=Debug -DUSE_HDF5=OFF
|
||||
$ make
|
||||
\end{verbatim}
|
||||
|
||||
Use the following as an example to compile statically and using specific hdf5
|
||||
folder
|
||||
\begin{verbatim}
|
||||
$ HDF5_ROOT=/opt/hdf5v1.10.0 cmake ../slsDetectorPackage
|
||||
-DCMAKE_BUILD_TYPE=Debug -DUSE_HDF5=ON
|
||||
\end{verbatim}
|
||||
|
||||
After compiling, the libraries and executables will be found at `bin` directory
|
||||
\begin{verbatim}
|
||||
$ 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
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
|
||||
To be able to run the executables, append the \verb=BINDIR= directory to your \verb=PATH= and \verb=LIBDIR= to the \verb=LD_LIBRARY_PATH=.
|
||||
|
||||
To run the GUI, you also need to add to your \verb=LD_LIBRARY_PATH= the Qt4 and Qwt libraries, without the need to install the whole Qt and Qwt developer package:
|
||||
\begin{itemize}
|
||||
\item libqwt.so.6
|
||||
\item libQtGui.so.4
|
||||
\item libQtCore.so.4
|
||||
\item libQtSvg.so.4
|
||||
\end{itemize}
|
||||
\subsection{Setting environment variables}
|
||||
One can set up the environment variables in the following ways.
|
||||
|
||||
To run the calibration wizards it is preferrable to have a complete Root installation (binaries), with \verb=ROOTSYS= defined and the libraries added to the \verb=LD_LIBRARY_PATH=.
|
||||
|
||||
|
||||
\section{Detector upgrade}
|
||||
|
||||
Sometimes the upgarde of the communication software, can require an upgrade of the software and/or firmware running on the detector as well.\\
|
||||
In these cases, the users are not expected to compile teh software themselves (which would require dedicated softwares) but only to download on the detector board the programming files and/or communication program provided by the SLS Detectors group.
|
||||
|
||||
|
||||
\subsection{MYTHEN upgrade}
|
||||
\subsubsection{Firmware upgrade}
|
||||
|
||||
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 \\
|
||||
\verb=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: \verb=C:\altera\80sp1\qprogrammer\drivers\usb-blasterp= (where \verb=C:\altera\80sp1\qprogrammer\= is assumed to be ther path where your Quartus version is installed).\\
|
||||
\subsubsection{Using .bashrc file}
|
||||
\begin{enumerate}
|
||||
\item After starting the Quartus programmer, click on Hardware Setup and in the "Currently selected hardware" window select USB-Blaster.
|
||||
\item In the Mode combo box select "Active Serial Programming".
|
||||
\item 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.
|
||||
\item Click on add file and from select the programming file provided when the upgrade has been reccomended.
|
||||
\item Check "Program/Configure" and "Verify".
|
||||
\item Push the start button and wait until the programming process is finished (progress bar top left).
|
||||
\item 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.
|
||||
\item \verb=emacs ~/.bashrc=
|
||||
\item Add the following function \verb=setup_slsdet= and replace \verb=path=
|
||||
with absolute path of installed directory
|
||||
\begin{verbatim}
|
||||
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
|
||||
}
|
||||
\end{verbatim}
|
||||
\item \verb=source ~/.bashrc=
|
||||
\item Next time, just run \verb=setup_slsdet= to load the environment
|
||||
variables.
|
||||
\end{enumerate}
|
||||
|
||||
\subsubsection{Software upgrade}
|
||||
First telent to the board:
|
||||
|
||||
One can also add the GUI environment variables if installed locally by adding
|
||||
the following in the function \verb=setup_sldet= \\
|
||||
\begin{verbatim}
|
||||
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
|
||||
\end{verbatim}
|
||||
|
||||
\subsubsection{Without .bashrc file}
|
||||
Go to binaries folder slsDetectorPackage/build/bin and execute the following:
|
||||
\begin{verbatim}
|
||||
export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
|
||||
export PATH=$PWD:$PATH
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\subsection{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 \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}
|
||||
|
||||
\section{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.
|
||||
|
||||
|
||||
\subsection{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.
|
||||
|
||||
\subsubsection{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: \\
|
||||
\url{https://www.altera.com/download/programming/quartus2/pq2-index.jsp}
|
||||
\medskip
|
||||
|
||||
\noindent 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:
|
||||
\verb=C:\altera\80sp1\qprogrammer\drivers\usb-blasterp= (where
|
||||
\verb=C:\altera\80sp1\qprogrammer\= is assumed to be ther path where your
|
||||
Quartus version is installed).
|
||||
\begin{enumerate}
|
||||
\item After starting the Quartus programmer, click on Hardware Setup and in the
|
||||
"Currently selected hardware" window select USB-Blaster.
|
||||
\item In the Mode combo box select "Active Serial Programming".
|
||||
\item 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.
|
||||
\item Click on add file and from select the programming file provided when
|
||||
the upgrade has been reccomended.
|
||||
\item Check "Program/Configure" and "Verify".
|
||||
\item Push the start button and wait until the programming process is
|
||||
finished (progress bar top left).
|
||||
\item 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.
|
||||
\end{enumerate}
|
||||
|
||||
\subsubsection{MYTHEN On-board Software}
|
||||
\begin{enumerate}
|
||||
\item Connect to the board using telnet:
|
||||
\begin{verbatim}
|
||||
telnet mymcs.mydomain.com
|
||||
username: root
|
||||
password: pass
|
||||
\end{verbatim}
|
||||
\item Kill currently running servers and ensure \verb=/mnt/flash/root= exists.
|
||||
\begin{verbatim}
|
||||
killall mythenDetectorServer
|
||||
ls /mnt/flash/root
|
||||
#if the directory does not exist mkdir /mnt/flash/root
|
||||
\end{verbatim}
|
||||
|
||||
To upgrade the software on the detector board transfer the provided software by ftp to the MCS:
|
||||
\item Transfer the provided software by ftp to the MCS.
|
||||
\begin{verbatim}
|
||||
ftp mymcs.mydomain.com
|
||||
username: root
|
||||
@ -262,14 +518,312 @@ put mythenDetectorServer
|
||||
quit
|
||||
\end{verbatim}
|
||||
|
||||
After pressing reset on the board, the board should reboot.\\
|
||||
\item After pressing reset on the board, the board should reboot.
|
||||
|
||||
\item If the program does not correctly start
|
||||
\begin{enumerate}
|
||||
\item Check by using the http interface that it is started by the inittab
|
||||
(check that the file \verb=/mnt/etc/inittab= ends with the line \\
|
||||
\verb=myid2:3:once:/mnt/flash/root/mythenDetectorServer=).
|
||||
\item If program has not started, make the program executable by telnetting to
|
||||
the MCS and executing: \\
|
||||
\verb=chmod a+xrw /mnt/flash/root/mythenDetectorServer=
|
||||
\item After pressing reset on the board, the board should reboot and the
|
||||
acqusition program correctly start.
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
|
||||
|
||||
\subsection{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.
|
||||
|
||||
\subsubsection{GOTTHARD Firmware}
|
||||
\textit{For SLS Detector Package v3.1.0} \\
|
||||
\indent Minimum compatible version: \\
|
||||
\indent \indent 11.01.2013 \\
|
||||
\indent Latest version: \\
|
||||
\indent \indent 08.02.2018 (50um and 25um 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.
|
||||
|
||||
|
||||
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: \\
|
||||
\url{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:
|
||||
\verb=C:\altera\80sp1\qprogrammer\drivers\usb-blasterp= (where
|
||||
\verb=C:\altera\80sp1\qprogrammer\= is assumed to be ther path where your
|
||||
Quartus version is installed).
|
||||
\begin{enumerate}
|
||||
\item After starting the Quartus programmer, click on Hardware Setup and in the
|
||||
"Currently selected hardware" window select USB-Blaster.
|
||||
\item In the Mode combo box select "Active Serial Programming".
|
||||
\item 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.
|
||||
\item Click on add file and from select the programming file provided when
|
||||
the upgrade has been reccomended.
|
||||
\item Check "Program/Configure" and "Verify".
|
||||
\item Push the start button and wait until the programming process is
|
||||
finished (progress bar top left).
|
||||
\item 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.
|
||||
\end{enumerate}
|
||||
|
||||
\subsubsection{GOTTHARD On-board Software}
|
||||
Every SLS Detector package release will have its coresponding matching on-board
|
||||
server under \textbf{slsDetectorPackage/serverBin}.
|
||||
|
||||
\begin{enumerate}
|
||||
\item Install tftp if the pc does not have it.
|
||||
\item Copy the server from serverBin folder to /tftpboot (or equivalent tftp
|
||||
folder) of the pc
|
||||
\item Copy the server to the detector by:
|
||||
\begin{enumerate}
|
||||
\item Connect to the blackfin on the detector\\
|
||||
\verb=telnet bchipxxx=
|
||||
\item Prevent existing on-board server from respawning by:
|
||||
\begin{enumerate}
|
||||
\item Edit \verb=/etc/inittab=
|
||||
\item Comment out the line
|
||||
\verb=#ttyS0::respawn:/gotthardDetectorServervxxx=
|
||||
\item Reboot blackfin using \verb=reboot=
|
||||
\item Run \verb=ps= to ensure no gotthardDetectorServers are running
|
||||
\end{enumerate}
|
||||
\item Copy new on-board server from pc to the blackfin using: \\
|
||||
\verb=tftp pcxxx -r gotthardDetectorServerxxx -g=
|
||||
\item Respawn the new server (server starts at detector statup):
|
||||
\begin{enumerate}
|
||||
\item Edit \verb=/etc/inittab=
|
||||
\item Uncomment out the line
|
||||
\verb=ttyS0::respawn:/gotthardDetectorServervxxx=
|
||||
\item Reboot blackfin using \verb=reboot=
|
||||
\item Run \verb=ps= to ensure that both the gotthardDetectorServers are
|
||||
running.\\
|
||||
\verb=gotthardDetectorServerxxx= \\
|
||||
\verb=gotthardDetectorServerxxx 1953=
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
|
||||
\subsection{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.
|
||||
|
||||
\subsubsection{EIGER Firmware}
|
||||
\textit{For SLS Detector Package v3.1.0} \\
|
||||
\indent Minimum compatible version: 16 \\
|
||||
\indent Latest version: 20 \\
|
||||
|
||||
|
||||
\begin{enumerate}
|
||||
\item One must get the latest package's corresponding bit files from the SLS
|
||||
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 Run the following to update firmware
|
||||
\begin{verbatim}
|
||||
#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
|
||||
\end{verbatim}
|
||||
Please update bit files with great caution as it could make your board
|
||||
inaccessible, if done incorrectly.
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
|
||||
\subsubsection{EIGER On-board Software}
|
||||
Every SLS Detector package release will have its coresponding matching on-board
|
||||
server under \textbf{slsDetectorPackage/serverBin}.
|
||||
|
||||
|
||||
Update the on-board software without connecting to the detector
|
||||
\begin{verbatim}
|
||||
#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
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\bigskip One can connect to the detector by:
|
||||
\begin{verbatim}
|
||||
ssh root@bebxxx
|
||||
password: root
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
The on-board server is in ~/executables folder and respawned at startup in \\
|
||||
\verb=/etc/rc5.d/S50board_com.sh=
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
\subsection{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.
|
||||
|
||||
\subsubsection{JUNGFRAU Firmware}
|
||||
\textit{For SLS Detector Package v3.1.0} \\
|
||||
\indent Minimum compatible version: 13.11.2017 \\
|
||||
\indent Latest version: 13.11.2017 \\
|
||||
|
||||
|
||||
At times, one has to update the firmware, which then also requires updating the
|
||||
on-board software.
|
||||
|
||||
|
||||
\textbf{\textit{Jungfrau firmware can be upgraded via the SLS Detector Package
|
||||
binaries from the command line.}}
|
||||
|
||||
\begin{enumerate}
|
||||
\item One must get the latest package's corresponding POF file from the SLS
|
||||
Detector Group.
|
||||
\item Update the latest SLS Detector package installed.
|
||||
\item Update the on-board software as per the instructions in the next
|
||||
section.
|
||||
\item Start the on-board server in debug mode:
|
||||
\begin{enumerate}
|
||||
\item Connect to the blackfin on the detector\\
|
||||
\verb=telnet bchipxxx=
|
||||
\item Prevent existing on-board server from respawning by:
|
||||
\begin{enumerate}
|
||||
\item Edit \verb=/etc/inittab=
|
||||
\item Comment out the line
|
||||
\verb=#ttyS0::respawn:/jungfrauDetectorServervxxx=
|
||||
\item Reboot blackfin using \verb=reboot=
|
||||
\item Run \verb=ps= to ensure no gotthardDetectorServers are running
|
||||
\end{enumerate}
|
||||
\item Start the server in debug mode using: \\
|
||||
\verb=./jungfrauDetectorServerxxx -debug= \\
|
||||
Leave this console on to come back to it later.
|
||||
\end{enumerate}
|
||||
\item From the command line of the pc, clear shared memory \\
|
||||
\verb=./sls_detector_get free= \\
|
||||
If one gets shmget error, please clean the shared memory properly using the
|
||||
script in \verb=slsDetectorPackage/cleansharedmemory.sh=
|
||||
\item Add the detector to shared memory using \\
|
||||
\verb=./sls_detector_put hostname bchipxxx=
|
||||
\item Program the FPGA using \\
|
||||
\verb=./sls_detector_put programfpga xxx.pof=
|
||||
\item Once the programming is done:
|
||||
\begin{enumerate}
|
||||
\item Switch to the console that has the debug server running and kill it
|
||||
using Ctrl+C and ensure no jungfrauDetectorServers are
|
||||
running
|
||||
\item Restart the new server to see if it runs with the new firmware \\
|
||||
\verb=./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.
|
||||
\item Respawn the new server (server starts at detector statup):
|
||||
\begin{enumerate}
|
||||
\item Edit \verb=/etc/inittab=
|
||||
\item Uncomment out the line
|
||||
\verb=ttyS0::respawn:/jungfrauDetectorServervxxx=
|
||||
\item Reboot blackfin using \verb=reboot=
|
||||
\item Run \verb=ps= to ensure that both the gotthardDetectorServers are
|
||||
running.\\
|
||||
\verb=jungfrauDetectorServervxxx= \\
|
||||
\verb=jungfrauDetectorServervxxx 1953=
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
|
||||
\subsubsection{JUNGFRAU On-board Software}
|
||||
Every SLS Detector package release will have its coresponding matching on-board
|
||||
server under \textbf{slsDetectorPackage/serverBin}.
|
||||
|
||||
|
||||
\begin{enumerate}
|
||||
\item Install tftp if the pc does not have it.
|
||||
\item Copy the server from serverBin folder to /tftpboot (or equivalent tftp
|
||||
folder) of the pc
|
||||
\item Copy the server to the detector by:
|
||||
\begin{enumerate}
|
||||
\item Connect to the blackfin on the detector\\
|
||||
\verb=telnet bchipxxx=
|
||||
\item Prevent existing on-board server from respawning by:
|
||||
\begin{enumerate}
|
||||
\item Edit \verb=/etc/inittab=
|
||||
\item Comment out the line
|
||||
\verb=#ttyS0::respawn:/jungfrauDetectorServervxxx=
|
||||
\item Reboot blackfin using \verb=reboot=
|
||||
\item Run \verb=ps= to ensure no gotthardDetectorServers are running
|
||||
\end{enumerate}
|
||||
\item Copy new on-board server from pc to the blackfin using: \\
|
||||
\verb=tftp pcxxx -r jungfrauDetectorServervxxx -g=
|
||||
\item Respawn the new server (server starts at detector statup):
|
||||
\begin{enumerate}
|
||||
\item Edit \verb=/etc/inittab=
|
||||
\item Uncomment out the line
|
||||
\verb=ttyS0::respawn:/jungfrauDetectorServervxxx=
|
||||
\item Reboot blackfin using \verb=reboot=
|
||||
\item Run \verb=ps= to ensure that both the gotthardDetectorServers are
|
||||
running.\\
|
||||
\verb=jungfrauDetectorServervxxx= \\
|
||||
\verb=jungfrauDetectorServervxxx 1953=
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
|
||||
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 \verb=/mnt/etc/inittab= ends with the line \verb=myid2:3:once:/mnt/flash/root/mythenDetectorServer= ). \\
|
||||
|
||||
Otherwise make the program executable by telnetting to the MCS and executing:
|
||||
\verb=chmod a+xrw /mnt/flash/root/mythenDetectorServer=\\
|
||||
|
||||
After pressing reset on the board, the board should reboot and the acqusition program correctly start.
|
||||
|
||||
\begin{comment}
|
||||
\section{Detector system architecture}
|
||||
@ -346,7 +900,11 @@ The \textit{settingsdir} and \textit{caldir} should be properly configured for y
|
||||
|
||||
\subsection{GOTTHARD}
|
||||
A \textit{settingsdir} should be configured, as the directory \verb=settings= in this software package.\\
|
||||
It must contain the subdirectories \verb=dynamicgain=, \verb=gain1=, \verb=gain2=, \verb=gain3=, \verb=highgain=, \verb=lowgain=, \verb=mediumgain=, and \verb=veryhighgain= in order to properly configure the GOTTHARD detector using the various gain settings.
|
||||
It must contain the subdirectories \verb=dynamicgain=, \verb=gain1=,
|
||||
\verb=gain2=, \verb=gain3=, \verb=highgain=, \verb=lowgain=,
|
||||
\verb=mediumgain=, and \verb=veryhighgain= in order to properly configure the
|
||||
GOTTHARD detector using the various gain settings.
|
||||
|
||||
\end{comment}
|
||||
|
||||
\end{document}
|
||||
|
1
serverBin/eigerDetectorServer_virtualMaster
Symbolic link
@ -0,0 +1 @@
|
||||
../slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer_virtualMaster
|
1
serverBin/eigerDetectorServer_virtualSlave
Symbolic link
@ -0,0 +1 @@
|
||||
../slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServer_virtualSlave
|
1
serverBin/eigerDetectorServerv3.1.0.16.1
Symbolic link
@ -0,0 +1 @@
|
||||
../slsDetectorSoftware/eigerDetectorServer/bin/eigerDetectorServerv3.1.0.16.1
|
1
serverBin/gotthardDetectorServer_virtual
Symbolic link
@ -0,0 +1 @@
|
||||
../slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServer_virtual
|
@ -1 +0,0 @@
|
||||
../slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.0.0.6
|
1
serverBin/gotthardDetectorServerv3.1.0.1
Symbolic link
@ -0,0 +1 @@
|
||||
../slsDetectorSoftware/gotthardDetectorServer/gotthardDetectorServerv3.1.0.1
|
1
serverBin/jungfrauDetectorServer_virtual
Symbolic link
@ -0,0 +1 @@
|
||||
../slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServer_virtual
|
1
serverBin/jungfrauDetectorServerv3.1.0.2
Symbolic link
@ -0,0 +1 @@
|
||||
../slsDetectorSoftware/jungfrauDetectorServer/bin/jungfrauDetectorServerv3.1.0.2
|
@ -1 +0,0 @@
|
||||
../slsDetectorSoftware/moenchDetectorServer/moenchDetectorServerv2.0.3
|
@ -4,5 +4,5 @@ VcascP 1480
|
||||
Vout 1520
|
||||
Vcasc 1320
|
||||
Vin 1350
|
||||
Vref_comp 887
|
||||
Vref_comp 350
|
||||
Vib_test 2001
|
||||
|
@ -4,5 +4,5 @@ VcascP 1480
|
||||
Vout 1520
|
||||
Vcasc 1320
|
||||
Vin 1350
|
||||
Vref_comp 887
|
||||
Vref_comp 350
|
||||
Vib_test 2001
|
||||
|
@ -4,5 +4,5 @@ VcascP 1480
|
||||
Vout 1520
|
||||
Vcasc 1320
|
||||
Vin 1350
|
||||
Vref_comp 887
|
||||
Vref_comp 350
|
||||
Vib_test 2001
|
||||
|
@ -4,5 +4,5 @@ VcascP 1480
|
||||
Vout 1520
|
||||
Vcasc 1320
|
||||
Vin 1350
|
||||
Vref_comp 887
|
||||
Vref_comp 350
|
||||
Vib_test 2001
|
||||
|
@ -4,5 +4,5 @@ VcascP 1480
|
||||
Vout 1520
|
||||
Vcasc 1320
|
||||
Vin 1350
|
||||
Vref_comp 887
|
||||
Vref_comp 350
|
||||
Vib_test 2001
|
||||
|
@ -119,6 +119,11 @@ target_link_libraries(slsDetectorGui
|
||||
pthread
|
||||
zmq
|
||||
rt
|
||||
png
|
||||
z
|
||||
Qt4::QtOpenGL
|
||||
Qt4::QtSvg
|
||||
|
||||
)
|
||||
|
||||
add_executable(gui_client
|
||||
@ -128,3 +133,6 @@ add_executable(gui_client
|
||||
set_target_properties(gui_client PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
)
|
||||
|
||||
install(TARGETS slsDetectorGui gui_client
|
||||
RUNTIME DESTINATION bin)
|
||||
|
@ -1,9 +1,9 @@
|
||||
Path: slsDetectorsPackage/slsDetectorGui
|
||||
URL: origin git@git.psi.ch:sls_detectors_software/slsDetectorPackage.git
|
||||
Repository Root: origin git@git.psi.ch:sls_detectors_software/slsDetectorPackage.git
|
||||
Repsitory UUID: c4a242e10a4aafd102cc9a2a7ddae4ac92b8ba99
|
||||
Revision: 439
|
||||
Branch: 3.0.1
|
||||
Last Changed Author: Dhanya_Maliakal
|
||||
Last Changed Rev: 3187
|
||||
Last Changed Date: 2017-12-06 08:45:14.000000002 +0100 ./src/qTabSettings.cpp
|
||||
URL: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||
Repository Root: origin git@github.com:slsdetectorgroup/slsDetectorPackage.git
|
||||
Repsitory UUID: b58c3e8951625ed9124669404f6b68aca340a1b8
|
||||
Revision: 491
|
||||
Branch: developer
|
||||
Last Changed Author: Dhanya_Thattil
|
||||
Last Changed Rev: 3727
|
||||
Last Changed Date: 2018-03-14 15:24:03.000000002 +0100 ./src/qTabMeasurement.cpp
|
||||
|
@ -1,6 +1,6 @@
|
||||
#define GITURL "git@git.psi.ch:sls_detectors_software/slsDetectorPackage.git"
|
||||
#define GITREPUUID "c4a242e10a4aafd102cc9a2a7ddae4ac92b8ba99"
|
||||
#define GITAUTH "Dhanya_Maliakal"
|
||||
#define GITREV 0x3187
|
||||
#define GITDATE 0x20171206
|
||||
#define GITBRANCH "3.0.1"
|
||||
#define GITURL "git@github.com:slsdetectorgroup/slsDetectorPackage.git"
|
||||
#define GITREPUUID "b58c3e8951625ed9124669404f6b68aca340a1b8"
|
||||
#define GITAUTH "Dhanya_Thattil"
|
||||
#define GITREV 0x3727
|
||||
#define GITDATE 0x20180314
|
||||
#define GITBRANCH "developer"
|
||||
|
@ -111,7 +111,7 @@ qDetectorMain::qDetectorMain(int argc, char **argv, QApplication *app, int& ret,
|
||||
+ "Usage: " + string(argv[0]) + " [arguments]\n"
|
||||
+ "Possible arguments are:\n"
|
||||
+ "\t-d, --developer : Enables the developer tab\n"
|
||||
+ "\t-f, --f, --config <fname> : Loads config from file\n"
|
||||
+ "\t-f, --config <fname> : Loads config from file\n"
|
||||
+ "\t-i, --id <i> : Sets the multi detector id to i. Default: 0. Required \n"
|
||||
+ "\t only when more than one multi detector object is needed.\n\n";
|
||||
cout << help_message << endl;
|
||||
@ -306,11 +306,8 @@ void qDetectorMain::SetUpDetector(const string fName){
|
||||
cout << endl << "Type : " << slsDetectorBase::getDetectorType(detType) << "\nDetector : " << host << endl;
|
||||
//#endif
|
||||
myDet->setOnline(slsDetectorDefs::ONLINE_FLAG);
|
||||
if(detType != slsDetectorDefs::MYTHEN) {
|
||||
if(myDet->setReceiverOnline(slsDetectorDefs::GET_ONLINE_FLAG) == slsDetectorDefs::ONLINE_FLAG) {
|
||||
myDet->setReceiverOnline(slsDetectorDefs::ONLINE_FLAG);
|
||||
}else cprintf(RED,"is not online!\n");
|
||||
}
|
||||
if(detType != slsDetectorDefs::MYTHEN)
|
||||
myDet->setReceiverOnline(slsDetectorDefs::ONLINE_FLAG);
|
||||
qDefs::checkErrorMessage(myDet,"qDetectorMain::SetUpDetector");
|
||||
}
|
||||
|
||||
|
@ -377,7 +377,7 @@ void qTabAdvanced::SetOutputFile(){
|
||||
//gets the clean absolute path
|
||||
dirPath = dir.absoluteFilePath(dirPath);
|
||||
dirPath = dir.cleanPath(dirPath);
|
||||
QString trimdir = QString(myDet->getSettingsFile()).section('/',0,-2,QString::SectionIncludeLeadingSep);
|
||||
QString trimdir = QString::fromStdString(myDet->getSettingsFile()).section('/',0,-2,QString::SectionIncludeLeadingSep);
|
||||
trimdir = dir.absoluteFilePath(trimdir);
|
||||
trimdir = dir.cleanPath(trimdir);
|
||||
if(!dirPath.compare(trimdir)){
|
||||
|
@ -535,8 +535,10 @@ void qTabDataOutput::GetOutputDir(){
|
||||
dispOutputDir->setText(QString(myDet->getFilePath().c_str()));
|
||||
//multi file path blank means sls file paths are different
|
||||
if (dispOutputDir->text().isEmpty()) {
|
||||
#ifdef VERYVERBOSE
|
||||
qDefs::Message(qDefs::INFORMATION,"The file path for individual units are different.\n"
|
||||
"Hence, leaving the common field blank.","qTabDataOutput::GetOutputDir");
|
||||
#endif
|
||||
#ifdef VERBOSE
|
||||
cout << "The file path for individual units are different.\n"
|
||||
"Hence, leaving the common field blank." << endl;
|
||||
|
@ -843,28 +843,14 @@ void qTabMeasurement::Refresh(){
|
||||
cout << "Getting delay after trigger, number of triggers and number of gates" << endl;
|
||||
#endif
|
||||
//delay
|
||||
//delay
|
||||
if (detType == slsDetectorDefs::EIGER) {
|
||||
lblDelay->setEnabled(false);
|
||||
spinDelay->setEnabled(false);
|
||||
comboDelayUnit->setEnabled(false);
|
||||
} else {
|
||||
lblDelay->setEnabled(true);
|
||||
spinDelay->setEnabled(true);
|
||||
comboDelayUnit->setEnabled(true);
|
||||
time = qDefs::getCorrectTime(unit,((double)(myDet->setTimer(slsDetectorDefs::DELAY_AFTER_TRIGGER,-1)*(1E-9))));
|
||||
spinDelay->setValue(time);
|
||||
comboDelayUnit->setCurrentIndex((int)unit);
|
||||
}
|
||||
if (detType != slsDetectorDefs::EIGER)
|
||||
time = qDefs::getCorrectTime(unit,((double)(myDet->setTimer(slsDetectorDefs::DELAY_AFTER_TRIGGER,-1)*(1E-9))));
|
||||
|
||||
//gates
|
||||
if ((detType == slsDetectorDefs::EIGER) || (detType == slsDetectorDefs::JUNGFRAU) || (detType == slsDetectorDefs::JUNGFRAUCTB)) {
|
||||
lblNumGates->setEnabled(false);
|
||||
spinNumGates->setEnabled(false);
|
||||
} else {
|
||||
lblNumGates->setEnabled(true);
|
||||
spinNumGates->setEnabled(true);
|
||||
spinNumGates->setValue((int)myDet->setTimer(slsDetectorDefs::GATES_NUMBER,-1));
|
||||
}
|
||||
if ((detType != slsDetectorDefs::EIGER) && (detType != slsDetectorDefs::JUNGFRAU) && (detType != slsDetectorDefs::JUNGFRAUCTB) )
|
||||
spinNumGates->setValue((int)myDet->setTimer(slsDetectorDefs::GATES_NUMBER,-1));
|
||||
|
||||
|
||||
//Number of Triggers
|
||||
spinNumTriggers->setValue((int)myDet->setTimer(slsDetectorDefs::CYCLES_NUMBER,-1));
|
||||
|
||||
|