Compare commits

..

85 Commits

Author SHA1 Message Date
9b7f9b1be1 Merge branch 'main-rc' into b3.0.0 2020-11-30 16:42:35 +01:00
26c829d766 Merge branch 'main-rc' into b2.3.4 2020-11-30 16:38:04 +01:00
3fde5c5b55 Merge branch 'main-rc' into b2.3.3 2020-11-30 16:36:24 +01:00
3e5f546ebe Merge branch 'main-rc' into b2.3.2 2020-11-30 16:26:44 +01:00
9833a7d330 Merge branch 'main-rc' into b2.3.1 2020-11-30 16:25:23 +01:00
8f9155e578 Merge branch 'main-rc' into b2.3.0 2020-11-30 16:23:50 +01:00
9df1eac3c1 Merge branch 'main-rc' into b2.2.0 2020-11-30 15:46:45 +01:00
5ededf9be4 Merge branch 'main-rc' into b2.1.1 2020-11-30 15:16:57 +01:00
3e8774798a Merge branch 'main-rc' into b2.1.0 2020-11-30 15:13:43 +01:00
834794ad98 gotthard renamed binaries 2017-12-19 18:04:44 +01:00
56c504abbb Merge remote branch 'slsDetectorCalibration/2.3.4' into 2.3.4 2017-12-12 11:14:19 +01:00
4d6346e678 Merge remote branch 'slsDetectorCalibration/2.3.3' into 2.3.3 2017-12-12 11:14:15 +01:00
dc7e448759 Merge remote branch 'slsDetectorCalibration/2.3.2' into 2.3.2 2017-12-12 11:14:12 +01:00
e658cbacda Merge remote branch 'slsDetectorCalibration/2.3.1' into 2.3.1 2017-12-12 11:14:08 +01:00
1e6c6dea71 Merge remote branch 'slsDetectorCalibration/2.3' into 2.3 2017-12-12 11:14:05 +01:00
0e5d4d1d8e Merge remote branch 'slsDetectorCalibration/2.2' into 2.2 2017-12-12 11:14:01 +01:00
a2986784d3 Merge remote branch 'slsDetectorCalibration/2.1.1' into 2.1.1 2017-12-12 11:13:34 +01:00
975cbb576e Merge remote branch 'slsDetectorCalibration/2.1' into 2.1 2017-12-12 11:06:15 +01:00
e48a92d9cd Merge remote branch 'slsDetectorCalibration/2.0.5' into 2.0.5 2017-12-12 11:02:57 +01:00
befdcf7f36 Merge remote branch 'slsDetectorGui/2.3.4' into 2.3.4 2017-12-04 16:48:01 +01:00
02f5c472a8 Merge remote branch 'slsReceiverSoftware/2.3.4' into 2.3.4 2017-12-04 16:48:00 +01:00
75ed2cd2e4 Merge remote branch 'slsDetectorSoftware/2.3.4' into 2.3.4 2017-12-04 16:47:59 +01:00
3be045f9b6 Merge remote branch 'slsDetectorGui/2.3.3' into 2.3.3 2017-12-04 16:47:54 +01:00
8fae982802 Merge remote branch 'slsReceiverSoftware/2.3.3' into 2.3.3 2017-12-04 16:47:54 +01:00
128ec88b5f Merge remote branch 'slsDetectorSoftware/2.3.3' into 2.3.3 2017-12-04 16:47:52 +01:00
d5fc158330 Merge remote branch 'slsDetectorGui/2.3.2' into 2.3.2 2017-12-04 16:47:47 +01:00
864e6e4c81 Merge remote branch 'slsReceiverSoftware/2.3.2' into 2.3.2 2017-12-04 16:47:47 +01:00
343d96ff16 Merge remote branch 'slsDetectorSoftware/2.3.2' into 2.3.2 2017-12-04 16:47:46 +01:00
4142328437 Merge remote branch 'slsDetectorGui/2.3.1' into 2.3.1 2017-12-04 16:47:41 +01:00
6c797988c7 Merge remote branch 'slsReceiverSoftware/2.3.1' into 2.3.1 2017-12-04 16:47:41 +01:00
215c262981 Merge remote branch 'slsDetectorSoftware/2.3.1' into 2.3.1 2017-12-04 16:47:39 +01:00
081b809078 Merge remote branch 'slsDetectorGui/2.3' into 2.3 2017-12-04 16:47:35 +01:00
9263567cd8 Merge remote branch 'slsReceiverSoftware/2.3' into 2.3 2017-12-04 16:47:34 +01:00
58e90a85be Merge remote branch 'slsDetectorSoftware/2.3' into 2.3 2017-12-04 16:47:33 +01:00
025c836e25 Merge remote branch 'slsDetectorGui/2.2' into 2.2 2017-12-04 16:47:28 +01:00
5d5abae3f4 Merge remote branch 'slsReceiverSoftware/2.2' into 2.2 2017-12-04 16:47:28 +01:00
e2ad46386e Merge remote branch 'slsDetectorSoftware/2.2' into 2.2 2017-12-04 16:47:26 +01:00
308d44e452 Merge remote branch 'slsDetectorGui/2.1.1' into 2.1.1 2017-12-04 16:47:22 +01:00
69da61b1fb Merge remote branch 'slsReceiverSoftware/2.1.1' into 2.1.1 2017-12-04 16:47:22 +01:00
460168ce04 Merge remote branch 'slsDetectorSoftware/2.1.1' into 2.1.1 2017-12-04 16:47:21 +01:00
4e429c0d77 Merge remote branch 'slsDetectorGui/2.1' into 2.1 2017-12-04 16:45:34 +01:00
bf4fab549d Merge remote branch 'slsReceiverSoftware/2.1' into 2.1 2017-12-04 16:45:34 +01:00
f7705eb1da Merge remote branch 'slsDetectorSoftware/2.1' into 2.1 2017-12-04 16:45:32 +01:00
a2217e2066 Merge remote branch 'slsReceiverSoftware/2.0.5' into 2.0.5 2017-12-04 15:33:33 +01:00
aaa02706fc Merge remote branch 'slsDetectorSoftware/2.0.5' into 2.0.5 2017-12-04 15:31:52 +01:00
6a80bc5b54 new feature, set threshold without uploading trimbits 2017-06-27 13:00:38 +02:00
b9275646ad crazy amount of changes, both necessary and unnecessary;need to narrow down the real change later 2017-04-27 14:05:04 +02:00
9e2f2697c7 crazy amount of changes, both necessary and unnecessary;need to narrow down the real change later 2017-04-27 13:58:25 +02:00
b6b0df62b6 updaterev 2017-04-20 08:26:29 +02:00
0ba537e479 removed headersize compile error 2017-04-20 08:26:16 +02:00
75ddf535dc updaterev 2017-04-19 17:59:53 +02:00
b1de501bef updaterev 2017-04-19 17:59:46 +02:00
0f3a63f101 changed zmq default port starting at 40001 to be able to view in wireshark and removed headersize for warning 2017-04-19 17:42:38 +02:00
3b4b2d707f changes without ostringstream done 2017-04-19 10:17:39 +02:00
f405aa1733 split zmq_msg_t so its not reused 2017-04-19 10:17:30 +02:00
df0fdb7ecb changes without ostringstream done 2017-04-19 10:16:45 +02:00
91b7a87557 just started changin frm ostringstream 2017-04-18 15:32:01 +02:00
9468b9ca1e updaterev 2017-04-11 13:39:59 +02:00
d7982e178e updaterev 2017-04-11 13:39:53 +02:00
9cf5714a5b removing warnings shown from esrf debian 2017-04-11 13:39:35 +02:00
0c9ac8911a removing warnings shown from esrf debian 2017-04-11 13:39:28 +02:00
4730c8c0a9 updaterev 2017-04-11 13:31:49 +02:00
43efb8acfd removing warnings shown from esrf debian 2017-04-11 13:31:32 +02:00
6ecca8fcb0 updaterev 2017-04-11 09:03:26 +02:00
17cb63a57f updaterev 2017-04-11 09:03:19 +02:00
4f83fcb001 updaterev 2017-04-11 09:02:10 +02:00
ab94af6d29 removed verbose etc 2017-04-07 15:08:40 +02:00
7c725cc69b .c_str() must not access global variables from thread 2017-04-07 14:57:19 +02:00
f0198d2d2e alejandro's changes from ESRF 2017-04-07 14:50:17 +02:00
5ddccbdee4 changed all -lpthread to -pthread 2017-04-07 14:28:00 +02:00
8fb39b8c7e changed all -lpthread to -pthread 2017-04-07 14:27:27 +02:00
bd5293f4b1 changed all -lpthread to -pthread 2017-04-07 14:26:09 +02:00
b91180f5b2 changed all -lpthread to -pthread 2017-04-07 14:26:03 +02:00
7c3b5065a5 changed all -lpthread to -pthread 2017-04-07 14:25:09 +02:00
9aef802bea changed all -lpthread to -pthread 2017-04-07 14:24:49 +02:00
f7d85231f2 solved warnings except sscanf for uint64_t 2017-04-07 14:12:21 +02:00
5b3a911e8d solved warnings except sscanf for uint64_t 2017-04-07 14:11:34 +02:00
65f5e1c1ab strtok is not thread safe..used to set receiver udp ip etc to detector, fixed 2017-04-06 15:04:33 +02:00
839896c7e6 fixed the print file packet loss progress bug 2016-10-19 15:53:26 +02:00
4a7e246604 removed asking only 1 for framescaugh 2016-10-19 10:21:29 +02:00
7f293115c4 moved f_activate to receiver funcs from detectors funcs 2016-10-10 08:43:18 +02:00
f59f40a659 ask only 1 for frames caught for 9m 2016-10-10 08:41:03 +02:00
64fd82f92c fixed bug in gui that overwrites the individual sls file path values with the multi value, included a febl and febr temp read 2016-10-10 08:39:46 +02:00
cd232fd732 fixed bug in gui that overwrites the individual sls file path values with the multi value 2016-10-10 08:17:34 +02:00
172fa66b1f hotfix for memory leak in server 2016-08-18 11:57:36 +02:00
793 changed files with 67091 additions and 54045 deletions

1
.gitignore vendored
View File

@ -8,4 +8,3 @@ bin/
*.toc
build
docs/
RELEASE.txt

View File

@ -1,45 +0,0 @@
sudo: false
language: cpp
matrix:
include:
- os: linux
env: CONDA_PY=3.6
dist: trusty
install:
- sudo apt-get update
- ldd --version
- wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
- bash miniconda.sh -b -p $HOME/miniconda
- export PATH="$HOME/miniconda/bin:$PATH"
- rm -f miniconda.sh
- hash -r
- conda config --set always_yes yes --set changeps1 no
- conda config --add channels conda-forge
- conda config --add channels slsdetectorgroup
- conda update conda
- conda update --all
- conda install conda-build anaconda-client
# Useful for debugging any issues with conda
- conda info -a
# Replace dep1 dep2 ... with your dependencies
- conda create -q -n test-environment python=$CONDA_PY
- source activate test-environment
- conda-build .
script:
- echo "No test scripts to be run!"
deploy:
provider: script
script: find $HOME/miniconda/conda-bld/${TRAVIS_OS_NAME}-64 -name "*.tar.bz2" -exec anaconda -t $CONDA_TOKEN upload --force {} \;
on:
branch: developer

View File

@ -1,50 +1,25 @@
cmake_minimum_required(VERSION 2.8)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
set (REST OFF)
set (CALIBRATE OFF)
option (USE_HDF5 "HDF5 File format" OFF)
option (USE_TEXTCLIENT "Text Client" OFF)
option (USE_RECEIVER "Receiver" OFF)
option (USE_GUI "GUI" OFF)
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++98 -Wno-misleading-indentation")
else ()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++98")
endif ()
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)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_INSTALL_RPATH "$ORIGIN")
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
if (USE_TEXTCLIENT)
add_subdirectory(slsDetectorSoftware)
endif (USE_TEXTCLIENT)
if (USE_RECEIVER)
add_subdirectory(slsReceiverSoftware)
add_subdirectory(manual/manual-api)
endif (USE_RECEIVER)
if (USE_GUI)
if (QT4_FOUND AND QWT_FOUND)
add_subdirectory(slsDetectorGui)
endif()
endif (USE_GUI)
add_subdirectory(slsDetectorSoftware)
add_subdirectory(slsReceiverSoftware)
if (QT4_FOUND AND QWT_FOUND)
add_subdirectory(slsDetectorGui)
endif()
if (CALIBRATE)

View File

@ -19,12 +19,11 @@ RECEIVERDIR = $(LIBRARYRXRDIR)
CALWIZDIR = $(WD)/calibrationWizards
MANDIR = $(WD)/manual
CALIBDIR = $(WD)/slsDetectorCalibration
MANAPIDIR = $(MANDIR)/manual-api
TABSPACE := "\t"
INCLUDES=-I. -I$(LIBRARYDIR)/commonFiles -I$(LIBRARYDIR)/slsDetector -I$(LIBRARYDIR)/usersFunctions -I$(LIBRARYDIR)/multiSlsDetector -I$(LIBRARYDIR)/slsDetectorUtils -I$(LIBRARYDIR)/slsDetectorCommand -I$(LIBRARYDIR)/slsDetectorAnalysis -I$(LIBRARYDIR)/slsReceiverInterface -I$(LIBRARYRXRDIR)/include -I$(LIBRARYDIR)/threadFiles -I$(LIBRARYDIR)/sharedMemory -I$(ASM)
INCLUDES=-I. -I$(LIBRARYDIR)/commonFiles -I$(LIBRARYDIR)/slsDetector -I$(LIBRARYDIR)/usersFunctions -I$(LIBRARYDIR)/multiSlsDetector -I$(LIBRARYDIR)/slsDetectorUtils -I$(LIBRARYDIR)/slsDetectorCommand -I$(LIBRARYDIR)/slsDetectorAnalysis -I$(LIBRARYDIR)/slsReceiverInterface -I$(LIBRARYRXRDIR)/include -I$(LIBRARYDIR)/threadFiles -I$(ASM)
INCLUDESRXR += -I. -I$(LIBRARYRXRDIR)/include -I$(CALIBDIR) -I$(ASM)
#LIBFLAGRXR +=
@ -80,7 +79,6 @@ slsReceiver_static: receiver
receiver: #libreceiver
# cd $(RECEIVERDIR) && $(MAKE) receiver FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' LIBDIR='$(LIBDIR)'
cd $(RECEIVERDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' LIBDIR='$(LIBDIR)'
cd $(MANAPIDIR) && $(MAKE) slsMultiReceiver
@echo ""
@echo "#######################################"
@echo "# Back in slsDetectorPackage Makefile #"
@ -153,7 +151,6 @@ clean:
cd $(DOCDIR) && rm -rf *
rm -rf slsDetectorPackageDocs;
rm -rf $(DETAILDOC)
rm -rf $(MANAPIDIR)/slsMultiReceiver
#install_lib:
@ -224,6 +221,7 @@ help:
@echo ""
@echo ""
@echo "Makefile variables"
@echo "REST=yes compile REST-aware Receiver (POCO and JsonBox libraries required)"
@echo "DEBUG=1,2 set debug level to 1 (VERBOSE) or 2 (VERYVERBOSE)"
@echo ""
@echo ""

View File

@ -33,6 +33,26 @@ ifeq ($(HDF5),yes)
endif
##############################################################
# EigerSLS specific. Set this to yes, if you want to compile
# EigerSLS code: in this case, you need also POCO and JsonBox
# libraries
##############################################################
REST = no
POCODIR = /afs/psi.ch/user/s/sala/public/poco
JSONBOXDIR = /opt/JsonBox-0.5
RESTFLAGS = -L$(POCODIR)/lib -Wl,-rpath=$(POCODIR)/lib -L$(JSONBOXDIR) -Wl,-rpath=$(JSONBOXDIR) -lPocoNet -lPocoFoundation -lJsonBox
ifeq ($(REST),yes)
LDFLAGRXR = -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsReceiver $(RESTFLAGS) -DREST
INCLUDESRXR = $(EIGERFLAGS) -I$(POCODIR)/include -I$(JSONBOXDIR)/include
endif
##############################################################
# ROOTSLS specific. Set this to yes, if you want to compile
# ROOTSLS code: in this case, you need also root libraries

View File

@ -1,91 +1,48 @@
### Documentation
Detailed documentation can be found on the [official site.](https://www.psi.ch/detectors/users-support)
# slsDetector package
### Binaries
Documentation to obtain the binaries via the conda package is available for [lib](https://github.com/slsdetectorgroup/sls_detector_lib) and [gui](https://github.com/slsdetectorgroup/sls_detector_gui)
### 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
## Installation
### Get source
The source code is organised into several submodules, and the top level module is
sls_detectors_package.
```
#### Setup dependencies
* Gui Client <br>
Requirements: Qt 4.8 and Qwt 6.0
$ 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
```
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.
* Advanced user Calibration wizards<br>
Requirements: ROOT
The calibration wizards require ROOT
```
export ROOTSYS=/usr/local/root-5.34
```
#### 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>
* -e: Debug mode
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.
### Compile
Use cmake to create out-of-source builds, by creating an build folder parallel to source directory.
```
$ cd ..
$ mkdir slsDetectorPackage-build
$ cd slsDetectorPackage-build
$ cmake ../slsDetectorPackage -DCMAKE_BUILD_TYPE=Debug -DUSE_HDF5=OFF
$ mkdir sls_detectors_package-build
$ cd sls_detectors_package-build
$ cmake ../sls_detectors_package
$ make
```
Use the following as an example to compile statically and using specific hdf5 folder
```
$ HDF5_ROOT=/opt/hdf5v1.10.0 cmake ../slsDetectorPackage -DCMAKE_BUILD_TYPE=Debug -DUSE_HDF5=ON
$ HDF5_ROOT=/opt/hdf5v1.10.0 cmake -DHDF5_USE_STATIC_LIBRARIES=TRUE ../slsDetectorsPackage
```
After compiling, the libraries and executables will be found at `bin` directory
The libraries and executables will be found at `bin` directory
```
$ ls bin/
gui_client libSlsDetector.a libSlsDetector.so libSlsReceiver.a libSlsReceiver.so
sls_detector_acquire sls_detector_get slsDetectorGui sls_detector_help sls_detector_put slsReceiver slsMultiReceiver
sls_detector_acquire sls_detector_get slsDetectorGui sls_detector_help sls_detector_put slsReceiver
```

View File

@ -1,508 +1,229 @@
SLS Detector Package 4.0.0 released on 27.09.2018
=================================================
SLS Detector Package 3.0.0 released on 2017-08-25
================================================================================
INTRODUCTION
This document describes the differences between 4.0.0 and 3.1.4 releases.
This document describes the differences between previous versions and 3.0.0 releases.
Download
--------
The Source Code (Default C++ API):
https://github.com/slsdetectorgroup/slsDetectorPackage
The Conda Lib Package:
https://github.com/slsdetectorgroup/sls_detector_lib
The Conda GUI Package:
https://github.com/slsdetectorgroup/sls_detector_gui
The Python Interface (including the package):
https://github.com/slsdetectorgroup/sls_detector
Documentation
-------------
Manual (HTML & PDF):
https://www.psi.ch/detectors/documentation
slsDetectorPackage/manual/docs/
Command Line Documentation:
Manual (both HTML and pdf versions) are provided in
manual/docs/
Documentation from Source Code can be found for the Command Line and for the API in
html:
manual/docs/html/slsDetectorClientDocs/index.html
manual/docs/pdf/slsDetectorClientDocs.pdf
C++ API Documentation:
manual/docs/html/slsDetectorUsersDocs/index.html
pdf:
manual/docs/pdf/slsDetectorClientDocs.pdf
manual/docs/pdf/slsDetectorUsersDocs.pdf
C++ API Example:
manual/manual-api/mainClient.cpp
manual/manual-api/mainReceiver.cpp
Python API Documentation:
https://slsdetectorgroup.github.io/sls_detector/
Further Documentation:
https://www.psi.ch/detectors/users-support
Example including binaries for detector and receiver user classes can be found in
manual/manual-api
Support
-------
User documentation can also be accessed directly at this location:
General Software related:
dhanya.thattil@psi.ch
anna.bergamaschi@psi.ch
Python related:
erik.frojdh@psi.ch
https://www.psi.ch/detectors/users-support
If you have any software related questions or comments, please send them to:
dhanya.thattil@psi.ch
anna.bergamaschi@psi.ch
CONTENTS
1. Firmware Requirements
2. Changes in User Interface
3. New/Modified Commands
4. Other New Features
5. Resolved Issues
6. Known Issues
7. Next Major Release Plans
- Changes in User Interface
- New Features
- Resolved Issues
- Known Issues
1. Firmware Requirements
========================
Changes in User Interface
=========================
This release has no changes in user interface from the previous 2.3 version.
However, receiver data call backs have been redefined for the
standard image header.
Gotthard
========
Minimum compatible version : 11.01.2013
Latest version : 08.02.2018 (50um and 25um Master)
09.02.2018 (25 um Slave)
Eiger
=====
Minimum compatible version : 22
Latest version : 22
Jungfrau
========
Minimum compatible version : 15.06.2018
Latest version : 15.06.2018
Detector Upgrade
================
Gotthard Cannot be upgraded remotely. Requires programming via USB blaster
Eiger Can be upgraded remotely via bit files
Jungfrau Can be upgraded remotely using sls_detector_put programfpga <pof>
Instructions available at
https://www.psi.ch/detectors/installation-instructions
under Detector Upgrade -> [Detector Type] -> Firmware.
Please refer to the link below for more details on the firmware versions.
https://www.psi.ch/detectors/firmware.
2. Changes in User Interface
============================
Client
------
1. Shared Memory:
POSIX shared memory has been implemented and they are typically created in
/dev/shm/ folder.
A multiSlsDetector object will create a shared memory segment with naming style:
slsDetectorPackage_x_[_z]
and an slsDetector object will create a shared memory segment with naming style:
slsDetectorPackage_x_sls_y[_z]
where
x is the multi detector id
y is the sls detector id
z is the environment variable SLSDETNAME, if set.
They can be deleted directly.
Environment variable SLSDETNAME included for user-friendliness
of using 2 different detectors from the same client pc. One needn't use
different multi detector id if the SLSDETNAME is different for both consoles.
Constructor will fail if shared memory size is different (different package
releases/detectors). Loading config file cleans shared memory.
2. Exceptions in constructors:
All constructors that have an error throws an exception. For this release,
this is caught within the package and interfaced as error codes or messages
to the users using command line or API.
As a result:
- slsDetectorsUsers constructor signature now includes a success flag.
- If one uses multiSlsDetector, slsDetector, ZmqSocket classes directly,
catch exceptions from constructors.
- In future releases, the exception will be thrown
outside the package for the users to handle it.
3. API Compatibility:
Client now checks API version of Detector Server - Client and Receiver - Client
when connecting for the first time to detector server or receiver server
and the online flags have not been set in shm.
Upon failure, error messages will ensue and further commands will not
be executed. Detector servers referred to are only for Eiger, Jungfrau and Gotthard.
Previously, the detector server would exit on mismatched Firmware-Detector
server mismatch. They now wait for client to ask for compatibility check,
which is done the first time client connects to the detector and the
online flag in shm has not been set.
4. Commands "type", "id" and "replace" are removed.
Reiterating, both 2.3 and 3.0 supports the following features:
Receiver
--------
1. The files will be written in this format in the binary mode:
* 1 ASCII file per measurement: header with measurement parameters
* binary files: series of images, each preceded by a
Standard Image Header (header described below)
1. Reciever Header Structure in file writing and call back:
2. Standard Image Header in file and call back
arguments defined. It is in the following format defined as
sls_detector_header defined in
slsReceiverSoftware/include/sls_receiver_defs.h
Mostly 0 if not applicatble or implemented, but updated in next release
from firmware.
* Frame Number : 8 bytes # Image Number
* Exposure Length : 4 bytes # Sub frame number in 32 bit mode (Eiger)
Real time exposre time in 100ns (Others)
* Packet Number : 4 bytes # Number of packets caught in the image
* Bunch ID : 8 bytes # Bunch Id in beamline (Jungfrau)
* Timestamp : 8 bytes # Not implemened.
Time stamp with 10MHz clock
* Module Id : 2 bytes # Not implemented. Unique module ID.
* X Coordinate : 2 bytes # Currently as Id of part of detector in 1D
(Future Releases) as X coordinate
in complete detector system
* Y Coordinate : 2 bytes # Not implemented
Y coordinate in complete detector system
* Z Coordinate : 2 bytes # Not implemented
Z coordinate in complete detector system
* Debug : 4 bytes # Not implemented
For debugging purposes
* Round Robin Number : 2 bytes # Not implemented
Round Robin Number
* Detector Type : 1 byte # Detector type defined by enum
detectorType in slsReceiverSoftware
/include/sls_receiver_defs.h
* Header Version : 1 byte # 1.0 currently
3. The call back value for Start Acquisition Call back is insignificant at the
moment and left for future use. Instead, the following rules apply:
* If file write is enabled from the client, we will write the files.
* If callbacks are registered, they will be called.
For example, the user prefers to write the data himself, one must disable
file write (so we dont write) and register the callbacks (so the user gets
the data).
4. Multiple Receivers have to be started as different processes, instead of threads
due to static variables being used. Please refer example code provided in the
slsDetectorsPackage/manual/manual-api folder (mainReceiver.cpp).
New Features
============
Package
-------
1. One can compile using cmake or the ./cmk.sh script(also uses cmake)
Run ./cmk.sh -help to get more info. This method does not touch the
source files. Please start off with ./cmk.sh -bj9, where (9 is #cores+1)
2. One can compile the normal way using Makefile (editing Makefile.include
for the hdf5 options), but this will modify other gitInfo files.
sls_receiver_header structure added to sls_receiver_defs.h for image headers
in file writing.
#define MAX_NUM_PACKETS 512
typedef std::bitset<MAX_NUM_PACKETS> sls_bitset;
typedef struct {
sls_detector_header detHeader; /**< is the detector header */
sls_bitset packetsMask; /**< is the packets caught bit mask */
} sls_receiver_header;
It includes the detector header structure + bitmask of 512 bits,
where each bit represents a packet caught. This is useful in saving time
in writing to file by not padding missing packets and still retaining useful data.
The binary and HDF5 writer version number changed from 1.0 to 2.0.
The detector header version remains as 1.0.
registerCallBackRawDataReady modified to give this structure pointer,
instead of individual structure member pointers.
2. ZmqSocket class:
If one uses ZmqSocket.h, then the json header has to be parsed outside
the class to allow the user to remove the restriction in extracting all data
from the json header.
3. Receiver Call back with modified size:
registerCallBackRawDataModifyReady call back that is similar to the receiver
registerCallBackRawDataReady has been added to allow the call back to
specify an updated size of image after call back. This is in view to process
an image in call back (including extract only a region of the image) and
provide this updated size in callback. This new resized/processed image
will be written to file or streamed out via zmq. This is useful in ROI
selection in the receiver.
This also means that the call back is now called before writing to file.
3. New/Modified Commands
========================
Client
------
1. add (modified):
appends detector to end of multi detector list.
2. replace:
sets hostname/ip address for a single detector.
3. user:
get user details from shared memory.
4. checkdetversion:
checks client version compatibility with detector server.
5. checkrecversion:
checks client version compatibility with receiver server.
General
-------
3. UDP Packets from all the detectors will contain the standard sls detector header.
Jungfrau will have an extra 6 bytes preceding the standard header in the udp packets
only. X, Y and Z Coordinates define the position of the detector in 3d. These values
are not filled in the udp header at the moment, but will be in the files and receiver
call backs with only x in 1d at the moment.
4. When acquire has started, one can use sls_detector_get busy to check the status
of the acquire. 1 is running 0 is idle. This way one can start acqusition with &,
poll the busy command ( or framescaught or frameindex to get status from receiver).
Receiver
--------
4. One can choose the file format using the command "fileformat binary/hdf5" from
the client, but one must compile with the options as defined in README.md
1. rx_zmqip:
sets/gets the zmq (TCP) ip of the receiver from where data is streamed
out from. (Eg. to the gui or intermediate process). By default, it is
the same as the zmqip.
5. Virtual HDF5 file maps all the files into a single file.
2. zmqip:
sets/gets the zmq (TCP) ip, where client listens to, to reconstuct images.
(Eg. from receiver or intermediate process). By default, it is the same
as rx_zmqip.
3. rx_jsonaddheader:
sets/gets additional json header to be streamed out with the zmq from
receiver. Default is empty. Eg. p rx_jsonaddheader \"what\":\"nothing\"
4. r_discardpolicy:
sets/gets the frame discard policy in the receiver.
nodiscard - no discard (default),
discardempty - discard only empty frames,
discardpartial - discard any partial frame(fastest)
5. r_padding:
sets/gets the frame padding in the receiver.
0 does not pad partial frames(fastest),
1 (default) pads partial frames.
One can look at bitmask in the sls_receiver_header to process the unpadded
partial frames later.
6. activate (modified):
Extra option added to pad or unpad images in receivers when deactivated.
activate i [padding option], where i is activate/deactivate and padding
option is "padding" (default) or "nopadding".
7. rx_udpsocksize:
sets/gets the UDP socket buffer size. Already attempts to set by default
to 100mb, 2gb for Jungfrau. Does not remember custom values in client
shared memory, so must be initialized each time after setting receiver
hostname in config file.
8. rx_realudpsocksize:
gets the actual UDP socket buffer size. Usually double the set udp socket
buffer size due to kernel bookkeeping.
6. Gotthard, Propix and Moench also save data in the same way as Jungfrau and Eiger,
as described above (ie. without any packet headers, only standard image headers
for each image data)
9. r_framesperfile:
sets/gets the frames per file in receiver. 0 means infinite or all frames
in a single file. Default of Eiger changed from 2k to 10k.
Eiger Specific
--------------
1. status trigger:
To trigger internally via software, one can use "status trigger".
2. subdeadtime:
sets/gets sub frame dead time in s in 32 bit mode. Subperiod is set in
the detector by subexptime + subdeadtime. This value is normally a
constant set by an expert catered to individual detector modules in the
config file. Receiver files writes master file metadata subperiod
instead of subdeadtime.
3. gappixels:
enables/disables gap pixels in system (detector & receiver). 1 sets,
0 unsets. In Receiver, 4 bit gap pixels mode is not implemented, but is
implemented in client data call back. Gap pixels are at module level
and not at multi module level.
4. measuredperiod:
gets the measured frame period (time between last frame and the previous
one) in s. Makes sense only for acquisitions of more than 1 frame.
5. measuredsubperiod:
gets the measured subframe period (time between last subframe and the
previous one) in s in 32 bit mode.
6. flags(modified):
extra flags "nooverflow" (default) and "overflow" for sub images in 32
bit mode. If set to overflow, it will set MSB of pixel data high if
there was any saturation in any of the sub images 32 bit mode.
Jungfrau Specific
-----------------
1. storagecells:
sets/gets number of additional storage cells per acquisition. For very
advanced users only. Range: 0-15. Default: 0.
The #images = #frames * #cycles * (#storagecells +1).
2. storage_start:
sets/gets the storage cell that stores the first acquisition of the series.
For very advanced users only. Range: 0-15. Default: 15(0xf).
4. Other New Features
=====================
Client
7. (Eiger) The ascii part of the file (file header with acquisition parameters) moved to
a separate file called the master file. So one master file per acquisition.
Client
------
8. (Eiger) Can now set Threshold without uploading Trimbits.
1. (Jungfrau & Gotthard) Settingsdir and caldir is removed from config file.
Default dacs are stored in detector server. Hence, these folders
are also removed from slsDetectorPackage/settingsdir. Eiger and Mythen
continue to have them.
9. (Eiger) Setting high voltage returns -999 for only slave and on the multi level gives
the value of the master only.
2. Depending on 1d position of detectors and detsizechan in config file,
row and column (previously xcoord and ycoord) are given to detector
servers (Eiger and Jungfrau) to encode into the udp header.
3. (Eiger) Setting threshold energy changes such as CAL dac is irrelevant
when interpolating between two energies and VRS dac is interpolated, not copied.
4. Users API updated with the following functions:
- setReceiverFramesDiscardPolicy
- setReceiverPartialFramesPadding
- setReceiverFramesPerFile
- sendSoftwareTrigger
- setSubFrameExposureDeadTime
- setSubFrameExposureTime
- enableGapPixels
- getMeasuredPeriod
- getMeasuredSubFramePeriod
- setOverflowMode
- setNumberOfStorageCells
- setStoragecellStart
- setThresholdEnergy (overloaded)
- resetFramesCaughtInReceiver
- setReceiverFifoDepth
- setFlowControl10G
- setTenGigabitEthernet
- getNMods
- setReceiverDataStreamingOutIP
- setClientDataStreamingInIP
SlsReceiver
-----------
10. StartAcquisition (or sls_detector_put status start) parallelized.
1. slsMultiReceiver executable added that creates multiple receiver child processes.
./slsMultiReceiver [start_tcp_port] [num_receivers] [1 for call back, 0 for none]
2. Default row and column (previously xcoord and ycoord) are hardcoded
for missing packets. (Eiger and Jungfrau)
Gui
---
10. Set the data streaming port (individually/ a single one that calculates for the other
receiver streamer threads) via the command line
1. (Jungfrau) Gain plot included. Option under 2D options in Plot tab.
2. Option to maintain aspect ratio
3. Start and Stop separated to prevent multiple click syndrome.
Detector Server
---------------
1. (Jungfrau) To use programfpga command, one must start server with -update
mode and then restart server without -update mode.
2. (Jungfrau) ASIC Timer configured at server start up and changed a few
startup values for firmware v0.7 such as adc phase, ADC_PORT_INVERT_VAL
and ADC offset half speed value.
3. (Jungfrau) Minimum exposure time of 50 us was implemented.
4. (Eiger and Jungfrau) They can be configured to have x and y coord values
of the detector in their udp header.
Users-API
-----
11. manual-api example forks new child processes for every extra receiver object.
5. Resolved Issues
==================
Client
------
memory leak for multi threading
1. Compiler flag -std=c++98 enforced. Debug flag removed.
2. If trimen gives different list from different detectors, it returns a -1.
3. Version format for each submodule of the package changed to just date YYMMDD.
Users class fixed to give correct version, instead of -1.
4. Getting settings in users class gave -1. Fixed now.
5. (Jungfrau) Programming FPGA now creates the rawbin file from pof in tmp
rather than source file location (for permission issues).
6. (Gotthard) ROI segmentation fault fixed.
Receiver
--------
1. Silent feature of receiver fixed.
2. Socket descriptor misused earlier for success flag, instead exceptions
used that are handled inside the package.
3. Global optind variable initialized to instantiate multiple receivers
in same process. Also removed static members to enable this feature.
4. Socket buffer size attempts to set for each acquiistion and provide
warning if no capabilities. Warnings can be removed using instruction with
error provided. Default Jungfrau UDP socket buffer size if 2 GB, default is
100 MB.
5. Refactored code a bit for performance and robustness, blocking push
in buffer between listener and dataprocessor
Detector Server
---------------
1. (Jungfrau) Stop server also mapped during a reset. Reading power status
instead of user input register for power.
2. (Eiger) Bug fix for saving trimbits to file (Advanced users).
3. (Gotthard 25um) config.txt is not read again after detector startup,
no matter the number of times the detector server is restarted.
6. Known Issues
Resolved Issues
===============
Receiver
--------
1. HDF5 compression and filters are not implemented yet.
Detector Server
---------------
1. (Eiger) Registers mapped differently between firmware v20 and v22.
So, please ensure correct on-board server before switching between
firmware versions. Else one cannot ping it anymore. Will need to flash firmware
again to recover.
2. (Gotthard) To switch back to all ADC from single ADC ROI, one must take
even number of images for the receiver to understand complete images.
This will be fixed in the next firmware upgrade.
7. Next Major Release Plans
===========================
Client
------
1. Memory Leak fixed when setting receiver parameters such as udp port or detector
network parameter. The signature in slsDetector.cpp and corresponding files have
changed, but does not change the slsDetectorUser API.
2. Bug Fix: Has been made more threadsafe (strtok). Removed bug of configuring MAC
correctly even in multiple thread mode.
3. Bug Fix: Client crashing when rx_hostname is IP instead of a hostname has been fixed.
1. Exceptions thrown to the user to be handled.
2. Compilation using c++11.
3. Support of Mythen II restricted to this major and its minor releases.
Server
------
4. (Eiger/Jungfrau) Bug Fix: Client crashing should not crash the server as SIGPIPE
signal is caught.
5. (Eiger) Bug Fix: Front End Temperature read out conversion fixed.
4. Restructuring and refactoring of client code.
6. (Eiger) Bug Fix: sls_detector_get trimval(get all trimbits) would return only the first pixel
value. Now it returns -1 if all the pixels are different.
Receiver
--------
6. Bug Fix: Ctrl+C kills the receiver properly calling the appropriate destructors.
7. Acquire & Unblocking acquire (receiver start, status start, receiver stop) can work
also when switching from gui to command line and vice versa.
8. Bug Fix: sls_detector_get frameindex was always returning 0.
9. Bug Fix: In the rare chance that the shut down socket is still processing in
the genericsocket class, but the object is being deleted.
10. (Eiger): When running independent(not slsReceiver) receiver, one needn't do receiver start
to prepare acquisition. Prepare Acquisition has been moved to StartAcqusition and
StartAndReadAll.
11. (Gotthard): 639 pixels in first packet and 641 pixels in second packet. The first pixel in second
packet was unaccounted for. This is fixed now.
Known Issues
============
Server
------
1. (Eiger) The hardware mac of the detector is used (not relayed back to the client).
For 1 GbE, the hardware IP of the detector is used (also not relayed back to the
client).
2. Standard header fills x-coord in 1D. y-coord and z-coord is not implemented (3D).
3. HDF5 compression and filters are not implemented yet.

17
checkout.sh Executable file
View File

@ -0,0 +1,17 @@
#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

View File

@ -1 +1 @@
rm /dev/shm/slsDetectorPackage*;
for i in seq `ipcs -m | cut -d ' ' -f1`; do ipcrm -M $i; done;

67
cmk.sh
View File

@ -3,11 +3,6 @@ BUILDDIR="build"
HDF5DIR="/opt/hdf5v1.10.0"
HDF5=0
COMPILERTHREADS=0
TEXTCLIENT=0
RECEIVER=0
GUI=0
DEBUG=0
CLEAN=0
REBUILD=0
@ -21,11 +16,7 @@ Usage: $0 [-c] [-b] [-h] [-d <HDF5 directory>] [-j]
-b: Builds/Rebuilds CMake files normal mode
-h: Builds/Rebuilds Cmake files with HDF5 package
-d: HDF5 Custom Directory
-t: Build/Rebuilds only text client
-r: Build/Rebuilds only receiver
-g: Build/Rebuilds only gui
-j: Number of threads to compile through
-e: Debug mode
For only make:
./cmk.sh
@ -48,14 +39,10 @@ For using multiple cores to compile faster:
./cmk.sh -cj9 #with clean
./cmk.sh -hj9 #with hdf5
./cmk.sh -j9 -h #with hdf
For rebuilding only certain sections
./cmk.sh -tg #only text client and gui
./cmk.sh -r #only receiver
" ; exit 1; }
while getopts ":bchd:j:trge" opt ; do
while getopts ":bchd:j:" opt ; do
case $opt in
b)
echo "Building of CMake files Required"
@ -78,25 +65,6 @@ while getopts ":bchd:j:trge" opt ; do
echo "Number of compiler threads: $OPTARG"
COMPILERTHREADS=$OPTARG
;;
t)
echo "Compiling Options: Text Client"
TEXTCLIENT=1
REBUILD=1
;;
r)
echo "Compiling Options: Receiver"
RECEIVER=1
REBUILD=1
;;
g)
echo "Compiling Options: GUI"
GUI=1
REBUILD=1
;;
e)
echo "Compiling Options: Debug"
DEBUG=1
;;
\?)
echo "Invalid option: -$OPTARG"
usage
@ -115,29 +83,6 @@ done
if [ $TEXTCLIENT -eq 0 ] && [ $RECEIVER -eq 0 ] && [ $GUI -eq 0 ]; then
CMAKE_POST+=" -DUSE_TEXTCLIENT=ON -DUSE_RECEIVER=ON -DUSE_GUI=ON "
echo "Compile Option: TextClient, Receiver and GUI"
else
if [ $TEXTCLIENT -eq 1 ]; then
CMAKE_POST+=" -DUSE_TEXTCLIENT=ON "
echo "Compile Option: TextClient"
fi
if [ $RECEIVER -eq 1 ]; then
CMAKE_POST+=" -DUSE_RECEIVER=ON "
echo "Compile Option: Receiver"
fi
if [ $GUI -eq 1 ]; then
CMAKE_POST+=" -DUSE_GUI=ON "
echo "Compile Option: GUI"
fi
fi
#build dir doesnt exist
if [ ! -d "$BUILDDIR" ] ; then
echo "No Build Directory. Building of Cmake files required"
@ -151,20 +96,14 @@ else
fi
fi
#Debug
if [ $DEBUG -eq 1 ]; then
CMAKE_POST+=" -DCMAKE_BUILD_TYPE=Debug "
echo "Debug Option enabled"
fi
#hdf5 rebuild
if [ $HDF5 -eq 1 ]; then
CMAKE_PRE+="HDF5_ROOT="$HDF5DIR
CMAKE_POST+=" -DUSE_HDF5=ON "
CMAKE_POST+="-DUSE_HDF5=ON"
#normal mode rebuild
else
CMAKE_POST+=" -DUSE_HDF5=OFF "
CMAKE_POST+="-DUSE_HDF5=OFF"
fi

View File

@ -1,61 +0,0 @@
detsizechan 2560 1
hostname bchip074+bchip075+
#replace my_installation_path
settingsdir /my_installation_path/slsDetectorPackage/settingsdir/gotthard
caldir /my_installation_path/slsDetectorPackage/settingsdir/gotthard
0:extsig:0 trigger_in_rising_edge
0:rx_tcpport 1954
0:rx_udpport 50001
0:vhighvoltage 0
1:extsig:0 trigger_in_rising_edge
1:rx_tcpport 1955
1:rx_udpport 50002
#1:detectorip 10.1.1.52
1:vhighvoltage 0
##############################################################################
#########
######### Uncomment this part to use the gotthard25umZmq process
#########
##############################################################################
# #replace my_receiver_hostname with the hostname of IP of the machine where the receiver runs
#0:rx_zmqip my_receiver_hostname
#0:rx_zmqport 30003
# #replace my_client_hostname with the hostname of IP of the machine where the client/GUI or softIOC runs
#0:zmqip my_client_hostname
#0:zmqport 40003
# #replace my_receiver_hostname with the hostname of IP of the machine where the receiver runs
#1:rx_zmqip my_receiver_hostname
#1:rx_zmqport 30004
# #replace my_client_hostname with the hostname of IP of the machine where the client/GUI or softIOC runs
#1:zmqip my_client_hostname
#1:zmqport 40004
##############################################################################
#########
######### until here
#########
##############################################################################
r_readfreq 1
rx_datastream 1
#replace my_receiver_hostname with the hostname of 1Gb IP of the machine where the receiver runs
rx_hostname my_receiver_hostname
rx_datastream 1
outdir /tmp/
angconv none
threaded 1
settings veryhighgain
exptime 0.000005
period 0.0001
vhighvoltage 90

View File

@ -1,61 +0,0 @@
detsizechan 2560 1
hostname bchip074+bchip075+
#replace my_installation_path
settingsdir /my_installation_path/slsDetectorPackage/settingsdir/gotthard
caldir /my_installation_path/slsDetectorPackage/settingsdir/gotthard
0:extsig:0 trigger_in_rising_edge
0:rx_tcpport 1954
0:rx_udpport 50001
0:vhighvoltage 0
1:extsig:0 trigger_in_rising_edge
1:rx_tcpport 1955
1:rx_udpport 50002
#1:detectorip 10.1.1.52
1:vhighvoltage 0
##############################################################################
#########
######### Uncomment this part to use the gotthard25umZmq process
#########
##############################################################################
# #replace my_receiver_hostname with the hostname of IP of the machine where the receiver runs
#0:rx_zmqip my_receiver_hostname
#0:rx_zmqport 30003
# #replace my_client_hostname with the hostname of IP of the machine where the client/GUI or softIOC runs
#0:zmqip my_client_hostname
#0:zmqport 40003
# #replace my_receiver_hostname with the hostname of IP of the machine where the receiver runs
#1:rx_zmqip my_receiver_hostname
#1:rx_zmqport 30004
# #replace my_client_hostname with the hostname of IP of the machine where the client/GUI or softIOC runs
#1:zmqip my_client_hostname
#1:zmqport 40004
##############################################################################
#########
######### until here
#########
##############################################################################
r_readfreq 1
rx_datastream 1
#replace my_receiver_hostname with the hostname of 1Gb IP of the machine where the receiver runs
rx_hostname my_receiver_hostname
rx_datastream 1
outdir /tmp/
angconv none
threaded 1
settings veryhighgain
exptime 0.000005
period 0.0001
vhighvoltage 90

View File

@ -3,9 +3,16 @@ hostname bchip007
#0:port 1952
#0:stopport 1953
#0:rx_tcpport 1956 must also have this in receiver config file
0:settingsdir /home/l_maliakal_d/mySoft/newMythenSoftware/settingsdir/gotthard
0:angdir 1.000000
0:moveflag 0.000000
0:lock 0
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
@ -16,6 +23,7 @@ hostname bchip007
master -1
sync none
outdir /bigRAID/datadir_gotthard/rec_test_data
ffdir /home/l_maliakal_d
headerbefore none
headerafter none
headerbeforepar none
@ -24,4 +32,4 @@ badchannels none
angconv none
globaloff 0.000000
binsize 0.001000
threaded 1

View File

@ -1,14 +0,0 @@
Turn on the two receivers:
slsReceiver --rx_tcpport 1954 &
slsReceiver --rx_tcpport 1955 &
Switch on the photon conversion on the receiver machine (replace my_receiver_hostname):
gotthard25umZmq my_receiver_hostname 30003 my_receiver_hostname 40003 &
Run the configuration file:
sls_detector_put config bchip2modules.config
Start your measurements using the command line, the slsDetectorGui or the EPICS driver

View File

@ -1,15 +1,18 @@
hostname bchip038+
settingsdir /home/mySoft/slsDetectorsPackage/settingsdir/jungfrau
caldir /home/mySoft/slsDetectorsPackage/settingsdir/jungfrau
lock 0
0:rx_udpport 50004
0:rx_udpip 10.1.1.100
0:detectorip 10.1.1.10
rx_hostname pcmoench01
powerchip 1
#extsig:0 trigger_in_rising_edge
#timing trigger
timing auto
outdir /external_pool/jungfrau_data/softwaretest
threaded 1

View File

@ -1,6 +1,11 @@
detsizechan 1024 1024
hostname bchip048+bchip052+
settingsdir /home/mySoft/slsDetectorsPackage/settingsdir/jungfrau
caldir /home/mySoft/slsDetectorsPackage/settingsdir/jungfrau
lock 0
0:rx_udpport 50004
0:rx_udpip 10.1.1.100
0:rx_udpmac F4:52:14:2F:32:00
@ -17,9 +22,9 @@ hostname bchip048+bchip052+
rx_hostname pcmoench01
powerchip 1
#extsig:0 trigger_in_rising_edge
#timing trigger
extsig:0 trigger_in_rising_edge
timing auto
outdir /external_pool/jungfrau_data/softwaretest
threaded 1

View File

@ -1,492 +0,0 @@
hostname bchip011+
patword 0000 0000000000000000
patword 0001 0000000000000000
patword 0002 0008000900080000
patword 0003 0008000900080000
patword 0004 0008000900080000
patword 0005 0008000900080000
patword 0006 0008000900080000
patword 0007 0008000900080000
patword 0008 0008000900080000
patword 0009 0008000900080000
patword 000a 0008000900080000
patword 000b 0008000900080000
patword 000c 0008000900080000
patword 000d 0008000900080000
patword 000e 0008000900080000
patword 000f 0008000900080000
patword 0010 0008000900080000
patword 0011 0008000900080000
patword 0012 0008000900080000
patword 0013 0008000900080000
patword 0014 0008000900080000
patword 0015 0008000900080000
patword 0016 0008400900080020
patword 0017 0008400900080020
patword 0018 0008599f0418503a
patword 0019 0008599f0418503a
patword 001a 0108599f0418503a
patword 001b 0108599f0418503a
patword 001c 0108599f0418503a
patword 001d 0108599f0418503a
patword 001e 0108599f0418503a
patword 001f 0108599f0418503a
patword 0020 0108599f0418503a
patword 0021 0108599f0418503a
patword 0022 0108599f0418503a
patword 0023 0108599f0418503a
patword 0024 0108599f0418503a
patword 0025 0108599f0418503a
patword 0026 0108599f0418503a
patword 0027 0108599f0418503a
patword 0028 0108599f0418503a
patword 0029 0108599f0418503a
patword 002a 0108599f0418503a
patword 002b 0108599f0418503a
patword 002c 0108599f0418503a
patword 002d 0108599f0418503a
patword 002e 0108599f0418503a
patword 002f 0108599f0418503a
patword 0030 0108599f0418503a
patword 0031 0108599f0418503a
patword 0032 0108599f0418503a
patword 0033 0108599f0418503a
patword 0034 0108599f0418503a
patword 0035 0108599f0418503a
patword 0036 0108599f0418503a
patword 0037 0108599f0418503a
patword 0038 0108599f0418503a
patword 0039 0108599f0418503a
patword 003a 0108599f0418503a
patword 003b 0108599f0418503a
patword 003c 0108599f0418503a
patword 003d 0108599f0418503a
patword 003e 0108599f0418503a
patword 003f 0108599f0418503a
patword 0040 0108599f0418503a
patword 0041 0108599f0418503a
patword 0042 0108599f0418503a
patword 0043 0108599f0418503a
patword 0044 0108599f0418503a
patword 0045 0108599f0418503a
patword 0046 0108599f0418503a
patword 0047 0108599f0418503a
patword 0048 0108599f0418503a
patword 0049 0108599f0418503a
patword 004a 0108599f0418503a
patword 004b 0108599f0418503a
patword 004c 0108599f0418503a
patword 004d 0108599f0418503a
patword 004e 0108599f0418503a
patword 004f 0108599f0418503a
patword 0050 0108599f0418503a
patword 0051 0108599f0418503a
patword 0052 0108599f0418503a
patword 0053 0108599f0418503a
patword 0054 0108599f0418503a
patword 0055 0108599f0418503a
patword 0056 0108599f0418503a
patword 0057 0108599f0418503a
patword 0058 0108599f0418503a
patword 0059 0108599f0418503a
patword 005a 0108599f0418503a
patword 005b 0108599f0418503a
patword 005c 0108599f0418503a
patword 005d 0108599f0418503a
patword 005e 0108599f0418503a
patword 005f 0108599f0418503a
patword 0060 0108599f0418503a
patword 0061 0108599f0418503a
patword 0062 0108599f0418503a
patword 0063 0108599f0418503a
patword 0064 0108599f0418503a
patword 0065 0108599f0418503a
patword 0066 0108599f0418503a
patword 0067 0108599f0418503a
patword 0068 0108599f0418503a
patword 0069 0108599f0418503a
patword 006a 0108599f0418503a
patword 006b 0108599f0418503a
patword 006c 0108599f0418503a
patword 006d 0108599f0418503a
patword 006e 0108599f0418503a
patword 006f 0108599f0418503a
patword 0070 0108599f0418503a
patword 0071 0108599f0418503a
patword 0072 0108599f0418503a
patword 0073 0108599f0418503a
patword 0074 0108599f0418503a
patword 0075 0108599f0418503a
patword 0076 0108599f0418503a
patword 0077 0108599f0418503a
patword 0078 0108599f0418503a
patword 0079 0108599f0418503a
patword 007a 0108599f0418503a
patword 007b 0108599f0418503a
patword 007c 0108599f0418503a
patword 007d 0108599f0418503a
patword 007e 010859960418503a
patword 007f 010859960418503a
patword 0080 010859960418503a
patword 0081 010859960418503a
patword 0082 010859960418503a
patword 0083 010859960418503a
patword 0084 010859960418503a
patword 0085 010859960418503a
patword 0086 010859960418503a
patword 0087 010859960418503a
patword 0088 010859960418503a
patword 0089 010859960418503a
patword 008a 010859960418503a
patword 008b 010859960418503a
patword 008c 010859960418503a
patword 008d 010859960418503a
patword 008e 010859960418503a
patword 008f 010859960418503a
patword 0090 010859960418503a
patword 0091 010859960418503a
patword 0092 010819960418501a
patword 0093 010819960418501a
patword 0094 010819960418501a
patword 0095 010819960418501a
patword 0096 030819960418501a
patword 0097 030819960418501a
patword 0098 030819960418501a
patword 0099 030819960418501a
patword 009a 030819960418501a
patword 009b 030819960418501a
patword 009c 030819960418501a
patword 009d 030819960418501a
patword 009e 030819960418501a
patword 009f 030819960418501a
patword 00a0 030819960418501a
patword 00a1 030819960418501a
patword 00a2 030819960418501a
patword 00a3 030819960418501a
patword 00a4 030819960418501a
patword 00a5 030819960418501a
patword 00a6 030819960418501a
patword 00a7 030819960418501a
patword 00a8 030819960418501a
patword 00a9 030819960418501a
patword 00aa 030819960418501a
patword 00ab 030819960418501a
patword 00ac 030819960008501a
patword 00ad 030819960008501a
patword 00ae 030819960008501a
patword 00af 030819960008501a
patword 00b0 030819960008501a
patword 00b1 030819960008501a
patword 00b2 030819960008501a
patword 00b3 030819960008501a
patword 00b4 030819960008501a
patword 00b5 030819960008501a
patword 00b6 030819960008501a
patword 00b7 030819960008501a
patword 00b8 030819960008501a
patword 00b9 030819960008501a
patword 00ba 030819960008501a
patword 00bb 030819960008501a
patword 00bc 030819960008501a
patword 00bd 030819960008501a
patword 00be 030819960008501a
patword 00bf 030819960008501a
patword 00c0 0308199f0008501a
patword 00c1 0308199f0008501a
patword 00c2 0308199f0008501a
patword 00c3 0308199f0008501a
patword 00c4 0308199f0008501a
patword 00c5 0308199f0008501a
patword 00c6 0308199f0008501a
patword 00c7 0308199f0008501a
patword 00c8 0308199f0008501a
patword 00c9 0308199f0008501a
patword 00ca 0308199f0008501a
patword 00cb 0308199f0008501a
patword 00cc 0308199f0008501a
patword 00cd 0308199f0008501a
patword 00ce 0308199f0008501a
patword 00cf 0308199f0008501a
patword 00d0 0308199f0008501a
patword 00d1 0308199f0008501a
patword 00d2 0308199f0008501a
patword 00d3 0308199f0008501a
patword 00d4 0308599f0008503a
patword 00d5 0308599f0008503a
patword 00d6 030c599f000850ba
patword 00d7 030c599f000850ba
patword 00d8 030c599f000850ba
patword 00d9 030c599f000850ba
patword 00da 030c599f000850ba
patword 00db 030c599f000850ba
patword 00dc 030c599f000850ba
patword 00dd 030c599f000850ba
patword 00de 030c599f000850ba
patword 00df 030c599f000850ba
patword 00e0 030c599f000850ba
patword 00e1 030c599f000850ba
patword 00e2 030c599f000850ba
patword 00e3 030c599f000850ba
patword 00e4 030c599f000850ba
patword 00e5 030c599f000850ba
patword 00e6 030c599f000850ba
patword 00e7 030c599f000850ba
patword 00e8 030c599f000850ba
patword 00e9 030c599f000850ba
patword 00ea 030c799f010858ba
patword 00eb 030c799f010858ba
patword 00ec 030c599f000850ba
patword 00ed 030c599f000850ba
patword 00ee 030c599f000850ba
patword 00ef 030c599f000850ba
patword 00f0 030c599f000850ba
patword 00f1 030c599f000850ba
patword 00f2 030c599f000850ba
patword 00f3 030c599f000850ba
patword 00f4 030c599f000850ba
patword 00f5 030c599f000850ba
patword 00f6 030c599f000850ba
patword 00f7 030c599f000850ba
patword 00f8 030c599f000850ba
patword 00f9 030c599f000850ba
patword 00fa 030c599f000850ba
patword 00fb 030c599f000850ba
patword 00fc 030c599f000850ba
patword 00fd 030c599f000850ba
patword 00fe 030c599f000850ba
patword 00ff 030c599f000850ba
patword 0100 030c599f000850ba
patword 0101 030c599f000850ba
patword 0102 030c599f400850ba
patword 0103 030c599f400850ba
patword 0104 030c599f600850ba
patword 0105 030c599f400850ba
patword 0106 030c599f400850ba
patword 0107 030c599f400850ba
patword 0108 870c599f682e50ba
patword 0109 870c599f482850ba
patword 010a 870c599f000e50ba
patword 010b 870c599f000850ba
patword 010c 870c599f000e50ba
patword 010d 870c599f000850ba
patword 010e 870c599f000e50ba
patword 010f 870c599f000850ba
patword 0110 870c599f000e50ba
patword 0111 870c599f000850ba
patword 0112 870c599f000e50ba
patword 0113 870c599f000850ba
patword 0114 870c599f000e50ba
patword 0115 870c599f000850ba
patword 0116 870c599f000e50ba
patword 0117 870c599f000850ba
patword 0118 870c599f000e50ba
patword 0119 870c599f000850ba
patword 011a 870c599f000e50ba
patword 011b 870c599f000850ba
patword 011c 870c599f000e50ba
patword 011d 870c599f000850ba
patword 011e 870c599f000e50ba
patword 011f 870c599f000850ba
patword 0120 870c599f000e50ba
patword 0121 870c599f000850ba
patword 0122 870c599f200e50ba
patword 0123 870c599f000850ba
patword 0124 870c599f000e50ba
patword 0125 870c599f000850ba
patword 0126 870c599f000e50ba
patword 0127 870c599f000850ba
patword 0128 870c599f000e50ba
patword 0129 870c599f000850ba
patword 012a 870c599f000e50ba
patword 012b 870c599f000850ba
patword 012c 870c599f000e50ba
patword 012d 870c599f000850ba
patword 012e 870c599f000e50ba
patword 012f 870c599f000850ba
patword 0130 870c599f000e50ba
patword 0131 870c599f000850ba
patword 0132 870c599f000e50ba
patword 0133 870c599f000850ba
patword 0134 870c599f000e50ba
patword 0135 870c599f000850ba
patword 0136 870c599f000e50ba
patword 0137 870c599f000850ba
patword 0138 870c599f000e50ba
patword 0139 870c599f000850ba
patword 013a 870c599f282e50ba
patword 013b 870c599f082850ba
patword 013c 870c599f000e50ba
patword 013d 870c599f000850ba
patword 013e 870c599f000e50ba
patword 013f 870c599f000850ba
patword 0140 870c599f000e50ba
patword 0141 870c599f000850ba
patword 0142 870c599f000e50ba
patword 0143 870c599f000850ba
patword 0144 870c599f000e50ba
patword 0145 870c599f000850ba
patword 0146 870c599f000e50ba
patword 0147 870c599f000850ba
patword 0148 870c599f000e50ba
patword 0149 870c599f000850ba
patword 014a 870c599f000e50ba
patword 014b 870c599f000850ba
patword 014c 870c599f000e50ba
patword 014d 870c599f000850ba
patword 014e 870c599f000e50ba
patword 014f 870c599f000850ba
patword 0150 870c599f000e50ba
patword 0151 870c599f000850ba
patword 0152 870c599f000e50ba
patword 0153 870c599f000850ba
patword 0154 870c599f200e50ba
patword 0155 870c599f000850ba
patword 0156 870c599f000e50ba
patword 0157 870c599f000850ba
patword 0158 870c599f000e50ba
patword 0159 870c599f000850ba
patword 015a 870c599f000e50ba
patword 015b 870c599f000850ba
patword 015c 870c599f000e50ba
patword 015d 870c599f000850ba
patword 015e 870c599f000e50ba
patword 015f 870c599f000850ba
patword 0160 870c599f000e50ba
patword 0161 870c599f000850ba
patword 0162 870c599f000e50ba
patword 0163 870c599f000850ba
patword 0164 870c599f000e50ba
patword 0165 870c599f000850ba
patword 0166 870c599f000e50ba
patword 0167 870c599f000850ba
patword 0168 870c599f000e50ba
patword 0169 870c599f000850ba
patword 016a 870c599f000e50ba
patword 016b 870c599f000850ba
patword 016c 070c599f000850ba
patword 016d 070c599f000850ba
patword 016e 000c599f000850ba
patword 016f 000c599f000850ba
patword 0170 0008599f200e503a
patword 0171 0008599f0008503a
patword 0172 0008599f200e503a
patword 0173 0008599f0008503a
patword 0174 0008599f0008503a
patword 0175 0008599f0008503a
patword 0176 0008599f0008503a
patword 0177 0008599f0008503a
patword 0178 0008599f0008503a
patword 0179 0008599f0008503a
patword 017a 0008599f0008503a
patword 017b 0008599f0008503a
patword 017c 0008599f0008503a
patword 017d 0008599f0008503a
patword 017e 0008599f0008503a
patword 017f 0008599f0008503a
patword 0180 0008599f0008503a
patword 0181 0008599f0008503a
patword 0182 0008599f0008503a
patword 0183 0008599f0008503a
patword 0184 0008599f0008503a
patword 0185 0008599f0008503a
patword 0186 0008599f0008503a
patword 0187 0008599f0008503a
patword 0188 0008599f0008503a
patword 0189 0008599f0008503a
patword 018a 0008599f0008503a
patword 018b 0008599f0008503a
patword 018c 0008599f0008503a
patword 018d 0008599f0008503a
patioctrl 8f0effff6dbffdbf
patclkctrl 0000000000000000
patlimits 0000 018c
patloop0 013a 016b
patnloop0 199
patloop1 0400 0400
patnloop1 0
patloop2 0400 0400
patnloop2 0
patwait0 00aa
patwaittime0 40000
patwait1 0400
patwaittime1 0
patwait2 0400
patwaittime2 0
####mcp2011
#0:rx_tcpport 1955
#0:rx_udpip 10.1.1.102
#0:detectorip 10.1.1.19
#0:rx_udpport 32411
####gui listening to
#zmqip 129.129.202.106
#zmqport 50001
####data streaming out of
#rx_zmqip 10.1.2.103
#rx_zmqport 50003
#0:rx_hostname mpc2011
####pcmoench01
0:rx_tcpport 1977
0:rx_udpip 10.1.1.100
0:detectorip 10.1.1.19
0:rx_udpport 32410
####gui listening to (on receiver pc)
zmqip 129.129.202.92
zmqport 50001
####data streaming out of
rx_zmqip 10.1.1.100
rx_zmqport 50003
0:rx_hostname pcmoench01
#turn on datastream from commandline
rx_datastream 1
r_readfreq 1
#0:configuremac -1
rx_datastream 1
r_readfreq 1
dac:6 800
dac:0 1300
dac:4 1428
dac:1 1000
dac:7 900
dac:3 680
dac:2 1400
dac:5 1200
adcinvert 4a342593
samples 5000
adcphase 90
adcpipeline 15
adcreg 14 40
powerchip 1
vhighvoltage 90
period 0.005
frames 100
period 0.1
outdir /scratch/
enablefwrite 0

View File

@ -8,11 +8,16 @@ hostname bchip007+bchip009+
#0:port 1952
#0:stopport 1953
#0:rx_tcpport 1956
0:settingsdir /home/l_msdetect/dhanya/slsDetectorsPackage/settingsdir/gotthard
0:angdir 1.000000
0:moveflag 0.000000
0:lock 0
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
@ -26,11 +31,16 @@ hostname bchip007+bchip009+
#1:port 1952
#1:stopport 1953
1:rx_tcpport 1957
1:settingsdir /home/l_msdetect/dhanya/slsDetectorsPackage/settingsdir/gotthard
1:angdir 1.000000
1:moveflag 0.000000
1:lock 0
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
@ -52,4 +62,4 @@ badchannels none
angconv none
globaloff 0.000000
binsize 0.001000
threaded 1

View File

@ -21,5 +21,5 @@ echo "Updating $fout"
#awk 'NR==FNR {if ($3=="Date:") {l[FNR]=$4; gsub("-","",l[FNR]);} else { if (match($0,"Rev")) {l[FNR]=$(NF);} else {l[FNR]="\""$(NF)"\"";};};next} {$0=$1" "$2" "l[FNR]}1' $fin $ftmp > $fout
awk 'BEGIN {l[0]=0; "date +%Y%m%d" | getline l[1]; l[2]="\"/\""; l[3]="\"nobody\""; l[3]="\"nobody\""; l[4]="\"0000-0000-0000\"";} \
NR==FNR {if (match($0,"Rev")) {l[0]="0x"$(NF);} else if (match($0,"Date")) {l[1]="0x"$4; gsub("-","",l[1]);} else if (match($0,"URL")) {l[2]="\""$(NF)"\"";} else if (match($0,"Author")) {l[3]="\""$(NF)"\"";} else if (match($0,"UUID")) {l[4]="\""$(NF)"\"";} else if (match($0,"Branch")) {l[5]="\""$(NF)"\"";};next;}
{if (match($2,"REV")) {$0=$1" "$2" "l[0];} else if (match($2,"DATE")) {$0=$1" "$2" "l[1];} else if (match($2,"URL")) {$0=$1" "$2" "l[2];} else if (match($2,"AUTH")) {$0=$1" "$2" "l[3];} else if (match($2,"UUID")) {$0=$1" "$2" "l[4];} else if (match($2,"BRANCH")) {$0=$1" "$2" "l[5];}}1' $fin $ftmp > $fout
NR==FNR {if (match($0,"Rev")) {l[0]="0x"$(NF);} else if (match($0,"Date")) {l[1]="0x"$4; gsub("-","",l[1]);} else if (match($0,"URL")) {l[2]="\""$(NF)"\"";} else if (match($0,"Author")) {l[3]="\""$(NF)"\"";} else if (match($0,"UUID")) {l[4]="\""$(NF)"\"";};next;}
{if (match($2,"REV")) {$0=$1" "$2" "l[0];} else if (match($2,"DATE")) {$0=$1" "$2" "l[1];} else if (match($2,"URL")) {$0=$1" "$2" "l[2];} else if (match($2,"AUTH")) {$0=$1" "$2" "l[3];} else if (match($2,"UUID")) {$0=$1" "$2" "l[4];}}1' $fin $ftmp > $fout

8
gitall.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/bash
git $@
for i in sls*/; do
cd $i
echo $i
git $@
cd ..
done

View File

@ -5,7 +5,7 @@ DESTDIR?=docs
MAINDIRS= manual-main manual-api manual-calwiz manual-client manual-gui
MAINDIRS= manual-main
#manual-calwiz manual-calwiz manual-gui manual-client manual-api
CLEANDIRS=$(MAINDIRS:manual-%=clean-%)
PDFDIRS=$(MAINDIRS:manual-%=pdf-%)

View File

@ -0,0 +1 @@
No implementation found for style `graphicx'

View File

@ -0,0 +1,30 @@
/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
.MATH { font-family: "Century Schoolbook", serif; }
.MATH I { font-family: "Century Schoolbook", serif; font-style: italic }
.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold }
/* implement both fixed-size and relative sizes */
SMALL.XTINY { font-size : xx-small }
SMALL.TINY { font-size : x-small }
SMALL.SCRIPTSIZE { font-size : smaller }
SMALL.FOOTNOTESIZE { font-size : small }
SMALL.SMALL { }
BIG.LARGE { }
BIG.XLARGE { font-size : large }
BIG.XXLARGE { font-size : x-large }
BIG.HUGE { font-size : larger }
BIG.XHUGE { font-size : xx-large }
/* heading styles */
H1 { }
H2 { }
H3 { }
H4 { }
H5 { }
/* mathematics styles */
DIV.displaymath { } /* math displays */
TD.eqno { } /* equation-number cells */
/* document-specific styles come next */

View File

@ -0,0 +1,84 @@
<!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>Angular calibration wizard manual</TITLE>
<META NAME="description" CONTENT="Angular calibration wizard manual">
<META NAME="keywords" CONTENT="angularCalibrationHowTo">
<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="angularCalibrationHowTo.css">
<LINK REL="next" HREF="node1.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html6"
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">
<BR>
<B> Next:</B> <A NAME="tex2html7"
HREF="node1.html">Introduction</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<P>
<H1 ALIGN="CENTER">Angular calibration wizard manual</H1>
<DIV>
<P ALIGN="CENTER"><STRONG>Anna Bergamaschi</STRONG></P>
<P ALIGN="CENTER"><STRONG>August 24, 2017</STRONG></P>
</DIV>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>
<UL>
<LI><A NAME="tex2html8"
HREF="node1.html">Introduction</A>
<LI><A NAME="tex2html9"
HREF="node2.html">Data acquisition</A>
<UL>
<LI><A NAME="tex2html10"
HREF="node2.html#SECTION00021000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html11"
HREF="node3.html">Data analysis</A>
<UL>
<LI><A NAME="tex2html12"
HREF="node3.html#SECTION00031000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html13"
HREF="node4.html">Setup calibration files</A>
<LI><A NAME="tex2html14"
HREF="node5.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

@ -0,0 +1,116 @@
# LaTeX2HTML 2008 (1.71)
# Associate images original text with physical files.
$key = q/Theta_e;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img4.png"
ALT="$\Theta_e$">|;
$key = q/C_{center}^{i};MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="53" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img7.png"
ALT="$C_{center}^{i}$">|;
$key = q/i;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="10" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img3.png"
ALT="$i$">|;
$key = q/mu;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="14" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img11.png"
ALT="$\mu$">|;
$key = q/Theta_o^i;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="24" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img6.png"
ALT="$\Theta_o^i$">|;
$key = q/includegraphics[width=textwidth]{enable_angcal.eps};AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="555" HEIGHT="603" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img14.png"
ALT="\includegraphics[width=\textwidth]{enable_angcal.eps}">|;
$key = q/p=50~mum;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="79" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img9.png"
ALT="$p=50&nbsp;\mu m$">|;
$key = q/_6;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="12" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img10.png"
ALT="$_6$">|;
$key = q/C_{peak};MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="43" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img2.png"
ALT="$C_{peak}$">|;
$key = q/includegraphics[width=textwidth]{peakFit.eps};AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="555" HEIGHT="707" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img17.png"
ALT="\includegraphics[width=\textwidth]{peakFit.eps}">|;
$key = q/pslashR^i;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="38" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img13.png"
ALT="$p/R^i$">|;
$key = q/includegraphics[width=textwidth]{setupAngcal.eps};AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="555" HEIGHT="707" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img16.png"
ALT="\includegraphics[width=\textwidth]{setupAngcal.eps}">|;
$key = q/pm;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="17" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img12.png"
ALT="$\pm$">|;
$key = q/includegraphics[width=textwidth]{angleFit.eps};AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="555" HEIGHT="707" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img18.png"
ALT="\includegraphics[width=\textwidth]{angleFit.eps}">|;
$key = q/{displaymath}Theta_e=Theta_o^i-arctanBig(frac{pcdot(C_{peak}-C_{center}^i)}{R^i}Big),{displaymath};MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="291" HEIGHT="41" BORDER="0"
SRC="|."$dir".q|img5.png"
ALT="\begin{displaymath}
\Theta_e=\Theta_o^i-\arctan\Big(\frac{p \cdot (C_{peak}-C_{center}^i)}{R^i}\Big),
\end{displaymath}">|;
$key = q/theta;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="12" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img1.png"
ALT="$\theta$">|;
$key = q/R^i;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="22" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img8.png"
ALT="$R^i$">|;
$key = q/includegraphics[width=textwidth]{position_scan.eps};AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="555" HEIGHT="603" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img15.png"
ALT="\includegraphics[width=\textwidth]{position_scan.eps}">|;
1;

View File

@ -0,0 +1,255 @@
\batchmode
\documentclass{article}
\RequirePackage{ifthen}
\usepackage{amssymb}
\usepackage[dvips]{graphicx}
\usepackage{verbatim}
\usepackage[dvips]{color}
\pagecolor[gray]{.7}
\usepackage[]{inputenc}
\makeatletter
\makeatletter
\count@=\the\catcode`\_ \catcode`\_=8
\newenvironment{tex2html_wrap}{}{}%
\catcode`\<=12\catcode`\_=\count@
\newcommand{\providedcommand}[1]{\expandafter\providecommand\csname #1\endcsname}%
\newcommand{\renewedcommand}[1]{\expandafter\providecommand\csname #1\endcsname{}%
\expandafter\renewcommand\csname #1\endcsname}%
\newcommand{\newedenvironment}[1]{\newenvironment{#1}{}{}\renewenvironment{#1}}%
\let\newedcommand\renewedcommand
\let\renewedenvironment\newedenvironment
\makeatother
\let\mathon=$
\let\mathoff=$
\ifx\AtBeginDocument\undefined \newcommand{\AtBeginDocument}[1]{}\fi
\newbox\sizebox
\setlength{\hoffset}{0pt}\setlength{\voffset}{0pt}
\addtolength{\textheight}{\footskip}\setlength{\footskip}{0pt}
\addtolength{\textheight}{\topmargin}\setlength{\topmargin}{0pt}
\addtolength{\textheight}{\headheight}\setlength{\headheight}{0pt}
\addtolength{\textheight}{\headsep}\setlength{\headsep}{0pt}
\setlength{\textwidth}{349pt}
\newwrite\lthtmlwrite
\makeatletter
\let\realnormalsize=\normalsize
\global\topskip=2sp
\def\preveqno{}\let\real@float=\@float \let\realend@float=\end@float
\def\@float{\let\@savefreelist\@freelist\real@float}
\def\liih@math{\ifmmode$\else\bad@math\fi}
\def\end@float{\realend@float\global\let\@freelist\@savefreelist}
\let\real@dbflt=\@dbflt \let\end@dblfloat=\end@float
\let\@largefloatcheck=\relax
\let\if@boxedmulticols=\iftrue
\def\@dbflt{\let\@savefreelist\@freelist\real@dbflt}
\def\adjustnormalsize{\def\normalsize{\mathsurround=0pt \realnormalsize
\parindent=0pt\abovedisplayskip=0pt\belowdisplayskip=0pt}%
\def\phantompar{\csname par\endcsname}\normalsize}%
\def\lthtmltypeout#1{{\let\protect\string \immediate\write\lthtmlwrite{#1}}}%
\newcommand\lthtmlhboxmathA{\adjustnormalsize\setbox\sizebox=\hbox\bgroup\kern.05em }%
\newcommand\lthtmlhboxmathB{\adjustnormalsize\setbox\sizebox=\hbox to\hsize\bgroup\hfill }%
\newcommand\lthtmlvboxmathA{\adjustnormalsize\setbox\sizebox=\vbox\bgroup %
\let\ifinner=\iffalse \let\)\liih@math }%
\newcommand\lthtmlboxmathZ{\@next\next\@currlist{}{\def\next{\voidb@x}}%
\expandafter\box\next\egroup}%
\newcommand\lthtmlmathtype[1]{\gdef\lthtmlmathenv{#1}}%
\newcommand\lthtmllogmath{\dimen0\ht\sizebox \advance\dimen0\dp\sizebox
\ifdim\dimen0>.95\vsize
\lthtmltypeout{%
*** image for \lthtmlmathenv\space is too tall at \the\dimen0, reducing to .95 vsize ***}%
\ht\sizebox.95\vsize \dp\sizebox\z@ \fi
\lthtmltypeout{l2hSize %
:\lthtmlmathenv:\the\ht\sizebox::\the\dp\sizebox::\the\wd\sizebox.\preveqno}}%
\newcommand\lthtmlfigureA[1]{\let\@savefreelist\@freelist
\lthtmlmathtype{#1}\lthtmlvboxmathA}%
\newcommand\lthtmlpictureA{\bgroup\catcode`\_=8 \lthtmlpictureB}%
\newcommand\lthtmlpictureB[1]{\lthtmlmathtype{#1}\egroup
\let\@savefreelist\@freelist \lthtmlhboxmathB}%
\newcommand\lthtmlpictureZ[1]{\hfill\lthtmlfigureZ}%
\newcommand\lthtmlfigureZ{\lthtmlboxmathZ\lthtmllogmath\copy\sizebox
\global\let\@freelist\@savefreelist}%
\newcommand\lthtmldisplayA{\bgroup\catcode`\_=8 \lthtmldisplayAi}%
\newcommand\lthtmldisplayAi[1]{\lthtmlmathtype{#1}\egroup\lthtmlvboxmathA}%
\newcommand\lthtmldisplayB[1]{\edef\preveqno{(\theequation)}%
\lthtmldisplayA{#1}\let\@eqnnum\relax}%
\newcommand\lthtmldisplayZ{\lthtmlboxmathZ\lthtmllogmath\lthtmlsetmath}%
\newcommand\lthtmlinlinemathA{\bgroup\catcode`\_=8 \lthtmlinlinemathB}
\newcommand\lthtmlinlinemathB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA
\vrule height1.5ex width0pt }%
\newcommand\lthtmlinlineA{\bgroup\catcode`\_=8 \lthtmlinlineB}%
\newcommand\lthtmlinlineB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA}%
\newcommand\lthtmlinlineZ{\egroup\expandafter\ifdim\dp\sizebox>0pt %
\expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetinline}
\newcommand\lthtmlinlinemathZ{\egroup\expandafter\ifdim\dp\sizebox>0pt %
\expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetmath}
\newcommand\lthtmlindisplaymathZ{\egroup %
\centerinlinemath\lthtmllogmath\lthtmlsetmath}
\def\lthtmlsetinline{\hbox{\vrule width.1em \vtop{\vbox{%
\kern.1em\copy\sizebox}\ifdim\dp\sizebox>0pt\kern.1em\else\kern.3pt\fi
\ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}}
\def\lthtmlsetmath{\hbox{\vrule width.1em\kern-.05em\vtop{\vbox{%
\kern.1em\kern0.8 pt\hbox{\hglue.17em\copy\sizebox\hglue0.8 pt}}\kern.3pt%
\ifdim\dp\sizebox>0pt\kern.1em\fi \kern0.8 pt%
\ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}}
\def\centerinlinemath{%
\dimen1=\ifdim\ht\sizebox<\dp\sizebox \dp\sizebox\else\ht\sizebox\fi
\advance\dimen1by.5pt \vrule width0pt height\dimen1 depth\dimen1
\dp\sizebox=\dimen1\ht\sizebox=\dimen1\relax}
\def\lthtmlcheckvsize{\ifdim\ht\sizebox<\vsize
\ifdim\wd\sizebox<\hsize\expandafter\hfill\fi \expandafter\vfill
\else\expandafter\vss\fi}%
\providecommand{\selectlanguage}[1]{}%
\makeatletter \tracingstats = 1
\begin{document}
\pagestyle{empty}\thispagestyle{empty}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength hsize=\the\hsize}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength vsize=\the\vsize}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength hoffset=\the\hoffset}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength voffset=\the\voffset}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength topmargin=\the\topmargin}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength topskip=\the\topskip}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength headheight=\the\headheight}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength headsep=\the\headsep}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength parskip=\the\parskip}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength oddsidemargin=\the\oddsidemargin}\lthtmltypeout{}%
\makeatletter
\if@twoside\lthtmltypeout{latex2htmlLength evensidemargin=\the\evensidemargin}%
\else\lthtmltypeout{latex2htmlLength evensidemargin=\the\oddsidemargin}\fi%
\lthtmltypeout{}%
\makeatother
\setcounter{page}{1}
\onecolumn
% !!! IMAGES START HERE !!!
\stepcounter{section}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline84}%
$\theta$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline86}%
$C_{peak}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline88}%
$i$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline90}%
$\Theta_e$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmldisplayA{displaymath18}%
\begin{displaymath}
\Theta_e=\Theta_o^i-\arctan\Big(\frac{p \cdot (C_{peak}-C_{center}^i)}{R^i}\Big),
\end{displaymath}%
\lthtmldisplayZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline94}%
$\Theta_o^i$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline96}%
$C_{center}^{i}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline98}%
$R^i$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline102}%
$p=50~\mu m$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline106}%
$_6$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline108}%
$\mu$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline110}%
$\pm$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
\stepcounter{section}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline120}%
$p/R^i$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
\stepcounter{subsection}
{\newpage\clearpage
\lthtmlpictureA{tex2html_wrap330}%
\includegraphics[width=\textwidth]{enable_angcal.eps}%
\lthtmlpictureZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlpictureA{tex2html_wrap334}%
\includegraphics[width=\textwidth]{position_scan.eps}%
\lthtmlpictureZ
\lthtmlcheckvsize\clearpage}
\stepcounter{section}
\stepcounter{subsection}
{\newpage\clearpage
\lthtmlpictureA{tex2html_wrap340}%
\includegraphics[width=\textwidth]{setupAngcal.eps}%
\lthtmlpictureZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlpictureA{tex2html_wrap344}%
\includegraphics[width=\textwidth]{peakFit.eps}%
\lthtmlpictureZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlpictureA{tex2html_wrap348}%
\includegraphics[width=\textwidth]{angleFit.eps}%
\lthtmlpictureZ
\lthtmlcheckvsize\clearpage}
\stepcounter{section}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

View File

@ -0,0 +1,84 @@
<!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>Angular calibration wizard manual</TITLE>
<META NAME="description" CONTENT="Angular calibration wizard manual">
<META NAME="keywords" CONTENT="angularCalibrationHowTo">
<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="angularCalibrationHowTo.css">
<LINK REL="next" HREF="node1.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html6"
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">
<BR>
<B> Next:</B> <A NAME="tex2html7"
HREF="node1.html">Introduction</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<P>
<H1 ALIGN="CENTER">Angular calibration wizard manual</H1>
<DIV>
<P ALIGN="CENTER"><STRONG>Anna Bergamaschi</STRONG></P>
<P ALIGN="CENTER"><STRONG>August 24, 2017</STRONG></P>
</DIV>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>
<UL>
<LI><A NAME="tex2html8"
HREF="node1.html">Introduction</A>
<LI><A NAME="tex2html9"
HREF="node2.html">Data acquisition</A>
<UL>
<LI><A NAME="tex2html10"
HREF="node2.html#SECTION00021000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html11"
HREF="node3.html">Data analysis</A>
<UL>
<LI><A NAME="tex2html12"
HREF="node3.html#SECTION00031000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html13"
HREF="node4.html">Setup calibration files</A>
<LI><A NAME="tex2html14"
HREF="node5.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

@ -0,0 +1,30 @@
# LaTeX2HTML 2008 (1.71)
# Associate internals original text with physical files.
$key = q/fig:guiangcallog/;
$ref_files{$key} = "$dir".q|node2.html|;
$noresave{$key} = "$nosave";
$key = q/fig:guiposscan/;
$ref_files{$key} = "$dir".q|node2.html|;
$noresave{$key} = "$nosave";
$key = q/fig:peakfit/;
$ref_files{$key} = "$dir".q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/eq:angcal/;
$ref_files{$key} = "$dir".q|node1.html|;
$noresave{$key} = "$nosave";
$key = q/fig:setangcal/;
$ref_files{$key} = "$dir".q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/fig:anglefit/;
$ref_files{$key} = "$dir".q|node3.html|;
$noresave{$key} = "$nosave";
1;

View File

@ -0,0 +1,61 @@
# LaTeX2HTML 2008 (1.71)
# Associate labels original text with physical files.
$key = q/fig:guiangcallog/;
$external_labels{$key} = "$URL/" . q|node2.html|;
$noresave{$key} = "$nosave";
$key = q/fig:guiposscan/;
$external_labels{$key} = "$URL/" . q|node2.html|;
$noresave{$key} = "$nosave";
$key = q/fig:peakfit/;
$external_labels{$key} = "$URL/" . q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/eq:angcal/;
$external_labels{$key} = "$URL/" . q|node1.html|;
$noresave{$key} = "$nosave";
$key = q/fig:setangcal/;
$external_labels{$key} = "$URL/" . q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/fig:anglefit/;
$external_labels{$key} = "$URL/" . q|node3.html|;
$noresave{$key} = "$nosave";
1;
# LaTeX2HTML 2008 (1.71)
# labels from external_latex_labels array.
$key = q/fig:guiangcallog/;
$external_latex_labels{$key} = q|1|;
$noresave{$key} = "$nosave";
$key = q/fig:guiposscan/;
$external_latex_labels{$key} = q|2|;
$noresave{$key} = "$nosave";
$key = q/fig:peakfit/;
$external_latex_labels{$key} = q|4|;
$noresave{$key} = "$nosave";
$key = q/eq:angcal/;
$external_latex_labels{$key} = q|1|;
$noresave{$key} = "$nosave";
$key = q/fig:setangcal/;
$external_latex_labels{$key} = q|3|;
$noresave{$key} = "$nosave";
$key = q/fig:anglefit/;
$external_latex_labels{$key} = q|5|;
$noresave{$key} = "$nosave";
1;

View File

@ -0,0 +1,186 @@
<!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>Introduction</TITLE>
<META NAME="description" CONTENT="Introduction">
<META NAME="keywords" CONTENT="angularCalibrationHowTo">
<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="angularCalibrationHowTo.css">
<LINK REL="next" HREF="node2.html">
<LINK REL="previous" HREF="angularCalibrationHowTo.html">
<LINK REL="up" HREF="angularCalibrationHowTo.html">
<LINK REL="next" HREF="node2.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html23"
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="tex2html21"
HREF="angularCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html15"
HREF="angularCalibrationHowTo.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="tex2html24"
HREF="node2.html">Data acquisition</A>
<B> Up:</B> <A NAME="tex2html22"
HREF="angularCalibrationHowTo.html">Angular calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html16"
HREF="angularCalibrationHowTo.html">Angular calibration wizard manual</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00010000000000000000">
Introduction</A>
</H1>
<P>
In order to convert from strip number to 2<IMG
WIDTH="12" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img1.png"
ALT="$\theta$">-angle, an accurate angular calibration of the detector must be performed (for details see the paper Bergamaschi, A. et al. (2010). J. Synchrotron Rad. 17, 653-668).
<BR>
<P>
For this purpose, a series of patterns of a powder standard with symmetric peaks (e.g. silicon) must acquired while shifting the detector by an angular step of the order of about 2% of the module size. During the measurement, a strong intensity peak (e.g. Si(111)) should pass through the field of view of every module such that it can be used as a reference angular position to perform the calibration of the modules position.
<BR>
<P>
In a first step, the peak is fitted with a Gaussian in order to determine its position <IMG
WIDTH="43" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img2.png"
ALT="$C_{peak}$"> in channel number for each of the acquired patterns.
<BR>
In a second step, for each module <IMG
WIDTH="10" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
SRC="img3.png"
ALT="$i$">, the encoder position <IMG
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img4.png"
ALT="$\Theta_e$"> is fitted as a function of the peak position <IMG
WIDTH="43" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img2.png"
ALT="$C_{peak}$"> according to:
<BR>
<DIV ALIGN="RIGHT">
<!-- MATH
\begin{equation}
\Theta_e=\Theta_o^i-\arctan\Big(\frac{p \cdot (C_{peak}-C_{center}^i)}{R^i}\Big),
\end{equation}
-->
<TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:angcal"></A><IMG
WIDTH="291" HEIGHT="41" BORDER="0"
SRC="img5.png"
ALT="\begin{displaymath}
\Theta_e=\Theta_o^i-\arctan\Big(\frac{p \cdot (C_{peak}-C_{center}^i)}{R^i}\Big),
\end{displaymath}"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(1)</TD></TR>
</TABLE>
<BR CLEAR="ALL"></DIV><P></P>
where the parameters <IMG
WIDTH="24" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img6.png"
ALT="$\Theta_o^i$"> is the angular offset with respect to the diffractometer zero position, <!-- MATH
$C_{center}^{i}$
-->
<IMG
WIDTH="53" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img7.png"
ALT="$C_{center}^{i}$"> is the central channel and <IMG
WIDTH="22" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
SRC="img8.png"
ALT="$R^i$"> is the distance of the module <IMG
WIDTH="10" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
SRC="img3.png"
ALT="$i$"> from the diffractometer center while <IMG
WIDTH="79" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img9.png"
ALT="$p=50~\mu m$"> is the strip pitch of the detector.
<BR>
Finally, the global offset of the detector system is precisely determined by refining a silicon pattern at a well-defined energy (i.e., knowing the position of the peak).
<P>
The same function of equation&nbsp;<A HREF="#eq:angcal">1</A>, with the parameters obtained from the calibration, is used in order to convert from channel number to 2<IMG
WIDTH="12" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img1.png"
ALT="$\theta$">-angle.
<P>
The parallax at the borders of the modules due to the thickness of the silicon sensor is a function of the X-ray energy (higher energy X-rays are absorbed deeper inside the sensor) and is of the order of 0.2&nbsp;mdeg at 12&nbsp;keV and 0.5&nbsp;mdeg at 30&nbsp;keV.
<BR>
The differences in pixel size due to the different portion of solid angle covered by the strips on the border of the modules and the higher efficiency due to the longer path of the X-rays in the sensor are removed by the flat field correction. This also normalizes additional differences in pixel size between channels which are also present because of mismatches in the strip sensor fabrication and in fluctuations of the channels threshold level.
<P>
Patterns acquired at different detector positions are generally merged together in order to fill the gaps between the modules and correct possibly bad functioning channels. In this procedure the data from different positions which are closer than 4&nbsp;mdeg (the average pixel size) are averaged and the new position is set to the mean of the positions of the original points.
<P>
The position and width of the peaks results from a fit over several detector channels. Geometrical distortions might disturb this determination mainly because of errors in the angular calibration, fluctuations in the encoder position, variations between channels and parallax effects.
<BR>
The resolution in locating the peak center and determining its width and integrated intensity has been estimated by acquiring several patterns of a LaB<IMG
WIDTH="12" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img10.png"
ALT="$_6$"> sample in a 300&nbsp;<IMG
WIDTH="14" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img11.png"
ALT="$\mu$">m capillary with the detector shifted in 5&nbsp;mdeg steps between 30.4 and 36.5 degrees. The 16&nbsp;peaks acquired have been fitted with a Gaussian function plus background and the fluctuations on the fitted parameters have been calculated. The resulting average resolutions are 0.63<IMG
WIDTH="17" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img12.png"
ALT="$\pm$">0.06&nbsp;mdeg for the peak center and 0.22<IMG
WIDTH="17" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img12.png"
ALT="$\pm$">0.05&nbsp;mdeg for the peak Full-Width at Half-Maximum (FWHM) for an average peak FWHM of 27.0<IMG
WIDTH="17" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img12.png"
ALT="$\pm$">2.5&nbsp;mdeg.
<BR>
These results show that the angular calibration allows a resolution in determining the peaks position and width which is appropriate for structural determination.
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html23"
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="tex2html21"
HREF="angularCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html15"
HREF="angularCalibrationHowTo.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="tex2html24"
HREF="node2.html">Data acquisition</A>
<B> Up:</B> <A NAME="tex2html22"
HREF="angularCalibrationHowTo.html">Angular calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html16"
HREF="angularCalibrationHowTo.html">Angular calibration wizard manual</A>
<!--End of Navigation Panel-->
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

@ -0,0 +1,217 @@
<!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>Data acquisition</TITLE>
<META NAME="description" CONTENT="Data acquisition">
<META NAME="keywords" CONTENT="angularCalibrationHowTo">
<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="angularCalibrationHowTo.css">
<LINK REL="next" HREF="node3.html">
<LINK REL="previous" HREF="node1.html">
<LINK REL="up" HREF="angularCalibrationHowTo.html">
<LINK REL="next" HREF="node3.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html33"
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="tex2html31"
HREF="angularCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html25"
HREF="node1.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="tex2html34"
HREF="node3.html">Data analysis</A>
<B> Up:</B> <A NAME="tex2html32"
HREF="angularCalibrationHowTo.html">Angular calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html26"
HREF="node1.html">Introduction</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html35"
HREF="node2.html#SECTION00021000000000000000">Software</A>
</UL>
<!--End of Table of Child-Links-->
<HR>
<H1><A NAME="SECTION00020000000000000000">
Data acquisition</A>
</H1>
<P>
The angular calibration consists in acquiring a set of diffraction patterns of a well known powder standard (e.g. Silicon) at different encoder positions. In order to facilitate the procedure, the sample should not emit fluorescent light and should present relatively symmetric peaks.
<BR>
During the measurement, a strong intensity peak (e.g. Si(111)) should pass through the field of view of every module such that it can be used as a reference angular position to perform the calibration of the modules position. In general the highest peak will be used for the calibration, but this is not necessary in case there would be e.g. geometrical limitations for shifting the detector.
<BR><B>Do not forget to properly position the beam stopper if the detector is scanned in front of the direct beam.</B>
<BR>
The detector should be shifted of an angular step of the order of about 2% of the module size, such that about 50 patterns can contribute to the fitting of the 3 parameters necessary for the angular calibration.
<BR>
<P>
All the angular calibration procedure should be acquired using a trimmed detector with the threshold set at half of the X-ray energy (Assuming no fluorescent element in the standard). A flat field should also be acquired in order to precisely correct the data, while the X-ray intensity should be kept lower than about 100&nbsp;kHz per strip in order to avoid the need for rate corrections.
<P>
A rough angular conversion file starting from a previous calibration or from the geometric characteristics of the mechanics is an advantage. The angular conversion file should contain a line for each module of the detector with its module number <IMG
WIDTH="10" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
SRC="img3.png"
ALT="$i$">, center <!-- MATH
$C_{center}^{i}$
-->
<IMG
WIDTH="53" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img7.png"
ALT="$C_{center}^{i}$"> and error, conversion radius <IMG
WIDTH="38" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img13.png"
ALT="$p/R^i$"> and error, offset <IMG
WIDTH="24" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img6.png"
ALT="$\Theta_o^i$"> and error:
<PRE>
module 0 center 639.5 +- 0 conversion 6.56E-05 +- 0 offset 0 +- 0
</PRE>
Also the <I>global offset</I> value of the beamline should be approximately known i.e. the angular position of channel 0 of module 0 when the motor is set at 0.
<BR>
All the documentation assumes that the detector is oriented in the same direction as the encoder position i.e. large channel number at higher angles (both per module and absolute). If this is not the case, the <I>angular direction</I> should be set to -1.
<P>
<H2><A NAME="SECTION00021000000000000000">
Software</A>
</H2>
<P>
For the acquisition ot the data you need to install the slsDetector software package (please refere to separate documentation). The use of the GUI is optional and all operations can be performed also using the text client.
<BR>
<P>
Please make sure that you have edited the
<BR><I>slsDetectorSoftware/usersFunctions/angleFunction.h</I>
<BR>
in order to match the angular conversion for your geometry and
<BR><I>slsDetectorSoftware/usersFunctions/usersFunctions.cpp</I>
<BR>
in order to be able to move the detector and read out its position by using the slsDetector software.
<P>
In the following the command to acquire a dataset for the angular calibration with an exposure time of 1&nbsp;s, and position shift
<PRE>
#setup angular calibration log mode
&gt; sls_detector_put angcallog 1
#set exposure time to 1s
&gt; sls_detector_put exptime 1.
#setup threshold scan
&gt; sls_detector_put scan0script position
#setup the precision for the scan variable in the file name
&gt; sls_detector_put scan0prec 2
#set scan range between 20deg and -60deg, step of -0.1deg
# (at 12.4 keV the Si(111) peak is at approx 19deg
&gt; sls_detector_put scan0range 20 -60 -0.1
#acquire the data
&gt; sls_detector_acquire
#unset angular calibration log mode
&gt; sls_detector_put angcallog 0
</PRE>
<P>
With the GUI you can obtain the same results by clicking on the <I>Angular calibration</I> log button in the advanced tab (see figure&nbsp;<A HREF="#fig:guiangcallog">1</A>) and setting up the motor position scan in the Actions tab (see figure&nbsp;<A HREF="#fig:guiposscan">2</A>). The exposure time should also be set in the measurement tab.
<P>
Additional to the data files, the acquisition will produce a .angcal file containing an header and, for each step of the acquisition, the exect value of the motor position and the file name.
<BR>
In case you forgot to enable the angcallog flag in the software, you can produce the file with the syntax as follows, assuming that you know the exact values of your encoder for each frame:
<PRE>
type Mythen
maxmod 32
nmod 32
angconv /scratch/angcal20120422/ang.off
globaloff 5.088
fineoff 0.0
angdir 1
ffdir /scratch/angcal20120422/
flatfield flatfield_E12keV_T6keV_0.raw
badchannels /scratch/cal/bad.chans
19.99998 angcal_S20.00_0
19.90001 angcal_S19.90_0
19.79999 angcal_S19.80_0
19.70002 angcal_S19.70_0
......
</PRE>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:guiangcallog"></A><A NAME="46"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1:</STRONG>
Acquisition GUI window to enable the angular calibration log.</CAPTION>
<TR><TD><IMG
WIDTH="555" HEIGHT="603" ALIGN="BOTTOM" BORDER="0"
SRC="img14.png"
ALT="\includegraphics[width=\textwidth]{enable_angcal.eps}"></TD></TR>
</TABLE>
</DIV>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:guiposscan"></A><A NAME="51"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2:</STRONG>
Acquisition GUI window to setup the motor position scan.</CAPTION>
<TR><TD><IMG
WIDTH="555" HEIGHT="603" ALIGN="BOTTOM" BORDER="0"
SRC="img15.png"
ALT="\includegraphics[width=\textwidth]{position_scan.eps}"></TD></TR>
</TABLE>
</DIV>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html33"
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="tex2html31"
HREF="angularCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html25"
HREF="node1.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="tex2html34"
HREF="node3.html">Data analysis</A>
<B> Up:</B> <A NAME="tex2html32"
HREF="angularCalibrationHowTo.html">Angular calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html26"
HREF="node1.html">Introduction</A>
<!--End of Navigation Panel-->
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

@ -0,0 +1,186 @@
<!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>Data analysis</TITLE>
<META NAME="description" CONTENT="Data analysis">
<META NAME="keywords" CONTENT="angularCalibrationHowTo">
<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="angularCalibrationHowTo.css">
<LINK REL="next" HREF="node4.html">
<LINK REL="previous" HREF="node2.html">
<LINK REL="up" HREF="angularCalibrationHowTo.html">
<LINK REL="next" HREF="node4.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html44"
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="tex2html42"
HREF="angularCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html36"
HREF="node2.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="tex2html45"
HREF="node4.html">Setup calibration files</A>
<B> Up:</B> <A NAME="tex2html43"
HREF="angularCalibrationHowTo.html">Angular calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html37"
HREF="node2.html">Data acquisition</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html46"
HREF="node3.html#SECTION00031000000000000000">Software</A>
</UL>
<!--End of Table of Child-Links-->
<HR>
<H1><A NAME="SECTION00030000000000000000">
Data analysis</A>
</H1>
<P>
The data analysis consists in fitting with a gaussian the selected peak of the powder pattern for each position in order to determine its position is channel number as a function of the encoder position.
<BR>
In a second step, for each module, the channel vs. encoder curve is fitted in order to extrapolate the three parameters necessary for the angular conversion and the result is written to file
<P>
<H2><A NAME="SECTION00031000000000000000">
Software</A>
</H2>
<P>
The software used for the angular calibration data analysis is based on root (see http://root.cern.ch).
<BR>
This can be downloaded as binary or installed from sources. The version of the software should not play an important role, but up to now everything has been implemented and tested using version 5.20.
<P>
To start the data analysis simply launch:
<PRE>
&gt; ./angularCalibrationWizard
</PRE>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:setangcal"></A><A NAME="60"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3:</STRONG>
Overview of the nagular calibration dataset.</CAPTION>
<TR><TD><IMG
WIDTH="555" HEIGHT="707" ALIGN="BOTTOM" BORDER="0"
SRC="img16.png"
ALT="\includegraphics[width=\textwidth]{setupAngcal.eps}"></TD></TR>
</TABLE>
</DIV>
<P>
To setup the angular calibration dataset, the .angcal file should be selected (or digited) and the load button should be pressed to confirm. The parameters of the angular calibration are then read to the file and the data loaded for a quick overview (see figure&nbsp;<A HREF="#fig:setangcal">3</A>).
<BR>
The software assumes that the data files (.raw) and the .encal file are in the same directory.
<BR>
A 2D color plot will show a rebinned overview of the dataset. The peak to be fitted should be visible as a high intensity diagonal line passing through all the channels.
<P>
<DIV ALIGN="CENTER"><A NAME="fig:peakfit"></A><A NAME="66"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 4:</STRONG>
Preview of the fitting of the Si(111) peak for one of the detector positions.</CAPTION>
<TR><TD><IMG
WIDTH="555" HEIGHT="707" ALIGN="BOTTOM" BORDER="0"
SRC="img17.png"
ALT="\includegraphics[width=\textwidth]{peakFit.eps}"></TD></TR>
</TABLE>
</DIV>
<P>
For a more detailed view of the data, one can select an angular calibration step from the combo box, select the plot mode (raw data or processed data as a function of channel number, processed angular converted data, flat field data, or again an overview of the whole dataset).
<BR>
By (right) clicking close to the axis you are able to zoom in/out, set the scale to logarithmic etc.
<BR>
<P>
If the bad channel list, angular conversion file or flat field file are changed compared to the acquisition, they can be reloaded by editing the correspondent text entries and pressing enter.
<P>
In particular, the angular converted data should be checked in order to view the position of the selected peak. In this case, the plot will be zoomed to the angular region slected in the minimum and maximum angle entries. By pressing fit, the fit of the peak in the selected angular range will be shown (see figure&nbsp;<A HREF="#fig:peakfit">4</A>). It is useful to check that it works properly in several positions such that then the sequential fitting on all steps can give good results.
<P>
To automatically fit all positions simply press <I>Proceed to Modules Calibration</I> and wait until all steps are fitted. This can take sometime, depending on the number of steps.
<P>
<DIV ALIGN="CENTER"><A NAME="fig:anglefit"></A><A NAME="73"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 5:</STRONG>
Window for fitting the angular calibration parameters of a module.</CAPTION>
<TR><TD><IMG
WIDTH="555" HEIGHT="707" ALIGN="BOTTOM" BORDER="0"
SRC="img18.png"
ALT="\includegraphics[width=\textwidth]{angleFit.eps}"></TD></TR>
</TABLE>
</DIV>
<P>
In the module calibration window (see figure&nbsp;<A HREF="#fig:anglefit">5</A>), you will be able to fit the channel number to encoder position curve to estimate the three angular calibration parameters for each module.
<BR>
The entries show the angular calibration parameters used for approximate angular conversion in the previous step of the calibration. These can be edited and will be used as start parameters for the fit.
By clicking on the check box next to the parameters, the selected parameter will be set and fixed during the fit. Often the center is used as a fix parameter.
<BR>
It is possible to navigate between modules by using the Previous and Next module buttons. To refit the current module (e.g. after changing one of the parameters) simply re-click on the module number.
<P>
After fitting all modules you can click on the <I>Write Angular Calibration</I> button, select the file name to write to and save the calibration angulat calibration data. Please note that the offset of module 0 will always be 0 and the other values will be rescaled to its value. Therefore the global offset of the steup will always need to be specified for a proper angular conversion unless the home of the encoder will not be redifined.
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html44"
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="tex2html42"
HREF="angularCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html36"
HREF="node2.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="tex2html45"
HREF="node4.html">Setup calibration files</A>
<B> Up:</B> <A NAME="tex2html43"
HREF="angularCalibrationHowTo.html">Angular calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html37"
HREF="node2.html">Data acquisition</A>
<!--End of Navigation Panel-->
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

@ -0,0 +1,68 @@
<!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>Setup calibration files</TITLE>
<META NAME="description" CONTENT="Setup calibration files">
<META NAME="keywords" CONTENT="angularCalibrationHowTo">
<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="angularCalibrationHowTo.css">
<LINK REL="next" HREF="node5.html">
<LINK REL="previous" HREF="node3.html">
<LINK REL="up" HREF="angularCalibrationHowTo.html">
<LINK REL="next" HREF="node5.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html55"
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="tex2html53"
HREF="angularCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html47"
HREF="node3.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="tex2html56"
HREF="node5.html">About this document ...</A>
<B> Up:</B> <A NAME="tex2html54"
HREF="angularCalibrationHowTo.html">Angular calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html48"
HREF="node3.html">Data analysis</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00040000000000000000">
Setup calibration files</A>
</H1>
<P>
To use the generated angular calibration files, using the text client:
<PRE>
sls_detector_put angconv /scratch/ang_new.off
</PRE>
while for the GUI the file name should be specified in the configuration file (works also for the text client).
<BR><HR>
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

@ -0,0 +1,71 @@
<!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>About this document ...</TITLE>
<META NAME="description" CONTENT="About this document ...">
<META NAME="keywords" CONTENT="angularCalibrationHowTo">
<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="angularCalibrationHowTo.css">
<LINK REL="previous" HREF="node4.html">
<LINK REL="up" HREF="angularCalibrationHowTo.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next_g.png">
<A NAME="tex2html61"
HREF="angularCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html57"
HREF="node4.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<BR>
<B> Up:</B> <A NAME="tex2html62"
HREF="angularCalibrationHowTo.html">Angular calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html58"
HREF="node4.html">Setup calibration files</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00050000000000000000">
About this document ...</A>
</H1>
<STRONG>Angular calibration wizard manual</STRONG><P>
This document was generated using the
<A HREF="http://www.latex2html.org/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 2008 (1.71)
<P>
Copyright &#169; 1993, 1994, 1995, 1996,
<A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>,
Computer Based Learning Unit, University of Leeds.
<BR>
Copyright &#169; 1997, 1998, 1999,
<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>,
Mathematics Department, Macquarie University, Sydney.
<P>
The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-split 4 angularCalibrationHowTo.tex</TT>
<P>
The translation was initiated by Thattil Dhanya on 2017-08-24
<BR><HR>
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

@ -0,0 +1 @@
No implementation found for style `graphicx'

View File

@ -0,0 +1,30 @@
/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
.MATH { font-family: "Century Schoolbook", serif; }
.MATH I { font-family: "Century Schoolbook", serif; font-style: italic }
.BOLDMATH { font-family: "Century Schoolbook", serif; font-weight: bold }
/* implement both fixed-size and relative sizes */
SMALL.XTINY { font-size : xx-small }
SMALL.TINY { font-size : x-small }
SMALL.SCRIPTSIZE { font-size : smaller }
SMALL.FOOTNOTESIZE { font-size : small }
SMALL.SMALL { }
BIG.LARGE { }
BIG.XLARGE { font-size : large }
BIG.XXLARGE { font-size : x-large }
BIG.HUGE { font-size : larger }
BIG.XHUGE { font-size : xx-large }
/* heading styles */
H1 { }
H2 { }
H3 { }
H4 { }
H5 { }
/* mathematics styles */
DIV.displaymath { } /* math displays */
TD.eqno { } /* equation-number cells */
/* document-specific styles come next */

View File

@ -0,0 +1,84 @@
<!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>Energy calibration wizard manual</TITLE>
<META NAME="description" CONTENT="Energy calibration wizard manual">
<META NAME="keywords" CONTENT="energyCalibrationHowTo">
<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="energyCalibrationHowTo.css">
<LINK REL="next" HREF="node1.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html9"
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">
<BR>
<B> Next:</B> <A NAME="tex2html10"
HREF="node1.html">Introduction</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<P>
<H1 ALIGN="CENTER">Energy calibration wizard manual</H1>
<DIV>
<P ALIGN="CENTER"><STRONG>Anna Bergamaschi</STRONG></P>
<P ALIGN="CENTER"><STRONG>August 24, 2017</STRONG></P>
</DIV>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>
<UL>
<LI><A NAME="tex2html11"
HREF="node1.html">Introduction</A>
<LI><A NAME="tex2html12"
HREF="node2.html">Data acquisition</A>
<UL>
<LI><A NAME="tex2html13"
HREF="node2.html#SECTION00021000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html14"
HREF="node3.html">Data analysis</A>
<UL>
<LI><A NAME="tex2html15"
HREF="node3.html#SECTION00031000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html16"
HREF="node4.html">Setup calibration files</A>
<LI><A NAME="tex2html17"
HREF="node5.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

@ -0,0 +1,252 @@
# LaTeX2HTML 2008 (1.71)
# Associate images original text with physical files.
$key = q/CS=frac{N_S}{N_0};MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="71" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img32.png"
ALT="$CS=\frac{N_S}{N_0}$">|;
$key = q/O;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="17" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img25.png"
ALT="$O$">|;
$key = q/N_gamma;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img17.png"
ALT="$N_\gamma$">|;
$key = q/E_t;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img10.png"
ALT="$E_t$">|;
$key = q/includegraphics[width=textwidth]{calibrateModule.eps};AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="555" HEIGHT="694" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img40.png"
ALT="\includegraphics[width=\textwidth]{calibrateModule.eps}">|;
$key = q/{displaymath}N_n(E_t)simfrac{T}{tau_s}DBig(frac{-E_t}{ENC}Big).{displaymath};MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="169" HEIGHT="41" BORDER="0"
SRC="|."$dir".q|img23.png"
ALT="\begin{displaymath}
N_n(E_t) \sim \frac{T}{\tau_s} D \Big(\frac{-E_t}{ENC} \Big).
\end{displaymath}">|;
$key = q/tau_s;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="18" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img21.png"
ALT="$\tau_s$">|;
$key = q/V_t;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="19" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img27.png"
ALT="$V_t$">|;
$key = q/ENC;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="44" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img3.png"
ALT="$ENC$">|;
$key = q/includegraphics[width=textwidth]{fig8.eps};AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="556" HEIGHT="539" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img36.png"
ALT="\includegraphics[width=\textwidth]{fig8.eps}">|;
$key = q/N_n;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="26" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img16.png"
ALT="$N_n$">|;
$key = q/T;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img22.png"
ALT="$T$">|;
$key = q/E_0;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img1.png"
ALT="$E_0$">|;
$key = q/G;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="17" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img26.png"
ALT="$G$">|;
$key = q/{displaymath}N_gamma(E_t)=frac{N_0}{2}cdotBig(1+C_sfrac{E_0-2E_t}{E_0}Big)DBig(frac{E_0-E_t}{ENC}Big),{displaymath};MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="335" HEIGHT="41" BORDER="0"
SRC="|."$dir".q|img18.png"
ALT="\begin{displaymath}
N_\gamma(E_t)=\frac{N_0}{2}\cdot\Big(1+C_s \frac{E_0-2E_t}{E_0}\Big)D \Big(\frac{E_0-E_t}{ENC} \Big),
\end{displaymath}">|;
$key = q/includegraphics[width=textwidth]{GUI_ThresholdScan.eps};AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="555" HEIGHT="603" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img38.png"
ALT="\includegraphics[width=\textwidth]{GUI_ThresholdScan.eps}">|;
$key = q/N_0;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img2.png"
ALT="$N_0$">|;
$key = q/N_S;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="27" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img5.png"
ALT="$N_S$">|;
$key = q/O_i;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img30.png"
ALT="$O_i$">|;
$key = q/E_f;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img7.png"
ALT="$E_f$">|;
$key = q/i;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="10" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img29.png"
ALT="$i$">|;
$key = q/G_i;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img31.png"
ALT="$G_i$">|;
$key = q/includegraphics[width=textwidth]{fig7.eps};AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="556" HEIGHT="553" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img35.png"
ALT="\includegraphics[width=\textwidth]{fig7.eps}">|;
$key = q/D;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img13.png"
ALT="$D$">|;
$key = q/N_s=C_sN_0;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="83" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img20.png"
ALT="$N_s=C_s N_0$">|;
$key = q/E_0slash2;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="39" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img8.png"
ALT="$E_0/2$">|;
$key = q/E_t=E_0slash2;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="78" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img14.png"
ALT="$E_t=E_0/2$">|;
$key = q/includegraphics[width=textwidth]{fig4.eps};AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="556" HEIGHT="539" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img33.png"
ALT="\includegraphics[width=\textwidth]{fig4.eps}">|;
$key = q/includegraphics[width=textwidth]{GUI_Advanced.eps};AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="555" HEIGHT="603" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img37.png"
ALT="\includegraphics[width=\textwidth]{GUI_Advanced.eps}">|;
$key = q/includegraphics[width=textwidth]{addEnergy.eps};AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="555" HEIGHT="694" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img39.png"
ALT="\includegraphics[width=\textwidth]{addEnergy.eps}">|;
$key = q/C_s;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img19.png"
ALT="$C_s$">|;
$key = q/CS={begingroup{N_Sbegingroup{overN_0};MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="24" HEIGHT="11" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img6.png"
ALT="$CS={\begingroupN_S\endgroup\over N_0}$">|;
$key = q/CS=;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="45" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img4.png"
ALT="$CS=$">|;
$key = q/e^-;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="23" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img12.png"
ALT="$e^-$">|;
$key = q/includegraphics[width=textwidth]{fig5.eps};AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="556" HEIGHT="539" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img34.png"
ALT="\includegraphics[width=\textwidth]{fig5.eps}">|;
$key = q/{displaymath}V_{t}=O+GcdotE_t.{displaymath};MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="111" HEIGHT="26" BORDER="0"
SRC="|."$dir".q|img28.png"
ALT="\begin{displaymath}
V_{t}=O+G \cdot E_t.
\end{displaymath}">|;
$key = q/Sigma>3ENC;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="85" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img11.png"
ALT="$\Sigma &gt;3ENC$">|;
$key = q/N;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="19" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img15.png"
ALT="$N$">|;
$key = q/Sigma>3,ENC;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="88" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="|."$dir".q|img24.png"
ALT="$\Sigma&gt;3 ENC$">|;
$key = q/Deltasim;MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
WIDTH="35" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="|."$dir".q|img9.png"
ALT="$\Delta \sim $">|;
1;

View File

@ -0,0 +1,391 @@
\batchmode
\documentclass{article}
\RequirePackage{ifthen}
\usepackage{amssymb}
\usepackage[dvips]{graphicx}
\usepackage{verbatim}
\usepackage[dvips]{color}
\pagecolor[gray]{.7}
\usepackage[]{inputenc}
\makeatletter
\makeatletter
\count@=\the\catcode`\_ \catcode`\_=8
\newenvironment{tex2html_wrap}{}{}%
\catcode`\<=12\catcode`\_=\count@
\newcommand{\providedcommand}[1]{\expandafter\providecommand\csname #1\endcsname}%
\newcommand{\renewedcommand}[1]{\expandafter\providecommand\csname #1\endcsname{}%
\expandafter\renewcommand\csname #1\endcsname}%
\newcommand{\newedenvironment}[1]{\newenvironment{#1}{}{}\renewenvironment{#1}}%
\let\newedcommand\renewedcommand
\let\renewedenvironment\newedenvironment
\makeatother
\let\mathon=$
\let\mathoff=$
\ifx\AtBeginDocument\undefined \newcommand{\AtBeginDocument}[1]{}\fi
\newbox\sizebox
\setlength{\hoffset}{0pt}\setlength{\voffset}{0pt}
\addtolength{\textheight}{\footskip}\setlength{\footskip}{0pt}
\addtolength{\textheight}{\topmargin}\setlength{\topmargin}{0pt}
\addtolength{\textheight}{\headheight}\setlength{\headheight}{0pt}
\addtolength{\textheight}{\headsep}\setlength{\headsep}{0pt}
\setlength{\textwidth}{349pt}
\newwrite\lthtmlwrite
\makeatletter
\let\realnormalsize=\normalsize
\global\topskip=2sp
\def\preveqno{}\let\real@float=\@float \let\realend@float=\end@float
\def\@float{\let\@savefreelist\@freelist\real@float}
\def\liih@math{\ifmmode$\else\bad@math\fi}
\def\end@float{\realend@float\global\let\@freelist\@savefreelist}
\let\real@dbflt=\@dbflt \let\end@dblfloat=\end@float
\let\@largefloatcheck=\relax
\let\if@boxedmulticols=\iftrue
\def\@dbflt{\let\@savefreelist\@freelist\real@dbflt}
\def\adjustnormalsize{\def\normalsize{\mathsurround=0pt \realnormalsize
\parindent=0pt\abovedisplayskip=0pt\belowdisplayskip=0pt}%
\def\phantompar{\csname par\endcsname}\normalsize}%
\def\lthtmltypeout#1{{\let\protect\string \immediate\write\lthtmlwrite{#1}}}%
\newcommand\lthtmlhboxmathA{\adjustnormalsize\setbox\sizebox=\hbox\bgroup\kern.05em }%
\newcommand\lthtmlhboxmathB{\adjustnormalsize\setbox\sizebox=\hbox to\hsize\bgroup\hfill }%
\newcommand\lthtmlvboxmathA{\adjustnormalsize\setbox\sizebox=\vbox\bgroup %
\let\ifinner=\iffalse \let\)\liih@math }%
\newcommand\lthtmlboxmathZ{\@next\next\@currlist{}{\def\next{\voidb@x}}%
\expandafter\box\next\egroup}%
\newcommand\lthtmlmathtype[1]{\gdef\lthtmlmathenv{#1}}%
\newcommand\lthtmllogmath{\dimen0\ht\sizebox \advance\dimen0\dp\sizebox
\ifdim\dimen0>.95\vsize
\lthtmltypeout{%
*** image for \lthtmlmathenv\space is too tall at \the\dimen0, reducing to .95 vsize ***}%
\ht\sizebox.95\vsize \dp\sizebox\z@ \fi
\lthtmltypeout{l2hSize %
:\lthtmlmathenv:\the\ht\sizebox::\the\dp\sizebox::\the\wd\sizebox.\preveqno}}%
\newcommand\lthtmlfigureA[1]{\let\@savefreelist\@freelist
\lthtmlmathtype{#1}\lthtmlvboxmathA}%
\newcommand\lthtmlpictureA{\bgroup\catcode`\_=8 \lthtmlpictureB}%
\newcommand\lthtmlpictureB[1]{\lthtmlmathtype{#1}\egroup
\let\@savefreelist\@freelist \lthtmlhboxmathB}%
\newcommand\lthtmlpictureZ[1]{\hfill\lthtmlfigureZ}%
\newcommand\lthtmlfigureZ{\lthtmlboxmathZ\lthtmllogmath\copy\sizebox
\global\let\@freelist\@savefreelist}%
\newcommand\lthtmldisplayA{\bgroup\catcode`\_=8 \lthtmldisplayAi}%
\newcommand\lthtmldisplayAi[1]{\lthtmlmathtype{#1}\egroup\lthtmlvboxmathA}%
\newcommand\lthtmldisplayB[1]{\edef\preveqno{(\theequation)}%
\lthtmldisplayA{#1}\let\@eqnnum\relax}%
\newcommand\lthtmldisplayZ{\lthtmlboxmathZ\lthtmllogmath\lthtmlsetmath}%
\newcommand\lthtmlinlinemathA{\bgroup\catcode`\_=8 \lthtmlinlinemathB}
\newcommand\lthtmlinlinemathB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA
\vrule height1.5ex width0pt }%
\newcommand\lthtmlinlineA{\bgroup\catcode`\_=8 \lthtmlinlineB}%
\newcommand\lthtmlinlineB[1]{\lthtmlmathtype{#1}\egroup\lthtmlhboxmathA}%
\newcommand\lthtmlinlineZ{\egroup\expandafter\ifdim\dp\sizebox>0pt %
\expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetinline}
\newcommand\lthtmlinlinemathZ{\egroup\expandafter\ifdim\dp\sizebox>0pt %
\expandafter\centerinlinemath\fi\lthtmllogmath\lthtmlsetmath}
\newcommand\lthtmlindisplaymathZ{\egroup %
\centerinlinemath\lthtmllogmath\lthtmlsetmath}
\def\lthtmlsetinline{\hbox{\vrule width.1em \vtop{\vbox{%
\kern.1em\copy\sizebox}\ifdim\dp\sizebox>0pt\kern.1em\else\kern.3pt\fi
\ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}}
\def\lthtmlsetmath{\hbox{\vrule width.1em\kern-.05em\vtop{\vbox{%
\kern.1em\kern0.8 pt\hbox{\hglue.17em\copy\sizebox\hglue0.8 pt}}\kern.3pt%
\ifdim\dp\sizebox>0pt\kern.1em\fi \kern0.8 pt%
\ifdim\hsize>\wd\sizebox \hrule depth1pt\fi}}}
\def\centerinlinemath{%
\dimen1=\ifdim\ht\sizebox<\dp\sizebox \dp\sizebox\else\ht\sizebox\fi
\advance\dimen1by.5pt \vrule width0pt height\dimen1 depth\dimen1
\dp\sizebox=\dimen1\ht\sizebox=\dimen1\relax}
\def\lthtmlcheckvsize{\ifdim\ht\sizebox<\vsize
\ifdim\wd\sizebox<\hsize\expandafter\hfill\fi \expandafter\vfill
\else\expandafter\vss\fi}%
\providecommand{\selectlanguage}[1]{}%
\makeatletter \tracingstats = 1
\begin{document}
\pagestyle{empty}\thispagestyle{empty}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength hsize=\the\hsize}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength vsize=\the\vsize}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength hoffset=\the\hoffset}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength voffset=\the\voffset}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength topmargin=\the\topmargin}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength topskip=\the\topskip}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength headheight=\the\headheight}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength headsep=\the\headsep}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength parskip=\the\parskip}\lthtmltypeout{}%
\lthtmltypeout{latex2htmlLength oddsidemargin=\the\oddsidemargin}\lthtmltypeout{}%
\makeatletter
\if@twoside\lthtmltypeout{latex2htmlLength evensidemargin=\the\evensidemargin}%
\else\lthtmltypeout{latex2htmlLength evensidemargin=\the\oddsidemargin}\fi%
\lthtmltypeout{}%
\makeatother
\setcounter{page}{1}
\onecolumn
% !!! IMAGES START HERE !!!
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline464}%
$E_0$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline466}%
$N_0$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline468}%
$ENC$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline470}%
$CS=$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline472}%
$N_S$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline474}%
$CS={\begingroupN_S\endgroup\over N_0}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline482}%
$E_f$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline486}%
$E_0/2$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline490}%
$\Delta \sim $%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline492}%
$E_t$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline494}%
$\Sigma >3ENC$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
\stepcounter{section}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline131}%
$e^-$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline137}%
$D$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline141}%
$E_t=E_0/2$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline143}%
$N$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline147}%
$N_n$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline149}%
$N_\gamma$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmldisplayA{displaymath17}%
\begin{displaymath}
N_\gamma(E_t)=\frac{N_0}{2}\cdot\Big(1+C_s \frac{E_0-2E_t}{E_0}\Big)D \Big(\frac{E_0-E_t}{ENC} \Big),
\end{displaymath}%
\lthtmldisplayZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline151}%
$C_s$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline153}%
$N_s=C_s N_0$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline155}%
$\tau_s$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline157}%
$T$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmldisplayA{displaymath26}%
\begin{displaymath}
N_n(E_t) \sim \frac{T}{\tau_s} D \Big(\frac{-E_t}{ENC} \Big).
\end{displaymath}%
\lthtmldisplayZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline165}%
$\Sigma>3\,ENC$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline167}%
$O$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline169}%
$G$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline171}%
$V_t$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmldisplayA{displaymath34}%
\begin{displaymath}
V_{t}=O+G \cdot E_t.
\end{displaymath}%
\lthtmldisplayZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline175}%
$i$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline177}%
$O_i$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline179}%
$G_i$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlinlinemathA{tex2html_wrap_inline191}%
$CS=\frac{N_S}{N_0}$%
\lthtmlinlinemathZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlpictureA{tex2html_wrap559}%
\includegraphics[width=\textwidth]{fig4.eps}%
\lthtmlpictureZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlpictureA{tex2html_wrap563}%
\includegraphics[width=\textwidth]{fig5.eps}%
\lthtmlpictureZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlpictureA{tex2html_wrap585}%
\includegraphics[width=\textwidth]{fig7.eps}%
\lthtmlpictureZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlpictureA{tex2html_wrap589}%
\includegraphics[width=\textwidth]{fig8.eps}%
\lthtmlpictureZ
\lthtmlcheckvsize\clearpage}
\stepcounter{section}
\stepcounter{subsection}
{\newpage\clearpage
\lthtmlpictureA{tex2html_wrap595}%
\includegraphics[width=\textwidth]{GUI_Advanced.eps}%
\lthtmlpictureZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlpictureA{tex2html_wrap599}%
\includegraphics[width=\textwidth]{GUI_ThresholdScan.eps}%
\lthtmlpictureZ
\lthtmlcheckvsize\clearpage}
\stepcounter{section}
\stepcounter{subsection}
{\newpage\clearpage
\lthtmlpictureA{tex2html_wrap605}%
\includegraphics[width=\textwidth]{addEnergy.eps}%
\lthtmlpictureZ
\lthtmlcheckvsize\clearpage}
{\newpage\clearpage
\lthtmlpictureA{tex2html_wrap609}%
\includegraphics[width=\textwidth]{calibrateModule.eps}%
\lthtmlpictureZ
\lthtmlcheckvsize\clearpage}
\stepcounter{section}
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 505 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 471 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 468 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 539 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

View File

@ -0,0 +1,84 @@
<!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>Energy calibration wizard manual</TITLE>
<META NAME="description" CONTENT="Energy calibration wizard manual">
<META NAME="keywords" CONTENT="energyCalibrationHowTo">
<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="energyCalibrationHowTo.css">
<LINK REL="next" HREF="node1.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html9"
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">
<BR>
<B> Next:</B> <A NAME="tex2html10"
HREF="node1.html">Introduction</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<P>
<H1 ALIGN="CENTER">Energy calibration wizard manual</H1>
<DIV>
<P ALIGN="CENTER"><STRONG>Anna Bergamaschi</STRONG></P>
<P ALIGN="CENTER"><STRONG>August 24, 2017</STRONG></P>
</DIV>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>
<UL>
<LI><A NAME="tex2html11"
HREF="node1.html">Introduction</A>
<LI><A NAME="tex2html12"
HREF="node2.html">Data acquisition</A>
<UL>
<LI><A NAME="tex2html13"
HREF="node2.html#SECTION00021000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html14"
HREF="node3.html">Data analysis</A>
<UL>
<LI><A NAME="tex2html15"
HREF="node3.html#SECTION00031000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html16"
HREF="node4.html">Setup calibration files</A>
<LI><A NAME="tex2html17"
HREF="node5.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

@ -0,0 +1,50 @@
# LaTeX2HTML 2008 (1.71)
# Associate internals original text with physical files.
$key = q/fig:modulecalibration/;
$ref_files{$key} = "$dir".q|node1.html|;
$noresave{$key} = "$nosave";
$key = q/eq:encal/;
$ref_files{$key} = "$dir".q|node1.html|;
$noresave{$key} = "$nosave";
$key = q/fig:guithrscan/;
$ref_files{$key} = "$dir".q|node2.html|;
$noresave{$key} = "$nosave";
$key = q/fig:thrscanfluo/;
$ref_files{$key} = "$dir".q|node1.html|;
$noresave{$key} = "$nosave";
$key = q/eq:noisescan/;
$ref_files{$key} = "$dir".q|node1.html|;
$noresave{$key} = "$nosave";
$key = q/eq:thrscan/;
$ref_files{$key} = "$dir".q|node1.html|;
$noresave{$key} = "$nosave";
$key = q/fig:calibratemodule/;
$ref_files{$key} = "$dir".q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/fig:guiencallog/;
$ref_files{$key} = "$dir".q|node2.html|;
$noresave{$key} = "$nosave";
$key = q/fig:addenergy/;
$ref_files{$key} = "$dir".q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/fig:thrscanexpl/;
$ref_files{$key} = "$dir".q|node1.html|;
$noresave{$key} = "$nosave";
$key = q/fig:expthrscan/;
$ref_files{$key} = "$dir".q|node1.html|;
$noresave{$key} = "$nosave";
1;

View File

@ -0,0 +1,101 @@
# LaTeX2HTML 2008 (1.71)
# Associate labels original text with physical files.
$key = q/fig:modulecalibration/;
$external_labels{$key} = "$URL/" . q|node1.html|;
$noresave{$key} = "$nosave";
$key = q/eq:encal/;
$external_labels{$key} = "$URL/" . q|node1.html|;
$noresave{$key} = "$nosave";
$key = q/fig:guithrscan/;
$external_labels{$key} = "$URL/" . q|node2.html|;
$noresave{$key} = "$nosave";
$key = q/fig:thrscanfluo/;
$external_labels{$key} = "$URL/" . q|node1.html|;
$noresave{$key} = "$nosave";
$key = q/eq:noisescan/;
$external_labels{$key} = "$URL/" . q|node1.html|;
$noresave{$key} = "$nosave";
$key = q/eq:thrscan/;
$external_labels{$key} = "$URL/" . q|node1.html|;
$noresave{$key} = "$nosave";
$key = q/fig:calibratemodule/;
$external_labels{$key} = "$URL/" . q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/fig:guiencallog/;
$external_labels{$key} = "$URL/" . q|node2.html|;
$noresave{$key} = "$nosave";
$key = q/fig:addenergy/;
$external_labels{$key} = "$URL/" . q|node3.html|;
$noresave{$key} = "$nosave";
$key = q/fig:thrscanexpl/;
$external_labels{$key} = "$URL/" . q|node1.html|;
$noresave{$key} = "$nosave";
$key = q/fig:expthrscan/;
$external_labels{$key} = "$URL/" . q|node1.html|;
$noresave{$key} = "$nosave";
1;
# LaTeX2HTML 2008 (1.71)
# labels from external_latex_labels array.
$key = q/fig:modulecalibration/;
$external_latex_labels{$key} = q|4|;
$noresave{$key} = "$nosave";
$key = q/eq:encal/;
$external_latex_labels{$key} = q|3|;
$noresave{$key} = "$nosave";
$key = q/fig:guithrscan/;
$external_latex_labels{$key} = q|6|;
$noresave{$key} = "$nosave";
$key = q/fig:thrscanfluo/;
$external_latex_labels{$key} = q|3|;
$noresave{$key} = "$nosave";
$key = q/eq:noisescan/;
$external_latex_labels{$key} = q|2|;
$noresave{$key} = "$nosave";
$key = q/eq:thrscan/;
$external_latex_labels{$key} = q|1|;
$noresave{$key} = "$nosave";
$key = q/fig:calibratemodule/;
$external_latex_labels{$key} = q|8|;
$noresave{$key} = "$nosave";
$key = q/fig:guiencallog/;
$external_latex_labels{$key} = q|5|;
$noresave{$key} = "$nosave";
$key = q/fig:addenergy/;
$external_latex_labels{$key} = q|7|;
$noresave{$key} = "$nosave";
$key = q/fig:thrscanexpl/;
$external_latex_labels{$key} = q|1|;
$noresave{$key} = "$nosave";
$key = q/fig:expthrscan/;
$external_latex_labels{$key} = q|2|;
$noresave{$key} = "$nosave";
1;

Some files were not shown because too many files have changed in this diff Show More