Compare commits
56 Commits
moenchv0.1
...
2.3.1
Author | SHA1 | Date | |
---|---|---|---|
9833a7d330 | |||
8f9155e578 | |||
9df1eac3c1 | |||
5ededf9be4 | |||
3e8774798a | |||
e658cbacda | |||
1e6c6dea71 | |||
0e5d4d1d8e | |||
a2986784d3 | |||
975cbb576e | |||
e48a92d9cd | |||
4142328437 | |||
6c797988c7 | |||
215c262981 | |||
081b809078 | |||
9263567cd8 | |||
58e90a85be | |||
025c836e25 | |||
5d5abae3f4 | |||
e2ad46386e | |||
308d44e452 | |||
69da61b1fb | |||
460168ce04 | |||
4e429c0d77 | |||
bf4fab549d | |||
f7705eb1da | |||
a2217e2066 | |||
aaa02706fc | |||
9468b9ca1e | |||
d7982e178e | |||
9cf5714a5b | |||
0c9ac8911a | |||
4730c8c0a9 | |||
43efb8acfd | |||
6ecca8fcb0 | |||
17cb63a57f | |||
4f83fcb001 | |||
ab94af6d29 | |||
7c725cc69b | |||
f0198d2d2e | |||
5ddccbdee4 | |||
8fb39b8c7e | |||
bd5293f4b1 | |||
b91180f5b2 | |||
7c3b5065a5 | |||
9aef802bea | |||
f7d85231f2 | |||
5b3a911e8d | |||
65f5e1c1ab | |||
839896c7e6 | |||
4a7e246604 | |||
7f293115c4 | |||
f59f40a659 | |||
64fd82f92c | |||
cd232fd732 | |||
172fa66b1f |
10
.gitignore
vendored
@ -1,11 +1,17 @@
|
||||
.cproject
|
||||
.project
|
||||
bin/
|
||||
calibrationWizards/
|
||||
slsDetectorGui/
|
||||
slsDetectorSoftware/
|
||||
slsReceiverSoftware/
|
||||
slsDetectorCalibration/
|
||||
slsImageReconstruction/
|
||||
.settings
|
||||
JCTBGui/
|
||||
*.aux
|
||||
*.log
|
||||
*.out
|
||||
*.toc
|
||||
build
|
||||
docs/
|
||||
RELEASE.txt
|
||||
tests
|
||||
|
45
.travis.yml
@ -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
|
||||
|
@ -1,57 +1,21 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
|
||||
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 ()
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
||||
|
||||
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)
|
||||
add_subdirectory(slsDetectorSoftware)
|
||||
add_subdirectory(slsReceiverSoftware)
|
||||
add_subdirectory(slsImageReconstruction)
|
||||
if (QT4_FOUND AND QWT_FOUND)
|
||||
add_subdirectory(slsDetectorGui)
|
||||
endif()
|
||||
|
||||
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)
|
||||
|
||||
|
||||
if (CALIBRATE)
|
||||
if (DEFINED ENV{ROOTSYS})
|
||||
find_package(ROOT)
|
||||
if (ROOT_FOUND)
|
||||
add_subdirectory(calibrationWizards)
|
||||
endif()
|
||||
if (DEFINED ENV{ROOTSYS})
|
||||
find_package(ROOT)
|
||||
if (ROOT_FOUND)
|
||||
add_subdirectory(calibrationWizards)
|
||||
endif()
|
||||
endif(CALIBRATE)
|
||||
endif()
|
||||
|
103
Makefile
@ -5,11 +5,10 @@ include Makefile.include
|
||||
|
||||
INSTALLROOT ?= $(PWD)
|
||||
BINDIR ?= $(INSTALLROOT)/bin
|
||||
DOCDIR ?= $(INSTALLROOT)/manual/docs
|
||||
DOCDIR ?= $(INSTALLROOT)/docs
|
||||
LIBDIR ?= $(INSTALLROOT)/bin
|
||||
INCDIR ?= $(INSTALLROOT)/include
|
||||
DETAILDOC ?= $(INSTALLROOT)/docs
|
||||
|
||||
|
||||
WD = $(shell pwd)
|
||||
LIBRARYDIR = $(WD)/slsDetectorSoftware
|
||||
LIBRARYRXRDIR = $(WD)/slsReceiverSoftware
|
||||
@ -19,27 +18,23 @@ 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 +=
|
||||
|
||||
$(info )
|
||||
$(info #######################################)
|
||||
$(info # In slsDetectorsPackage Makefile #)
|
||||
$(info # Compiling slsDetectorsPackage #)
|
||||
$(info #######################################)
|
||||
$(info )
|
||||
|
||||
|
||||
.PHONY: all nonstatic static lib libreceiver textclient receiver gui stextclient sreceiver
|
||||
|
||||
#all: lib textclient receiver gui
|
||||
all: textclient receiver gui
|
||||
all: lib textclient receiver gui
|
||||
|
||||
nonstatic: lib libreceiver textclient receiver gui
|
||||
|
||||
@ -47,62 +42,39 @@ static: lib libreceiver stextclient sreceiver gui
|
||||
|
||||
|
||||
lib:
|
||||
cd $(LIBRARYDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(LIBDIR)' LIBRARYDIR='$(LIBRARYDIR)' LIBS='$(LDFLAGDET)' INCLUDES='$(INCLUDES)' LIBDIR='$(LIBDIR)'
|
||||
cd $(LIBRARYDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(LIBDIR)' INCLUDES='$(INCLUDES)'
|
||||
|
||||
libreceiver:
|
||||
cd $(LIBRARYRXRDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(LIBDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' LIBDIR='$(LIBDIR)'
|
||||
cd $(LIBRARYRXRDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(LIBDIR)' INCLUDES='$(INCLUDESRXR)'
|
||||
|
||||
|
||||
stextclient: slsDetectorClient_static
|
||||
|
||||
slsDetectorClient: textclient
|
||||
|
||||
slsDetectorClient_static: #lib
|
||||
cd $(CLIENTDIR) && $(MAKE) static_clients FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBRARYDIR='$(LIBRARYDIR)' LIBS='$(LDFLAGDET)' INCLUDES='$(INCLUDES)' LIBDIR='$(LIBDIR)'
|
||||
@echo ""
|
||||
@echo "#######################################"
|
||||
@echo "# Back in slsDetectorPackage Makefile #"
|
||||
@echo "#######################################"
|
||||
@echo ""
|
||||
|
||||
textclient: #lib
|
||||
cd $(CLIENTDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBRARYDIR='$(LIBRARYDIR)' LIBS='$(LDFLAGDET)' INCLUDES='$(INCLUDES)' LIBDIR='$(LIBDIR)'
|
||||
@echo ""
|
||||
@echo "#######################################"
|
||||
@echo "# Back in slsDetectorPackage Makefile #"
|
||||
@echo "#######################################"
|
||||
@echo ""
|
||||
|
||||
slsDetectorClient_static: lib
|
||||
cd $(CLIENTDIR) && $(MAKE) static_clients FLAGS='$(FLAGS)' LIBS='$(LDFLAGDET)' DESTDIR='$(BINDIR)' LIBDIR='$(LIBDIR)' INCLUDES='$(INCLUDES)'
|
||||
|
||||
textclient: lib
|
||||
cd $(CLIENTDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBDIR='$(LIBDIR)' LIBS='$(LDFLAGDET)' INCLUDES='$(INCLUDES)'
|
||||
|
||||
|
||||
slsReceiver: receiver
|
||||
|
||||
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 #"
|
||||
@echo "#######################################"
|
||||
@echo ""
|
||||
|
||||
sreceiver: #libreceiver
|
||||
cd $(RECEIVERDIR) && $(MAKE) static_receiver FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' LIBDIR='$(LIBDIR)'
|
||||
@echo ""
|
||||
@echo "#######################################"
|
||||
@echo "# Back in slsDetectorPackage Makefile #"
|
||||
@echo "#######################################"
|
||||
@echo ""
|
||||
receiver: libreceiver
|
||||
cd $(RECEIVERDIR) && $(MAKE) receiver FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBDIR='$(LIBDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)'
|
||||
|
||||
sreceiver: libreceiver
|
||||
cd $(RECEIVERDIR) && $(MAKE) static_receiver FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBDIR='$(LIBDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)'
|
||||
|
||||
|
||||
|
||||
slsDetectorGUI: lib
|
||||
cd $(GUIDIR) && $(MAKE) DESTDIR='$(BINDIR)' LIBDIR='$(LIBDIR)' INCLUDES='$(INCLUDES)' LDFLAGDET='-L$(LIBDIR) -lSlsDetector'
|
||||
|
||||
|
||||
slsDetectorGUI: #lib
|
||||
cd $(GUIDIR) && $(MAKE) DESTDIR='$(BINDIR)' LIBRARYDIR='$(LIBRARYDIR)' INCLUDES='$(INCLUDES)' LDFLAGDET='$(LDFLAGDETONLY)' LIBDIR='$(LIBDIR)'
|
||||
@echo ""
|
||||
@echo "#######################################"
|
||||
@echo "# Back in slsDetectorPackage Makefile #"
|
||||
@echo "#######################################"
|
||||
@echo ""
|
||||
|
||||
calWiz:
|
||||
cd $(CALWIZDIR) && $(MAKE) DESTDIR=$(BINDIR) #FLAGS=$(FLAGS) LDFLAGDET=$(LDFLAGDET) INCLUDES=$(INCLUDES)
|
||||
|
||||
@ -119,26 +91,6 @@ htmldoc:
|
||||
make doc
|
||||
$(shell test -d $(DOCDIR) || mkdir -p $(DOCDIR))
|
||||
cd manual && make html DESTDIR=$(DOCDIR)
|
||||
|
||||
detaildoc: createdocs docspdf docshtml removedocs
|
||||
|
||||
createdocs: $(LIBRARYDIR)/doxy.config
|
||||
doxygen $(LIBRARYDIR)/doxy.config
|
||||
|
||||
docspdf:
|
||||
cd slsDetectorPackageDocs/latex && make
|
||||
$(shell test -d $(DETAILDOC) || mkdir -p $(DETAILDOC))
|
||||
$(shell test -d $(DETAILDOC)/pdf || mkdir -p $(DETAILDOC)/pdf)
|
||||
mv slsDetectorPackageDocs/latex/refman.pdf $(DETAILDOC)/pdf/slsDetectorPackageDocs.pdf
|
||||
|
||||
docshtml:
|
||||
$(shell test -d $(DETAILDOC) || mkdir -p $(DETAILDOC))
|
||||
$(shell test -d $(DETAILDOC)/html || mkdir -p $(DETAILDOC)/html)
|
||||
$(shell test -d $(DETAILDOC)/html/slsDetectorPackageDocs && rm -r $(DETAILDOC)/html/slsDetectorPackageDocs)
|
||||
mv slsDetectorPackageDocs/html $(DETAILDOC)/html/slsDetectorPackageDocs
|
||||
|
||||
removedocs:
|
||||
rm -rf slsDetectorPackageDocs;
|
||||
|
||||
|
||||
clean:
|
||||
@ -151,9 +103,7 @@ clean:
|
||||
cd $(CALWIZDIR) && $(MAKE) clean
|
||||
cd manual && $(MAKE) clean
|
||||
cd $(DOCDIR) && rm -rf *
|
||||
rm -rf slsDetectorPackageDocs;
|
||||
rm -rf $(DETAILDOC)
|
||||
rm -rf $(MANAPIDIR)/slsMultiReceiver
|
||||
|
||||
|
||||
|
||||
#install_lib:
|
||||
@ -224,6 +174,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 ""
|
||||
|
@ -5,32 +5,40 @@
|
||||
CC = g++
|
||||
CXX = $(CC)
|
||||
ASM=$(shell echo "/lib/modules/`uname -r`/build/include")
|
||||
LDFLAGDETONLY = -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsDetector
|
||||
LDFLAGDET = -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsDetector -L/usr/lib64/ -pthread
|
||||
LDFLAGRXR = -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsReceiver -L/usr/lib64/ -pthread
|
||||
FLAGS= -Wall -pthread #-DEIGER_DEBUG2
|
||||
FLAGS= -Wall -pthread #-DEIGER_DEBUG2 -DEIGER_DEBUG -DEIGER_DEBUG3 #-DFIFO_DEBUG
|
||||
# -DVERBOSE
|
||||
|
||||
# Setting up the verbose flags
|
||||
ifeq ($(DEBUG),1)
|
||||
FLAGS = -Wall -DVERBOSE
|
||||
FLAGS = -Wall -pthread -DVERBOSE
|
||||
endif
|
||||
ifeq ($(DEBUG),2)
|
||||
FLAGS = -Wall -DVERYVERBOSE
|
||||
FLAGS = -Wall -pthread -DVERYVERBOSE
|
||||
endif
|
||||
|
||||
##############################################################
|
||||
# HDF5 specific. Set this to yes, if you want to compile
|
||||
# HDF5 code: in this case, you need HDF5 libraries
|
||||
# EigerSLS specific. Set this to yes, if you want to compile
|
||||
# EigerSLS code: in this case, you need also POCO and JsonBox
|
||||
# libraries
|
||||
##############################################################
|
||||
|
||||
HDF5 = no
|
||||
HDF5_DIR = /opt/hdf5v1.10.0
|
||||
REST = no
|
||||
|
||||
ifeq ($(HDF5),yes)
|
||||
LDFLAGRXR = -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsReceiver -L$(HDF5_DIR)/lib -Wl,-rpath=$(HDF5_DIR)/lib -lhdf5 -lhdf5_cpp -lsz -lz -DHDF5C -L/usr/lib64/ -pthread
|
||||
INCLUDESRXR = -I$(HDF5_DIR)/include
|
||||
endif
|
||||
#POCODIR = /afs/psi.ch/user/s/sala/public/poco-slp_5.7-32bit
|
||||
#JSONBOXDIR = /afs/psi.ch/user/s/sala/public/JsonBox-slp_5.7-32bit
|
||||
POCODIR = /afs/psi.ch/user/s/sala/public/poco-slp_6.4-64bit
|
||||
JSONBOXDIR = /afs/psi.ch/user/s/sala/public/JsonBox-slp_6.4-64bit
|
||||
#POCODIR = /home/sala/Programs/poco-ubuntu_13.10-64bit
|
||||
#JSONBOXDIR = /home/sala/Programs/JsonBox-ubuntu_13.10-64bit
|
||||
|
||||
RESTFLAGS = -L$(POCODIR)/lib -Wl,-rpath=$(POCODIR)/lib -L$(JSONBOXDIR) -Wl,-rpath=$(JSONBOXDIR)/lib -lPocoNet -lPocoFoundation -lJsonBox
|
||||
|
||||
ifeq ($(REST),yes)
|
||||
LDFLAGRXR = -L$(LIBDIR) -lSlsReceiver $(RESTFLAGS) -DREST
|
||||
INCLUDESRXR = $(EIGERFLAGS) -I$(POCODIR)/include -I$(JSONBOXDIR)/include
|
||||
endif
|
||||
|
||||
|
||||
##############################################################
|
||||
@ -47,11 +55,6 @@ ifeq ($(ROOTSLS),yes)
|
||||
endif
|
||||
|
||||
|
||||
define colorecho
|
||||
@tput setaf 6
|
||||
@echo $1
|
||||
@tput sgr0
|
||||
endef
|
||||
|
||||
|
||||
|
||||
|
89
README.md
@ -1,91 +1,44 @@
|
||||
### 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
|
||||
```
|
||||
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
|
||||
```
|
||||
|
571
RELEASE.txt
@ -1,508 +1,135 @@
|
||||
SLS Detector Package 4.0.0 released on 27.09.2018
|
||||
=================================================
|
||||
SLS Detector Package 2.3.0 released on 2017-03-23
|
||||
================================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
INTRODUCTION
|
||||
|
||||
This document describes the differences between 4.0.0 and 3.1.4 releases.
|
||||
This document describes the differences between previous versions and 2.3.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/docs/html/slsDetectorClientDocs/index.html
|
||||
manual/docs/pdf/slsDetectorClientDocs.pdf
|
||||
|
||||
C++ API Documentation:
|
||||
manual/docs/html/slsDetectorUsersDocs/index.html
|
||||
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
|
||||
|
||||
|
||||
Support
|
||||
-------
|
||||
Manuals can be found under the 'manual' folder.
|
||||
|
||||
User documentation and other help can be accessed directly at this location:
|
||||
|
||||
https://www.psi.ch/detectors/users-support
|
||||
|
||||
If you have any software related questions or comments, please send them to:
|
||||
|
||||
dhanya.thattil@psi.ch
|
||||
|
||||
General Software related:
|
||||
dhanya.thattil@psi.ch
|
||||
anna.bergamaschi@psi.ch
|
||||
|
||||
Python related:
|
||||
erik.frojdh@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
|
||||
========================
|
||||
|
||||
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
|
||||
Changes in User Interface
|
||||
=========================
|
||||
|
||||
|
||||
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.
|
||||
|
||||
This release supports the following features:
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
Receiver
|
||||
--------
|
||||
--------
|
||||
- The files will be written in this format in the default mode:
|
||||
* ASCII file header of 1024 bytes (only for EIGER detectors)
|
||||
* series of images, each preceded by a Standard Header image
|
||||
(header described below)
|
||||
|
||||
1. Reciever Header Structure in file writing and call back:
|
||||
|
||||
- Stanard Header 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.
|
||||
* Packet Number : 4 bytes # Number of packets in an image
|
||||
* Bunch ID : 8 bytes # Bunch Id in beamline for jungfrau.
|
||||
* Timestamp : 8 bytes # Not implemened
|
||||
* Module Id : 2 bytes # Not implemented
|
||||
* X Coordinate : 2 bytes # Id of part of detector in 1D
|
||||
* Y Coordinate : 2 bytes # Not implemented
|
||||
* Z Coordinate : 2 bytes # Not implemented
|
||||
* Debug : 4 bytes # Not implemented
|
||||
* Round Robin Number : 2 bytes # Not implemented
|
||||
* Detector Type : 1 byte # Detector type defined by enum
|
||||
detectorType in slsReceiverSoftware
|
||||
/include/sls_receiver_defs.h
|
||||
* Header Version : 1 byte # 1
|
||||
|
||||
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.
|
||||
- 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).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
New Features
|
||||
============
|
||||
Eiger
|
||||
-----
|
||||
- Tau is moved to settings file, Gain and offset are removed from calibration
|
||||
file. Put settings only sets client variable, whereas putting threshold loads
|
||||
settings files to the server.
|
||||
|
||||
- Mode argument in starting up receiver is removed. FlippedData command is used
|
||||
in config file to specify bottom.
|
||||
|
||||
|
||||
Receiver
|
||||
--------
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
--------
|
||||
- Image Reconstruction from the files are different as packet headers are not
|
||||
stored and a standard image header is used.
|
||||
|
||||
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
|
||||
-----------------
|
||||
General
|
||||
-------
|
||||
|
||||
- Users folder that gives an example on how to user the slsDetectorUsers and
|
||||
slsReceiverUsers class.
|
||||
|
||||
- Data is streamed from Receiver to Gui via ZMQ if gui call back defined.
|
||||
|
||||
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
|
||||
------
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
-----------
|
||||
|
||||
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
|
||||
---
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
|
||||
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. 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.
|
||||
|
||||
4. Restructuring and refactoring of client code.
|
||||
Eiger
|
||||
-----
|
||||
- Frame and packet counters in server to check delays were buggy.
|
||||
|
||||
|
||||
Known Issues
|
||||
============
|
||||
- X, Y and Z Coordinates do not exactly define the position of the
|
||||
detector in 3d. This will be defined in the next release. Other header
|
||||
parameters will be complete in the next release.
|
||||
|
||||
- Too many split files per detector especially for Eiger. Next Release will
|
||||
have a HDF5 version, with virtual file mapping all the split files in an
|
||||
acquisition.
|
||||
|
||||
- This version is tested only for Eiger and Jungfrau.
|
||||
|
||||
|
||||
|
17
checkout.sh
Executable 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
|
@ -1 +1 @@
|
||||
rm /dev/shm/slsDetectorPackage*;
|
||||
for i in seq `ipcs -m | cut -d ' ' -f1`; do ipcrm -M $i; done;
|
||||
|
204
cmk.sh
@ -1,204 +0,0 @@
|
||||
#!/bin/bash
|
||||
BUILDDIR="build"
|
||||
HDF5DIR="/opt/hdf5v1.10.0"
|
||||
HDF5=0
|
||||
COMPILERTHREADS=0
|
||||
TEXTCLIENT=0
|
||||
RECEIVER=0
|
||||
GUI=0
|
||||
DEBUG=0
|
||||
|
||||
|
||||
CLEAN=0
|
||||
REBUILD=0
|
||||
CMAKE_PRE=""
|
||||
CMAKE_POST=""
|
||||
|
||||
usage() { echo -e "
|
||||
Usage: $0 [-c] [-b] [-h] [-d <HDF5 directory>] [-j]
|
||||
-[no option]: only make
|
||||
-c: Clean
|
||||
-b: Builds/Rebuilds CMake files normal mode
|
||||
-h: Builds/Rebuilds Cmake files with HDF5 package
|
||||
-d: HDF5 Custom Directory
|
||||
-t: Build/Rebuilds only text client
|
||||
-r: Build/Rebuilds only receiver
|
||||
-g: Build/Rebuilds only gui
|
||||
-j: Number of threads to compile through
|
||||
-e: Debug mode
|
||||
|
||||
For only make:
|
||||
./cmk.sh
|
||||
|
||||
For make clean;make:
|
||||
./cmk.sh -c
|
||||
|
||||
For using hdf5 without default dir /opt/hdf5v1.10.0:
|
||||
./cmk.sh -h
|
||||
|
||||
For using hdf5 without custom dir /blabla:
|
||||
./cmk.sh -h -d /blabla
|
||||
|
||||
For rebuilding cmake without hdf5 (Use this if you had previously run with hdf5 and now you dont want it)
|
||||
./cmk.sh -b
|
||||
|
||||
For using multiple cores to compile faster:
|
||||
(all these options work)
|
||||
./cmk.sh -j9
|
||||
./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
|
||||
case $opt in
|
||||
b)
|
||||
echo "Building of CMake files Required"
|
||||
REBUILD=1
|
||||
;;
|
||||
c)
|
||||
echo "Clean Required"
|
||||
CLEAN=1
|
||||
;;
|
||||
h)
|
||||
echo "Building of CMake files with HDF5 option Required"
|
||||
HDF5=1
|
||||
REBUILD=1
|
||||
;;
|
||||
d)
|
||||
echo "New HDF5 directory: $OPTARG"
|
||||
HDF5DIR=$OPTARG
|
||||
;;
|
||||
j)
|
||||
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
|
||||
exit 1
|
||||
;;
|
||||
:)
|
||||
echo "Option -$OPTARG requires an argument."
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
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"
|
||||
mkdir $BUILDDIR;
|
||||
REBUILD=1
|
||||
else
|
||||
#rebuild not requested, but no makefile
|
||||
if [ $REBUILD -eq 0 ] && [ ! -f "$BUILDDIR/Makefile" ] ; then
|
||||
echo "No Makefile. Building of Cmake files required"
|
||||
REBUILD=1
|
||||
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 "
|
||||
#normal mode rebuild
|
||||
else
|
||||
CMAKE_POST+=" -DUSE_HDF5=OFF "
|
||||
fi
|
||||
|
||||
|
||||
#enter build dir
|
||||
cd $BUILDDIR;
|
||||
echo "in "$PWD
|
||||
|
||||
|
||||
|
||||
#cmake
|
||||
if [ $REBUILD -eq 1 ]; then
|
||||
rm -f CMakeCache.txt
|
||||
BUILDCOMMAND="$CMAKE_PRE cmake $CMAKE_POST .."
|
||||
echo $BUILDCOMMAND
|
||||
eval $BUILDCOMMAND
|
||||
fi
|
||||
|
||||
#make clean
|
||||
if [ $CLEAN -eq 1 ]; then
|
||||
make clean;
|
||||
fi
|
||||
|
||||
|
||||
#make
|
||||
if [ $COMPILERTHREADS -gt 0 ]; then
|
||||
BUILDCOMMAND="make -j$COMPILERTHREADS"
|
||||
echo $BUILDCOMMAND
|
||||
eval $BUILDCOMMAND
|
||||
else
|
||||
make
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,22 +0,0 @@
|
||||
GITREPO1='git remote -v'
|
||||
GITREPO2=" | grep \"fetch\" | cut -d' ' -f1"
|
||||
BRANCH1='git branch -v'
|
||||
BRANCH2=" | grep '*' | cut -d' ' -f2"
|
||||
REPUID1='git log --pretty=format:"%H" -1'
|
||||
AUTH1_1='git log --pretty=format:"%cn" -1'
|
||||
AUTH1_2=" | cut -d' ' -f1"
|
||||
AUTH2_1='git log --pretty=format:"%cn" -1'
|
||||
AUTH2_2=" | cut -d' ' -f2"
|
||||
FOLDERREV1='git log --oneline . ' #used for all the individual server folders
|
||||
FOLDERREV2=" | wc -l" #used for all the individual server folders
|
||||
REV1='git log --oneline '
|
||||
REV2=" | wc -l"
|
||||
|
||||
GITREPO=`eval $GITREPO1 $GITREPO2`
|
||||
BRANCH=`eval $BRANCH1 $BRANCH2`
|
||||
REPUID=`eval $REPUID1`
|
||||
AUTH1=`eval $AUTH1_1 $AUTH1_2`
|
||||
AUTH2=`eval $AUTH2_1 $AUTH2_2`
|
||||
REV=`eval $REV1 $REV2`
|
||||
FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2`
|
||||
|
@ -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
|
@ -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
|
@ -1,33 +0,0 @@
|
||||
detsizechan 1024 512
|
||||
#detetctor geometry, long side of the module first
|
||||
hostname beb059+beb058+
|
||||
#1Gb detector hostname for controls
|
||||
|
||||
0:rx_tcpport 1991
|
||||
#tcpport for the first halfmodule
|
||||
0:rx_udpport 50011
|
||||
#udp port first quadrant, first halfmodule
|
||||
0:rx_udpport2 50012
|
||||
#udp port second quadrant, first halfmodule
|
||||
0:rx_udpip 10.0.30.210
|
||||
#udp IP of the receiver over 10Gb
|
||||
0:detectorip 10.0.30.100
|
||||
#first half module 10 Gb IP
|
||||
|
||||
1:rx_tcpport 1992
|
||||
#tcpport for the second halfmodule
|
||||
1:rx_udpport 50013
|
||||
#udp port first quadrant, second halfmodule
|
||||
1:rx_udpport2 50014
|
||||
#udp port second quadrant, second halfmodule
|
||||
1:rx_udpip 10.0.40.210
|
||||
#udp IP of the receiver over 10Gb,
|
||||
#can be the same or different from 0:rx_udpip
|
||||
1:detectorip 10.0.40.101
|
||||
#second half module 10 Gb IP
|
||||
|
||||
rx_hostname x12sa-vcons
|
||||
#1Gb receiver pc hostname
|
||||
|
||||
outdir /sls/X12SA/data/x12saop/Data10/Eiger0.5M
|
||||
threaded 1
|
@ -1,24 +0,0 @@
|
||||
detsizechan 1024 512
|
||||
#detetctor geometry, long side of the module first
|
||||
hostname beb059+beb058+
|
||||
#1Gb detector hostname for controls
|
||||
|
||||
0:rx_tcpport 1991
|
||||
#tcpport for the first halfmodule
|
||||
0:rx_udpport 50011
|
||||
#udp port first quadrant, first halfmodule
|
||||
0:rx_udpport2 50012
|
||||
#udp port second quadrant, first halfmodule
|
||||
|
||||
1:rx_tcpport 1992
|
||||
#tcpport for the second halfmodule
|
||||
1:rx_udpport 50013
|
||||
#udp port first quadrant, second halfmodule
|
||||
1:rx_udpport2 50014
|
||||
#udp port second quadrant, second halfmodule
|
||||
|
||||
rx_hostname x12sa-vcons
|
||||
#1Gb receiver pc hostname
|
||||
|
||||
outdir /sls/X12SA/data/x12saop/Data10/Eiger0.5M
|
||||
threaded 1
|
@ -1,11 +1,18 @@
|
||||
hostname bchip007
|
||||
|
||||
type Gotthard+
|
||||
0: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
|
||||
|
@ -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
|
||||
|
||||
|
@ -1,15 +0,0 @@
|
||||
hostname bchip038+
|
||||
|
||||
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
|
||||
|
||||
outdir /external_pool/jungfrau_data/softwaretest
|
||||
|
||||
|
@ -1,25 +0,0 @@
|
||||
detsizechan 1024 1024
|
||||
hostname bchip048+bchip052+
|
||||
|
||||
0:rx_udpport 50004
|
||||
0:rx_udpip 10.1.1.100
|
||||
0:rx_udpmac F4:52:14:2F:32:00
|
||||
0:detectorip 10.1.1.10
|
||||
0:detectormac 00:aa:bb:cc:dd:33
|
||||
|
||||
1:rx_tcpport 1955
|
||||
1:rx_udpport 50005
|
||||
1:rx_udpip 10.1.1.100
|
||||
1:rx_udpmac F4:52:14:2F:32:00
|
||||
1:detectorip 10.1.1.11
|
||||
1:detectormac 00:aa:bb:cc:dd:33
|
||||
|
||||
rx_hostname pcmoench01
|
||||
|
||||
powerchip 1
|
||||
#extsig:0 trigger_in_rising_edge
|
||||
#timing trigger
|
||||
|
||||
outdir /external_pool/jungfrau_data/softwaretest
|
||||
|
||||
|
@ -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
|
||||
|
@ -2,17 +2,23 @@
|
||||
|
||||
detsizechan 2560 1
|
||||
|
||||
#type Gotthard+
|
||||
hostname bchip007+bchip009+
|
||||
|
||||
#0:hostname bchip007
|
||||
#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 +32,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 +63,4 @@ badchannels none
|
||||
angconv none
|
||||
globaloff 0.000000
|
||||
binsize 0.001000
|
||||
|
||||
threaded 1
|
||||
|
@ -15,11 +15,11 @@ fout=$3
|
||||
|
||||
#dat=echo "date '+%Y%m%d'"
|
||||
|
||||
echo "Updating $fout"
|
||||
#echo "in: $fin tmp: $ftmp out: $fout"
|
||||
|
||||
echo "in: $fin tmp: $ftmp out: $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
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
git $1
|
||||
for i in sls*/; do
|
||||
cd $i
|
||||
echo $i
|
||||
git $1
|
||||
cd ..
|
||||
done
|
@ -1,11 +1,11 @@
|
||||
DESTDIR?=docs
|
||||
DESTDIR?=../docs
|
||||
|
||||
|
||||
#manual-api manual-calwiz manual-client manual-gui manual-main
|
||||
|
||||
|
||||
|
||||
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-%)
|
||||
@ -14,18 +14,18 @@ ALLDIRS=$(MAINDIRS:manual-%=all-%)
|
||||
|
||||
|
||||
all: $(ALLDIRS)
|
||||
# $(shell test -d $(DESTDIR)/pdf && rm -fr $(DESTDIR)/pdf)
|
||||
# mv pdf $(DESTDIR)
|
||||
# $(shell test -d $(DESTDIR)/html && rm -fr $(DESTDIR)/html)
|
||||
# mv html $(DESTDIR)
|
||||
|
||||
$(shell test -d $(DESTDIR)/pdf && rm -fr $(DESTDIR)/pdf)
|
||||
mv pdf $(DESTDIR)
|
||||
$(shell test -d $(DESTDIR)/html && rm -fr $(DESTDIR)/html)
|
||||
mv html $(DESTDIR)
|
||||
|
||||
pdf: $(PDFDIRS)
|
||||
# $(shell test -d $(DESTDIR)/pdf && rm -fr $(DESTDIR)/pdf)
|
||||
# mv pdf $(DESTDIR)
|
||||
$(shell test -d $(DESTDIR)/pdf && rm -fr $(DESTDIR)/pdf)
|
||||
mv pdf $(DESTDIR)
|
||||
|
||||
html: $(HTMLDIRS)
|
||||
# $(shell test -d $(DESTDIR)/html && rm -fr $(DESTDIR)/html)
|
||||
# mv html $(DESTDIR)
|
||||
$(shell test -d $(DESTDIR)/html && rm -fr $(DESTDIR)/html)
|
||||
mv html $(DESTDIR)
|
||||
|
||||
clean: $(CLEANDIRS)
|
||||
rm -fr $(DESTDIR)/pdf
|
||||
@ -45,7 +45,7 @@ clean-%:
|
||||
cd $(@:clean-%=manual-%) && make clean
|
||||
|
||||
|
||||
#<23><>$(@D)<29><> The directory part of the file name of the target, with the trailing slash removed. If the value of <20><>$@<40><> is dir/foo.o then <20><>$(@D)<29><> is dir. This value is . if <20><>$@<40><> does not contain a slash.
|
||||
#<23><>$(@F)<29><> The file-within-directory part of the file name of the target. If the value of <20><>$@<40><> is dir/foo.o then <20><>$(@F)<29><> is foo.o. <20><>$(@F)<29><> is equivalent to <20><>$(notdir $@)<29><>.
|
||||
#<23><>$(@D)<29><> The directory part of the file name of the target, with the trailing slash removed. If the value of <20><>$@<40><> is dir/foo.o then <20><>$(@D)<29><> is dir. This value is . if <20><>$@<40><> does not contain a slash.
|
||||
#<23><>$(@F)<29><> The file-within-directory part of the file name of the target. If the value of <20><>$@<40><> is dir/foo.o then <20><>$(@F)<29><> is foo.o. <20><>$(@F)<29><> is equivalent to <20><>$(notdir $@)<29><>.
|
||||
|
||||
|
||||
|
@ -1,35 +0,0 @@
|
||||
set(SOURCES
|
||||
mainReceiver.cpp
|
||||
)
|
||||
|
||||
include_directories(
|
||||
../../slsReceiverSoftware/include
|
||||
../../slsDetectorSoftware/slsDetectorAnalysis
|
||||
../../build/bin
|
||||
../../slsdetectorSoftware/slsDetector
|
||||
)
|
||||
|
||||
add_executable(slsMultiReceiver
|
||||
${SOURCES}
|
||||
)
|
||||
|
||||
target_link_libraries(slsMultiReceiver
|
||||
slsReceiverShared
|
||||
pthread
|
||||
zmq
|
||||
rt
|
||||
${HDF5_LIBRARIES}
|
||||
)
|
||||
|
||||
if (HDF5_FOUND)
|
||||
target_link_libraries(slsMultiReceiver
|
||||
${HDF5_LIBRARIES}
|
||||
)
|
||||
endif ()
|
||||
|
||||
|
||||
set_target_properties(slsMultiReceiver PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
)
|
||||
|
||||
install(TARGETS slsMultiReceiver DESTINATION bin)
|
@ -1,62 +1,28 @@
|
||||
PKGDIR = ../..
|
||||
LIBDIR = $(PKGDIR)/build/bin
|
||||
INCLUDES = -I . -I$(PKGDIR)/slsReceiverSoftware/include -I$(PKGDIR)/slsDetectorSoftware/slsDetectorAnalysis -I$(LIBDIR) -I$(PKGDIR)/slsDetectorSoftware/slsDetector
|
||||
INCLUDES = -I .
|
||||
SRC_DET = mainClient.cpp
|
||||
SRC_REC = mainReceiver.cpp
|
||||
ZMQLIBDIR = $(PKGDIR)/slsReceiverSoftware/include
|
||||
LDFLAG_DET = -I. -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsDetector -L/usr/lib64/ -pthread -lrt -L$(ZMQLIBDIR) -Wl,-rpath=$(ZMQLIBDIR) -lzmq
|
||||
LDFLAG_REC = -I. -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsReceiver -L/usr/lib64/ -pthread -lrt -L$(ZMQLIBDIR) -Wl,-rpath=$(ZMQLIBDIR) -lzmq
|
||||
LIBDIR = ../../bin
|
||||
LDFLAG_DET = -L$(LIBDIR) -lSlsDetector -L/usr/lib64/ -pthread
|
||||
LDFLAG_REC = -L$(LIBDIR) -lSlsReceiver -L/usr/lib64/ -pthread
|
||||
DESTDIR ?= ../docs
|
||||
|
||||
HDF5 ?= no
|
||||
HDF5_DIR ?= /opt/hdf5v1.10.0
|
||||
|
||||
ifeq ($(HDF5),yes)
|
||||
LDFLAG_REC += -L$(HDF5_DIR)/lib -Wl,-rpath=$(HDF5_DIR)/lib -lhdf5 -lhdf5_cpp -lsz -lz -DHDF5C
|
||||
endif
|
||||
#all: detUser detReceiver
|
||||
all: docs
|
||||
|
||||
all: docs detUser slsMultiReceiver
|
||||
#all: docs
|
||||
docs:
|
||||
doxygen slsDetectorUsers.doxy
|
||||
|
||||
docs: createdocs docspdf docshtml removedocs
|
||||
|
||||
createdocs: slsDetectorUsers.doxy mainClient.cpp mainReceiver.cpp
|
||||
doxygen slsDetectorUsers.doxy
|
||||
|
||||
docspdf:
|
||||
cd slsDetectorUsersDocs/latex && make
|
||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
|
||||
mv slsDetectorUsersDocs/latex/refman.pdf $(DESTDIR)/pdf/slsDetectorUsersDocs.pdf
|
||||
|
||||
docshtml:
|
||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
|
||||
$(shell test -d $(DESTDIR)/html/slsDetectorUsersDocs && rm -r $(DESTDIR)/html/slsDetectorUsersDocs)
|
||||
mv slsDetectorUsersDocs/html $(DESTDIR)/html/slsDetectorUsersDocs
|
||||
|
||||
removedocs:
|
||||
rm -rf slsDetectorUsersDocs;
|
||||
|
||||
detUser:$(SRC_DET)
|
||||
echo "creating client"
|
||||
mkdir -p bin
|
||||
g++ -o bin/detUser $(SRC_DET) $(INCLUDES) $(LDFLAG_DET) -lm -lstdc++
|
||||
g++ -o detUser $(SRC_DET) $(INCLUDES) $(LDFLAG_DET) -lm -lstdc++
|
||||
|
||||
slsMultiReceiver:$(SRC_REC)
|
||||
detReceiver:$(SRC_REC)
|
||||
echo "creating receiver"
|
||||
echo $LDFLAG_REC
|
||||
mkdir -p bin
|
||||
g++ -o bin/slsMultiReceiver $(SRC_REC) $(INCLUDES) $(LDFLAG_REC) -lm -lstdc++
|
||||
cp bin/slsMultiReceiver $(LIBDIR)
|
||||
g++ -o detReceiver $(SRC_REC) $(INCLUDES) $(LDFLAG_REC) -lm -lstdc++
|
||||
|
||||
clean:
|
||||
echo "cleaning for manual-api"
|
||||
rm -rf bin/detUser bin/slsMultiReceiver bin/detReceiver slsDetectorUsersDocs
|
||||
rm -rf slsDetectorUsersDocs
|
||||
rm -rf $(DESTDIR)/html/slsDetectorUsersDocs
|
||||
rm -rf $(DESTDIR)/pdf/slsDetectorUsersDocs.pdf
|
||||
rm -rf $(LIBDIR)/slsMultiReceiver
|
||||
|
||||
echo "cleaning"
|
||||
rm -rf detUser detReceiver slsDetectorUsersDocs
|
||||
|
||||
|
||||
|
BIN
manual/manual-api/detReceiver
Executable file
BIN
manual/manual-api/detUser
Executable file
1
manual/manual-api/detectorData.h
Symbolic link
@ -0,0 +1 @@
|
||||
../../slsDetectorSoftware/slsDetectorAnalysis/detectorData.h
|
@ -80,24 +80,7 @@ LATEX_HIDE_INDICES = YES
|
||||
|
||||
PREDEFINED = __cplusplus
|
||||
|
||||
INPUT = analogDetector.h \
|
||||
pedestalSubtraction.h \
|
||||
MovingStat.h \
|
||||
singlePhotonDetector.h \
|
||||
interpolatingDetector.h tiffIO.h \
|
||||
single_photon_hit.h \
|
||||
dataStructures/slsDetectorData.h \
|
||||
commonModeSubtraction.h \
|
||||
RunningStat.h \
|
||||
interpolations/etaInterpolationBase.h \
|
||||
interpolations/slsInterpolation.h \
|
||||
interpolations/etaInterpolationPosXY.h \
|
||||
interpolations/linearInterpolation.h \
|
||||
interpolations/noInterpolation.h \
|
||||
interpolations/etaInterpolationGlobal.h \
|
||||
multiThreadedAnalogDetector.h
|
||||
|
||||
|
||||
OUTPUT_DIRECTORY = slsDetectorCalibrationDocs
|
||||
INPUT = slsDetector/slsDetectorUsers.h slsDetector/slsDetectorBase.h commonFiles/sls_detector_defs.h slsDetector/slsDetector.h MySocketTCP/MySocketTCP.h usersFunctions/usersFunctions.h multiSlsDetector/multiSlsDetector.h commonFiles/sls_detector_defs.h slsDetector/slsDetectorUtils.h slsDetector/slsDetectorBase.h slsDetector/slsDetectorCommand.h slsDetector/slsDetectorActions.h multiSlsDetector/multiSlsDetector.h slsDetectorAnalysis/detectorData.h slsDetectorAnalysis/energyConversion.h slsDetectorAnalysis/postProcessing.h slsDetectorAnalysis/angularConversion.h slsDetectorAnalysis/fileIO.h multiSlsDetector/multiSlsDetectorClient.h multiSlsDetector/multiSlsDetectorCommand.h slsDetectorAnalysis/angularConversionStatic.h slsDetectorAnalysis/angleConversionConstant.h slsDetectorAnalysis/enCalLogClass.h slsDetectorAnalysis/angCalLogClass.h slsDetectorAnalysis/badChannelCorrections.h slsDetectorAnalysis/fileIOStatic.h slsReceiverInterface/receiverInterface.h slsReceiver/slsReceiver_funcs.h slsReceiver/slsReceiverFunctionList.h slsReceiver/receiver_defs.h
|
||||
|
||||
OUTPUT_DIRECTORY = docs
|
||||
|
||||
#moench03Ctb10GbT1Data.h moench03TCtbData.h moench03T1CtbData.h moench03CtbData.h moench03Ctb10GbData.h moench03TCtb10GbData.h Mythen3_01_jctbData.h adcSar2_jctbData.h eigerHalfModuleData.h energyCalibration.h slsReceiverData.h gotthardModuleData.h gotthardShortModuleData.h jungfrau02Data.h jungfrau10ModuleData.h moench02Ctb10GbData.h moench02CtbData.h moench02ModuleData.h moench03CommonMode.h moenchCommonMode.h chiptestBoardData.h interpolation/etaVEL/interpolation_EtaVEL.h interpolation/etaVEL/EtaVEL.h etaVEL/iterativeEtaInterpolation.h dataStructures/moench03T1ZmqData.h
|
@ -4,103 +4,97 @@
|
||||
This file is an example of how to implement the slsDetectorUsers class
|
||||
You can compile it linking it to the slsDetector library
|
||||
|
||||
g++ mainClient.cpp -L lib -lSlsDetector -L/usr/lib64/ -L lib2 -lzmq -pthread -lrt -lm -lstdc++
|
||||
gcc mainClient.cpp -L lib -l SlsDetector -lm -pthread
|
||||
|
||||
where,
|
||||
where lib is the location of libSlsDetector.so
|
||||
|
||||
lib is the location of libSlsDetector.so
|
||||
|
||||
lib2 is the location of the libzmq.a.
|
||||
[ libzmq.a is required only when using data call backs and enabling data streaming from receiver to client.
|
||||
It is linked in manual/manual-api from slsReceiverSoftware/include ]
|
||||
|
||||
*/
|
||||
*/
|
||||
|
||||
#include <iostream>
|
||||
#include "slsDetectorUsers.h"
|
||||
#include "detectorData.h"
|
||||
#include <iostream>
|
||||
#include <cstdlib>
|
||||
|
||||
/**
|
||||
* Data Call back function defined
|
||||
* @param pData pointer to data structure received from the call back
|
||||
* @param iframe frame number of data passed
|
||||
* @param isubframe sub frame number of data passed ( only valid for EIGER in 32 bit mode)
|
||||
* @param pArg pointer to object
|
||||
* \returns integer that is currently ignored
|
||||
*/
|
||||
int dataCallback(detectorData *pData, int iframe, int isubframe, void *pArg)
|
||||
|
||||
/** Definition of the data callback which simply prints out the number of points received and teh frame number */
|
||||
int dataCallback(detectorData *pData, int iframe, void *pArg)
|
||||
{
|
||||
std::cout << " DataCallback:"
|
||||
<< "\n nx : " << pData->npoints
|
||||
<< "\n ny : " << pData->npy
|
||||
<< "\n Frame number : " << iframe << std::endl;
|
||||
std::cout << "dataCallback: " << pData->npoints << " " << pData->npy << "Frame number: " << iframe << std::endl;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Example of a main program using the slsDetectorUsers class
|
||||
*
|
||||
* - Arguments are optional
|
||||
* - argv[1] : Configuration File
|
||||
* - argv[2] : Measurement Setup File
|
||||
* - argv[3] : Detector Id (default is zero)
|
||||
*/
|
||||
int main(int argc, char **argv) {
|
||||
/** - if specified, set ID from argv[3] */
|
||||
int id=0;
|
||||
if (argc>=4)
|
||||
id=atoi(argv[3]);
|
||||
/**example of a main program using the slsDetectorUsers class */
|
||||
int main(int argc, char *argv[]) {
|
||||
int id=0;
|
||||
int status;
|
||||
/** if specified, argv[2] is used as detector ID (default is 0)*/
|
||||
if (argc>=3)
|
||||
id=atoi(argv[2]);
|
||||
|
||||
|
||||
|
||||
/** - slsDetectorUsers Object is instantiated with appropriate ID */
|
||||
int ret = 1;
|
||||
slsDetectorUsers *pDetector = new slsDetectorUsers (ret, id);
|
||||
if (ret == 1) {
|
||||
std::cout << "Error: Could not instantiate slsDetectorUsers" << std::endl;
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
/** slsDetectorUsers is instantiated */
|
||||
slsDetectorUsers *pDetector = new slsDetectorUsers (id);
|
||||
|
||||
|
||||
/** if specified, argv[1] is used as detector config file (necessary at least the first time it is called to properly configure advanced settings in the shared memory)*/
|
||||
if (argc>=2)
|
||||
pDetector->readConfigurationFile(argv[1]);
|
||||
|
||||
/** Setting the detector online (should be by default */
|
||||
pDetector->setOnline(1);
|
||||
|
||||
/** - if specified, load configuration file (necessary at least the first time it is called to properly configure advanced settings in the shared memory) */
|
||||
if (argc>=2){
|
||||
pDetector->readConfigurationFile(argv[1]);
|
||||
std::cout << "Detector configured" << std::endl;
|
||||
}
|
||||
/** Load setup file if argv[2] specified */
|
||||
if (argc>=3)
|
||||
pDetector->retrieveDetectorSetup( argv[2]);
|
||||
else{
|
||||
/** defining the detector size */
|
||||
int minX, minY=0, sizeX, sizeY=1;
|
||||
pDetector->getDetectorSize(minX, minY, sizeX, sizeY);
|
||||
std::cout << "X: Start=" << minX << ", Size= " << sizeX << std::endl;
|
||||
std::cout << "Y: Start=" << minY << ", Size= " << sizeY << std::endl;
|
||||
pDetector->setDetectorSize(0,0,7680,1);
|
||||
std::cout << pDetector->getDetectorDeveloper() << std::endl;
|
||||
|
||||
/** - set detector in shared memory online (in case no config file was used) */
|
||||
pDetector->setOnline(1);
|
||||
/** registering data callback */
|
||||
pDetector->registerDataCallback(&dataCallback, NULL);
|
||||
|
||||
/** - set receiver in shared memory online (in case no config file was used) */
|
||||
pDetector->setReceiverOnline(1);
|
||||
/** checking detector status and exiting if not idle */
|
||||
status = pDetector->getDetectorStatus();
|
||||
if (status != 0){
|
||||
std::cout << "Detector not ready: " << slsDetectorUsers::runStatusType(status) << std::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/** - registering data callback */
|
||||
pDetector->registerDataCallback(&dataCallback, NULL);
|
||||
/** checking and setting detector settings */
|
||||
std::cout << "settings: " << slsDetectorUsers::getDetectorSettings(pDetector->setSettings()) << std::endl;
|
||||
pDetector->setSettings(slsDetectorUsers::getDetectorSettings("veryhighgain"));
|
||||
std::cout << "settings: " << slsDetectorUsers::getDetectorSettings(pDetector->setSettings()) << std::endl;
|
||||
|
||||
/** Settings exposure time to 10ms */
|
||||
pDetector->setExposureTime(10000000);
|
||||
|
||||
/** - ensuring detector status is idle before starting acquisition. exiting if not idle */
|
||||
int status = pDetector->getDetectorStatus();
|
||||
if (status != 0){
|
||||
std::cout << "Detector not ready: " << slsDetectorUsers::runStatusType(status) << std::endl;
|
||||
return 1;
|
||||
}
|
||||
/** Settings exposure time to 100ms */
|
||||
pDetector->setExposurePeriod(100000000);
|
||||
|
||||
/** Settingsnumber of frames to 30 */
|
||||
pDetector->setNumberOfFrames(30);
|
||||
}
|
||||
/** start measurement */
|
||||
pDetector->startMeasurement();
|
||||
|
||||
/** - if provided, load detector settings */
|
||||
if (argc>=3){
|
||||
pDetector->retrieveDetectorSetup(argv[2]);
|
||||
std::cout << "Detector measurement set-up done" << std::endl;
|
||||
}
|
||||
while (1) {
|
||||
usleep(100000);
|
||||
status = pDetector->getDetectorStatus();
|
||||
if (status == 0 || status == 1|| status == 3)
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
/** - start measurement */
|
||||
pDetector->startMeasurement();
|
||||
std::cout << "measurement finished" << std::endl;
|
||||
|
||||
/** - returning when acquisition is finished or data are avilable */
|
||||
|
||||
/** - delete slsDetectorUsers object */
|
||||
delete pDetector;
|
||||
|
||||
return 0;
|
||||
char *temp[] = {"receiver", NULL};
|
||||
/** returning when acquisition is finished or data are avilable */
|
||||
std::cout << "answer to a get command:" << pDetector->getCommand(1,temp,0) << std::endl;
|
||||
|
||||
delete pDetector;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1,306 +1,103 @@
|
||||
/* A simple server in the internet domain using TCP
|
||||
The port number is passed as an argument
|
||||
*/
|
||||
|
||||
/**
|
||||
\file mainReceiver.cpp
|
||||
\file mainReceiver.cpp
|
||||
|
||||
This file is an example of how to implement the slsReceiverUsers class
|
||||
You can compile it linking it to the slsReceiver library
|
||||
|
||||
g++ mainReceiver.cpp -L lib -lSlsReceiver -L/usr/lib64/ -L lib2 -lzmq -pthread -lrt -lm -lstdc++
|
||||
This file is an example of how to implement the slsDetectorUsers class
|
||||
You can compile it linking it to the slsDetector library
|
||||
|
||||
where,
|
||||
gcc mainReceiver.cpp -L lib -l SlsDetector -lm -pthread
|
||||
|
||||
lib is the location of lSlsReceiver.so
|
||||
where lib is the location of libSlsDetector.so
|
||||
|
||||
lib2 is the location of the libzmq.a.
|
||||
[ libzmq.a is required only when using data call backs and enabling data streaming from receiver to client.
|
||||
It is linked in manual/manual-api from slsReceiverSoftware/include ]
|
||||
*/
|
||||
|
||||
*/
|
||||
|
||||
#include "sls_receiver_defs.h"
|
||||
#include "slsReceiverUsers.h"
|
||||
|
||||
|
||||
#include <iostream>
|
||||
#include <string.h>
|
||||
#include <signal.h> //SIGINT
|
||||
#include <cstdlib> //system
|
||||
//#include "utilities.h"
|
||||
//#include "logger.h"
|
||||
#include <sys/types.h> //wait
|
||||
#include <sys/wait.h> //wait
|
||||
#include <string>
|
||||
#include <unistd.h> //usleep
|
||||
#include <errno.h>
|
||||
#include <syscall.h> //tid
|
||||
using namespace std;
|
||||
|
||||
|
||||
/** Define Colors to print data call back in different colors for different recievers */
|
||||
#define PRINT_IN_COLOR(c,f, ...) printf ("\033[%dm" f RESET, 30 + c+1, ##__VA_ARGS__)
|
||||
|
||||
|
||||
/** Variable is true to continue running, set to false upon interrupt */
|
||||
bool keeprunning;
|
||||
|
||||
/**
|
||||
* Control+C Interrupt Handler
|
||||
* Sets the variable keeprunning to false, to let all the processes know to exit properly
|
||||
*/
|
||||
void sigInterruptHandler(int p){
|
||||
keeprunning = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* prints usage of this example program
|
||||
*/
|
||||
void printHelp() {
|
||||
cprintf(RESET, "Usage:\n"
|
||||
"./slsMultiReceiver(detReceiver) [start_tcp_port] [num_receivers] [1 for call back, 0 for none]\n\n");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
/**
|
||||
* Start Acquisition Call back
|
||||
* slsReceiver writes data if file write enabled.
|
||||
* Users get data to write using call back if registerCallBackRawDataReady is registered.
|
||||
* @param filepath file path
|
||||
* @param filename file name
|
||||
* @param fileindex file index
|
||||
* @param datasize data size in bytes
|
||||
* @param p pointer to object
|
||||
* \returns ignored
|
||||
*/
|
||||
int StartAcq(char* filepath, char* filename, uint64_t fileindex, uint32_t datasize, void*p){
|
||||
cprintf(BLUE, "#### StartAcq: filepath:%s filename:%s fileindex:%llu datasize:%u ####\n",
|
||||
filepath, filename, (long long unsigned int)fileindex, datasize);
|
||||
|
||||
cprintf(BLUE, "--StartAcq: returning 0\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Acquisition Finished Call back
|
||||
* @param frames Number of frames caught
|
||||
* @param p pointer to object
|
||||
*/
|
||||
void AcquisitionFinished(uint64_t frames, void*p){
|
||||
cprintf(BLUE, "#### AcquisitionFinished: frames:%llu ####\n",(long long unsigned int)frames);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get Receiver Data Call back
|
||||
* Prints in different colors(for each receiver process) the different headers for each image call back.
|
||||
* @param metadata sls_receiver_header metadata
|
||||
* @param datapointer pointer to data
|
||||
* @param datasize data size in bytes.
|
||||
* @param p pointer to object
|
||||
*/
|
||||
void GetData(char* metadata, char* datapointer, uint32_t datasize, void* p){
|
||||
slsReceiverDefs::sls_receiver_header* header = (slsReceiverDefs::sls_receiver_header*)metadata;
|
||||
slsReceiverDefs::sls_detector_header detectorHeader = header->detHeader;
|
||||
|
||||
PRINT_IN_COLOR (detectorHeader.modId?detectorHeader.modId:detectorHeader.row,
|
||||
"#### %d GetData: ####\n"
|
||||
"frameNumber: %llu\t\texpLength: %u\t\tpacketNumber: %u\t\tbunchId: %llu"
|
||||
"\t\ttimestamp: %llu\t\tmodId: %u\t\t"
|
||||
"row: %u\t\tcolumn: %u\t\treserved: %u\t\tdebug: %u"
|
||||
"\t\troundRNumber: %u\t\tdetType: %u\t\tversion: %u"
|
||||
//"\t\tpacketsMask:%s"
|
||||
"\t\tfirstbytedata: 0x%x\t\tdatsize: %u\n\n",
|
||||
detectorHeader.row, (long long unsigned int)detectorHeader.frameNumber,
|
||||
detectorHeader.expLength, detectorHeader.packetNumber, (long long unsigned int)detectorHeader.bunchId,
|
||||
(long long unsigned int)detectorHeader.timestamp, detectorHeader.modId,
|
||||
detectorHeader.row, detectorHeader.column, detectorHeader.reserved,
|
||||
detectorHeader.debug, detectorHeader.roundRNumber,
|
||||
detectorHeader.detType, detectorHeader.version,
|
||||
//header->packetsMask.to_string().c_str(),
|
||||
((uint8_t)(*((uint8_t*)(datapointer)))), datasize);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Get Receiver Data Call back (modified)
|
||||
* Prints in different colors(for each receiver process) the different headers for each image call back.
|
||||
* @param metadata sls_receiver_header metadata
|
||||
* @param datapointer pointer to data
|
||||
* @param datasize data size in bytes.
|
||||
* @param revDatasize new data size in bytes after the callback.
|
||||
* This will be the size written/streamed. (only smaller value is allowed).
|
||||
* @param p pointer to object
|
||||
*/
|
||||
void GetData(char* metadata, char* datapointer, uint32_t &revDatasize, void* p){
|
||||
slsReceiverDefs::sls_receiver_header* header = (slsReceiverDefs::sls_receiver_header*)metadata;
|
||||
slsReceiverDefs::sls_detector_header detectorHeader = header->detHeader;
|
||||
|
||||
PRINT_IN_COLOR (detectorHeader.modId?detectorHeader.modId:detectorHeader.row,
|
||||
"#### %d GetData: ####\n"
|
||||
"frameNumber: %llu\t\texpLength: %u\t\tpacketNumber: %u\t\tbunchId: %llu"
|
||||
"\t\ttimestamp: %llu\t\tmodId: %u\t\t"
|
||||
"row: %u\t\tcolumn: %u\t\treserved: %u\t\tdebug: %u"
|
||||
"\t\troundRNumber: %u\t\tdetType: %u\t\tversion: %u"
|
||||
//"\t\tpacketsMask:%s"
|
||||
"\t\tfirstbytedata: 0x%x\t\tdatsize: %u\n\n",
|
||||
detectorHeader.row, (long long unsigned int)detectorHeader.frameNumber,
|
||||
detectorHeader.expLength, detectorHeader.packetNumber, (long long unsigned int)detectorHeader.bunchId,
|
||||
(long long unsigned int)detectorHeader.timestamp, detectorHeader.modId,
|
||||
detectorHeader.row, detectorHeader.column, detectorHeader.reserved,
|
||||
detectorHeader.debug, detectorHeader.roundRNumber,
|
||||
detectorHeader.detType, detectorHeader.version,
|
||||
//header->packetsMask.to_string().c_str(),
|
||||
((uint8_t)(*((uint8_t*)(datapointer)))), revDatasize);
|
||||
|
||||
// if data is modified, eg ROI and size is reduced
|
||||
revDatasize = 26000;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Example of main program using the slsReceiverUsers class
|
||||
*
|
||||
* - Defines in file for:
|
||||
* - Default Number of receivers is 1
|
||||
* - Default Start TCP port is 1954
|
||||
*/
|
||||
int main(int argc, char *argv[]) {
|
||||
|
||||
/** - set default values */
|
||||
int numReceivers = 1;
|
||||
int startTCPPort = 1954;
|
||||
int withCallback = 0;
|
||||
keeprunning = true;
|
||||
|
||||
/** - get number of receivers and start tcp port from command line arguments */
|
||||
if ( (argc != 4) || (!sscanf(argv[1],"%d", &startTCPPort)) || (!sscanf(argv[2],"%d", &numReceivers)) || (!sscanf(argv[3],"%d", &withCallback)) )
|
||||
printHelp();
|
||||
cprintf(BLUE,"Parent Process Created [ Tid: %ld ]\n", (long)syscall(SYS_gettid));
|
||||
cprintf(RESET, "Number of Receivers: %d\n", numReceivers);
|
||||
cprintf(RESET, "Start TCP Port: %d\n", startTCPPort);
|
||||
cprintf(RESET, "Callback Enable: %d\n", withCallback);
|
||||
int ret = 0;
|
||||
|
||||
|
||||
/*
|
||||
Instantiate the slsReceieverUsers class
|
||||
The port number is passed as an argument
|
||||
*/
|
||||
slsReceiverUsers *receiver = new slsReceiverUsers(argc, argv, ret);
|
||||
|
||||
/*
|
||||
return if could not open TCP socket for interfacing to client
|
||||
*/
|
||||
if(ret==1)
|
||||
return -1;
|
||||
|
||||
|
||||
/** - Catch signal SIGINT to close files and call destructors properly */
|
||||
struct sigaction sa;
|
||||
sa.sa_flags=0; // no flags
|
||||
sa.sa_handler=sigInterruptHandler; // handler function
|
||||
sigemptyset(&sa.sa_mask); // dont block additional signals during invocation of handler
|
||||
if (sigaction(SIGINT, &sa, NULL) == -1) {
|
||||
cprintf(RED, "Could not set handler function for SIGINT\n");
|
||||
}
|
||||
|
||||
/** - Ignore SIG_PIPE, prevents global signal handler, handle locally,
|
||||
instead of a server crashing due to client crash when writing, it just gives error */
|
||||
struct sigaction asa;
|
||||
asa.sa_flags=0; // no flags
|
||||
asa.sa_handler=SIG_IGN; // handler function
|
||||
sigemptyset(&asa.sa_mask); // dont block additional signals during invocation of handler
|
||||
if (sigaction(SIGPIPE, &asa, NULL) == -1) {
|
||||
cprintf(RED, "Could not set handler function for SIGPIPE\n");
|
||||
}
|
||||
/*register callbacks */
|
||||
|
||||
|
||||
/** - loop over number of receivers */
|
||||
for (int i = 0; i < numReceivers; ++i) {
|
||||
|
||||
/** - fork process to create child process */
|
||||
pid_t pid = fork();
|
||||
|
||||
/** - if fork failed, raise SIGINT and properly destroy all child processes */
|
||||
if (pid < 0) {
|
||||
cprintf(RED,"fork() failed. Killing all the receiver objects\n");
|
||||
raise(SIGINT);
|
||||
}
|
||||
|
||||
/** - if child process */
|
||||
else if (pid == 0) {
|
||||
cprintf(BLUE,"Child process %d [ Tid: %ld ]\n", i, (long)syscall(SYS_gettid));
|
||||
|
||||
char temp[10];
|
||||
sprintf(temp,"%d",startTCPPort + i);
|
||||
char* args[] = {(char*)"ignored", (char*)"--rx_tcpport", temp};
|
||||
int ret = slsReceiverDefs::OK;
|
||||
/** - create slsReceiverUsers object with appropriate arguments */
|
||||
slsReceiverUsers *receiver = new slsReceiverUsers(3, args, ret);
|
||||
if(ret==slsReceiverDefs::FAIL){
|
||||
delete receiver;
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
/*
|
||||
callback arguments are
|
||||
filepath
|
||||
filename
|
||||
fileindex
|
||||
datasize
|
||||
|
||||
return value is
|
||||
0 raw data ready callback takes care of open,close,write file
|
||||
1 callback writes file, we have to open, close it
|
||||
2 we open, close, write file, callback does not do anything
|
||||
|
||||
|
||||
/** - register callbacks. remember to set file write enable to 0 (using the client)
|
||||
if we should not write files and you will write data using the callbacks */
|
||||
if (withCallback) {
|
||||
|
||||
/** - Call back for start acquisition */
|
||||
cprintf(BLUE, "Registering StartAcq()\n");
|
||||
receiver->registerCallBackStartAcquisition(StartAcq, NULL);
|
||||
|
||||
/** - Call back for acquisition finished */
|
||||
cprintf(BLUE, "Registering AcquisitionFinished()\n");
|
||||
receiver->registerCallBackAcquisitionFinished(AcquisitionFinished, NULL);
|
||||
|
||||
/* - Call back for raw data */
|
||||
cprintf(BLUE, "Registering GetData() \n");
|
||||
if (withCallback == 1) receiver->registerCallBackRawDataReady(GetData,NULL);
|
||||
else if (withCallback == 2) receiver->registerCallBackRawDataModifyReady(GetData,NULL);
|
||||
}
|
||||
registerCallBackStartAcquisition(int (*func)(char*, char*,int, int, void*),void *arg);
|
||||
*/
|
||||
|
||||
//receiver->registerCallBackStartAcquisition(func,arg);
|
||||
|
||||
|
||||
|
||||
/** - start tcp server thread */
|
||||
if (receiver->start() == slsReceiverDefs::FAIL){
|
||||
delete receiver;
|
||||
cprintf(BLUE,"Exiting Child Process [ Tid: %ld ]\n", (long)syscall(SYS_gettid));
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
/** - as long as keeprunning is true (changes with Ctrl+C) */
|
||||
while(keeprunning)
|
||||
pause();
|
||||
/** - interrupt caught, delete slsReceiverUsers object and exit */
|
||||
delete receiver;
|
||||
cprintf(BLUE,"Exiting Child Process [ Tid: %ld ]\n", (long)syscall(SYS_gettid));
|
||||
exit(EXIT_SUCCESS);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/** - Parent process ignores SIGINT (exits only when all child process exits) */
|
||||
sa.sa_flags=0; // no flags
|
||||
sa.sa_handler=SIG_IGN; // handler function
|
||||
sigemptyset(&sa.sa_mask); // dont block additional signals during invocation of handler
|
||||
if (sigaction(SIGINT, &sa, NULL) == -1) {
|
||||
cprintf(RED, "Could not set handler function for SIGINT\n");
|
||||
}
|
||||
/*
|
||||
callback argument is
|
||||
total farmes caught
|
||||
registerCallBackAcquisitionFinished(void (*func)(int, void*),void *arg);
|
||||
*/
|
||||
|
||||
|
||||
//receiver->registerCallBackAcquisitionFinished(func,arg);
|
||||
|
||||
|
||||
|
||||
/** - Print Ready and Instructions how to exit */
|
||||
cout << "Ready ... " << endl;
|
||||
cprintf(RESET, "\n[ Press \'Ctrl+c\' to exit ]\n");
|
||||
/*
|
||||
args to raw data ready callback are
|
||||
framenum
|
||||
datapointer
|
||||
file descriptor
|
||||
guidatapointer (NULL, no data required)
|
||||
|
||||
NEVER DELETE THE DATA POINTER
|
||||
REMEMBER THAT THE CALLBACK IS BLOCKING
|
||||
|
||||
/** - Parent process waits for all child processes to exit */
|
||||
for(;;) {
|
||||
pid_t childPid = waitpid (-1, NULL, 0);
|
||||
registerCallBackRawDataReady(void (*func)(int, char*, FILE*, char*, void*),void *arg);
|
||||
|
||||
// no child closed
|
||||
if (childPid == -1) {
|
||||
if (errno == ECHILD) {
|
||||
cprintf(GREEN,"All Child Processes have been closed\n");
|
||||
break;
|
||||
} else {
|
||||
cprintf(RED, "Unexpected error from waitpid(): (%s)\n",strerror(errno));
|
||||
break;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
//receiver->registerCallBackRawDataReady(func,arg);
|
||||
|
||||
//child closed
|
||||
cprintf(BLUE,"Exiting Child Process [ Tid: %ld ]\n", (long int) childPid);
|
||||
}
|
||||
|
||||
cout << "Goodbye!" << endl;
|
||||
return 0;
|
||||
/* start receiver to listen for commands from the client (and data from detectors when expected */
|
||||
receiver->start();
|
||||
|
||||
/** sleep for 10 s*/
|
||||
usleep(10000000);
|
||||
|
||||
/** stop udp socket and tcp socket and thread */
|
||||
receiver->stop();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -81,11 +81,7 @@ LATEX_HIDE_INDICES = YES
|
||||
SOURCE_BROWSER = YES
|
||||
|
||||
PREDEFINED = __cplusplus
|
||||
|
||||
INPUT = ../../slsDetectorSoftware/slsDetector/slsDetectorUsers.h \
|
||||
../../slDetectorSoftware/slsDetectorAnalysis/detectorData.h \
|
||||
../../slsReceiverSoftware/include/slsReceiverUsers.h \
|
||||
mainClient.cpp \
|
||||
mainReceiver.cpp
|
||||
|
||||
INPUT = slsDetectorUsers.h detectorData.h slsReceiverUsers.h mainClient.cpp mainReceiver.cpp
|
||||
|
||||
OUTPUT_DIRECTORY = slsDetectorUsersDocs
|
||||
|
1
manual/manual-api/slsDetectorUsers.h
Symbolic link
@ -0,0 +1 @@
|
||||
../../slsDetectorSoftware/slsDetector/slsDetectorUsers.h
|
29
manual/manual-api/slsDetectorUsersDocs/html/annotated.html
Normal file
@ -0,0 +1,29 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Class List</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li id="current"><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="classdetectorData.html">detectorData</a></td><td class="indexvalue">Data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.) </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td class="indexvalue">Class for detector functionalitiesto embed the detector controls in the users custom interface e.g. EPICS, Lima etc </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td class="indexvalue">Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data </td></tr>
|
||||
</table>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,34 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Member List</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>detectorData Member List</h1>This is the complete list of members for <a class="el" href="classdetectorData.html">detectorData</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">detectorData</a>(double *val=NULL, double *err=NULL, double *ang=NULL, double p_ind=-1, const char *fname="", int np=-1, int ny=1)</td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">fileName</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">npoints</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">npy</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">progressIndex</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">~detectorData</a>()</td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td><code> [inline]</code></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,316 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>detectorData Class Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>detectorData Class Reference</h1><!-- doxytag: class="detectorData" -->data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.)
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="detectorData_8h-source.html">detectorData.h</a>></code>
|
||||
<p>
|
||||
<a href="classdetectorData-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">detectorData</a> (double *val=NULL, double *err=NULL, double *ang=NULL, double p_ind=-1, const char *fname="", int np=-1, int ny=1)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">The constructor. <a href="#3f8538f5f634295fc40682b8aed47b31"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">~detectorData</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">The destructor deletes also the arrays pointing to data/errors/angles if not NULL. <a href="#d32a037cc2bd6e8caf4556cbd4b88ec7"></a><br></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">double * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">pointer to the data <a href="#0f4e31d65f9616e83a2e5521453d0364"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">double * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">pointer to the errors <a href="#29cb1c6bb5635e918ae28505ccd0d8f9"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">double * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">pointer to the angles (NULL if no angular conversion) <a href="#cc9f9708b9ff2d840208cae843fb4b7a"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">progressIndex</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">file index <a href="#976b3287d46aed032487bbeed74132da"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">fileName</a> [1000]</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">file name <a href="#91d1e3466878def295a531c01bdeef6b"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">npoints</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">number of points <a href="#50aabf6f2c40587f8e915cf4913a2cfe"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">npy</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">dimensions in y coordinate <a href="#c289d259e7fd9445a9c04976a82cb324"></a><br></td></tr>
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.)
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00009">9</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
|
||||
<a class="anchor" name="3f8538f5f634295fc40682b8aed47b31"></a><!-- doxytag: member="detectorData::detectorData" ref="3f8538f5f634295fc40682b8aed47b31" args="(double *val=NULL, double *err=NULL, double *ang=NULL, double p_ind=-1, const char *fname="", int np=-1, int ny=1)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">detectorData::detectorData </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">double * </td>
|
||||
<td class="paramname"> <em>val</em> = <code>NULL</code>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">double * </td>
|
||||
<td class="paramname"> <em>err</em> = <code>NULL</code>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">double * </td>
|
||||
<td class="paramname"> <em>ang</em> = <code>NULL</code>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">double </td>
|
||||
<td class="paramname"> <em>p_ind</em> = <code>-1</code>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"> <em>fname</em> = <code>""</code>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>np</em> = <code>-1</code>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>ny</em> = <code>1</code></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
The constructor.
|
||||
<p>
|
||||
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>val</em> </td><td>pointer to the data </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>err</em> </td><td>pointer to errors </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>ang</em> </td><td>pointer to the angles </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>f_ind</em> </td><td>file index </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>file name to which the data are saved </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>np</em> </td><td>number of points in x coordinate defaults to the number of detector channels (1D detector) </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>ny</em> </td><td>dimension in y (1D detector) </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00020">20</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="detectorData_8h-source.html#l00031">fileName</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="d32a037cc2bd6e8caf4556cbd4b88ec7"></a><!-- doxytag: member="detectorData::~detectorData" ref="d32a037cc2bd6e8caf4556cbd4b88ec7" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">detectorData::~detectorData </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
The destructor deletes also the arrays pointing to data/errors/angles if not NULL.
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00025">25</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="detectorData_8h-source.html#l00029">angles</a>, <a class="el" href="detectorData_8h-source.html#l00028">errors</a>, and <a class="el" href="detectorData_8h-source.html#l00025">values</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr><h2>Member Data Documentation</h2>
|
||||
<a class="anchor" name="cc9f9708b9ff2d840208cae843fb4b7a"></a><!-- doxytag: member="detectorData::angles" ref="cc9f9708b9ff2d840208cae843fb4b7a" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">double* <a class="el" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">detectorData::angles</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
pointer to the angles (NULL if no angular conversion)
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00029">29</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="detectorData_8h-source.html#l00025">~detectorData()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="29cb1c6bb5635e918ae28505ccd0d8f9"></a><!-- doxytag: member="detectorData::errors" ref="29cb1c6bb5635e918ae28505ccd0d8f9" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">double* <a class="el" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">detectorData::errors</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
pointer to the errors
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00028">28</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="detectorData_8h-source.html#l00025">~detectorData()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="91d1e3466878def295a531c01bdeef6b"></a><!-- doxytag: member="detectorData::fileName" ref="91d1e3466878def295a531c01bdeef6b" args="[1000]" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">char <a class="el" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">detectorData::fileName</a>[1000] </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
file name
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00031">31</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="detectorData_8h-source.html#l00020">detectorData()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="50aabf6f2c40587f8e915cf4913a2cfe"></a><!-- doxytag: member="detectorData::npoints" ref="50aabf6f2c40587f8e915cf4913a2cfe" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int <a class="el" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">detectorData::npoints</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
number of points
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00032">32</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="mainClient_8cpp-source.html#l00019">dataCallback()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="c289d259e7fd9445a9c04976a82cb324"></a><!-- doxytag: member="detectorData::npy" ref="c289d259e7fd9445a9c04976a82cb324" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int <a class="el" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">detectorData::npy</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
dimensions in y coordinate
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00033">33</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="mainClient_8cpp-source.html#l00019">dataCallback()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="976b3287d46aed032487bbeed74132da"></a><!-- doxytag: member="detectorData::progressIndex" ref="976b3287d46aed032487bbeed74132da" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">double <a class="el" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">detectorData::progressIndex</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
file index
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00030">30</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="0f4e31d65f9616e83a2e5521453d0364"></a><!-- doxytag: member="detectorData::values" ref="0f4e31d65f9616e83a2e5521453d0364" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">double* <a class="el" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">detectorData::values</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
pointer to the data
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00025">25</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="detectorData_8h-source.html#l00025">~detectorData()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="detectorData_8h-source.html">detectorData.h</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,95 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Member List</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>slsDetectorUsers Member List</h1>This is the complete list of members for <a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#5128e295a5b926ccabdb48083d324789">addFrame</a>(double *data, double pos, double i0, double t, string fname, double var)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#d6b968f4d520342324762c496ebeb481">dumpDetectorSetup</a>(string const fname)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#51f92b69e05e8ee2e0c547ec4a6e97da">enableAngularConversion</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#82efe2f57758d63d330d78b121f8e77e">enableCountRateCorrection</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#94c74499f7653116cd8aff9ec0d14c43">enableFlatFieldCorrection</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#e5bc1c9c8e7e6cb7c9cde06a3133d263">enablePixelMaskCorrection</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#6d54a79ae4cfdb808f5db9969537efd3">enableWriteToFile</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#9cbe00dac8a19b71de88ebbdf3b0ea29">finalizeDataset</a>(double *a, double *v, double *e, int &np)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#c9ea028f75a180534c8d00eeea0727d3">getBeamEnergy</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">getCommand</a>(int narg, char *args[], int pos=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">getDetectorDeveloper</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#2cbba4518b585064f7870ae2d39a8b8b">getDetectorFirmwareVersion</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#1c79314ceeda9b3085ca118e25882669">getDetectorSerialNumber</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">getDetectorSettings</a>(string s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [inline, static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#a66defec09b568a514e57b444dbe0d7f">getDetectorSettings</a>(int s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [inline, static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">getDetectorSize</a>(int &x0, int &y0, int &nx, int &ny)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#1857f2afea58227cb96ad92f5e562a5e">getDetectorSoftwareVersion</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">getDetectorStatus</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#5292a3d9c12696512b81bcc6c579a03c">getDetectorType</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#6e3467bf3c0c246f69f85d485d84dd62">getFileIndex</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#5f30c83e8bf07a92fad0916d43e3799c">getFileName</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#81969295c2b08f14e9c3d4fa1f7d4e16">getFilePath</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#0b20511a94205abd689f31bd1a2d4c18">getFlatFieldCorrectionDir</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#a83083f73523557e6129f33b59f38327">getFlatFieldCorrectionFile</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#588a5e1d231cd6778f6f78fdc53b9681">getMaximumDetectorSize</a>(int &nx, int &ny)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#09ded3b9c81e4544d42bb0697c3b7624">getModuleFirmwareVersion</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#5c0e9f8836e1a8a2d986408e4f5dfd3b">getModuleSerialNumber</a>(int imod=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#e6e5f06995e3ef110824adc5f8b095e9">getPositions</a>(double *pos=NULL)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#547feb09262a2f0fa1ec4de82e92ab63">getThisSoftwareVersion</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#fe8029788742125c44383817f89214ca">getThresholdEnergy</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#420880726f4036bf9da83edfcb2d6cf0">getTimingMode</a>(int f)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [inline, static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#e88a9626e4e661c1c0e1d27ba4a57d50">getTimingMode</a>(string s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [inline, static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#56fa8890298a01fc58baad413dfdf1c1">initDataset</a>(int refresh)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#5f7c26833decef59c1abfd7d745c4671">putCommand</a>(int narg, char *args[], int pos=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">readConfigurationFile</a>(string const fname)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#2a85e28ff08e3ec1e08bea3ba7d0fb08">registerAcquisitionFinishedCallback</a>(int(*func)(double, int, void *), void *pArg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#d1ab73675435879c2c5cef7adab02c32">registerConnectChannelsCallback</a>(int(*func)(void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">registerDataCallback</a>(int(*userCallback)(detectorData *d, int f, void *), void *pArg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#a94dd8fce8548ba8e79201ec50fe27d6">registerDisconnectChannelsCallback</a>(int(*func)(void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#1969785197030aa8e2d3c3d48a9cb45c">registerGetI0Callback</a>(double(*func)(int, void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#c2b87416288e657a209e1374c778eb16">registerGetPositionCallback</a>(double(*func)(void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#0f7c9bd3c46647d5dda2fa5312f3ef92">registerGoToPositionCallback</a>(int(*func)(double, void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#e807e9f4a015a4bbcb22e36b80577ea5">registerGoToPositionNoWaitCallback</a>(int(*func)(double, void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#898cf0db148f0d3de7d4725cc8342c56">registerRawDataCallback</a>(int(*userCallback)(double *p, int n, void *), void *pArg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">retrieveDetectorSetup</a>(string const fname)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">runStatusType</a>(int s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [inline, static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#475938986407804877df4dcece97cc19">setBeamEnergy</a>(int e_eV)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#ff667cf0665154cdff5d5f3dbc3526ba">setBitDepth</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#99f67fab7edfe68cc8b2300e282ff3f2">setDelayAfterTrigger</a>(double t=-1, bool inseconds=false)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">setDetectorSize</a>(int x0=-1, int y0=-1, int nx=-1, int ny=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">setExposurePeriod</a>(double t=-1, bool inseconds=false)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">setExposureTime</a>(double t=-1, bool inseconds=false)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#6b92ea7e237c77aa5107d7aabf76fe2d">setFileIndex</a>(int i)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#ff4a8ff4852e50d4ec05204cbc7fea9e">setFileName</a>(string s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#d833e1051299e101a5b5097c598ba9cb">setFilePath</a>(string s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#65b112dac3d8b94f219f4d64c13cf0f9">setFlatFieldCorrectionDir</a>(string dir)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#ad9e6da8683ba2887174505fd3b7d739">setFlatFieldCorrectionFile</a>(string fname="")</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#8b741851c4eaef4e29322c99fd17cb3b">setNumberOfCycles</a>(int64_t t=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">setNumberOfFrames</a>(int64_t t=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#61d4acb00c997c5e02be6a191401c4ce">setNumberOfGates</a>(int64_t t=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">setOnline</a>(int const online=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#f296c05ee6134fb8d53d08a025e89775">setPositions</a>(int nPos, double *pos)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#db084473ffe61960b86abdfa8efcc80d">setReceiverMode</a>(int n=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">setSettings</a>(int isettings=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#1354266fd1bfaccd58992a3f51bbbd1d">setThresholdEnergy</a>(int e_eV)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#e2825524756c4bdf418a6233e137b4d7">setTimingMode</a>(int pol=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#17323cd635b9e5c2916be3ca30ec748c">slsDetectorUsers</a>(int id=0)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">startMeasurement</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#2abc673c45c1fe006f6b0fea6188e3a9">stopMeasurement</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#0d1daf6539befe56d6e3df0b24f5d68b">~slsDetectorUsers</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [virtual]</code></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,35 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Member List</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>slsReceiverUsers Member List</h1>This is the complete list of members for <a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#bad0b3265826da2d9ebf48e59e9d5787">closeFile</a>(int p)</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#f206092e2744e12ce6b717f4181d91a2">getReceiverVersion</a>()</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">receiver</a></td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td><code> [static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#7471d2945e8650eece86258e6ca56156">registerCallBackAcquisitionFinished</a>(void(*func)(int nf, void *), void *arg)</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#343b9fac505e8c08a7fbf9efdd0f5762">registerCallBackRawDataReady</a>(void(*func)(int framenumber, char *datapointer, int datasize, FILE *filedescriptor, char *guidatapointer, void *), void *arg)</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#5d4bb9244008d0bc570778230d30c5e3">registerCallBackStartAcquisition</a>(int(*func)(char *filepath, char *filename, int fileindex, int datasize, void *), void *arg)</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#79a82ba94fbb19761c7701aa3901b8b1">slsReceiverUsers</a>(int argc, char *argv[], int &success)</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">start</a>()</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">stop</a>()</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#9b45943d81ce7a09543aa446de857cb0">~slsReceiverUsers</a>()</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,332 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>slsReceiverUsers Class Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>slsReceiverUsers Class Reference</h1><!-- doxytag: class="slsReceiverUsers" -->Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data.
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="slsReceiverUsers_8h-source.html">slsReceiverUsers.h</a>></code>
|
||||
<p>
|
||||
<a href="classslsReceiverUsers-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#79a82ba94fbb19761c7701aa3901b8b1">slsReceiverUsers</a> (int argc, char *argv[], int &success)</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#9b45943d81ce7a09543aa446de857cb0">~slsReceiverUsers</a> ()</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#bad0b3265826da2d9ebf48e59e9d5787">closeFile</a> (int p)</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">start</a> ()</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">stop</a> ()</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#f206092e2744e12ce6b717f4181d91a2">getReceiverVersion</a> ()</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#5d4bb9244008d0bc570778230d30c5e3">registerCallBackStartAcquisition</a> (int(*func)(char *filepath, char *filename, int fileindex, int datasize, void *), void *arg)</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#7471d2945e8650eece86258e6ca56156">registerCallBackAcquisitionFinished</a> (void(*func)(int nf, void *), void *arg)</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#343b9fac505e8c08a7fbf9efdd0f5762">registerCallBackRawDataReady</a> (void(*func)(int framenumber, char *datapointer, int datasize, FILE *filedescriptor, char *guidatapointer, void *), void *arg)</td></tr>
|
||||
|
||||
<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">static slsReceiverTCPIPInterface * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">receiver</a></td></tr>
|
||||
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data.
|
||||
<p>
|
||||
<a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a> is a class that can be instantiated in the users software to receive the data from the detectors. Callbacks can be defined for processing and/or saving data
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="slsReceiverUsers_8h-source.html#l00021">21</a> of file <a class="el" href="slsReceiverUsers_8h-source.html">slsReceiverUsers.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
|
||||
<a class="anchor" name="79a82ba94fbb19761c7701aa3901b8b1"></a><!-- doxytag: member="slsReceiverUsers::slsReceiverUsers" ref="79a82ba94fbb19761c7701aa3901b8b1" args="(int argc, char *argv[], int &success)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">slsReceiverUsers::slsReceiverUsers </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>argc</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"> <em>argv</em>[], </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int & </td>
|
||||
<td class="paramname"> <em>success</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Constructor reads config file, creates socket, assigns function table <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>argc</em> </td><td>from command line </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>argv</em> </td><td>from command line </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>succecc</em> </td><td>socket creation was successfull </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="9b45943d81ce7a09543aa446de857cb0"></a><!-- doxytag: member="slsReceiverUsers::~slsReceiverUsers" ref="9b45943d81ce7a09543aa446de857cb0" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">slsReceiverUsers::~slsReceiverUsers </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Destructor
|
||||
</div>
|
||||
</div><p>
|
||||
<hr><h2>Member Function Documentation</h2>
|
||||
<a class="anchor" name="bad0b3265826da2d9ebf48e59e9d5787"></a><!-- doxytag: member="slsReceiverUsers::closeFile" ref="bad0b3265826da2d9ebf48e59e9d5787" args="(int p)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void slsReceiverUsers::closeFile </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>p</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Close File and exits receiver server
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="f206092e2744e12ce6b717f4181d91a2"></a><!-- doxytag: member="slsReceiverUsers::getReceiverVersion" ref="f206092e2744e12ce6b717f4181d91a2" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int64_t slsReceiverUsers::getReceiverVersion </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
get get Receiver Version <dl compact><dt><b>Returns:</b></dt><dd>id </dd></dl>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="7471d2945e8650eece86258e6ca56156"></a><!-- doxytag: member="slsReceiverUsers::registerCallBackAcquisitionFinished" ref="7471d2945e8650eece86258e6ca56156" args="(void(*func)(int nf, void *), void *arg)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void slsReceiverUsers::registerCallBackAcquisitionFinished </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void(*)(int nf, void *) </td>
|
||||
<td class="paramname"> <em>func</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">void * </td>
|
||||
<td class="paramname"> <em>arg</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
register callback for end of acquisition <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>func</em> </td><td>end of acquisition callback. Argument nf is total frames caught </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="343b9fac505e8c08a7fbf9efdd0f5762"></a><!-- doxytag: member="slsReceiverUsers::registerCallBackRawDataReady" ref="343b9fac505e8c08a7fbf9efdd0f5762" args="(void(*func)(int framenumber, char *datapointer, int datasize, FILE *filedescriptor, char *guidatapointer, void *), void *arg)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void slsReceiverUsers::registerCallBackRawDataReady </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void(*)(int framenumber, char *datapointer, int datasize, FILE *filedescriptor, char *guidatapointer, void *) </td>
|
||||
<td class="paramname"> <em>func</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">void * </td>
|
||||
<td class="paramname"> <em>arg</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
register callback to be called when data are available (to process and/or save the data). <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>func</em> </td><td>raw data ready callback. arguments are framenum datapointer datasize file descriptor guidatapointer (NULL, no data required) </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="5d4bb9244008d0bc570778230d30c5e3"></a><!-- doxytag: member="slsReceiverUsers::registerCallBackStartAcquisition" ref="5d4bb9244008d0bc570778230d30c5e3" args="(int(*func)(char *filepath, char *filename, int fileindex, int datasize, void *), void *arg)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void slsReceiverUsers::registerCallBackStartAcquisition </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int(*)(char *filepath, char *filename, int fileindex, int datasize, void *) </td>
|
||||
<td class="paramname"> <em>func</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">void * </td>
|
||||
<td class="paramname"> <em>arg</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
register calbback for starting the acquisition <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>func</em> </td><td>callback to be called when starting the acquisition. Its arguments are filepath filename fileindex data size</td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>0 callback takes care of open,close,write file; 1 callback writes file, we have to open, close it; 2 we open, close, write file, callback does not do anything </dd></dl>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="ef40b4987367b8a0116bcb66534dd7b7"></a><!-- doxytag: member="slsReceiverUsers::start" ref="ef40b4987367b8a0116bcb66534dd7b7" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int slsReceiverUsers::start </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
starts listening on the TCP port for client comminication <dl compact><dt><b>Returns:</b></dt><dd>0 for success or 1 for FAIL in creating TCP server </dd></dl>
|
||||
|
||||
<p>
|
||||
Referenced by <a class="el" href="mainReceiver_8cpp-source.html#l00025">main()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="394001d873a4b7912865a971d4d25f87"></a><!-- doxytag: member="slsReceiverUsers::stop" ref="394001d873a4b7912865a971d4d25f87" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void slsReceiverUsers::stop </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
stops listening to the TCP & UDP port and exit receiver program
|
||||
<p>
|
||||
Referenced by <a class="el" href="mainReceiver_8cpp-source.html#l00025">main()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr><h2>Member Data Documentation</h2>
|
||||
<a class="anchor" name="8f262724fb99ecd3976214710d82dd18"></a><!-- doxytag: member="slsReceiverUsers::receiver" ref="8f262724fb99ecd3976214710d82dd18" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">slsReceiverTCPIPInterface* <a class="el" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">slsReceiverUsers::receiver</a><code> [static]</code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="slsReceiverUsers_8h-source.html#l00087">87</a> of file <a class="el" href="slsReceiverUsers_8h-source.html">slsReceiverUsers.h</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="slsReceiverUsers_8h-source.html">slsReceiverUsers.h</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,46 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>detectorData.h Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>detectorData.h</h1><a href="detectorData_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
|
||||
<a name="l00002"></a>00002 <span class="preprocessor">#include <unistd.h></span>
|
||||
<a name="l00003"></a>00003 <span class="preprocessor">#include <cstring></span>
|
||||
<a name="l00004"></a>00004 <span class="preprocessor">#ifndef DETECTOR_DATA_H</span>
|
||||
<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor">#define DETECTOR_DATA_H</span>
|
||||
<a name="l00006"></a>00006 <span class="preprocessor"></span>
|
||||
<a name="l00009"></a><a class="code" href="classdetectorData.html">00009</a> <span class="keyword">class </span><a class="code" href="classdetectorData.html">detectorData</a> {
|
||||
<a name="l00010"></a>00010 <span class="keyword">public</span>:
|
||||
<a name="l00020"></a><a class="code" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">00020</a> <a class="code" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">detectorData</a>(<span class="keywordtype">double</span> *val=NULL, <span class="keywordtype">double</span> *err=NULL, <span class="keywordtype">double</span> *ang=NULL, <span class="keywordtype">double</span> p_ind=-1, <span class="keyword">const</span> <span class="keywordtype">char</span> *fname=<span class="stringliteral">""</span>, <span class="keywordtype">int</span> np=-1, <span class="keywordtype">int</span> ny=1) : <a class="code" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a>(val), <a class="code" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a>(err), <a class="code" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a>(ang), <a class="code" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">progressIndex</a>(p_ind), <a class="code" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">npoints</a>(np), <a class="code" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">npy</a>(ny){strcpy(<a class="code" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">fileName</a>,fname);};
|
||||
<a name="l00025"></a><a class="code" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">00025</a> <a class="code" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">~detectorData</a>() {<span class="keywordflow">if</span> (<a class="code" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a>) <span class="keyword">delete</span> [] <a class="code" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a>; <span class="keywordflow">if</span> (<a class="code" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a>) <span class="keyword">delete</span> [] <a class="code" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a>; <span class="keywordflow">if</span> (<a class="code" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a>) <span class="keyword">delete</span> [] <a class="code" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a>;};
|
||||
<a name="l00026"></a>00026 <span class="comment">//private:</span>
|
||||
<a name="l00027"></a>00027 <span class="keywordtype">double</span> *<a class="code" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a>;
|
||||
<a name="l00028"></a><a class="code" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">00028</a> <span class="keywordtype">double</span> *<a class="code" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a>;
|
||||
<a name="l00029"></a><a class="code" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">00029</a> <span class="keywordtype">double</span> *<a class="code" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a>;
|
||||
<a name="l00030"></a><a class="code" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">00030</a> <span class="keywordtype">double</span> <a class="code" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">progressIndex</a>;
|
||||
<a name="l00031"></a><a class="code" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">00031</a> <span class="keywordtype">char</span> <a class="code" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">fileName</a>[1000];
|
||||
<a name="l00032"></a><a class="code" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">00032</a> <span class="keywordtype">int</span> <a class="code" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">npoints</a>;
|
||||
<a name="l00033"></a><a class="code" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">00033</a> <span class="keywordtype">int</span> <a class="code" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">npy</a>;
|
||||
<a name="l00034"></a>00034 };
|
||||
<a name="l00035"></a>00035
|
||||
<a name="l00036"></a>00036
|
||||
<a name="l00037"></a>00037 <span class="preprocessor">#endif</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,35 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>detectorData.h File Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>detectorData.h File Reference</h1><code>#include <unistd.h></code><br>
|
||||
<code>#include <cstring></code><br>
|
||||
|
||||
<p>
|
||||
<a href="detectorData_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html">detectorData</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.) <a href="classdetectorData.html#_details">More...</a><br></td></tr>
|
||||
</table>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
358
manual/manual-api/slsDetectorUsersDocs/html/doxygen.css
Normal file
@ -0,0 +1,358 @@
|
||||
BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
|
||||
font-family: Geneva, Arial, Helvetica, sans-serif;
|
||||
}
|
||||
BODY,TD {
|
||||
font-size: 90%;
|
||||
}
|
||||
H1 {
|
||||
text-align: center;
|
||||
font-size: 160%;
|
||||
}
|
||||
H2 {
|
||||
font-size: 120%;
|
||||
}
|
||||
H3 {
|
||||
font-size: 100%;
|
||||
}
|
||||
CAPTION { font-weight: bold }
|
||||
DIV.qindex {
|
||||
width: 100%;
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
padding: 2px;
|
||||
line-height: 140%;
|
||||
}
|
||||
DIV.nav {
|
||||
width: 100%;
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
padding: 2px;
|
||||
line-height: 140%;
|
||||
}
|
||||
DIV.navtab {
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
margin-right: 15px;
|
||||
padding: 2px;
|
||||
}
|
||||
TD.navtab {
|
||||
font-size: 70%;
|
||||
}
|
||||
A.qindex {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
color: #1A419D;
|
||||
}
|
||||
A.qindex:visited {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
color: #1A419D
|
||||
}
|
||||
A.qindex:hover {
|
||||
text-decoration: none;
|
||||
background-color: #ddddff;
|
||||
}
|
||||
A.qindexHL {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
background-color: #6666cc;
|
||||
color: #ffffff;
|
||||
border: 1px double #9295C2;
|
||||
}
|
||||
A.qindexHL:hover {
|
||||
text-decoration: none;
|
||||
background-color: #6666cc;
|
||||
color: #ffffff;
|
||||
}
|
||||
A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
|
||||
A.el { text-decoration: none; font-weight: bold }
|
||||
A.elRef { font-weight: bold }
|
||||
A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
|
||||
A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
|
||||
A.codeRef:link { font-weight: normal; color: #0000FF}
|
||||
A.codeRef:visited { font-weight: normal; color: #0000FF}
|
||||
A:hover { text-decoration: none; background-color: #f2f2ff }
|
||||
DL.el { margin-left: -1cm }
|
||||
.fragment {
|
||||
font-family: monospace, fixed;
|
||||
font-size: 95%;
|
||||
}
|
||||
PRE.fragment {
|
||||
border: 1px solid #CCCCCC;
|
||||
background-color: #f5f5f5;
|
||||
margin-top: 4px;
|
||||
margin-bottom: 4px;
|
||||
margin-left: 2px;
|
||||
margin-right: 8px;
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
padding-top: 4px;
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
|
||||
|
||||
DIV.groupHeader {
|
||||
margin-left: 16px;
|
||||
margin-top: 12px;
|
||||
margin-bottom: 6px;
|
||||
font-weight: bold;
|
||||
}
|
||||
DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
|
||||
BODY {
|
||||
background: white;
|
||||
color: black;
|
||||
margin-right: 20px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
TD.indexkey {
|
||||
background-color: #e8eef2;
|
||||
font-weight: bold;
|
||||
padding-right : 10px;
|
||||
padding-top : 2px;
|
||||
padding-left : 10px;
|
||||
padding-bottom : 2px;
|
||||
margin-left : 0px;
|
||||
margin-right : 0px;
|
||||
margin-top : 2px;
|
||||
margin-bottom : 2px;
|
||||
border: 1px solid #CCCCCC;
|
||||
}
|
||||
TD.indexvalue {
|
||||
background-color: #e8eef2;
|
||||
font-style: italic;
|
||||
padding-right : 10px;
|
||||
padding-top : 2px;
|
||||
padding-left : 10px;
|
||||
padding-bottom : 2px;
|
||||
margin-left : 0px;
|
||||
margin-right : 0px;
|
||||
margin-top : 2px;
|
||||
margin-bottom : 2px;
|
||||
border: 1px solid #CCCCCC;
|
||||
}
|
||||
TR.memlist {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
P.formulaDsp { text-align: center; }
|
||||
IMG.formulaDsp { }
|
||||
IMG.formulaInl { vertical-align: middle; }
|
||||
SPAN.keyword { color: #008000 }
|
||||
SPAN.keywordtype { color: #604020 }
|
||||
SPAN.keywordflow { color: #e08000 }
|
||||
SPAN.comment { color: #800000 }
|
||||
SPAN.preprocessor { color: #806020 }
|
||||
SPAN.stringliteral { color: #002080 }
|
||||
SPAN.charliteral { color: #008080 }
|
||||
.mdescLeft {
|
||||
padding: 0px 8px 4px 8px;
|
||||
font-size: 80%;
|
||||
font-style: italic;
|
||||
background-color: #FAFAFA;
|
||||
border-top: 1px none #E0E0E0;
|
||||
border-right: 1px none #E0E0E0;
|
||||
border-bottom: 1px none #E0E0E0;
|
||||
border-left: 1px none #E0E0E0;
|
||||
margin: 0px;
|
||||
}
|
||||
.mdescRight {
|
||||
padding: 0px 8px 4px 8px;
|
||||
font-size: 80%;
|
||||
font-style: italic;
|
||||
background-color: #FAFAFA;
|
||||
border-top: 1px none #E0E0E0;
|
||||
border-right: 1px none #E0E0E0;
|
||||
border-bottom: 1px none #E0E0E0;
|
||||
border-left: 1px none #E0E0E0;
|
||||
margin: 0px;
|
||||
}
|
||||
.memItemLeft {
|
||||
padding: 1px 0px 0px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-color: #E0E0E0;
|
||||
border-right-color: #E0E0E0;
|
||||
border-bottom-color: #E0E0E0;
|
||||
border-left-color: #E0E0E0;
|
||||
border-top-style: solid;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: none;
|
||||
background-color: #FAFAFA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.memItemRight {
|
||||
padding: 1px 8px 0px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-color: #E0E0E0;
|
||||
border-right-color: #E0E0E0;
|
||||
border-bottom-color: #E0E0E0;
|
||||
border-left-color: #E0E0E0;
|
||||
border-top-style: solid;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: none;
|
||||
background-color: #FAFAFA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.memTemplItemLeft {
|
||||
padding: 1px 0px 0px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-color: #E0E0E0;
|
||||
border-right-color: #E0E0E0;
|
||||
border-bottom-color: #E0E0E0;
|
||||
border-left-color: #E0E0E0;
|
||||
border-top-style: none;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: none;
|
||||
background-color: #FAFAFA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.memTemplItemRight {
|
||||
padding: 1px 8px 0px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-color: #E0E0E0;
|
||||
border-right-color: #E0E0E0;
|
||||
border-bottom-color: #E0E0E0;
|
||||
border-left-color: #E0E0E0;
|
||||
border-top-style: none;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: none;
|
||||
background-color: #FAFAFA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.memTemplParams {
|
||||
padding: 1px 0px 0px 8px;
|
||||
margin: 4px;
|
||||
border-top-width: 1px;
|
||||
border-right-width: 1px;
|
||||
border-bottom-width: 1px;
|
||||
border-left-width: 1px;
|
||||
border-top-color: #E0E0E0;
|
||||
border-right-color: #E0E0E0;
|
||||
border-bottom-color: #E0E0E0;
|
||||
border-left-color: #E0E0E0;
|
||||
border-top-style: solid;
|
||||
border-right-style: none;
|
||||
border-bottom-style: none;
|
||||
border-left-style: none;
|
||||
color: #606060;
|
||||
background-color: #FAFAFA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.search { color: #003399;
|
||||
font-weight: bold;
|
||||
}
|
||||
FORM.search {
|
||||
margin-bottom: 0px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
INPUT.search { font-size: 75%;
|
||||
color: #000080;
|
||||
font-weight: normal;
|
||||
background-color: #e8eef2;
|
||||
}
|
||||
TD.tiny { font-size: 75%;
|
||||
}
|
||||
a {
|
||||
color: #1A41A8;
|
||||
}
|
||||
a:visited {
|
||||
color: #2A3798;
|
||||
}
|
||||
.dirtab { padding: 4px;
|
||||
border-collapse: collapse;
|
||||
border: 1px solid #84b0c7;
|
||||
}
|
||||
TH.dirtab { background: #e8eef2;
|
||||
font-weight: bold;
|
||||
}
|
||||
HR { height: 1px;
|
||||
border: none;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
/* Style for detailed member documentation */
|
||||
.memtemplate {
|
||||
font-size: 80%;
|
||||
color: #606060;
|
||||
font-weight: normal;
|
||||
}
|
||||
.memnav {
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
margin-right: 15px;
|
||||
padding: 2px;
|
||||
}
|
||||
.memitem {
|
||||
padding: 4px;
|
||||
background-color: #eef3f5;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: #dedeee;
|
||||
-moz-border-radius: 8px 8px 8px 8px;
|
||||
}
|
||||
.memname {
|
||||
white-space: nowrap;
|
||||
font-weight: bold;
|
||||
}
|
||||
.memdoc{
|
||||
padding-left: 10px;
|
||||
}
|
||||
.memproto {
|
||||
background-color: #d5e1e8;
|
||||
width: 100%;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: #84b0c7;
|
||||
font-weight: bold;
|
||||
-moz-border-radius: 8px 8px 8px 8px;
|
||||
}
|
||||
.paramkey {
|
||||
text-align: right;
|
||||
}
|
||||
.paramtype {
|
||||
white-space: nowrap;
|
||||
}
|
||||
.paramname {
|
||||
color: #602020;
|
||||
font-style: italic;
|
||||
}
|
||||
/* End Styling for detailed member documentation */
|
||||
|
||||
/* for the tree view */
|
||||
.ftvtree {
|
||||
font-family: sans-serif;
|
||||
margin:0.5em;
|
||||
}
|
||||
.directory { font-size: 9pt; font-weight: bold; }
|
||||
.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; }
|
||||
.directory > h3 { margin-top: 0; }
|
||||
.directory p { margin: 0px; white-space: nowrap; }
|
||||
.directory div { display: none; margin: 0px; }
|
||||
.directory img { vertical-align: -30%; }
|
||||
|
BIN
manual/manual-api/slsDetectorUsersDocs/html/doxygen.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
31
manual/manual-api/slsDetectorUsersDocs/html/files.html
Normal file
@ -0,0 +1,31 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>File Index</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li id="current"><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>File List</h1>Here is a list of all files with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="detectorData_8h.html">detectorData.h</a> <a href="detectorData_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="mainClient_8cpp.html">mainClient.cpp</a> <a href="mainClient_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="mainReceiver_8cpp.html">mainReceiver.cpp</a> <a href="mainReceiver_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="slsDetectorUsers_8h.html">slsDetectorUsers.h</a> <a href="slsDetectorUsers_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="slsReceiverUsers_8h.html">slsReceiverUsers.h</a> <a href="slsReceiverUsers_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
</table>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
165
manual/manual-api/slsDetectorUsersDocs/html/functions.html
Normal file
@ -0,0 +1,165 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Class Members</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li id="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li id="current"><a href="functions.html"><span>All</span></a></li>
|
||||
<li><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="#index_a"><span>a</span></a></li>
|
||||
<li><a href="#index_c"><span>c</span></a></li>
|
||||
<li><a href="#index_d"><span>d</span></a></li>
|
||||
<li><a href="#index_e"><span>e</span></a></li>
|
||||
<li><a href="#index_f"><span>f</span></a></li>
|
||||
<li><a href="#index_g"><span>g</span></a></li>
|
||||
<li><a href="#index_i"><span>i</span></a></li>
|
||||
<li><a href="#index_n"><span>n</span></a></li>
|
||||
<li><a href="#index_p"><span>p</span></a></li>
|
||||
<li><a href="#index_r"><span>r</span></a></li>
|
||||
<li><a href="#index_s"><span>s</span></a></li>
|
||||
<li><a href="#index_v"><span>v</span></a></li>
|
||||
<li><a href="#index_~"><span>~</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Here is a list of all class members with links to the classes they belong to:
|
||||
<p>
|
||||
<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
|
||||
<li>addFrame()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5128e295a5b926ccabdb48083d324789">slsDetectorUsers</a><li>angles
|
||||
: <a class="el" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">detectorData</a></ul>
|
||||
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
|
||||
<li>closeFile()
|
||||
: <a class="el" href="classslsReceiverUsers.html#bad0b3265826da2d9ebf48e59e9d5787">slsReceiverUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
|
||||
<li>detectorData()
|
||||
: <a class="el" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">detectorData</a><li>dumpDetectorSetup()
|
||||
: <a class="el" href="classslsDetectorUsers.html#d6b968f4d520342324762c496ebeb481">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
|
||||
<li>enableAngularConversion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#51f92b69e05e8ee2e0c547ec4a6e97da">slsDetectorUsers</a><li>enableCountRateCorrection()
|
||||
: <a class="el" href="classslsDetectorUsers.html#82efe2f57758d63d330d78b121f8e77e">slsDetectorUsers</a><li>enableFlatFieldCorrection()
|
||||
: <a class="el" href="classslsDetectorUsers.html#94c74499f7653116cd8aff9ec0d14c43">slsDetectorUsers</a><li>enablePixelMaskCorrection()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e5bc1c9c8e7e6cb7c9cde06a3133d263">slsDetectorUsers</a><li>enableWriteToFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#6d54a79ae4cfdb808f5db9969537efd3">slsDetectorUsers</a><li>errors
|
||||
: <a class="el" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">detectorData</a></ul>
|
||||
<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
|
||||
<li>fileName
|
||||
: <a class="el" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">detectorData</a><li>finalizeDataset()
|
||||
: <a class="el" href="classslsDetectorUsers.html#9cbe00dac8a19b71de88ebbdf3b0ea29">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
|
||||
<li>getBeamEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#c9ea028f75a180534c8d00eeea0727d3">slsDetectorUsers</a><li>getCommand()
|
||||
: <a class="el" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">slsDetectorUsers</a><li>getDetectorDeveloper()
|
||||
: <a class="el" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">slsDetectorUsers</a><li>getDetectorFirmwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2cbba4518b585064f7870ae2d39a8b8b">slsDetectorUsers</a><li>getDetectorSerialNumber()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1c79314ceeda9b3085ca118e25882669">slsDetectorUsers</a><li>getDetectorSettings()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a66defec09b568a514e57b444dbe0d7f">slsDetectorUsers</a><li>getDetectorSize()
|
||||
: <a class="el" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">slsDetectorUsers</a><li>getDetectorSoftwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1857f2afea58227cb96ad92f5e562a5e">slsDetectorUsers</a><li>getDetectorStatus()
|
||||
: <a class="el" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">slsDetectorUsers</a><li>getDetectorType()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5292a3d9c12696512b81bcc6c579a03c">slsDetectorUsers</a><li>getFileIndex()
|
||||
: <a class="el" href="classslsDetectorUsers.html#6e3467bf3c0c246f69f85d485d84dd62">slsDetectorUsers</a><li>getFileName()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5f30c83e8bf07a92fad0916d43e3799c">slsDetectorUsers</a><li>getFilePath()
|
||||
: <a class="el" href="classslsDetectorUsers.html#81969295c2b08f14e9c3d4fa1f7d4e16">slsDetectorUsers</a><li>getFlatFieldCorrectionDir()
|
||||
: <a class="el" href="classslsDetectorUsers.html#0b20511a94205abd689f31bd1a2d4c18">slsDetectorUsers</a><li>getFlatFieldCorrectionFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a83083f73523557e6129f33b59f38327">slsDetectorUsers</a><li>getMaximumDetectorSize()
|
||||
: <a class="el" href="classslsDetectorUsers.html#588a5e1d231cd6778f6f78fdc53b9681">slsDetectorUsers</a><li>getModuleFirmwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#09ded3b9c81e4544d42bb0697c3b7624">slsDetectorUsers</a><li>getModuleSerialNumber()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5c0e9f8836e1a8a2d986408e4f5dfd3b">slsDetectorUsers</a><li>getPositions()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e6e5f06995e3ef110824adc5f8b095e9">slsDetectorUsers</a><li>getReceiverVersion()
|
||||
: <a class="el" href="classslsReceiverUsers.html#f206092e2744e12ce6b717f4181d91a2">slsReceiverUsers</a><li>getThisSoftwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#547feb09262a2f0fa1ec4de82e92ab63">slsDetectorUsers</a><li>getThresholdEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#fe8029788742125c44383817f89214ca">slsDetectorUsers</a><li>getTimingMode()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e88a9626e4e661c1c0e1d27ba4a57d50">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
|
||||
<li>initDataset()
|
||||
: <a class="el" href="classslsDetectorUsers.html#56fa8890298a01fc58baad413dfdf1c1">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
|
||||
<li>npoints
|
||||
: <a class="el" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">detectorData</a><li>npy
|
||||
: <a class="el" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">detectorData</a></ul>
|
||||
<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
|
||||
<li>progressIndex
|
||||
: <a class="el" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">detectorData</a><li>putCommand()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5f7c26833decef59c1abfd7d745c4671">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
|
||||
<li>readConfigurationFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">slsDetectorUsers</a><li>receiver
|
||||
: <a class="el" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">slsReceiverUsers</a><li>registerAcquisitionFinishedCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2a85e28ff08e3ec1e08bea3ba7d0fb08">slsDetectorUsers</a><li>registerCallBackAcquisitionFinished()
|
||||
: <a class="el" href="classslsReceiverUsers.html#7471d2945e8650eece86258e6ca56156">slsReceiverUsers</a><li>registerCallBackRawDataReady()
|
||||
: <a class="el" href="classslsReceiverUsers.html#343b9fac505e8c08a7fbf9efdd0f5762">slsReceiverUsers</a><li>registerCallBackStartAcquisition()
|
||||
: <a class="el" href="classslsReceiverUsers.html#5d4bb9244008d0bc570778230d30c5e3">slsReceiverUsers</a><li>registerConnectChannelsCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#d1ab73675435879c2c5cef7adab02c32">slsDetectorUsers</a><li>registerDataCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">slsDetectorUsers</a><li>registerDisconnectChannelsCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a94dd8fce8548ba8e79201ec50fe27d6">slsDetectorUsers</a><li>registerGetI0Callback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1969785197030aa8e2d3c3d48a9cb45c">slsDetectorUsers</a><li>registerGetPositionCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#c2b87416288e657a209e1374c778eb16">slsDetectorUsers</a><li>registerGoToPositionCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#0f7c9bd3c46647d5dda2fa5312f3ef92">slsDetectorUsers</a><li>registerGoToPositionNoWaitCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e807e9f4a015a4bbcb22e36b80577ea5">slsDetectorUsers</a><li>registerRawDataCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#898cf0db148f0d3de7d4725cc8342c56">slsDetectorUsers</a><li>retrieveDetectorSetup()
|
||||
: <a class="el" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">slsDetectorUsers</a><li>runStatusType()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
|
||||
<li>setBeamEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#475938986407804877df4dcece97cc19">slsDetectorUsers</a><li>setBitDepth()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ff667cf0665154cdff5d5f3dbc3526ba">slsDetectorUsers</a><li>setDelayAfterTrigger()
|
||||
: <a class="el" href="classslsDetectorUsers.html#99f67fab7edfe68cc8b2300e282ff3f2">slsDetectorUsers</a><li>setDetectorSize()
|
||||
: <a class="el" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">slsDetectorUsers</a><li>setExposurePeriod()
|
||||
: <a class="el" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">slsDetectorUsers</a><li>setExposureTime()
|
||||
: <a class="el" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">slsDetectorUsers</a><li>setFileIndex()
|
||||
: <a class="el" href="classslsDetectorUsers.html#6b92ea7e237c77aa5107d7aabf76fe2d">slsDetectorUsers</a><li>setFileName()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ff4a8ff4852e50d4ec05204cbc7fea9e">slsDetectorUsers</a><li>setFilePath()
|
||||
: <a class="el" href="classslsDetectorUsers.html#d833e1051299e101a5b5097c598ba9cb">slsDetectorUsers</a><li>setFlatFieldCorrectionDir()
|
||||
: <a class="el" href="classslsDetectorUsers.html#65b112dac3d8b94f219f4d64c13cf0f9">slsDetectorUsers</a><li>setFlatFieldCorrectionFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ad9e6da8683ba2887174505fd3b7d739">slsDetectorUsers</a><li>setNumberOfCycles()
|
||||
: <a class="el" href="classslsDetectorUsers.html#8b741851c4eaef4e29322c99fd17cb3b">slsDetectorUsers</a><li>setNumberOfFrames()
|
||||
: <a class="el" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">slsDetectorUsers</a><li>setNumberOfGates()
|
||||
: <a class="el" href="classslsDetectorUsers.html#61d4acb00c997c5e02be6a191401c4ce">slsDetectorUsers</a><li>setOnline()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">slsDetectorUsers</a><li>setPositions()
|
||||
: <a class="el" href="classslsDetectorUsers.html#f296c05ee6134fb8d53d08a025e89775">slsDetectorUsers</a><li>setReceiverMode()
|
||||
: <a class="el" href="classslsDetectorUsers.html#db084473ffe61960b86abdfa8efcc80d">slsDetectorUsers</a><li>setSettings()
|
||||
: <a class="el" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">slsDetectorUsers</a><li>setThresholdEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1354266fd1bfaccd58992a3f51bbbd1d">slsDetectorUsers</a><li>setTimingMode()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e2825524756c4bdf418a6233e137b4d7">slsDetectorUsers</a><li>slsDetectorUsers()
|
||||
: <a class="el" href="classslsDetectorUsers.html#17323cd635b9e5c2916be3ca30ec748c">slsDetectorUsers</a><li>slsReceiverUsers()
|
||||
: <a class="el" href="classslsReceiverUsers.html#79a82ba94fbb19761c7701aa3901b8b1">slsReceiverUsers</a><li>start()
|
||||
: <a class="el" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">slsReceiverUsers</a><li>startMeasurement()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">slsDetectorUsers</a><li>stop()
|
||||
: <a class="el" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">slsReceiverUsers</a><li>stopMeasurement()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2abc673c45c1fe006f6b0fea6188e3a9">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
|
||||
<li>values
|
||||
: <a class="el" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">detectorData</a></ul>
|
||||
<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
|
||||
<li>~detectorData()
|
||||
: <a class="el" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">detectorData</a><li>~slsDetectorUsers()
|
||||
: <a class="el" href="classslsDetectorUsers.html#0d1daf6539befe56d6e3df0b24f5d68b">slsDetectorUsers</a><li>~slsReceiverUsers()
|
||||
: <a class="el" href="classslsReceiverUsers.html#9b45943d81ce7a09543aa446de857cb0">slsReceiverUsers</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
151
manual/manual-api/slsDetectorUsersDocs/html/functions_func.html
Normal file
@ -0,0 +1,151 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Class Members - Functions</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li id="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="functions.html"><span>All</span></a></li>
|
||||
<li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="#index_a"><span>a</span></a></li>
|
||||
<li><a href="#index_c"><span>c</span></a></li>
|
||||
<li><a href="#index_d"><span>d</span></a></li>
|
||||
<li><a href="#index_e"><span>e</span></a></li>
|
||||
<li><a href="#index_f"><span>f</span></a></li>
|
||||
<li><a href="#index_g"><span>g</span></a></li>
|
||||
<li><a href="#index_i"><span>i</span></a></li>
|
||||
<li><a href="#index_p"><span>p</span></a></li>
|
||||
<li><a href="#index_r"><span>r</span></a></li>
|
||||
<li><a href="#index_s"><span>s</span></a></li>
|
||||
<li><a href="#index_~"><span>~</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
|
||||
<p>
|
||||
<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
|
||||
<li>addFrame()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5128e295a5b926ccabdb48083d324789">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
|
||||
<li>closeFile()
|
||||
: <a class="el" href="classslsReceiverUsers.html#bad0b3265826da2d9ebf48e59e9d5787">slsReceiverUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
|
||||
<li>detectorData()
|
||||
: <a class="el" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">detectorData</a><li>dumpDetectorSetup()
|
||||
: <a class="el" href="classslsDetectorUsers.html#d6b968f4d520342324762c496ebeb481">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
|
||||
<li>enableAngularConversion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#51f92b69e05e8ee2e0c547ec4a6e97da">slsDetectorUsers</a><li>enableCountRateCorrection()
|
||||
: <a class="el" href="classslsDetectorUsers.html#82efe2f57758d63d330d78b121f8e77e">slsDetectorUsers</a><li>enableFlatFieldCorrection()
|
||||
: <a class="el" href="classslsDetectorUsers.html#94c74499f7653116cd8aff9ec0d14c43">slsDetectorUsers</a><li>enablePixelMaskCorrection()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e5bc1c9c8e7e6cb7c9cde06a3133d263">slsDetectorUsers</a><li>enableWriteToFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#6d54a79ae4cfdb808f5db9969537efd3">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
|
||||
<li>finalizeDataset()
|
||||
: <a class="el" href="classslsDetectorUsers.html#9cbe00dac8a19b71de88ebbdf3b0ea29">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
|
||||
<li>getBeamEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#c9ea028f75a180534c8d00eeea0727d3">slsDetectorUsers</a><li>getCommand()
|
||||
: <a class="el" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">slsDetectorUsers</a><li>getDetectorDeveloper()
|
||||
: <a class="el" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">slsDetectorUsers</a><li>getDetectorFirmwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2cbba4518b585064f7870ae2d39a8b8b">slsDetectorUsers</a><li>getDetectorSerialNumber()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1c79314ceeda9b3085ca118e25882669">slsDetectorUsers</a><li>getDetectorSettings()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a66defec09b568a514e57b444dbe0d7f">slsDetectorUsers</a><li>getDetectorSize()
|
||||
: <a class="el" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">slsDetectorUsers</a><li>getDetectorSoftwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1857f2afea58227cb96ad92f5e562a5e">slsDetectorUsers</a><li>getDetectorStatus()
|
||||
: <a class="el" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">slsDetectorUsers</a><li>getDetectorType()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5292a3d9c12696512b81bcc6c579a03c">slsDetectorUsers</a><li>getFileIndex()
|
||||
: <a class="el" href="classslsDetectorUsers.html#6e3467bf3c0c246f69f85d485d84dd62">slsDetectorUsers</a><li>getFileName()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5f30c83e8bf07a92fad0916d43e3799c">slsDetectorUsers</a><li>getFilePath()
|
||||
: <a class="el" href="classslsDetectorUsers.html#81969295c2b08f14e9c3d4fa1f7d4e16">slsDetectorUsers</a><li>getFlatFieldCorrectionDir()
|
||||
: <a class="el" href="classslsDetectorUsers.html#0b20511a94205abd689f31bd1a2d4c18">slsDetectorUsers</a><li>getFlatFieldCorrectionFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a83083f73523557e6129f33b59f38327">slsDetectorUsers</a><li>getMaximumDetectorSize()
|
||||
: <a class="el" href="classslsDetectorUsers.html#588a5e1d231cd6778f6f78fdc53b9681">slsDetectorUsers</a><li>getModuleFirmwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#09ded3b9c81e4544d42bb0697c3b7624">slsDetectorUsers</a><li>getModuleSerialNumber()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5c0e9f8836e1a8a2d986408e4f5dfd3b">slsDetectorUsers</a><li>getPositions()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e6e5f06995e3ef110824adc5f8b095e9">slsDetectorUsers</a><li>getReceiverVersion()
|
||||
: <a class="el" href="classslsReceiverUsers.html#f206092e2744e12ce6b717f4181d91a2">slsReceiverUsers</a><li>getThisSoftwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#547feb09262a2f0fa1ec4de82e92ab63">slsDetectorUsers</a><li>getThresholdEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#fe8029788742125c44383817f89214ca">slsDetectorUsers</a><li>getTimingMode()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e88a9626e4e661c1c0e1d27ba4a57d50">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
|
||||
<li>initDataset()
|
||||
: <a class="el" href="classslsDetectorUsers.html#56fa8890298a01fc58baad413dfdf1c1">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
|
||||
<li>putCommand()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5f7c26833decef59c1abfd7d745c4671">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
|
||||
<li>readConfigurationFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">slsDetectorUsers</a><li>registerAcquisitionFinishedCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2a85e28ff08e3ec1e08bea3ba7d0fb08">slsDetectorUsers</a><li>registerCallBackAcquisitionFinished()
|
||||
: <a class="el" href="classslsReceiverUsers.html#7471d2945e8650eece86258e6ca56156">slsReceiverUsers</a><li>registerCallBackRawDataReady()
|
||||
: <a class="el" href="classslsReceiverUsers.html#343b9fac505e8c08a7fbf9efdd0f5762">slsReceiverUsers</a><li>registerCallBackStartAcquisition()
|
||||
: <a class="el" href="classslsReceiverUsers.html#5d4bb9244008d0bc570778230d30c5e3">slsReceiverUsers</a><li>registerConnectChannelsCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#d1ab73675435879c2c5cef7adab02c32">slsDetectorUsers</a><li>registerDataCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">slsDetectorUsers</a><li>registerDisconnectChannelsCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a94dd8fce8548ba8e79201ec50fe27d6">slsDetectorUsers</a><li>registerGetI0Callback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1969785197030aa8e2d3c3d48a9cb45c">slsDetectorUsers</a><li>registerGetPositionCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#c2b87416288e657a209e1374c778eb16">slsDetectorUsers</a><li>registerGoToPositionCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#0f7c9bd3c46647d5dda2fa5312f3ef92">slsDetectorUsers</a><li>registerGoToPositionNoWaitCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e807e9f4a015a4bbcb22e36b80577ea5">slsDetectorUsers</a><li>registerRawDataCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#898cf0db148f0d3de7d4725cc8342c56">slsDetectorUsers</a><li>retrieveDetectorSetup()
|
||||
: <a class="el" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">slsDetectorUsers</a><li>runStatusType()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
|
||||
<li>setBeamEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#475938986407804877df4dcece97cc19">slsDetectorUsers</a><li>setBitDepth()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ff667cf0665154cdff5d5f3dbc3526ba">slsDetectorUsers</a><li>setDelayAfterTrigger()
|
||||
: <a class="el" href="classslsDetectorUsers.html#99f67fab7edfe68cc8b2300e282ff3f2">slsDetectorUsers</a><li>setDetectorSize()
|
||||
: <a class="el" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">slsDetectorUsers</a><li>setExposurePeriod()
|
||||
: <a class="el" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">slsDetectorUsers</a><li>setExposureTime()
|
||||
: <a class="el" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">slsDetectorUsers</a><li>setFileIndex()
|
||||
: <a class="el" href="classslsDetectorUsers.html#6b92ea7e237c77aa5107d7aabf76fe2d">slsDetectorUsers</a><li>setFileName()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ff4a8ff4852e50d4ec05204cbc7fea9e">slsDetectorUsers</a><li>setFilePath()
|
||||
: <a class="el" href="classslsDetectorUsers.html#d833e1051299e101a5b5097c598ba9cb">slsDetectorUsers</a><li>setFlatFieldCorrectionDir()
|
||||
: <a class="el" href="classslsDetectorUsers.html#65b112dac3d8b94f219f4d64c13cf0f9">slsDetectorUsers</a><li>setFlatFieldCorrectionFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ad9e6da8683ba2887174505fd3b7d739">slsDetectorUsers</a><li>setNumberOfCycles()
|
||||
: <a class="el" href="classslsDetectorUsers.html#8b741851c4eaef4e29322c99fd17cb3b">slsDetectorUsers</a><li>setNumberOfFrames()
|
||||
: <a class="el" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">slsDetectorUsers</a><li>setNumberOfGates()
|
||||
: <a class="el" href="classslsDetectorUsers.html#61d4acb00c997c5e02be6a191401c4ce">slsDetectorUsers</a><li>setOnline()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">slsDetectorUsers</a><li>setPositions()
|
||||
: <a class="el" href="classslsDetectorUsers.html#f296c05ee6134fb8d53d08a025e89775">slsDetectorUsers</a><li>setReceiverMode()
|
||||
: <a class="el" href="classslsDetectorUsers.html#db084473ffe61960b86abdfa8efcc80d">slsDetectorUsers</a><li>setSettings()
|
||||
: <a class="el" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">slsDetectorUsers</a><li>setThresholdEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1354266fd1bfaccd58992a3f51bbbd1d">slsDetectorUsers</a><li>setTimingMode()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e2825524756c4bdf418a6233e137b4d7">slsDetectorUsers</a><li>slsDetectorUsers()
|
||||
: <a class="el" href="classslsDetectorUsers.html#17323cd635b9e5c2916be3ca30ec748c">slsDetectorUsers</a><li>slsReceiverUsers()
|
||||
: <a class="el" href="classslsReceiverUsers.html#79a82ba94fbb19761c7701aa3901b8b1">slsReceiverUsers</a><li>start()
|
||||
: <a class="el" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">slsReceiverUsers</a><li>startMeasurement()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">slsDetectorUsers</a><li>stop()
|
||||
: <a class="el" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">slsReceiverUsers</a><li>stopMeasurement()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2abc673c45c1fe006f6b0fea6188e3a9">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
|
||||
<li>~detectorData()
|
||||
: <a class="el" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">detectorData</a><li>~slsDetectorUsers()
|
||||
: <a class="el" href="classslsDetectorUsers.html#0d1daf6539befe56d6e3df0b24f5d68b">slsDetectorUsers</a><li>~slsReceiverUsers()
|
||||
: <a class="el" href="classslsReceiverUsers.html#9b45943d81ce7a09543aa446de857cb0">slsReceiverUsers</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Class Members - Variables</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li id="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="functions.html"><span>All</span></a></li>
|
||||
<li><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
<li id="current"><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>angles
|
||||
: <a class="el" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">detectorData</a><li>errors
|
||||
: <a class="el" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">detectorData</a><li>fileName
|
||||
: <a class="el" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">detectorData</a><li>npoints
|
||||
: <a class="el" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">detectorData</a><li>npy
|
||||
: <a class="el" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">detectorData</a><li>progressIndex
|
||||
: <a class="el" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">detectorData</a><li>receiver
|
||||
: <a class="el" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">slsReceiverUsers</a><li>values
|
||||
: <a class="el" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">detectorData</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
36
manual/manual-api/slsDetectorUsersDocs/html/globals.html
Normal file
@ -0,0 +1,36 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Class Members</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li id="current"><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li id="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
Here is a list of all file members with links to the files they belong to:
|
||||
<p>
|
||||
<ul>
|
||||
<li>dataCallback()
|
||||
: <a class="el" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">mainClient.cpp</a><li>main()
|
||||
: <a class="el" href="mainReceiver_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">mainReceiver.cpp</a>, <a class="el" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">mainClient.cpp</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,36 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Class Members</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li id="current"><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="globals.html"><span>All</span></a></li>
|
||||
<li id="current"><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>dataCallback()
|
||||
: <a class="el" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">mainClient.cpp</a><li>main()
|
||||
: <a class="el" href="mainReceiver_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">mainReceiver.cpp</a>, <a class="el" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">mainClient.cpp</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
49
manual/manual-api/slsDetectorUsersDocs/html/index.html
Normal file
@ -0,0 +1,49 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Main Page</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li id="current"><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<h1></h1>
|
||||
<p>
|
||||
<h1>API for SLS detectors data acquisition</h1>
|
||||
<p>
|
||||
<hr>
|
||||
<p>
|
||||
Although the SLS detectors group delvelops several types of detectors (1/2D, counting/integrating etc.) it is common interest of the group to use a common platfor for data acquisition<p>
|
||||
The architecture of the acquisitions system is intended as follows: <ul>
|
||||
<li>A socket server running on the detector (or more than one in some special cases) </li>
|
||||
<li>C++ classes common to all detectors for client-server communication. These can be supplied to users as libraries and embedded also in acquisition systems which are not developed by the SLS </li>
|
||||
<li>the possibility of using a Qt-based graphical user interface (with eventually root analisys capabilities) </li>
|
||||
<li>the possibility of running all commands from command line. In order to ensure a fast operation of this so called "text client" the detector parameters should not be re-initialized everytime. For this reason a shared memory block is allocated where the main detector flags and parameters are stored </li>
|
||||
<li>a Root library for data postprocessing and detector calibration (energy, angle).</li>
|
||||
</ul>
|
||||
<a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a> is a class to control the detector which should be instantiated by the users in their acquisition software (EPICS, spec etc.). A callback for dislaying the data can be registered. More advanced configuration functions are not implemented and can be written in a configuration file tha can be read/written.<p>
|
||||
<a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a> is a class to receive the data for detectors with external data receiver (e.g. GOTTHARD). Callbacks can be registered to process the data or save them in specific formats.<p>
|
||||
<a class="el" href="classdetectorData.html">detectorData</a> is a structure containing the data and additional information which is used to return the data e.g. to the GUI for displaying them.<p>
|
||||
You can find examples of how this classes can be instatiated in <a class="el" href="mainClient_8cpp.html">mainClient.cpp</a> and <a class="el" href="mainReceiver_8cpp.html">mainReceiver.cpp</a><p>
|
||||
<dl compact><dt><b>Authors:</b></dt><dd><a href="mailto:anna.bergamaschi@psi.ch">Anna Bergamaschi</a>, <a href="mailto:dhanya.maliakal@psi.ch">Dhanya Maliakal</a> </dd></dl>
|
||||
<dl compact><dt><b>Version:</b></dt><dd>0.2 <h2>Currently supported detectors</h2>
|
||||
</dd></dl>
|
||||
<ul>
|
||||
<li>MYTHEN </li>
|
||||
<li>GOTTHARD controls </li>
|
||||
<li>GOTTHARD data receiver <h3>Coming soon</h3>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>EIGER </li>
|
||||
</ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,97 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>mainClient.cpp Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>mainClient.cpp</h1><a href="mainClient_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
|
||||
<a name="l00013"></a>00013 <span class="preprocessor">#include <iostream></span>
|
||||
<a name="l00014"></a>00014 <span class="preprocessor">#include "<a class="code" href="slsDetectorUsers_8h.html">slsDetectorUsers.h</a>"</span>
|
||||
<a name="l00015"></a>00015 <span class="preprocessor">#include "<a class="code" href="detectorData_8h.html">detectorData.h</a>"</span>
|
||||
<a name="l00016"></a>00016
|
||||
<a name="l00017"></a>00017
|
||||
<a name="l00019"></a><a class="code" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">00019</a> <span class="keywordtype">int</span> <a class="code" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">dataCallback</a>(<a class="code" href="classdetectorData.html">detectorData</a> *pData, <span class="keywordtype">int</span> iframe, <span class="keywordtype">void</span> *pArg)
|
||||
<a name="l00020"></a>00020 {
|
||||
<a name="l00021"></a>00021 std::cout << <span class="stringliteral">"dataCallback: "</span> << pData-><a class="code" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">npoints</a> << <span class="stringliteral">" "</span> << pData-><a class="code" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">npy</a> << <span class="stringliteral">"Frame number: "</span> << iframe << std::endl;
|
||||
<a name="l00022"></a>00022 }
|
||||
<a name="l00023"></a>00023
|
||||
<a name="l00024"></a>00024
|
||||
<a name="l00026"></a><a class="code" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">00026</a> <span class="keywordtype">int</span> <a class="code" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[]) {
|
||||
<a name="l00027"></a>00027 <span class="keywordtype">int</span> <span class="keywordtype">id</span>=0;
|
||||
<a name="l00028"></a>00028 <span class="keywordtype">int</span> status;
|
||||
<a name="l00030"></a>00030 <span class="keywordflow">if</span> (argc>=3)
|
||||
<a name="l00031"></a>00031 <span class="keywordtype">id</span>=atoi(argv[2]);
|
||||
<a name="l00032"></a>00032
|
||||
<a name="l00033"></a>00033
|
||||
<a name="l00034"></a>00034
|
||||
<a name="l00036"></a>00036 <a class="code" href="classslsDetectorUsers.html">slsDetectorUsers</a> *pDetector = <span class="keyword">new</span> <a class="code" href="classslsDetectorUsers.html">slsDetectorUsers</a> (<span class="keywordtype">id</span>);
|
||||
<a name="l00037"></a>00037
|
||||
<a name="l00038"></a>00038
|
||||
<a name="l00040"></a>00040 <span class="keywordflow">if</span> (argc>=2)
|
||||
<a name="l00041"></a>00041 pDetector-><a class="code" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">readConfigurationFile</a>(argv[1]);
|
||||
<a name="l00042"></a>00042
|
||||
<a name="l00044"></a>00044 pDetector-><a class="code" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">setOnline</a>(1);
|
||||
<a name="l00045"></a>00045
|
||||
<a name="l00047"></a>00047 <span class="keywordflow">if</span> (argc>=3)
|
||||
<a name="l00048"></a>00048 pDetector-><a class="code" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">retrieveDetectorSetup</a>( argv[2]);
|
||||
<a name="l00049"></a>00049 <span class="keywordflow">else</span>{
|
||||
<a name="l00051"></a>00051 <span class="keywordtype">int</span> minX, minY=0, sizeX, sizeY=1;
|
||||
<a name="l00052"></a>00052 pDetector-><a class="code" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">getDetectorSize</a>(minX, minY, sizeX, sizeY);
|
||||
<a name="l00053"></a>00053 std::cout << <span class="stringliteral">"X: Start="</span> << minX << <span class="stringliteral">", Size= "</span> << sizeX << std::endl;
|
||||
<a name="l00054"></a>00054 std::cout << <span class="stringliteral">"Y: Start="</span> << minY << <span class="stringliteral">", Size= "</span> << sizeY << std::endl;
|
||||
<a name="l00055"></a>00055 pDetector-><a class="code" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">setDetectorSize</a>(0,0,7680,1);
|
||||
<a name="l00056"></a>00056 std::cout << pDetector-><a class="code" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">getDetectorDeveloper</a>() << std::endl;
|
||||
<a name="l00057"></a>00057
|
||||
<a name="l00059"></a>00059 pDetector-><a class="code" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">registerDataCallback</a>(&<a class="code" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">dataCallback</a>, NULL);
|
||||
<a name="l00060"></a>00060
|
||||
<a name="l00062"></a>00062 status = pDetector-><a class="code" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">getDetectorStatus</a>();
|
||||
<a name="l00063"></a>00063 <span class="keywordflow">if</span> (status != 0){
|
||||
<a name="l00064"></a>00064 std::cout << <span class="stringliteral">"Detector not ready: "</span> << <a class="code" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">slsDetectorUsers::runStatusType</a>(status) << std::endl;
|
||||
<a name="l00065"></a>00065 <span class="keywordflow">return</span> 1;
|
||||
<a name="l00066"></a>00066 }
|
||||
<a name="l00067"></a>00067
|
||||
<a name="l00069"></a>00069 std::cout << <span class="stringliteral">"settings: "</span> << <a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">slsDetectorUsers::getDetectorSettings</a>(pDetector-><a class="code" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">setSettings</a>()) << std::endl;
|
||||
<a name="l00070"></a>00070 pDetector-><a class="code" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">setSettings</a>(<a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">slsDetectorUsers::getDetectorSettings</a>(<span class="stringliteral">"veryhighgain"</span>));
|
||||
<a name="l00071"></a>00071 std::cout << <span class="stringliteral">"settings: "</span> << <a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">slsDetectorUsers::getDetectorSettings</a>(pDetector-><a class="code" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">setSettings</a>()) << std::endl;
|
||||
<a name="l00072"></a>00072
|
||||
<a name="l00074"></a>00074 pDetector-><a class="code" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">setExposureTime</a>(10000000);
|
||||
<a name="l00075"></a>00075
|
||||
<a name="l00077"></a>00077 pDetector-><a class="code" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">setExposurePeriod</a>(100000000);
|
||||
<a name="l00078"></a>00078
|
||||
<a name="l00080"></a>00080 pDetector-><a class="code" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">setNumberOfFrames</a>(30);
|
||||
<a name="l00081"></a>00081 }
|
||||
<a name="l00083"></a>00083 pDetector-><a class="code" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">startMeasurement</a>();
|
||||
<a name="l00084"></a>00084
|
||||
<a name="l00085"></a>00085 <span class="keywordflow">while</span> (1) {
|
||||
<a name="l00086"></a>00086 usleep(100000);
|
||||
<a name="l00087"></a>00087 status = pDetector-><a class="code" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">getDetectorStatus</a>();
|
||||
<a name="l00088"></a>00088 <span class="keywordflow">if</span> (status == 0 || status == 1|| status == 3)
|
||||
<a name="l00089"></a>00089 <span class="keywordflow">break</span>;
|
||||
<a name="l00090"></a>00090 }
|
||||
<a name="l00091"></a>00091
|
||||
<a name="l00092"></a>00092 <span class="keywordtype">char</span> *temp[] = {<span class="stringliteral">"receiver"</span>, NULL};
|
||||
<a name="l00094"></a>00094 std::cout << <span class="stringliteral">"answer to a get command:"</span> << pDetector-><a class="code" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">getCommand</a>(1,temp,0) << std::endl;
|
||||
<a name="l00095"></a>00095
|
||||
<a name="l00096"></a>00096 <span class="keyword">delete</span> pDetector;
|
||||
<a name="l00097"></a>00097
|
||||
<a name="l00098"></a>00098 <span class="keywordflow">return</span> 0;
|
||||
<a name="l00099"></a>00099 }
|
||||
<a name="l00100"></a>00100
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
132
manual/manual-api/slsDetectorUsersDocs/html/mainClient_8cpp.html
Normal file
@ -0,0 +1,132 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>mainClient.cpp File Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>mainClient.cpp File Reference</h1><code>#include <iostream></code><br>
|
||||
<code>#include "<a class="el" href="slsDetectorUsers_8h-source.html">slsDetectorUsers.h</a>"</code><br>
|
||||
<code>#include "<a class="el" href="detectorData_8h-source.html">detectorData.h</a>"</code><br>
|
||||
|
||||
<p>
|
||||
<a href="mainClient_8cpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">dataCallback</a> (<a class="el" href="classdetectorData.html">detectorData</a> *pData, int iframe, void *pArg)</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
|
||||
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
This file is an example of how to implement the <a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a> class You can compile it linking it to the slsDetector library<p>
|
||||
gcc <a class="el" href="mainClient_8cpp.html">mainClient.cpp</a> -L lib -l SlsDetector -lm -lpthread<p>
|
||||
where lib is the location of libSlsDetector.so
|
||||
<p>
|
||||
Definition in file <a class="el" href="mainClient_8cpp-source.html">mainClient.cpp</a>.<hr><h2>Function Documentation</h2>
|
||||
<a class="anchor" name="21ef7438e7f0ed24a190513fb8e6af8a"></a><!-- doxytag: member="mainClient.cpp::dataCallback" ref="21ef7438e7f0ed24a190513fb8e6af8a" args="(detectorData *pData, int iframe, void *pArg)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int dataCallback </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classdetectorData.html">detectorData</a> * </td>
|
||||
<td class="paramname"> <em>pData</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>iframe</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">void * </td>
|
||||
<td class="paramname"> <em>pArg</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Definition of the data callback which simply prints out the number of points received and teh frame number
|
||||
<p>
|
||||
Definition at line <a class="el" href="mainClient_8cpp-source.html#l00019">19</a> of file <a class="el" href="mainClient_8cpp-source.html">mainClient.cpp</a>.
|
||||
<p>
|
||||
References <a class="el" href="detectorData_8h-source.html#l00032">detectorData::npoints</a>, and <a class="el" href="detectorData_8h-source.html#l00033">detectorData::npy</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="mainClient_8cpp-source.html#l00026">main()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="0ddf1224851353fc92bfbff6f499fa97"></a><!-- doxytag: member="mainClient.cpp::main" ref="0ddf1224851353fc92bfbff6f499fa97" args="(int argc, char *argv[])" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int main </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>argc</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"> <em>argv</em>[]</td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
example of a main program using the <a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a> class
|
||||
<p>
|
||||
if specified, argv[2] is used as detector ID (default is 0)<p>
|
||||
<a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a> is instantiated<p>
|
||||
if specified, argv[1] is used as detector config file (necessary at least the first time it is called to properly configure advanced settings in the shared memory)<p>
|
||||
Setting the detector online (should be by default<p>
|
||||
Load setup file if argv[2] specified<p>
|
||||
defining the detector size<p>
|
||||
registering data callback<p>
|
||||
checking detector status and exiting if not idle<p>
|
||||
checking and setting detector settings<p>
|
||||
Settings exposure time to 10ms<p>
|
||||
Settings exposure time to 100ms<p>
|
||||
Settingsnumber of frames to 30<p>
|
||||
start measurement<p>
|
||||
returning when acquisition is finished or data are avilable
|
||||
<p>
|
||||
Definition at line <a class="el" href="mainClient_8cpp-source.html#l00026">26</a> of file <a class="el" href="mainClient_8cpp-source.html">mainClient.cpp</a>.
|
||||
<p>
|
||||
References <a class="el" href="mainClient_8cpp-source.html#l00019">dataCallback()</a>, <a class="el" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">slsDetectorUsers::getCommand()</a>, <a class="el" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">slsDetectorUsers::getDetectorDeveloper()</a>, <a class="el" href="slsDetectorUsers_8h-source.html#l00575">slsDetectorUsers::getDetectorSettings()</a>, <a class="el" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">slsDetectorUsers::getDetectorSize()</a>, <a class="el" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">slsDetectorUsers::getDetectorStatus()</a>, <a class="el" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">slsDetectorUsers::readConfigurationFile()</a>, <a class="el" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">slsDetectorUsers::registerDataCallback()</a>, <a class="el" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">slsDetectorUsers::retrieveDetectorSetup()</a>, <a class="el" href="slsDetectorUsers_8h-source.html#l00557">slsDetectorUsers::runStatusType()</a>, <a class="el" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">slsDetectorUsers::setDetectorSize()</a>, <a class="el" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">slsDetectorUsers::setExposurePeriod()</a>, <a class="el" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">slsDetectorUsers::setExposureTime()</a>, <a class="el" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">slsDetectorUsers::setNumberOfFrames()</a>, <a class="el" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">slsDetectorUsers::setOnline()</a>, <a class="el" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">slsDetectorUsers::setSettings()</a>, and <a class="el" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">slsDetectorUsers::startMeasurement()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,112 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>mainReceiver.cpp Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>mainReceiver.cpp</h1><a href="mainReceiver_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* A simple server in the internet domain using TCP</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> The port number is passed as an argument </span>
|
||||
<a name="l00003"></a>00003 <span class="comment">*/</span>
|
||||
<a name="l00004"></a>00004
|
||||
<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="slsReceiverUsers_8h.html">slsReceiverUsers.h</a>"</span>
|
||||
<a name="l00019"></a>00019
|
||||
<a name="l00020"></a>00020
|
||||
<a name="l00021"></a>00021 <span class="preprocessor">#include <iostream></span>
|
||||
<a name="l00022"></a>00022 <span class="keyword">using namespace </span>std;
|
||||
<a name="l00023"></a>00023
|
||||
<a name="l00024"></a>00024
|
||||
<a name="l00025"></a><a class="code" href="mainReceiver_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">00025</a> <span class="keywordtype">int</span> <a class="code" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[]) {
|
||||
<a name="l00026"></a>00026 <span class="keywordtype">int</span> ret = 0;
|
||||
<a name="l00027"></a>00027
|
||||
<a name="l00028"></a>00028
|
||||
<a name="l00029"></a>00029 <span class="comment">/*</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> Instantiate the slsReceieverUsers class</span>
|
||||
<a name="l00031"></a>00031 <span class="comment"> The port number is passed as an argument</span>
|
||||
<a name="l00032"></a>00032 <span class="comment">*/</span>
|
||||
<a name="l00033"></a>00033 <a class="code" href="classslsReceiverUsers.html">slsReceiverUsers</a> *receiver = <span class="keyword">new</span> <a class="code" href="classslsReceiverUsers.html">slsReceiverUsers</a>(argc, argv, ret);
|
||||
<a name="l00034"></a>00034
|
||||
<a name="l00035"></a>00035 <span class="comment">/*</span>
|
||||
<a name="l00036"></a>00036 <span class="comment"> return if could not open TCP socket for interfacing to client </span>
|
||||
<a name="l00037"></a>00037 <span class="comment"> */</span>
|
||||
<a name="l00038"></a>00038 <span class="keywordflow">if</span>(ret==1)
|
||||
<a name="l00039"></a>00039 <span class="keywordflow">return</span> -1;
|
||||
<a name="l00040"></a>00040
|
||||
<a name="l00041"></a>00041
|
||||
<a name="l00042"></a>00042 <span class="comment">/*register callbacks */</span>
|
||||
<a name="l00043"></a>00043
|
||||
<a name="l00044"></a>00044
|
||||
<a name="l00045"></a>00045 <span class="comment">/*</span>
|
||||
<a name="l00046"></a>00046 <span class="comment"> callback arguments are</span>
|
||||
<a name="l00047"></a>00047 <span class="comment"> filepath</span>
|
||||
<a name="l00048"></a>00048 <span class="comment"> filename</span>
|
||||
<a name="l00049"></a>00049 <span class="comment"> fileindex</span>
|
||||
<a name="l00050"></a>00050 <span class="comment"> datasize</span>
|
||||
<a name="l00051"></a>00051 <span class="comment"> </span>
|
||||
<a name="l00052"></a>00052 <span class="comment"> return value is </span>
|
||||
<a name="l00053"></a>00053 <span class="comment"> 0 raw data ready callback takes care of open,close,write file</span>
|
||||
<a name="l00054"></a>00054 <span class="comment"> 1 callback writes file, we have to open, close it</span>
|
||||
<a name="l00055"></a>00055 <span class="comment"> 2 we open, close, write file, callback does not do anything</span>
|
||||
<a name="l00056"></a>00056 <span class="comment"></span>
|
||||
<a name="l00057"></a>00057 <span class="comment"></span>
|
||||
<a name="l00058"></a>00058 <span class="comment"> registerCallBackStartAcquisition(int (*func)(char*, char*,int, int, void*),void *arg);</span>
|
||||
<a name="l00059"></a>00059 <span class="comment"> */</span>
|
||||
<a name="l00060"></a>00060
|
||||
<a name="l00061"></a>00061 <span class="comment">//receiver->registerCallBackStartAcquisition(func,arg);</span>
|
||||
<a name="l00062"></a>00062
|
||||
<a name="l00063"></a>00063
|
||||
<a name="l00064"></a>00064 <span class="comment">/*</span>
|
||||
<a name="l00065"></a>00065 <span class="comment"> callback argument is</span>
|
||||
<a name="l00066"></a>00066 <span class="comment"> total farmes caught</span>
|
||||
<a name="l00067"></a>00067 <span class="comment"> registerCallBackAcquisitionFinished(void (*func)(int, void*),void *arg);</span>
|
||||
<a name="l00068"></a>00068 <span class="comment"> */</span>
|
||||
<a name="l00069"></a>00069
|
||||
<a name="l00070"></a>00070
|
||||
<a name="l00071"></a>00071 <span class="comment">//receiver->registerCallBackAcquisitionFinished(func,arg);</span>
|
||||
<a name="l00072"></a>00072
|
||||
<a name="l00073"></a>00073
|
||||
<a name="l00074"></a>00074
|
||||
<a name="l00075"></a>00075 <span class="comment">/*</span>
|
||||
<a name="l00076"></a>00076 <span class="comment"> args to raw data ready callback are</span>
|
||||
<a name="l00077"></a>00077 <span class="comment"> framenum</span>
|
||||
<a name="l00078"></a>00078 <span class="comment"> datapointer</span>
|
||||
<a name="l00079"></a>00079 <span class="comment"> file descriptor</span>
|
||||
<a name="l00080"></a>00080 <span class="comment"> guidatapointer (NULL, no data required)</span>
|
||||
<a name="l00081"></a>00081 <span class="comment"> </span>
|
||||
<a name="l00082"></a>00082 <span class="comment"> NEVER DELETE THE DATA POINTER</span>
|
||||
<a name="l00083"></a>00083 <span class="comment"> REMEMBER THAT THE CALLBACK IS BLOCKING</span>
|
||||
<a name="l00084"></a>00084 <span class="comment"></span>
|
||||
<a name="l00085"></a>00085 <span class="comment"> registerCallBackRawDataReady(void (*func)(int, char*, FILE*, char*, void*),void *arg);</span>
|
||||
<a name="l00086"></a>00086 <span class="comment"></span>
|
||||
<a name="l00087"></a>00087 <span class="comment"> */</span>
|
||||
<a name="l00088"></a>00088
|
||||
<a name="l00089"></a>00089 <span class="comment">//receiver->registerCallBackRawDataReady(func,arg);</span>
|
||||
<a name="l00090"></a>00090
|
||||
<a name="l00091"></a>00091
|
||||
<a name="l00092"></a>00092 <span class="comment">/* start receiver to listen for commands from the client (and data from detectors when expected */</span>
|
||||
<a name="l00093"></a>00093 receiver-><a class="code" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">start</a>();
|
||||
<a name="l00094"></a>00094
|
||||
<a name="l00096"></a>00096 usleep(10000000);
|
||||
<a name="l00097"></a>00097
|
||||
<a name="l00099"></a>00099 receiver-><a class="code" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">stop</a>();
|
||||
<a name="l00100"></a>00100
|
||||
<a name="l00101"></a>00101 <span class="keywordflow">return</span> 0;
|
||||
<a name="l00102"></a>00102 }
|
||||
<a name="l00103"></a>00103
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,73 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>mainReceiver.cpp File Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>mainReceiver.cpp File Reference</h1><code>#include "<a class="el" href="slsReceiverUsers_8h-source.html">slsReceiverUsers.h</a>"</code><br>
|
||||
<code>#include <iostream></code><br>
|
||||
|
||||
<p>
|
||||
<a href="mainReceiver_8cpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mainReceiver_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
|
||||
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
This file is an example of how to implement the <a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a> class You can compile it linking it to the slsDetector library<p>
|
||||
gcc <a class="el" href="mainReceiver_8cpp.html">mainReceiver.cpp</a> -L lib -l SlsDetector -lm -lpthread<p>
|
||||
where lib is the location of libSlsDetector.so
|
||||
<p>
|
||||
Definition in file <a class="el" href="mainReceiver_8cpp-source.html">mainReceiver.cpp</a>.<hr><h2>Function Documentation</h2>
|
||||
<a class="anchor" name="0ddf1224851353fc92bfbff6f499fa97"></a><!-- doxytag: member="mainReceiver.cpp::main" ref="0ddf1224851353fc92bfbff6f499fa97" args="(int argc, char *argv[])" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int main </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>argc</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"> <em>argv</em>[]</td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="mainReceiver_8cpp-source.html#l00025">25</a> of file <a class="el" href="mainReceiver_8cpp-source.html">mainReceiver.cpp</a>.
|
||||
<p>
|
||||
References <a class="el" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">slsReceiverUsers::start()</a>, and <a class="el" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">slsReceiverUsers::stop()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
22
manual/manual-api/slsDetectorUsersDocs/html/namespaces.html
Normal file
@ -0,0 +1,22 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>Namespace Index</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<h1>Namespace List</h1>Here is a list of all namespaces with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="namespacestd.html">std</a></td><td class="indexvalue"></td></tr>
|
||||
</table>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,24 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>std Namespace Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<h1>std Namespace Reference</h1>
|
||||
<p>
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
</table>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,258 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>slsDetectorUsers.h Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>slsDetectorUsers.h</h1><a href="slsDetectorUsers_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef SLS_DETECTOR_USERS_H</span>
|
||||
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define SLS_DETECTOR_USERS_H</span>
|
||||
<a name="l00003"></a>00003 <span class="preprocessor"></span>
|
||||
<a name="l00004"></a>00004
|
||||
<a name="l00005"></a>00005
|
||||
<a name="l00016"></a>00016 <span class="keyword">class </span><a class="code" href="classdetectorData.html">detectorData</a>;
|
||||
<a name="l00017"></a>00017 <span class="keyword">class </span>multiSlsDetector;
|
||||
<a name="l00018"></a>00018 <span class="keyword">class </span>multiSlsDetectorCommand;
|
||||
<a name="l00019"></a>00019
|
||||
<a name="l00020"></a>00020
|
||||
<a name="l00021"></a>00021 <span class="preprocessor">#include <stdint.h></span>
|
||||
<a name="l00022"></a>00022 <span class="preprocessor">#include <string></span>
|
||||
<a name="l00023"></a>00023
|
||||
<a name="l00024"></a>00024
|
||||
<a name="l00025"></a>00025 <span class="keyword">using namespace </span>std;
|
||||
<a name="l00026"></a>00026
|
||||
<a name="l00027"></a>00027
|
||||
<a name="l00028"></a>00028
|
||||
<a name="l00029"></a>00029 <span class="comment">/*</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> \mainpage </span>
|
||||
<a name="l00031"></a>00031 <span class="comment"><CENTER><H1>API for SLS detectors data acquisition</H1></CENTER></span>
|
||||
<a name="l00032"></a>00032 <span class="comment"><HR></span>
|
||||
<a name="l00033"></a>00033 <span class="comment">*/</span>
|
||||
<a name="l00084"></a><a class="code" href="classslsDetectorUsers.html">00084</a> <span class="keyword">class </span><a class="code" href="classslsDetectorUsers.html">slsDetectorUsers</a>
|
||||
<a name="l00085"></a>00085 {
|
||||
<a name="l00086"></a>00086
|
||||
<a name="l00087"></a>00087 <span class="keyword">public</span>:
|
||||
<a name="l00088"></a>00088
|
||||
<a name="l00090"></a>00090 <a class="code" href="classslsDetectorUsers.html#17323cd635b9e5c2916be3ca30ec748c">slsDetectorUsers</a>(<span class="keywordtype">int</span> <span class="keywordtype">id</span>=0);
|
||||
<a name="l00091"></a>00091
|
||||
<a name="l00092"></a>00092
|
||||
<a name="l00094"></a>00094 <span class="keyword">virtual</span> <a class="code" href="classslsDetectorUsers.html#0d1daf6539befe56d6e3df0b24f5d68b">~slsDetectorUsers</a>();
|
||||
<a name="l00095"></a>00095
|
||||
<a name="l00096"></a>00096
|
||||
<a name="l00097"></a>00097
|
||||
<a name="l00102"></a>00102 string <a class="code" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">getDetectorDeveloper</a>();
|
||||
<a name="l00103"></a>00103
|
||||
<a name="l00104"></a>00104
|
||||
<a name="l00105"></a>00105
|
||||
<a name="l00110"></a>00110 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">setOnline</a>(<span class="keywordtype">int</span> <span class="keyword">const</span> online=-1);
|
||||
<a name="l00111"></a>00111
|
||||
<a name="l00116"></a>00116 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">startMeasurement</a>();
|
||||
<a name="l00117"></a>00117
|
||||
<a name="l00122"></a>00122 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#2abc673c45c1fe006f6b0fea6188e3a9">stopMeasurement</a>();
|
||||
<a name="l00123"></a>00123
|
||||
<a name="l00128"></a>00128 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">getDetectorStatus</a>();
|
||||
<a name="l00129"></a>00129
|
||||
<a name="l00133"></a>00133 string <a class="code" href="classslsDetectorUsers.html#81969295c2b08f14e9c3d4fa1f7d4e16">getFilePath</a>();
|
||||
<a name="l00134"></a>00134
|
||||
<a name="l00140"></a>00140 string <a class="code" href="classslsDetectorUsers.html#d833e1051299e101a5b5097c598ba9cb">setFilePath</a>(string s);
|
||||
<a name="l00141"></a>00141
|
||||
<a name="l00146"></a>00146 string <a class="code" href="classslsDetectorUsers.html#5f30c83e8bf07a92fad0916d43e3799c">getFileName</a>();
|
||||
<a name="l00147"></a>00147
|
||||
<a name="l00154"></a>00154 string <a class="code" href="classslsDetectorUsers.html#ff4a8ff4852e50d4ec05204cbc7fea9e">setFileName</a>(string s);
|
||||
<a name="l00155"></a>00155
|
||||
<a name="l00160"></a>00160 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#6e3467bf3c0c246f69f85d485d84dd62">getFileIndex</a>();
|
||||
<a name="l00161"></a>00161
|
||||
<a name="l00167"></a>00167 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#6b92ea7e237c77aa5107d7aabf76fe2d">setFileIndex</a>(<span class="keywordtype">int</span> i);
|
||||
<a name="l00168"></a>00168
|
||||
<a name="l00173"></a>00173 string <a class="code" href="classslsDetectorUsers.html#0b20511a94205abd689f31bd1a2d4c18">getFlatFieldCorrectionDir</a>();
|
||||
<a name="l00174"></a>00174
|
||||
<a name="l00180"></a>00180 string <a class="code" href="classslsDetectorUsers.html#65b112dac3d8b94f219f4d64c13cf0f9">setFlatFieldCorrectionDir</a>(string dir);
|
||||
<a name="l00181"></a>00181
|
||||
<a name="l00186"></a>00186 string <a class="code" href="classslsDetectorUsers.html#a83083f73523557e6129f33b59f38327">getFlatFieldCorrectionFile</a>();
|
||||
<a name="l00187"></a>00187
|
||||
<a name="l00193"></a>00193 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#ad9e6da8683ba2887174505fd3b7d739">setFlatFieldCorrectionFile</a>(string fname=<span class="stringliteral">""</span>);
|
||||
<a name="l00194"></a>00194
|
||||
<a name="l00195"></a>00195
|
||||
<a name="l00196"></a>00196
|
||||
<a name="l00202"></a>00202 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#94c74499f7653116cd8aff9ec0d14c43">enableFlatFieldCorrection</a>(<span class="keywordtype">int</span> i=-1);
|
||||
<a name="l00203"></a>00203
|
||||
<a name="l00209"></a>00209 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#82efe2f57758d63d330d78b121f8e77e">enableCountRateCorrection</a>(<span class="keywordtype">int</span> i=-1);
|
||||
<a name="l00210"></a>00210
|
||||
<a name="l00216"></a>00216 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#e5bc1c9c8e7e6cb7c9cde06a3133d263">enablePixelMaskCorrection</a>(<span class="keywordtype">int</span> i=-1);
|
||||
<a name="l00217"></a>00217
|
||||
<a name="l00223"></a>00223 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#51f92b69e05e8ee2e0c547ec4a6e97da">enableAngularConversion</a>(<span class="keywordtype">int</span> i=-1);
|
||||
<a name="l00224"></a>00224
|
||||
<a name="l00227"></a>00227 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#6d54a79ae4cfdb808f5db9969537efd3">enableWriteToFile</a>(<span class="keywordtype">int</span> i=-1);
|
||||
<a name="l00228"></a>00228
|
||||
<a name="l00235"></a>00235 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#f296c05ee6134fb8d53d08a025e89775">setPositions</a>(<span class="keywordtype">int</span> nPos, <span class="keywordtype">double</span> *pos);
|
||||
<a name="l00236"></a>00236
|
||||
<a name="l00242"></a>00242 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#e6e5f06995e3ef110824adc5f8b095e9">getPositions</a>(<span class="keywordtype">double</span> *pos=NULL);
|
||||
<a name="l00243"></a>00243
|
||||
<a name="l00252"></a>00252 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">setDetectorSize</a>(<span class="keywordtype">int</span> x0=-1, <span class="keywordtype">int</span> y0=-1, <span class="keywordtype">int</span> nx=-1, <span class="keywordtype">int</span> ny=-1);
|
||||
<a name="l00253"></a>00253
|
||||
<a name="l00254"></a>00254
|
||||
<a name="l00263"></a>00263 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">getDetectorSize</a>(<span class="keywordtype">int</span> &x0, <span class="keywordtype">int</span> &y0, <span class="keywordtype">int</span> &nx, <span class="keywordtype">int</span> &ny);
|
||||
<a name="l00272"></a>00272 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#588a5e1d231cd6778f6f78fdc53b9681">getMaximumDetectorSize</a>(<span class="keywordtype">int</span> &nx, <span class="keywordtype">int</span> &ny);
|
||||
<a name="l00273"></a>00273
|
||||
<a name="l00274"></a>00274
|
||||
<a name="l00280"></a>00280 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#ff667cf0665154cdff5d5f3dbc3526ba">setBitDepth</a>(<span class="keywordtype">int</span> i=-1);
|
||||
<a name="l00281"></a>00281
|
||||
<a name="l00282"></a>00282
|
||||
<a name="l00283"></a>00283
|
||||
<a name="l00289"></a>00289 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">setSettings</a>(<span class="keywordtype">int</span> isettings=-1);
|
||||
<a name="l00290"></a>00290
|
||||
<a name="l00295"></a>00295 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#fe8029788742125c44383817f89214ca">getThresholdEnergy</a>();
|
||||
<a name="l00296"></a>00296
|
||||
<a name="l00297"></a>00297
|
||||
<a name="l00303"></a>00303 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#1354266fd1bfaccd58992a3f51bbbd1d">setThresholdEnergy</a>(<span class="keywordtype">int</span> e_eV);
|
||||
<a name="l00304"></a>00304
|
||||
<a name="l00309"></a>00309 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#c9ea028f75a180534c8d00eeea0727d3">getBeamEnergy</a>();
|
||||
<a name="l00310"></a>00310
|
||||
<a name="l00311"></a>00311
|
||||
<a name="l00317"></a>00317 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#475938986407804877df4dcece97cc19">setBeamEnergy</a>(<span class="keywordtype">int</span> e_eV);
|
||||
<a name="l00318"></a>00318
|
||||
<a name="l00326"></a>00326 <span class="keywordtype">double</span> <a class="code" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">setExposureTime</a>(<span class="keywordtype">double</span> t=-1, <span class="keywordtype">bool</span> inseconds=<span class="keyword">false</span>);
|
||||
<a name="l00327"></a>00327
|
||||
<a name="l00334"></a>00334 <span class="keywordtype">double</span> <a class="code" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">setExposurePeriod</a>(<span class="keywordtype">double</span> t=-1, <span class="keywordtype">bool</span> inseconds=<span class="keyword">false</span>);
|
||||
<a name="l00335"></a>00335
|
||||
<a name="l00342"></a>00342 <span class="keywordtype">double</span> <a class="code" href="classslsDetectorUsers.html#99f67fab7edfe68cc8b2300e282ff3f2">setDelayAfterTrigger</a>(<span class="keywordtype">double</span> t=-1, <span class="keywordtype">bool</span> inseconds=<span class="keyword">false</span>);
|
||||
<a name="l00343"></a>00343
|
||||
<a name="l00349"></a>00349 int64_t <a class="code" href="classslsDetectorUsers.html#61d4acb00c997c5e02be6a191401c4ce">setNumberOfGates</a>(int64_t t=-1);
|
||||
<a name="l00350"></a>00350
|
||||
<a name="l00356"></a>00356 int64_t <a class="code" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">setNumberOfFrames</a>(int64_t t=-1);
|
||||
<a name="l00357"></a>00357
|
||||
<a name="l00363"></a>00363 int64_t <a class="code" href="classslsDetectorUsers.html#8b741851c4eaef4e29322c99fd17cb3b">setNumberOfCycles</a>(int64_t t=-1);
|
||||
<a name="l00364"></a>00364
|
||||
<a name="l00365"></a>00365
|
||||
<a name="l00371"></a>00371 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#e2825524756c4bdf418a6233e137b4d7">setTimingMode</a>(<span class="keywordtype">int</span> pol=-1);
|
||||
<a name="l00372"></a>00372
|
||||
<a name="l00378"></a>00378 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">readConfigurationFile</a>(string <span class="keyword">const</span> fname);
|
||||
<a name="l00379"></a>00379
|
||||
<a name="l00380"></a>00380
|
||||
<a name="l00387"></a>00387 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#d6b968f4d520342324762c496ebeb481">dumpDetectorSetup</a>(string <span class="keyword">const</span> fname);
|
||||
<a name="l00394"></a>00394 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">retrieveDetectorSetup</a>(string <span class="keyword">const</span> fname);
|
||||
<a name="l00395"></a>00395
|
||||
<a name="l00400"></a>00400 string <a class="code" href="classslsDetectorUsers.html#5292a3d9c12696512b81bcc6c579a03c">getDetectorType</a>();
|
||||
<a name="l00401"></a>00401
|
||||
<a name="l00407"></a>00407 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#db084473ffe61960b86abdfa8efcc80d">setReceiverMode</a>(<span class="keywordtype">int</span> n=-1);
|
||||
<a name="l00408"></a>00408
|
||||
<a name="l00414"></a>00414 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">registerDataCallback</a>(<span class="keywordtype">int</span>( *userCallback)(<a class="code" href="classdetectorData.html">detectorData</a>* d, <span class="keywordtype">int</span> f, <span class="keywordtype">void</span>*), <span class="keywordtype">void</span> *pArg);
|
||||
<a name="l00415"></a>00415
|
||||
<a name="l00421"></a>00421 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#898cf0db148f0d3de7d4725cc8342c56">registerRawDataCallback</a>(<span class="keywordtype">int</span>( *userCallback)(<span class="keywordtype">double</span>* p, <span class="keywordtype">int</span> n, <span class="keywordtype">void</span>*), <span class="keywordtype">void</span> *pArg);
|
||||
<a name="l00422"></a>00422
|
||||
<a name="l00428"></a>00428 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#56fa8890298a01fc58baad413dfdf1c1">initDataset</a>(<span class="keywordtype">int</span> refresh);
|
||||
<a name="l00429"></a>00429
|
||||
<a name="l00430"></a>00430
|
||||
<a name="l00441"></a>00441 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#5128e295a5b926ccabdb48083d324789">addFrame</a>(<span class="keywordtype">double</span> *data, <span class="keywordtype">double</span> pos, <span class="keywordtype">double</span> i0, <span class="keywordtype">double</span> t, string fname, <span class="keywordtype">double</span> var);
|
||||
<a name="l00442"></a>00442
|
||||
<a name="l00451"></a>00451 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#9cbe00dac8a19b71de88ebbdf3b0ea29">finalizeDataset</a>(<span class="keywordtype">double</span> *a, <span class="keywordtype">double</span> *v, <span class="keywordtype">double</span> *e, <span class="keywordtype">int</span> &np);
|
||||
<a name="l00452"></a>00452
|
||||
<a name="l00457"></a>00457 int64_t <a class="code" href="classslsDetectorUsers.html#09ded3b9c81e4544d42bb0697c3b7624">getModuleFirmwareVersion</a>();
|
||||
<a name="l00458"></a>00458
|
||||
<a name="l00464"></a>00464 int64_t <a class="code" href="classslsDetectorUsers.html#5c0e9f8836e1a8a2d986408e4f5dfd3b">getModuleSerialNumber</a>(<span class="keywordtype">int</span> imod=-1);
|
||||
<a name="l00465"></a>00465
|
||||
<a name="l00470"></a>00470 int64_t <a class="code" href="classslsDetectorUsers.html#2cbba4518b585064f7870ae2d39a8b8b">getDetectorFirmwareVersion</a>();
|
||||
<a name="l00471"></a>00471
|
||||
<a name="l00476"></a>00476 int64_t <a class="code" href="classslsDetectorUsers.html#1c79314ceeda9b3085ca118e25882669">getDetectorSerialNumber</a>();
|
||||
<a name="l00477"></a>00477
|
||||
<a name="l00482"></a>00482 int64_t <a class="code" href="classslsDetectorUsers.html#1857f2afea58227cb96ad92f5e562a5e">getDetectorSoftwareVersion</a>();
|
||||
<a name="l00483"></a>00483
|
||||
<a name="l00488"></a>00488 int64_t <a class="code" href="classslsDetectorUsers.html#547feb09262a2f0fa1ec4de82e92ab63">getThisSoftwareVersion</a>();
|
||||
<a name="l00489"></a>00489
|
||||
<a name="l00495"></a>00495 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#2a85e28ff08e3ec1e08bea3ba7d0fb08">registerAcquisitionFinishedCallback</a>(<span class="keywordtype">int</span>( *func)(<span class="keywordtype">double</span>,<span class="keywordtype">int</span>, <span class="keywordtype">void</span>*), <span class="keywordtype">void</span> *pArg);
|
||||
<a name="l00496"></a>00496
|
||||
<a name="l00502"></a>00502 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#c2b87416288e657a209e1374c778eb16">registerGetPositionCallback</a>( <span class="keywordtype">double</span> (*func)(<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
|
||||
<a name="l00507"></a>00507 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#d1ab73675435879c2c5cef7adab02c32">registerConnectChannelsCallback</a>( <span class="keywordtype">int</span> (*func)(<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
|
||||
<a name="l00512"></a>00512 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#a94dd8fce8548ba8e79201ec50fe27d6">registerDisconnectChannelsCallback</a>( <span class="keywordtype">int</span> (*func)(<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
|
||||
<a name="l00517"></a>00517 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#0f7c9bd3c46647d5dda2fa5312f3ef92">registerGoToPositionCallback</a>( <span class="keywordtype">int</span> (*func)(<span class="keywordtype">double</span>,<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
|
||||
<a name="l00522"></a>00522 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#e807e9f4a015a4bbcb22e36b80577ea5">registerGoToPositionNoWaitCallback</a>( <span class="keywordtype">int</span> (*func)(<span class="keywordtype">double</span>,<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
|
||||
<a name="l00527"></a>00527 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#1969785197030aa8e2d3c3d48a9cb45c">registerGetI0Callback</a>( <span class="keywordtype">double</span> (*func)(<span class="keywordtype">int</span>,<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
|
||||
<a name="l00528"></a>00528
|
||||
<a name="l00536"></a>00536 string <a class="code" href="classslsDetectorUsers.html#5f7c26833decef59c1abfd7d745c4671">putCommand</a>(<span class="keywordtype">int</span> narg, <span class="keywordtype">char</span> *args[], <span class="keywordtype">int</span> pos=-1);
|
||||
<a name="l00537"></a>00537
|
||||
<a name="l00545"></a>00545 string <a class="code" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">getCommand</a>(<span class="keywordtype">int</span> narg, <span class="keywordtype">char</span> *args[], <span class="keywordtype">int</span> pos=-1);
|
||||
<a name="l00546"></a>00546
|
||||
<a name="l00547"></a>00547 <span class="comment">/************************************************************************</span>
|
||||
<a name="l00548"></a>00548 <span class="comment"></span>
|
||||
<a name="l00549"></a>00549 <span class="comment"> STATIC FUNCTIONS</span>
|
||||
<a name="l00550"></a>00550 <span class="comment"></span>
|
||||
<a name="l00551"></a>00551 <span class="comment"> *********************************************************************/</span>
|
||||
<a name="l00552"></a>00552
|
||||
<a name="l00557"></a><a class="code" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">00557</a> <span class="keyword">static</span> string <a class="code" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">runStatusType</a>(<span class="keywordtype">int</span> s){ \
|
||||
<a name="l00558"></a>00558 <span class="keywordflow">switch</span> (s) { \
|
||||
<a name="l00559"></a>00559 <span class="keywordflow">case</span> 0: <span class="keywordflow">return</span> string(<span class="stringliteral">"idle"</span>); \
|
||||
<a name="l00560"></a>00560 <span class="keywordflow">case</span> 1: <span class="keywordflow">return</span> string(<span class="stringliteral">"error"</span>); \
|
||||
<a name="l00561"></a>00561 <span class="keywordflow">case</span> 2: <span class="keywordflow">return</span> string(<span class="stringliteral">"waiting"</span>); \
|
||||
<a name="l00562"></a>00562 <span class="keywordflow">case</span> 3: <span class="keywordflow">return</span> string(<span class="stringliteral">"finished"</span>); \
|
||||
<a name="l00563"></a>00563 <span class="keywordflow">case</span> 4: <span class="keywordflow">return</span> string(<span class="stringliteral">"data"</span>); \
|
||||
<a name="l00564"></a>00564 <span class="keywordflow">case</span> 5: <span class="keywordflow">return</span> string(<span class="stringliteral">"running"</span>); \
|
||||
<a name="l00565"></a>00565 <span class="keywordflow">default</span>: <span class="keywordflow">return</span> string(<span class="stringliteral">"unknown"</span>); \
|
||||
<a name="l00566"></a>00566 }};
|
||||
<a name="l00567"></a>00567
|
||||
<a name="l00568"></a>00568
|
||||
<a name="l00569"></a>00569
|
||||
<a name="l00575"></a><a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">00575</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">getDetectorSettings</a>(string s){ \
|
||||
<a name="l00576"></a>00576 <span class="keywordflow">if</span> (s==<span class="stringliteral">"standard"</span>) <span class="keywordflow">return</span> 0; \
|
||||
<a name="l00577"></a>00577 <span class="keywordflow">if</span> (s==<span class="stringliteral">"fast"</span>) <span class="keywordflow">return</span> 1; \
|
||||
<a name="l00578"></a>00578 <span class="keywordflow">if</span> (s==<span class="stringliteral">"highgain"</span>) <span class="keywordflow">return</span> 2; \
|
||||
<a name="l00579"></a>00579 <span class="keywordflow">if</span> (s==<span class="stringliteral">"dynamicgain"</span>) <span class="keywordflow">return</span> 3; \
|
||||
<a name="l00580"></a>00580 <span class="keywordflow">if</span> (s==<span class="stringliteral">"lowgain"</span>) <span class="keywordflow">return</span> 4; \
|
||||
<a name="l00581"></a>00581 <span class="keywordflow">if</span> (s==<span class="stringliteral">"mediumgain"</span>) <span class="keywordflow">return</span> 5; \
|
||||
<a name="l00582"></a>00582 <span class="keywordflow">if</span> (s==<span class="stringliteral">"veryhighgain"</span>) <span class="keywordflow">return</span> 6; \
|
||||
<a name="l00583"></a>00583 <span class="keywordflow">return</span> -1; };
|
||||
<a name="l00584"></a>00584
|
||||
<a name="l00589"></a><a class="code" href="classslsDetectorUsers.html#a66defec09b568a514e57b444dbe0d7f">00589</a> <span class="keyword">static</span> string <a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">getDetectorSettings</a>(<span class="keywordtype">int</span> s){\
|
||||
<a name="l00590"></a>00590 <span class="keywordflow">switch</span>(s) { \
|
||||
<a name="l00591"></a>00591 <span class="keywordflow">case</span> 0: <span class="keywordflow">return</span> string(<span class="stringliteral">"standard"</span>);\
|
||||
<a name="l00592"></a>00592 <span class="keywordflow">case</span> 1: <span class="keywordflow">return</span> string(<span class="stringliteral">"fast"</span>);\
|
||||
<a name="l00593"></a>00593 <span class="keywordflow">case</span> 2: <span class="keywordflow">return</span> string(<span class="stringliteral">"highgain"</span>);\
|
||||
<a name="l00594"></a>00594 <span class="keywordflow">case</span> 3: <span class="keywordflow">return</span> string(<span class="stringliteral">"dynamicgain"</span>); \
|
||||
<a name="l00595"></a>00595 <span class="keywordflow">case</span> 4: <span class="keywordflow">return</span> string(<span class="stringliteral">"lowgain"</span>); \
|
||||
<a name="l00596"></a>00596 <span class="keywordflow">case</span> 5: <span class="keywordflow">return</span> string(<span class="stringliteral">"mediumgain"</span>); \
|
||||
<a name="l00597"></a>00597 <span class="keywordflow">case</span> 6: <span class="keywordflow">return</span> string(<span class="stringliteral">"veryhighgain"</span>); \
|
||||
<a name="l00598"></a>00598 <span class="keywordflow">default</span>: <span class="keywordflow">return</span> string(<span class="stringliteral">"undefined"</span>); \
|
||||
<a name="l00599"></a>00599 }};
|
||||
<a name="l00600"></a>00600
|
||||
<a name="l00601"></a>00601
|
||||
<a name="l00602"></a>00602
|
||||
<a name="l00609"></a><a class="code" href="classslsDetectorUsers.html#420880726f4036bf9da83edfcb2d6cf0">00609</a> <span class="keyword">static</span> string <a class="code" href="classslsDetectorUsers.html#420880726f4036bf9da83edfcb2d6cf0">getTimingMode</a>(<span class="keywordtype">int</span> f){ \
|
||||
<a name="l00610"></a>00610 <span class="keywordflow">switch</span>(f) { \
|
||||
<a name="l00611"></a>00611 <span class="keywordflow">case</span> 0: <span class="keywordflow">return</span> string( <span class="stringliteral">"auto"</span>); \
|
||||
<a name="l00612"></a>00612 <span class="keywordflow">case</span> 1: <span class="keywordflow">return</span> string(<span class="stringliteral">"trigger"</span>); \
|
||||
<a name="l00613"></a>00613 <span class="keywordflow">case</span> 2: <span class="keywordflow">return</span> string(<span class="stringliteral">"ro_trigger"</span>); \
|
||||
<a name="l00614"></a>00614 <span class="keywordflow">case</span> 3: <span class="keywordflow">return</span> string(<span class="stringliteral">"gating"</span>); \
|
||||
<a name="l00615"></a>00615 <span class="keywordflow">case</span> 4: <span class="keywordflow">return</span> string(<span class="stringliteral">"triggered_gating"</span>); \
|
||||
<a name="l00616"></a>00616 <span class="keywordflow">default</span>: <span class="keywordflow">return</span> string( <span class="stringliteral">"unknown"</span>); \
|
||||
<a name="l00617"></a>00617 } };
|
||||
<a name="l00618"></a>00618
|
||||
<a name="l00625"></a><a class="code" href="classslsDetectorUsers.html#e88a9626e4e661c1c0e1d27ba4a57d50">00625</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#420880726f4036bf9da83edfcb2d6cf0">getTimingMode</a>(string s){ \
|
||||
<a name="l00626"></a>00626 <span class="keywordflow">if</span> (s== <span class="stringliteral">"auto"</span>) <span class="keywordflow">return</span> 0; \
|
||||
<a name="l00627"></a>00627 <span class="keywordflow">if</span> (s== <span class="stringliteral">"trigger"</span>) <span class="keywordflow">return</span> 1; \
|
||||
<a name="l00628"></a>00628 <span class="keywordflow">if</span> (s== <span class="stringliteral">"ro_trigger"</span>) <span class="keywordflow">return</span> 2; \
|
||||
<a name="l00629"></a>00629 <span class="keywordflow">if</span> (s== <span class="stringliteral">"gating"</span>) <span class="keywordflow">return</span> 3; \
|
||||
<a name="l00630"></a>00630 <span class="keywordflow">if</span> (s== <span class="stringliteral">"triggered_gating"</span>) <span class="keywordflow">return</span> 4; \
|
||||
<a name="l00631"></a>00631 <span class="keywordflow">return</span> -1; };
|
||||
<a name="l00632"></a>00632
|
||||
<a name="l00633"></a>00633 <span class="keyword">private</span>:
|
||||
<a name="l00634"></a>00634 multiSlsDetector *myDetector;
|
||||
<a name="l00635"></a>00635 multiSlsDetectorCommand *myCmd;
|
||||
<a name="l00636"></a>00636 };
|
||||
<a name="l00637"></a>00637
|
||||
<a name="l00638"></a>00638 <span class="preprocessor">#endif</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,38 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>slsDetectorUsers.h File Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>slsDetectorUsers.h File Reference</h1><code>#include <stdint.h></code><br>
|
||||
<code>#include <string></code><br>
|
||||
|
||||
<p>
|
||||
<a href="slsDetectorUsers_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacestd.html">std</a></td></tr>
|
||||
|
||||
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class for detector functionalitiesto embed the detector controls in the users custom interface e.g. EPICS, Lima etc. <a href="classslsDetectorUsers.html#_details">More...</a><br></td></tr>
|
||||
</table>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,64 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>slsReceiverUsers.h Source File</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>slsReceiverUsers.h</h1><a href="slsReceiverUsers_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
|
||||
<a name="l00002"></a>00002 <span class="preprocessor">#ifndef SLS_RECEIVER_USERS_H</span>
|
||||
<a name="l00003"></a>00003 <span class="preprocessor"></span><span class="preprocessor">#define SLS_RECEIVER_USERS_H</span>
|
||||
<a name="l00004"></a>00004 <span class="preprocessor"></span>
|
||||
<a name="l00005"></a>00005 <span class="preprocessor">#include <stdio.h></span>
|
||||
<a name="l00006"></a>00006 <span class="preprocessor">#include <stdint.h></span>
|
||||
<a name="l00007"></a>00007
|
||||
<a name="l00008"></a>00008 <span class="keyword">class </span>slsReceiverTCPIPInterface;
|
||||
<a name="l00009"></a>00009
|
||||
<a name="l00021"></a><a class="code" href="classslsReceiverUsers.html">00021</a> <span class="keyword">class </span><a class="code" href="classslsReceiverUsers.html">slsReceiverUsers</a> {
|
||||
<a name="l00022"></a>00022
|
||||
<a name="l00023"></a>00023 <span class="keyword">public</span>:
|
||||
<a name="l00031"></a>00031 <a class="code" href="classslsReceiverUsers.html#79a82ba94fbb19761c7701aa3901b8b1">slsReceiverUsers</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[], <span class="keywordtype">int</span> &success);
|
||||
<a name="l00032"></a>00032
|
||||
<a name="l00033"></a>00033
|
||||
<a name="l00035"></a>00035 <a class="code" href="classslsReceiverUsers.html#9b45943d81ce7a09543aa446de857cb0">~slsReceiverUsers</a>();
|
||||
<a name="l00036"></a>00036
|
||||
<a name="l00038"></a>00038 <span class="keywordtype">void</span> <a class="code" href="classslsReceiverUsers.html#bad0b3265826da2d9ebf48e59e9d5787">closeFile</a>(<span class="keywordtype">int</span> p);
|
||||
<a name="l00039"></a>00039
|
||||
<a name="l00044"></a>00044 <span class="keywordtype">int</span> <a class="code" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">start</a>();
|
||||
<a name="l00045"></a>00045
|
||||
<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">stop</a>();
|
||||
<a name="l00048"></a>00048
|
||||
<a name="l00053"></a>00053 int64_t <a class="code" href="classslsReceiverUsers.html#f206092e2744e12ce6b717f4181d91a2">getReceiverVersion</a>();
|
||||
<a name="l00054"></a>00054
|
||||
<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classslsReceiverUsers.html#5d4bb9244008d0bc570778230d30c5e3">registerCallBackStartAcquisition</a>(<span class="keywordtype">int</span> (*func)(<span class="keywordtype">char</span>* filepath, <span class="keywordtype">char</span>* filename,<span class="keywordtype">int</span> fileindex, <span class="keywordtype">int</span> datasize, <span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
|
||||
<a name="l00065"></a>00065
|
||||
<a name="l00066"></a>00066
|
||||
<a name="l00074"></a>00074 <span class="keywordtype">void</span> <a class="code" href="classslsReceiverUsers.html#7471d2945e8650eece86258e6ca56156">registerCallBackAcquisitionFinished</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">int</span> nf, <span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
|
||||
<a name="l00075"></a>00075
|
||||
<a name="l00076"></a>00076
|
||||
<a name="l00077"></a>00077
|
||||
<a name="l00084"></a>00084 <span class="keywordtype">void</span> <a class="code" href="classslsReceiverUsers.html#343b9fac505e8c08a7fbf9efdd0f5762">registerCallBackRawDataReady</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">int</span> framenumber, <span class="keywordtype">char</span>* datapointer, <span class="keywordtype">int</span> datasize, FILE* filedescriptor, <span class="keywordtype">char</span>* guidatapointer, <span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
|
||||
<a name="l00085"></a>00085
|
||||
<a name="l00086"></a>00086 <span class="comment">// made static to close thread files with ctrl+c</span>
|
||||
<a name="l00087"></a><a class="code" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">00087</a> <span class="keyword">static</span> slsReceiverTCPIPInterface* <a class="code" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">receiver</a>;
|
||||
<a name="l00088"></a>00088 };
|
||||
<a name="l00089"></a>00089
|
||||
<a name="l00090"></a>00090
|
||||
<a name="l00091"></a>00091 <span class="preprocessor">#endif</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,35 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>slsReceiverUsers.h File Reference</title>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css">
|
||||
</head><body>
|
||||
<!-- Generated by Doxygen 1.4.7 -->
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>slsReceiverUsers.h File Reference</h1><code>#include <stdio.h></code><br>
|
||||
<code>#include <stdint.h></code><br>
|
||||
|
||||
<p>
|
||||
<a href="slsReceiverUsers_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data. <a href="classslsReceiverUsers.html#_details">More...</a><br></td></tr>
|
||||
</table>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
BIN
manual/manual-api/slsDetectorUsersDocs/html/tab_b.gif
Normal file
After Width: | Height: | Size: 35 B |
BIN
manual/manual-api/slsDetectorUsersDocs/html/tab_l.gif
Normal file
After Width: | Height: | Size: 706 B |
BIN
manual/manual-api/slsDetectorUsersDocs/html/tab_r.gif
Normal file
After Width: | Height: | Size: 2.5 KiB |
102
manual/manual-api/slsDetectorUsersDocs/html/tabs.css
Normal file
@ -0,0 +1,102 @@
|
||||
/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
|
||||
|
||||
DIV.tabs
|
||||
{
|
||||
float : left;
|
||||
width : 100%;
|
||||
background : url("tab_b.gif") repeat-x bottom;
|
||||
margin-bottom : 4px;
|
||||
}
|
||||
|
||||
DIV.tabs UL
|
||||
{
|
||||
margin : 0px;
|
||||
padding-left : 10px;
|
||||
list-style : none;
|
||||
}
|
||||
|
||||
DIV.tabs LI, DIV.tabs FORM
|
||||
{
|
||||
display : inline;
|
||||
margin : 0px;
|
||||
padding : 0px;
|
||||
}
|
||||
|
||||
DIV.tabs FORM
|
||||
{
|
||||
float : right;
|
||||
}
|
||||
|
||||
DIV.tabs A
|
||||
{
|
||||
float : left;
|
||||
background : url("tab_r.gif") no-repeat right top;
|
||||
border-bottom : 1px solid #84B0C7;
|
||||
font-size : x-small;
|
||||
font-weight : bold;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
DIV.tabs A:hover
|
||||
{
|
||||
background-position: 100% -150px;
|
||||
}
|
||||
|
||||
DIV.tabs A:link, DIV.tabs A:visited,
|
||||
DIV.tabs A:active, DIV.tabs A:hover
|
||||
{
|
||||
color: #1A419D;
|
||||
}
|
||||
|
||||
DIV.tabs SPAN
|
||||
{
|
||||
float : left;
|
||||
display : block;
|
||||
background : url("tab_l.gif") no-repeat left top;
|
||||
padding : 5px 9px;
|
||||
white-space : nowrap;
|
||||
}
|
||||
|
||||
DIV.tabs INPUT
|
||||
{
|
||||
float : right;
|
||||
display : inline;
|
||||
font-size : 1em;
|
||||
}
|
||||
|
||||
DIV.tabs TD
|
||||
{
|
||||
font-size : x-small;
|
||||
font-weight : bold;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Commented Backslash Hack hides rule from IE5-Mac \*/
|
||||
DIV.tabs SPAN {float : none;}
|
||||
/* End IE5-Mac hack */
|
||||
|
||||
DIV.tabs A:hover SPAN
|
||||
{
|
||||
background-position: 0% -150px;
|
||||
}
|
||||
|
||||
DIV.tabs LI#current A
|
||||
{
|
||||
background-position: 100% -150px;
|
||||
border-width : 0px;
|
||||
}
|
||||
|
||||
DIV.tabs LI#current SPAN
|
||||
{
|
||||
background-position: 0% -150px;
|
||||
padding-bottom : 6px;
|
||||
}
|
||||
|
||||
DIV.nav
|
||||
{
|
||||
background : none;
|
||||
border : none;
|
||||
border-bottom : 1px solid #84B0C7;
|
||||
}
|
BIN
manual/manual-api/slsDetectorUsersDocs/latex/FreeSans.ttf
Normal file
17
manual/manual-api/slsDetectorUsersDocs/latex/Makefile
Normal file
@ -0,0 +1,17 @@
|
||||
all: clean refman.pdf
|
||||
|
||||
refman.pdf: refman.tex
|
||||
pdflatex refman.tex
|
||||
makeindex refman.idx
|
||||
pdflatex refman.tex
|
||||
latex_count=5 ; \
|
||||
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
|
||||
do \
|
||||
echo "Rerunning latex...." ;\
|
||||
pdflatex refman.tex ;\
|
||||
latex_count=`expr $$latex_count - 1` ;\
|
||||
done
|
||||
|
||||
|
||||
clean:
|
||||
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf
|
@ -0,0 +1,6 @@
|
||||
\subsection{Class List}
|
||||
Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
|
||||
\item\contentsline{section}{\hyperlink{classdetectorData}{detector\-Data} (Data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.) )}{\pageref{classdetectorData}}{}
|
||||
\item\contentsline{section}{\hyperlink{classslsDetectorUsers}{sls\-Detector\-Users} (Class for detector functionalitiesto embed the detector controls in the users custom interface e.g. EPICS, Lima etc )}{\pageref{classslsDetectorUsers}}{}
|
||||
\item\contentsline{section}{\hyperlink{classslsReceiverUsers}{sls\-Receiver\-Users} (Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data )}{\pageref{classslsReceiverUsers}}{}
|
||||
\end{CompactList}
|
@ -0,0 +1,171 @@
|
||||
\hypertarget{classdetectorData}{
|
||||
\subsection{detector\-Data Class Reference}
|
||||
\label{classdetectorData}\index{detectorData@{detectorData}}
|
||||
}
|
||||
data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.)
|
||||
|
||||
|
||||
{\tt \#include $<$detector\-Data.h$>$}
|
||||
|
||||
\subsubsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hyperlink{classdetectorData_3f8538f5f634295fc40682b8aed47b31}{detector\-Data} (double $\ast$val=NULL, double $\ast$err=NULL, double $\ast$ang=NULL, double p\_\-ind=-1, const char $\ast$fname=\char`\"{}\char`\"{}, int np=-1, int ny=1)
|
||||
\begin{CompactList}\small\item\em The constructor. \item\end{CompactList}\item
|
||||
\hyperlink{classdetectorData_d32a037cc2bd6e8caf4556cbd4b88ec7}{$\sim$detector\-Data} ()
|
||||
\begin{CompactList}\small\item\em The destructor deletes also the arrays pointing to data/errors/angles if not NULL. \item\end{CompactList}\end{CompactItemize}
|
||||
\subsubsection*{Public Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
double $\ast$ \hyperlink{classdetectorData_0f4e31d65f9616e83a2e5521453d0364}{values}
|
||||
\begin{CompactList}\small\item\em pointer to the data \item\end{CompactList}\item
|
||||
double $\ast$ \hyperlink{classdetectorData_29cb1c6bb5635e918ae28505ccd0d8f9}{errors}
|
||||
\begin{CompactList}\small\item\em pointer to the errors \item\end{CompactList}\item
|
||||
double $\ast$ \hyperlink{classdetectorData_cc9f9708b9ff2d840208cae843fb4b7a}{angles}
|
||||
\begin{CompactList}\small\item\em pointer to the angles (NULL if no angular conversion) \item\end{CompactList}\item
|
||||
double \hyperlink{classdetectorData_976b3287d46aed032487bbeed74132da}{progress\-Index}
|
||||
\begin{CompactList}\small\item\em file index \item\end{CompactList}\item
|
||||
char \hyperlink{classdetectorData_91d1e3466878def295a531c01bdeef6b}{file\-Name} \mbox{[}1000\mbox{]}
|
||||
\begin{CompactList}\small\item\em file name \item\end{CompactList}\item
|
||||
int \hyperlink{classdetectorData_50aabf6f2c40587f8e915cf4913a2cfe}{npoints}
|
||||
\begin{CompactList}\small\item\em number of points \item\end{CompactList}\item
|
||||
int \hyperlink{classdetectorData_c289d259e7fd9445a9c04976a82cb324}{npy}
|
||||
\begin{CompactList}\small\item\em dimensions in y coordinate \item\end{CompactList}\end{CompactItemize}
|
||||
|
||||
|
||||
\subsubsection{Detailed Description}
|
||||
data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.)
|
||||
|
||||
|
||||
|
||||
Definition at line 9 of file detector\-Data.h.
|
||||
|
||||
\subsubsection{Constructor \& Destructor Documentation}
|
||||
\hypertarget{classdetectorData_3f8538f5f634295fc40682b8aed47b31}{
|
||||
\index{detectorData@{detector\-Data}!detectorData@{detectorData}}
|
||||
\index{detectorData@{detectorData}!detectorData@{detector\-Data}}
|
||||
\paragraph[detectorData]{\setlength{\rightskip}{0pt plus 5cm}detector\-Data::detector\-Data (double $\ast$ {\em val} = {\tt NULL}, double $\ast$ {\em err} = {\tt NULL}, double $\ast$ {\em ang} = {\tt NULL}, double {\em p\_\-ind} = {\tt -1}, const char $\ast$ {\em fname} = {\tt \char`\"{}\char`\"{}}, int {\em np} = {\tt -1}, int {\em ny} = {\tt 1})\hspace{0.3cm}{\tt \mbox{[}inline\mbox{]}}}\hfill}
|
||||
\label{classdetectorData_3f8538f5f634295fc40682b8aed47b31}
|
||||
|
||||
|
||||
The constructor.
|
||||
|
||||
\begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em val}]pointer to the data \item[{\em err}]pointer to errors \item[{\em ang}]pointer to the angles \item[{\em f\_\-ind}]file index \item[{\em fname}]file name to which the data are saved \item[{\em np}]number of points in x coordinate defaults to the number of detector channels (1D detector) \item[{\em ny}]dimension in y (1D detector) \end{description}
|
||||
\end{Desc}
|
||||
|
||||
|
||||
Definition at line 20 of file detector\-Data.h.
|
||||
|
||||
References file\-Name.\hypertarget{classdetectorData_d32a037cc2bd6e8caf4556cbd4b88ec7}{
|
||||
\index{detectorData@{detector\-Data}!~detectorData@{$\sim$detectorData}}
|
||||
\index{~detectorData@{$\sim$detectorData}!detectorData@{detector\-Data}}
|
||||
\paragraph[$\sim$detectorData]{\setlength{\rightskip}{0pt plus 5cm}detector\-Data::$\sim$detector\-Data ()\hspace{0.3cm}{\tt \mbox{[}inline\mbox{]}}}\hfill}
|
||||
\label{classdetectorData_d32a037cc2bd6e8caf4556cbd4b88ec7}
|
||||
|
||||
|
||||
The destructor deletes also the arrays pointing to data/errors/angles if not NULL.
|
||||
|
||||
|
||||
|
||||
Definition at line 25 of file detector\-Data.h.
|
||||
|
||||
References angles, errors, and values.
|
||||
|
||||
\subsubsection{Member Data Documentation}
|
||||
\hypertarget{classdetectorData_cc9f9708b9ff2d840208cae843fb4b7a}{
|
||||
\index{detectorData@{detector\-Data}!angles@{angles}}
|
||||
\index{angles@{angles}!detectorData@{detector\-Data}}
|
||||
\paragraph[angles]{\setlength{\rightskip}{0pt plus 5cm}double$\ast$ \hyperlink{classdetectorData_cc9f9708b9ff2d840208cae843fb4b7a}{detector\-Data::angles}}\hfill}
|
||||
\label{classdetectorData_cc9f9708b9ff2d840208cae843fb4b7a}
|
||||
|
||||
|
||||
pointer to the angles (NULL if no angular conversion)
|
||||
|
||||
|
||||
|
||||
Definition at line 29 of file detector\-Data.h.
|
||||
|
||||
Referenced by $\sim$detector\-Data().\hypertarget{classdetectorData_29cb1c6bb5635e918ae28505ccd0d8f9}{
|
||||
\index{detectorData@{detector\-Data}!errors@{errors}}
|
||||
\index{errors@{errors}!detectorData@{detector\-Data}}
|
||||
\paragraph[errors]{\setlength{\rightskip}{0pt plus 5cm}double$\ast$ \hyperlink{classdetectorData_29cb1c6bb5635e918ae28505ccd0d8f9}{detector\-Data::errors}}\hfill}
|
||||
\label{classdetectorData_29cb1c6bb5635e918ae28505ccd0d8f9}
|
||||
|
||||
|
||||
pointer to the errors
|
||||
|
||||
|
||||
|
||||
Definition at line 28 of file detector\-Data.h.
|
||||
|
||||
Referenced by $\sim$detector\-Data().\hypertarget{classdetectorData_91d1e3466878def295a531c01bdeef6b}{
|
||||
\index{detectorData@{detector\-Data}!fileName@{fileName}}
|
||||
\index{fileName@{fileName}!detectorData@{detector\-Data}}
|
||||
\paragraph[fileName]{\setlength{\rightskip}{0pt plus 5cm}char \hyperlink{classdetectorData_91d1e3466878def295a531c01bdeef6b}{detector\-Data::file\-Name}\mbox{[}1000\mbox{]}}\hfill}
|
||||
\label{classdetectorData_91d1e3466878def295a531c01bdeef6b}
|
||||
|
||||
|
||||
file name
|
||||
|
||||
|
||||
|
||||
Definition at line 31 of file detector\-Data.h.
|
||||
|
||||
Referenced by detector\-Data().\hypertarget{classdetectorData_50aabf6f2c40587f8e915cf4913a2cfe}{
|
||||
\index{detectorData@{detector\-Data}!npoints@{npoints}}
|
||||
\index{npoints@{npoints}!detectorData@{detector\-Data}}
|
||||
\paragraph[npoints]{\setlength{\rightskip}{0pt plus 5cm}int \hyperlink{classdetectorData_50aabf6f2c40587f8e915cf4913a2cfe}{detector\-Data::npoints}}\hfill}
|
||||
\label{classdetectorData_50aabf6f2c40587f8e915cf4913a2cfe}
|
||||
|
||||
|
||||
number of points
|
||||
|
||||
|
||||
|
||||
Definition at line 32 of file detector\-Data.h.
|
||||
|
||||
Referenced by data\-Callback().\hypertarget{classdetectorData_c289d259e7fd9445a9c04976a82cb324}{
|
||||
\index{detectorData@{detector\-Data}!npy@{npy}}
|
||||
\index{npy@{npy}!detectorData@{detector\-Data}}
|
||||
\paragraph[npy]{\setlength{\rightskip}{0pt plus 5cm}int \hyperlink{classdetectorData_c289d259e7fd9445a9c04976a82cb324}{detector\-Data::npy}}\hfill}
|
||||
\label{classdetectorData_c289d259e7fd9445a9c04976a82cb324}
|
||||
|
||||
|
||||
dimensions in y coordinate
|
||||
|
||||
|
||||
|
||||
Definition at line 33 of file detector\-Data.h.
|
||||
|
||||
Referenced by data\-Callback().\hypertarget{classdetectorData_976b3287d46aed032487bbeed74132da}{
|
||||
\index{detectorData@{detector\-Data}!progressIndex@{progressIndex}}
|
||||
\index{progressIndex@{progressIndex}!detectorData@{detector\-Data}}
|
||||
\paragraph[progressIndex]{\setlength{\rightskip}{0pt plus 5cm}double \hyperlink{classdetectorData_976b3287d46aed032487bbeed74132da}{detector\-Data::progress\-Index}}\hfill}
|
||||
\label{classdetectorData_976b3287d46aed032487bbeed74132da}
|
||||
|
||||
|
||||
file index
|
||||
|
||||
|
||||
|
||||
Definition at line 30 of file detector\-Data.h.\hypertarget{classdetectorData_0f4e31d65f9616e83a2e5521453d0364}{
|
||||
\index{detectorData@{detector\-Data}!values@{values}}
|
||||
\index{values@{values}!detectorData@{detector\-Data}}
|
||||
\paragraph[values]{\setlength{\rightskip}{0pt plus 5cm}double$\ast$ \hyperlink{classdetectorData_0f4e31d65f9616e83a2e5521453d0364}{detector\-Data::values}}\hfill}
|
||||
\label{classdetectorData_0f4e31d65f9616e83a2e5521453d0364}
|
||||
|
||||
|
||||
pointer to the data
|
||||
|
||||
|
||||
|
||||
Definition at line 25 of file detector\-Data.h.
|
||||
|
||||
Referenced by $\sim$detector\-Data().
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
\hyperlink{detectorData_8h}{detector\-Data.h}\end{CompactItemize}
|
@ -0,0 +1,164 @@
|
||||
\hypertarget{classslsReceiverUsers}{
|
||||
\subsection{sls\-Receiver\-Users Class Reference}
|
||||
\label{classslsReceiverUsers}\index{slsReceiverUsers@{slsReceiverUsers}}
|
||||
}
|
||||
Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data.
|
||||
|
||||
|
||||
{\tt \#include $<$sls\-Receiver\-Users.h$>$}
|
||||
|
||||
\subsubsection*{Public Member Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
\hyperlink{classslsReceiverUsers_79a82ba94fbb19761c7701aa3901b8b1}{sls\-Receiver\-Users} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]}, int \&success)
|
||||
\item
|
||||
\hyperlink{classslsReceiverUsers_9b45943d81ce7a09543aa446de857cb0}{$\sim$sls\-Receiver\-Users} ()
|
||||
\item
|
||||
void \hyperlink{classslsReceiverUsers_bad0b3265826da2d9ebf48e59e9d5787}{close\-File} (int p)
|
||||
\item
|
||||
int \hyperlink{classslsReceiverUsers_ef40b4987367b8a0116bcb66534dd7b7}{start} ()
|
||||
\item
|
||||
void \hyperlink{classslsReceiverUsers_394001d873a4b7912865a971d4d25f87}{stop} ()
|
||||
\item
|
||||
int64\_\-t \hyperlink{classslsReceiverUsers_f206092e2744e12ce6b717f4181d91a2}{get\-Receiver\-Version} ()
|
||||
\item
|
||||
void \hyperlink{classslsReceiverUsers_5d4bb9244008d0bc570778230d30c5e3}{register\-Call\-Back\-Start\-Acquisition} (int($\ast$func)(char $\ast$filepath, char $\ast$filename, int fileindex, int datasize, void $\ast$), void $\ast$arg)
|
||||
\item
|
||||
void \hyperlink{classslsReceiverUsers_7471d2945e8650eece86258e6ca56156}{register\-Call\-Back\-Acquisition\-Finished} (void($\ast$func)(int nf, void $\ast$), void $\ast$arg)
|
||||
\item
|
||||
void \hyperlink{classslsReceiverUsers_343b9fac505e8c08a7fbf9efdd0f5762}{register\-Call\-Back\-Raw\-Data\-Ready} (void($\ast$func)(int framenumber, char $\ast$datapointer, int datasize, FILE $\ast$filedescriptor, char $\ast$guidatapointer, void $\ast$), void $\ast$arg)
|
||||
\end{CompactItemize}
|
||||
\subsubsection*{Static Public Attributes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
static sls\-Receiver\-TCPIPInterface $\ast$ \hyperlink{classslsReceiverUsers_8f262724fb99ecd3976214710d82dd18}{receiver}
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsubsection{Detailed Description}
|
||||
Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data.
|
||||
|
||||
\hyperlink{classslsReceiverUsers}{sls\-Receiver\-Users} is a class that can be instantiated in the users software to receive the data from the detectors. Callbacks can be defined for processing and/or saving data
|
||||
|
||||
|
||||
|
||||
Definition at line 21 of file sls\-Receiver\-Users.h.
|
||||
|
||||
\subsubsection{Constructor \& Destructor Documentation}
|
||||
\hypertarget{classslsReceiverUsers_79a82ba94fbb19761c7701aa3901b8b1}{
|
||||
\index{slsReceiverUsers@{sls\-Receiver\-Users}!slsReceiverUsers@{slsReceiverUsers}}
|
||||
\index{slsReceiverUsers@{slsReceiverUsers}!slsReceiverUsers@{sls\-Receiver\-Users}}
|
||||
\paragraph[slsReceiverUsers]{\setlength{\rightskip}{0pt plus 5cm}sls\-Receiver\-Users::sls\-Receiver\-Users (int {\em argc}, char $\ast$ {\em argv}\mbox{[}$\,$\mbox{]}, int \& {\em success})}\hfill}
|
||||
\label{classslsReceiverUsers_79a82ba94fbb19761c7701aa3901b8b1}
|
||||
|
||||
|
||||
Constructor reads config file, creates socket, assigns function table \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em argc}]from command line \item[{\em argv}]from command line \item[{\em succecc}]socket creation was successfull \end{description}
|
||||
\end{Desc}
|
||||
\hypertarget{classslsReceiverUsers_9b45943d81ce7a09543aa446de857cb0}{
|
||||
\index{slsReceiverUsers@{sls\-Receiver\-Users}!~slsReceiverUsers@{$\sim$slsReceiverUsers}}
|
||||
\index{~slsReceiverUsers@{$\sim$slsReceiverUsers}!slsReceiverUsers@{sls\-Receiver\-Users}}
|
||||
\paragraph[$\sim$slsReceiverUsers]{\setlength{\rightskip}{0pt plus 5cm}sls\-Receiver\-Users::$\sim$sls\-Receiver\-Users ()}\hfill}
|
||||
\label{classslsReceiverUsers_9b45943d81ce7a09543aa446de857cb0}
|
||||
|
||||
|
||||
Destructor
|
||||
|
||||
\subsubsection{Member Function Documentation}
|
||||
\hypertarget{classslsReceiverUsers_bad0b3265826da2d9ebf48e59e9d5787}{
|
||||
\index{slsReceiverUsers@{sls\-Receiver\-Users}!closeFile@{closeFile}}
|
||||
\index{closeFile@{closeFile}!slsReceiverUsers@{sls\-Receiver\-Users}}
|
||||
\paragraph[closeFile]{\setlength{\rightskip}{0pt plus 5cm}void sls\-Receiver\-Users::close\-File (int {\em p})}\hfill}
|
||||
\label{classslsReceiverUsers_bad0b3265826da2d9ebf48e59e9d5787}
|
||||
|
||||
|
||||
Close File and exits receiver server \hypertarget{classslsReceiverUsers_f206092e2744e12ce6b717f4181d91a2}{
|
||||
\index{slsReceiverUsers@{sls\-Receiver\-Users}!getReceiverVersion@{getReceiverVersion}}
|
||||
\index{getReceiverVersion@{getReceiverVersion}!slsReceiverUsers@{sls\-Receiver\-Users}}
|
||||
\paragraph[getReceiverVersion]{\setlength{\rightskip}{0pt plus 5cm}int64\_\-t sls\-Receiver\-Users::get\-Receiver\-Version ()}\hfill}
|
||||
\label{classslsReceiverUsers_f206092e2744e12ce6b717f4181d91a2}
|
||||
|
||||
|
||||
get get Receiver Version \begin{Desc}
|
||||
\item[Returns:]id \end{Desc}
|
||||
\hypertarget{classslsReceiverUsers_7471d2945e8650eece86258e6ca56156}{
|
||||
\index{slsReceiverUsers@{sls\-Receiver\-Users}!registerCallBackAcquisitionFinished@{registerCallBackAcquisitionFinished}}
|
||||
\index{registerCallBackAcquisitionFinished@{registerCallBackAcquisitionFinished}!slsReceiverUsers@{sls\-Receiver\-Users}}
|
||||
\paragraph[registerCallBackAcquisitionFinished]{\setlength{\rightskip}{0pt plus 5cm}void sls\-Receiver\-Users::register\-Call\-Back\-Acquisition\-Finished (void($\ast$)(int nf, void $\ast$) {\em func}, void $\ast$ {\em arg})}\hfill}
|
||||
\label{classslsReceiverUsers_7471d2945e8650eece86258e6ca56156}
|
||||
|
||||
|
||||
register callback for end of acquisition \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em func}]end of acquisition callback. Argument nf is total frames caught \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]nothing \end{Desc}
|
||||
\hypertarget{classslsReceiverUsers_343b9fac505e8c08a7fbf9efdd0f5762}{
|
||||
\index{slsReceiverUsers@{sls\-Receiver\-Users}!registerCallBackRawDataReady@{registerCallBackRawDataReady}}
|
||||
\index{registerCallBackRawDataReady@{registerCallBackRawDataReady}!slsReceiverUsers@{sls\-Receiver\-Users}}
|
||||
\paragraph[registerCallBackRawDataReady]{\setlength{\rightskip}{0pt plus 5cm}void sls\-Receiver\-Users::register\-Call\-Back\-Raw\-Data\-Ready (void($\ast$)(int framenumber, char $\ast$datapointer, int datasize, FILE $\ast$filedescriptor, char $\ast$guidatapointer, void $\ast$) {\em func}, void $\ast$ {\em arg})}\hfill}
|
||||
\label{classslsReceiverUsers_343b9fac505e8c08a7fbf9efdd0f5762}
|
||||
|
||||
|
||||
register callback to be called when data are available (to process and/or save the data). \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em func}]raw data ready callback. arguments are framenum datapointer datasize file descriptor guidatapointer (NULL, no data required) \end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]nothing \end{Desc}
|
||||
\hypertarget{classslsReceiverUsers_5d4bb9244008d0bc570778230d30c5e3}{
|
||||
\index{slsReceiverUsers@{sls\-Receiver\-Users}!registerCallBackStartAcquisition@{registerCallBackStartAcquisition}}
|
||||
\index{registerCallBackStartAcquisition@{registerCallBackStartAcquisition}!slsReceiverUsers@{sls\-Receiver\-Users}}
|
||||
\paragraph[registerCallBackStartAcquisition]{\setlength{\rightskip}{0pt plus 5cm}void sls\-Receiver\-Users::register\-Call\-Back\-Start\-Acquisition (int($\ast$)(char $\ast$filepath, char $\ast$filename, int fileindex, int datasize, void $\ast$) {\em func}, void $\ast$ {\em arg})}\hfill}
|
||||
\label{classslsReceiverUsers_5d4bb9244008d0bc570778230d30c5e3}
|
||||
|
||||
|
||||
register calbback for starting the acquisition \begin{Desc}
|
||||
\item[Parameters:]
|
||||
\begin{description}
|
||||
\item[{\em func}]callback to be called when starting the acquisition. Its arguments are filepath filename fileindex data size\end{description}
|
||||
\end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Returns:]0 callback takes care of open,close,write file; 1 callback writes file, we have to open, close it; 2 we open, close, write file, callback does not do anything \end{Desc}
|
||||
\hypertarget{classslsReceiverUsers_ef40b4987367b8a0116bcb66534dd7b7}{
|
||||
\index{slsReceiverUsers@{sls\-Receiver\-Users}!start@{start}}
|
||||
\index{start@{start}!slsReceiverUsers@{sls\-Receiver\-Users}}
|
||||
\paragraph[start]{\setlength{\rightskip}{0pt plus 5cm}int sls\-Receiver\-Users::start ()}\hfill}
|
||||
\label{classslsReceiverUsers_ef40b4987367b8a0116bcb66534dd7b7}
|
||||
|
||||
|
||||
starts listening on the TCP port for client comminication \begin{Desc}
|
||||
\item[Returns:]0 for success or 1 for FAIL in creating TCP server \end{Desc}
|
||||
|
||||
|
||||
Referenced by main().\hypertarget{classslsReceiverUsers_394001d873a4b7912865a971d4d25f87}{
|
||||
\index{slsReceiverUsers@{sls\-Receiver\-Users}!stop@{stop}}
|
||||
\index{stop@{stop}!slsReceiverUsers@{sls\-Receiver\-Users}}
|
||||
\paragraph[stop]{\setlength{\rightskip}{0pt plus 5cm}void sls\-Receiver\-Users::stop ()}\hfill}
|
||||
\label{classslsReceiverUsers_394001d873a4b7912865a971d4d25f87}
|
||||
|
||||
|
||||
stops listening to the TCP \& UDP port and exit receiver program
|
||||
|
||||
Referenced by main().
|
||||
|
||||
\subsubsection{Member Data Documentation}
|
||||
\hypertarget{classslsReceiverUsers_8f262724fb99ecd3976214710d82dd18}{
|
||||
\index{slsReceiverUsers@{sls\-Receiver\-Users}!receiver@{receiver}}
|
||||
\index{receiver@{receiver}!slsReceiverUsers@{sls\-Receiver\-Users}}
|
||||
\paragraph[receiver]{\setlength{\rightskip}{0pt plus 5cm}sls\-Receiver\-TCPIPInterface$\ast$ \hyperlink{classslsReceiverUsers_8f262724fb99ecd3976214710d82dd18}{sls\-Receiver\-Users::receiver}\hspace{0.3cm}{\tt \mbox{[}static\mbox{]}}}\hfill}
|
||||
\label{classslsReceiverUsers_8f262724fb99ecd3976214710d82dd18}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 87 of file sls\-Receiver\-Users.h.
|
||||
|
||||
The documentation for this class was generated from the following file:\begin{CompactItemize}
|
||||
\item
|
||||
\hyperlink{slsReceiverUsers_8h}{sls\-Receiver\-Users.h}\end{CompactItemize}
|
@ -0,0 +1,11 @@
|
||||
\hypertarget{detectorData_8h}{
|
||||
\subsection{detector\-Data.h File Reference}
|
||||
\label{detectorData_8h}\index{detectorData.h@{detectorData.h}}
|
||||
}
|
||||
{\tt \#include $<$unistd.h$>$}\par
|
||||
{\tt \#include $<$cstring$>$}\par
|
||||
\subsubsection*{Classes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
class \hyperlink{classdetectorData}{detector\-Data}
|
||||
\begin{CompactList}\small\item\em data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.) \item\end{CompactList}\end{CompactItemize}
|
77
manual/manual-api/slsDetectorUsersDocs/latex/doxygen.sty
Normal file
@ -0,0 +1,77 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{doxygen}
|
||||
\RequirePackage{calc}
|
||||
\RequirePackage{array}
|
||||
\pagestyle{fancyplain}
|
||||
\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
|
||||
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
|
||||
\lhead[\fancyplain{}{\bfseries\thepage}]
|
||||
{\fancyplain{}{\bfseries\rightmark}}
|
||||
\rhead[\fancyplain{}{\bfseries\leftmark}]
|
||||
{\fancyplain{}{\bfseries\thepage}}
|
||||
\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Mon May 26 17:07:05 2014 by Doxygen }]{}
|
||||
\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Mon May 26 17:07:05 2014 by Doxygen }}
|
||||
\cfoot{}
|
||||
\newenvironment{Code}
|
||||
{\footnotesize}
|
||||
{\normalsize}
|
||||
\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
|
||||
\newenvironment{DocInclude}
|
||||
{\footnotesize}
|
||||
{\normalsize}
|
||||
\newenvironment{VerbInclude}
|
||||
{\footnotesize}
|
||||
{\normalsize}
|
||||
\newenvironment{Image}
|
||||
{\begin{figure}[H]}
|
||||
{\end{figure}}
|
||||
\newenvironment{ImageNoCaption}{}{}
|
||||
\newenvironment{CompactList}
|
||||
{\begin{list}{}{
|
||||
\setlength{\leftmargin}{0.5cm}
|
||||
\setlength{\itemsep}{0pt}
|
||||
\setlength{\parsep}{0pt}
|
||||
\setlength{\topsep}{0pt}
|
||||
\renewcommand{\makelabel}{\hfill}}}
|
||||
{\end{list}}
|
||||
\newenvironment{CompactItemize}
|
||||
{
|
||||
\begin{itemize}
|
||||
\setlength{\itemsep}{-3pt}
|
||||
\setlength{\parsep}{0pt}
|
||||
\setlength{\topsep}{0pt}
|
||||
\setlength{\partopsep}{0pt}
|
||||
}
|
||||
{\end{itemize}}
|
||||
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
|
||||
\newlength{\tmplength}
|
||||
\newenvironment{TabularC}[1]
|
||||
{
|
||||
\setlength{\tmplength}
|
||||
{\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
|
||||
\par\begin{tabular*}{\linewidth}
|
||||
{*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
|
||||
}
|
||||
{\end{tabular*}\par}
|
||||
\newcommand{\entrylabel}[1]{
|
||||
{\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}}
|
||||
\newenvironment{Desc}
|
||||
{\begin{list}{}
|
||||
{
|
||||
\settowidth{\labelwidth}{40pt}
|
||||
\setlength{\leftmargin}{\labelwidth}
|
||||
\setlength{\parsep}{0pt}
|
||||
\setlength{\itemsep}{-4pt}
|
||||
\renewcommand{\makelabel}{\entrylabel}
|
||||
}
|
||||
}
|
||||
{\end{list}}
|
||||
\newenvironment{Indent}
|
||||
{\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
|
||||
\item[]\ignorespaces}
|
||||
{\unskip\end{list}}
|
||||
\setlength{\parindent}{0cm}
|
||||
\setlength{\parskip}{0.2cm}
|
||||
\addtocounter{secnumdepth}{1}
|
||||
\sloppy
|
||||
\usepackage[T1]{fontenc}
|
8
manual/manual-api/slsDetectorUsersDocs/latex/files.tex
Normal file
@ -0,0 +1,8 @@
|
||||
\subsection{File List}
|
||||
Here is a list of all files with brief descriptions:\begin{CompactList}
|
||||
\item\contentsline{section}{\hyperlink{detectorData_8h}{detector\-Data.h} }{\pageref{detectorData_8h}}{}
|
||||
\item\contentsline{section}{\hyperlink{mainClient_8cpp}{main\-Client.cpp} }{\pageref{mainClient_8cpp}}{}
|
||||
\item\contentsline{section}{\hyperlink{mainReceiver_8cpp}{main\-Receiver.cpp} }{\pageref{mainReceiver_8cpp}}{}
|
||||
\item\contentsline{section}{\hyperlink{slsDetectorUsers_8h}{sls\-Detector\-Users.h} }{\pageref{slsDetectorUsers_8h}}{}
|
||||
\item\contentsline{section}{\hyperlink{slsReceiverUsers_8h}{sls\-Receiver\-Users.h} }{\pageref{slsReceiverUsers_8h}}{}
|
||||
\end{CompactList}
|
26
manual/manual-api/slsDetectorUsersDocs/latex/index.tex
Normal file
@ -0,0 +1,26 @@
|
||||
\subsection*{API for SLS detectors data acquisition}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Although the SLS detectors group delvelops several types of detectors (1/2D, counting/integrating etc.) it is common interest of the group to use a common platfor for data acquisition
|
||||
|
||||
The architecture of the acquisitions system is intended as follows: \begin{itemize}
|
||||
\item A socket server running on the detector (or more than one in some special cases) \item C++ classes common to all detectors for client-server communication. These can be supplied to users as libraries and embedded also in acquisition systems which are not developed by the SLS \item the possibility of using a Qt-based graphical user interface (with eventually root analisys capabilities) \item the possibility of running all commands from command line. In order to ensure a fast operation of this so called \char`\"{}text client\char`\"{} the detector parameters should not be re-initialized everytime. For this reason a shared memory block is allocated where the main detector flags and parameters are stored \item a Root library for data postprocessing and detector calibration (energy, angle).\end{itemize}
|
||||
\hyperlink{classslsDetectorUsers}{sls\-Detector\-Users} is a class to control the detector which should be instantiated by the users in their acquisition software (EPICS, spec etc.). A callback for dislaying the data can be registered. More advanced configuration functions are not implemented and can be written in a configuration file tha can be read/written.
|
||||
|
||||
\hyperlink{classslsReceiverUsers}{sls\-Receiver\-Users} is a class to receive the data for detectors with external data receiver (e.g. GOTTHARD). Callbacks can be registered to process the data or save them in specific formats.
|
||||
|
||||
\hyperlink{classdetectorData}{detector\-Data} is a structure containing the data and additional information which is used to return the data e.g. to the GUI for displaying them.
|
||||
|
||||
You can find examples of how this classes can be instatiated in \hyperlink{mainClient_8cpp}{main\-Client.cpp} and \hyperlink{mainReceiver_8cpp}{main\-Receiver.cpp}
|
||||
|
||||
\begin{Desc}
|
||||
\item[Authors:]\href{mailto:anna.bergamaschi@psi.ch}{\tt Anna Bergamaschi}, \href{mailto:dhanya.maliakal@psi.ch}{\tt Dhanya Maliakal} \end{Desc}
|
||||
\begin{Desc}
|
||||
\item[Version:]0.2 \subsubsection*{Currently supported detectors}\end{Desc}
|
||||
\begin{itemize}
|
||||
\item MYTHEN \item GOTTHARD controls \item GOTTHARD data receiver \paragraph*{Coming soon}\end{itemize}
|
||||
\begin{itemize}
|
||||
\item EIGER \end{itemize}
|
@ -0,0 +1,79 @@
|
||||
\hypertarget{mainClient_8cpp}{
|
||||
\subsection{main\-Client.cpp File Reference}
|
||||
\label{mainClient_8cpp}\index{mainClient.cpp@{mainClient.cpp}}
|
||||
}
|
||||
{\tt \#include $<$iostream$>$}\par
|
||||
{\tt \#include \char`\"{}sls\-Detector\-Users.h\char`\"{}}\par
|
||||
{\tt \#include \char`\"{}detector\-Data.h\char`\"{}}\par
|
||||
\subsubsection*{Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
int \hyperlink{mainClient_8cpp_21ef7438e7f0ed24a190513fb8e6af8a}{data\-Callback} (\hyperlink{classdetectorData}{detector\-Data} $\ast$p\-Data, int iframe, void $\ast$p\-Arg)
|
||||
\item
|
||||
int \hyperlink{mainClient_8cpp_0ddf1224851353fc92bfbff6f499fa97}{main} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsubsection{Detailed Description}
|
||||
This file is an example of how to implement the \hyperlink{classslsDetectorUsers}{sls\-Detector\-Users} class You can compile it linking it to the sls\-Detector library
|
||||
|
||||
gcc \hyperlink{mainClient_8cpp}{main\-Client.cpp} -L lib -l Sls\-Detector -lm -lpthread
|
||||
|
||||
where lib is the location of lib\-Sls\-Detector.so
|
||||
|
||||
Definition in file \hyperlink{mainClient_8cpp-source}{main\-Client.cpp}.
|
||||
|
||||
\subsubsection{Function Documentation}
|
||||
\hypertarget{mainClient_8cpp_21ef7438e7f0ed24a190513fb8e6af8a}{
|
||||
\index{mainClient.cpp@{main\-Client.cpp}!dataCallback@{dataCallback}}
|
||||
\index{dataCallback@{dataCallback}!mainClient.cpp@{main\-Client.cpp}}
|
||||
\paragraph[dataCallback]{\setlength{\rightskip}{0pt plus 5cm}int data\-Callback (\hyperlink{classdetectorData}{detector\-Data} $\ast$ {\em p\-Data}, int {\em iframe}, void $\ast$ {\em p\-Arg})}\hfill}
|
||||
\label{mainClient_8cpp_21ef7438e7f0ed24a190513fb8e6af8a}
|
||||
|
||||
|
||||
Definition of the data callback which simply prints out the number of points received and teh frame number
|
||||
|
||||
Definition at line 19 of file main\-Client.cpp.
|
||||
|
||||
References detector\-Data::npoints, and detector\-Data::npy.
|
||||
|
||||
Referenced by main().\hypertarget{mainClient_8cpp_0ddf1224851353fc92bfbff6f499fa97}{
|
||||
\index{mainClient.cpp@{main\-Client.cpp}!main@{main}}
|
||||
\index{main@{main}!mainClient.cpp@{main\-Client.cpp}}
|
||||
\paragraph[main]{\setlength{\rightskip}{0pt plus 5cm}int main (int {\em argc}, char $\ast$ {\em argv}\mbox{[}$\,$\mbox{]})}\hfill}
|
||||
\label{mainClient_8cpp_0ddf1224851353fc92bfbff6f499fa97}
|
||||
|
||||
|
||||
example of a main program using the \hyperlink{classslsDetectorUsers}{sls\-Detector\-Users} class
|
||||
|
||||
if specified, argv\mbox{[}2\mbox{]} is used as detector ID (default is 0)
|
||||
|
||||
\hyperlink{classslsDetectorUsers}{sls\-Detector\-Users} is instantiated
|
||||
|
||||
if specified, argv\mbox{[}1\mbox{]} is used as detector config file (necessary at least the first time it is called to properly configure advanced settings in the shared memory)
|
||||
|
||||
Setting the detector online (should be by default
|
||||
|
||||
Load setup file if argv\mbox{[}2\mbox{]} specified
|
||||
|
||||
defining the detector size
|
||||
|
||||
registering data callback
|
||||
|
||||
checking detector status and exiting if not idle
|
||||
|
||||
checking and setting detector settings
|
||||
|
||||
Settings exposure time to 10ms
|
||||
|
||||
Settings exposure time to 100ms
|
||||
|
||||
Settingsnumber of frames to 30
|
||||
|
||||
start measurement
|
||||
|
||||
returning when acquisition is finished or data are avilable
|
||||
|
||||
Definition at line 26 of file main\-Client.cpp.
|
||||
|
||||
References data\-Callback(), sls\-Detector\-Users::get\-Command(), sls\-Detector\-Users::get\-Detector\-Developer(), sls\-Detector\-Users::get\-Detector\-Settings(), sls\-Detector\-Users::get\-Detector\-Size(), sls\-Detector\-Users::get\-Detector\-Status(), sls\-Detector\-Users::read\-Configuration\-File(), sls\-Detector\-Users::register\-Data\-Callback(), sls\-Detector\-Users::retrieve\-Detector\-Setup(), sls\-Detector\-Users::run\-Status\-Type(), sls\-Detector\-Users::set\-Detector\-Size(), sls\-Detector\-Users::set\-Exposure\-Period(), sls\-Detector\-Users::set\-Exposure\-Time(), sls\-Detector\-Users::set\-Number\-Of\-Frames(), sls\-Detector\-Users::set\-Online(), sls\-Detector\-Users::set\-Settings(), and sls\-Detector\-Users::start\-Measurement().
|
@ -0,0 +1,35 @@
|
||||
\hypertarget{mainReceiver_8cpp}{
|
||||
\subsection{main\-Receiver.cpp File Reference}
|
||||
\label{mainReceiver_8cpp}\index{mainReceiver.cpp@{mainReceiver.cpp}}
|
||||
}
|
||||
{\tt \#include \char`\"{}sls\-Receiver\-Users.h\char`\"{}}\par
|
||||
{\tt \#include $<$iostream$>$}\par
|
||||
\subsubsection*{Functions}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
int \hyperlink{mainReceiver_8cpp_0ddf1224851353fc92bfbff6f499fa97}{main} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
|
||||
\end{CompactItemize}
|
||||
|
||||
|
||||
\subsubsection{Detailed Description}
|
||||
This file is an example of how to implement the \hyperlink{classslsDetectorUsers}{sls\-Detector\-Users} class You can compile it linking it to the sls\-Detector library
|
||||
|
||||
gcc \hyperlink{mainReceiver_8cpp}{main\-Receiver.cpp} -L lib -l Sls\-Detector -lm -lpthread
|
||||
|
||||
where lib is the location of lib\-Sls\-Detector.so
|
||||
|
||||
Definition in file \hyperlink{mainReceiver_8cpp-source}{main\-Receiver.cpp}.
|
||||
|
||||
\subsubsection{Function Documentation}
|
||||
\hypertarget{mainReceiver_8cpp_0ddf1224851353fc92bfbff6f499fa97}{
|
||||
\index{mainReceiver.cpp@{main\-Receiver.cpp}!main@{main}}
|
||||
\index{main@{main}!mainReceiver.cpp@{main\-Receiver.cpp}}
|
||||
\paragraph[main]{\setlength{\rightskip}{0pt plus 5cm}int main (int {\em argc}, char $\ast$ {\em argv}\mbox{[}$\,$\mbox{]})}\hfill}
|
||||
\label{mainReceiver_8cpp_0ddf1224851353fc92bfbff6f499fa97}
|
||||
|
||||
|
||||
|
||||
|
||||
Definition at line 25 of file main\-Receiver.cpp.
|
||||
|
||||
References sls\-Receiver\-Users::start(), and sls\-Receiver\-Users::stop().
|
@ -0,0 +1,4 @@
|
||||
\subsection{Namespace List}
|
||||
Here is a list of all namespaces with brief descriptions:\begin{CompactList}
|
||||
\item\contentsline{section}{\hyperlink{namespacestd}{std} }{\pageref{namespacestd}}{}
|
||||
\end{CompactList}
|
@ -0,0 +1,6 @@
|
||||
\hypertarget{namespacestd}{
|
||||
\subsection{std Namespace Reference}
|
||||
\label{namespacestd}\index{std@{std}}
|
||||
}
|
||||
|
||||
|
57
manual/manual-api/slsDetectorUsersDocs/latex/refman.tex
Normal file
@ -0,0 +1,57 @@
|
||||
\documentclass[a4paper]{article}
|
||||
\usepackage{makeidx}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{multicol}
|
||||
\usepackage{float}
|
||||
\usepackage{textcomp}
|
||||
\usepackage{alltt}
|
||||
\usepackage{times}
|
||||
\ifx\pdfoutput\undefined
|
||||
\usepackage[ps2pdf,
|
||||
pagebackref=true,
|
||||
colorlinks=true,
|
||||
linkcolor=blue
|
||||
]{hyperref}
|
||||
\usepackage{pspicture}
|
||||
\else
|
||||
\usepackage[pdftex,
|
||||
pagebackref=true,
|
||||
colorlinks=true,
|
||||
linkcolor=blue
|
||||
]{hyperref}
|
||||
\fi
|
||||
\usepackage{doxygen}
|
||||
\makeindex
|
||||
\setcounter{tocdepth}{1}
|
||||
\renewcommand{\footrulewidth}{0.4pt}
|
||||
\begin{document}
|
||||
\begin{titlepage}
|
||||
\vspace*{7cm}
|
||||
\begin{center}
|
||||
{\Large Reference Manual}\\
|
||||
\vspace*{1cm}
|
||||
{\large Generated by Doxygen 1.4.7}\\
|
||||
\vspace*{0.5cm}
|
||||
{\small Mon May 26 17:07:05 2014}\\
|
||||
\end{center}
|
||||
\end{titlepage}
|
||||
\pagenumbering{roman}
|
||||
\tableofcontents
|
||||
\pagenumbering{arabic}
|
||||
\section{Main Page}
|
||||
\label{index}\hypertarget{index}{}\input{index}
|
||||
\section{Namespace Documentation}
|
||||
\input{namespacestd}
|
||||
\section{Class Documentation}
|
||||
\input{classdetectorData}
|
||||
\input{classslsDetectorUsers}
|
||||
\input{classslsReceiverUsers}
|
||||
\section{File Documentation}
|
||||
\input{detectorData_8h}
|
||||
\input{mainClient_8cpp}
|
||||
\input{mainReceiver_8cpp}
|
||||
\input{slsDetectorUsers_8h}
|
||||
\input{slsReceiverUsers_8h}
|
||||
\printindex
|
||||
\end{document}
|
@ -0,0 +1,16 @@
|
||||
\hypertarget{slsDetectorUsers_8h}{
|
||||
\subsection{sls\-Detector\-Users.h File Reference}
|
||||
\label{slsDetectorUsers_8h}\index{slsDetectorUsers.h@{slsDetectorUsers.h}}
|
||||
}
|
||||
{\tt \#include $<$stdint.h$>$}\par
|
||||
{\tt \#include $<$string$>$}\par
|
||||
\subsubsection*{Namespaces}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
namespace \hyperlink{namespacestd}{std}
|
||||
\end{CompactItemize}
|
||||
\subsubsection*{Classes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
class \hyperlink{classslsDetectorUsers}{sls\-Detector\-Users}
|
||||
\begin{CompactList}\small\item\em Class for detector functionalitiesto embed the detector controls in the users custom interface e.g. EPICS, Lima etc. \item\end{CompactList}\end{CompactItemize}
|
@ -0,0 +1,11 @@
|
||||
\hypertarget{slsReceiverUsers_8h}{
|
||||
\subsection{sls\-Receiver\-Users.h File Reference}
|
||||
\label{slsReceiverUsers_8h}\index{slsReceiverUsers.h@{slsReceiverUsers.h}}
|
||||
}
|
||||
{\tt \#include $<$stdio.h$>$}\par
|
||||
{\tt \#include $<$stdint.h$>$}\par
|
||||
\subsubsection*{Classes}
|
||||
\begin{CompactItemize}
|
||||
\item
|
||||
class \hyperlink{classslsReceiverUsers}{sls\-Receiver\-Users}
|
||||
\begin{CompactList}\small\item\em Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data. \item\end{CompactList}\end{CompactItemize}
|
1
manual/manual-api/slsReceiverUsers.h
Symbolic link
@ -0,0 +1 @@
|
||||
../../slsReceiverSoftware/slsReceiver/slsReceiverUsers.h
|
@ -1,4 +1,4 @@
|
||||
DESTDIR?=../docs
|
||||
DESTDIR?=../
|
||||
|
||||
|
||||
#manual-api manual-calwiz manual-client manual-gui manual-main
|
||||
@ -12,28 +12,26 @@ TEXS=ancCal.tex enCal.tex installation.tex
|
||||
DVIS = $(MAINTEXS:.tex=.dvi)
|
||||
PSS = $(MAINTEXS:.tex=.ps)
|
||||
PDFS = $(MAINTEXS:.tex=.pdf)
|
||||
|
||||
HTMLS = $(MAINTEXS:%.tex=%)
|
||||
|
||||
|
||||
all: pdf html
|
||||
#destdir?!?!?
|
||||
|
||||
all: $(PDFS) $(HTMLS)
|
||||
echo $(PWD)
|
||||
echo $(PDFS)
|
||||
echo $(HTMLS)
|
||||
|
||||
|
||||
pdf: $(PDFS)
|
||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
|
||||
mv $(PDFS) $(DESTDIR)/pdf
|
||||
|
||||
|
||||
html: $(HTMLS)
|
||||
|
||||
$(HTMLS): $(TEXS) $(MAINTEXS)
|
||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
|
||||
$(shell test -d $(DESTDIR)/html/$@ && rm -r $(DESTDIR)/html/$@)
|
||||
latex $@.tex
|
||||
latex2html -split 4 $@.tex
|
||||
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
|
||||
mv $@ $(DESTDIR)/html
|
||||
|
||||
%.dvi : %.tex $(TEXS)
|
||||
@ -50,7 +48,3 @@ $(HTMLS): $(TEXS) $(MAINTEXS)
|
||||
|
||||
clean:
|
||||
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(HTMLS)
|
||||
rm -rf $(DESTDIR)/html/angularCalibrationHowTo
|
||||
rm -rf $(DESTDIR)/html/energyCalibrationHowTo
|
||||
rm -rf $(DESTDIR)/pdf/angularCalibrationHowTo.pdf
|
||||
rm -rf $(DESTDIR)/pdf/energyCalibrationHowTo.pdf
|
||||
|
Before Width: | Height: | Size: 432 KiB |
Before Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 863 KiB |
@ -1,5 +1,6 @@
|
||||
DESTDIR?=../docs
|
||||
|
||||
|
||||
#manual-api manual-calwiz manual-client manual-gui manual-main
|
||||
|
||||
|
||||
@ -10,50 +11,34 @@ MAINTEXS= slsDetectorClientHowTo.tex
|
||||
DVIS = $(MAINTEXS:.tex=.dvi)
|
||||
PSS = $(MAINTEXS:.tex=.ps)
|
||||
PDFS = $(MAINTEXS:.tex=.pdf)
|
||||
|
||||
#TARGETS=$(join $(DESTDIR)/, $(notdir $(MAINTEXS:.tex=.pdf)))
|
||||
|
||||
#destdir?!?!?
|
||||
|
||||
|
||||
|
||||
DVIS = $(MAINTEXS:.tex=.dvi)
|
||||
PSS = $(MAINTEXS:.tex=.ps)
|
||||
PDFS = $(MAINTEXS:.tex=.pdf)
|
||||
|
||||
HTMLS = $(MAINTEXS:%.tex=%)
|
||||
|
||||
|
||||
all: docs pdf html
|
||||
#destdir?!?!?
|
||||
|
||||
all: $(PDFS) $(HTMLS)
|
||||
echo $(PWD)
|
||||
echo $(PDFS)
|
||||
echo $(HTMLS)
|
||||
|
||||
docs: createdocs docspdf docshtml removedocs
|
||||
|
||||
createdocs: slsDetectorClient.doxy slsDetectorCommand.cpp
|
||||
doxygen slsDetectorClient.doxy
|
||||
|
||||
docspdf:
|
||||
cd slsDetectorClientDocs/latex && make
|
||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
|
||||
mv slsDetectorClientDocs/latex/refman.pdf $(DESTDIR)/pdf/slsDetectorClientDocs.pdf
|
||||
|
||||
docshtml:
|
||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
|
||||
$(shell test -d $(DESTDIR)/html/slsDetectorClientDocs && rm -r $(DESTDIR)/html/slsDetectorClientDocs)
|
||||
mv slsDetectorClientDocs/html $(DESTDIR)/html/slsDetectorClientDocs
|
||||
|
||||
removedocs:
|
||||
rm -rf slsDetectorClientDocs;
|
||||
|
||||
pdf: $(PDFS)
|
||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
|
||||
mv $(PDFS) $(DESTDIR)/pdf
|
||||
|
||||
|
||||
html: $(HTMLS)
|
||||
|
||||
$(HTMLS): $(MAINTEXS)
|
||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
|
||||
$(shell test -d $(DESTDIR)/html/$@ && rm -r $(DESTDIR)/html/$@)
|
||||
latex $@.tex
|
||||
latex2html -split 4 $@.tex
|
||||
mv $@ $(DESTDIR)/html
|
||||
|
||||
|
||||
|
||||
%.dvi : %.tex
|
||||
@ -69,10 +54,4 @@ $(HTMLS): $(MAINTEXS)
|
||||
|
||||
|
||||
clean:
|
||||
echo "cleaning for manual-client"
|
||||
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(HTMLS)
|
||||
rm -rf slsDetectorClientDocs
|
||||
rm -rf $(DESTDIR)/html/slsDetectorClientDocs
|
||||
rm -rf $(DESTDIR)/html/slsDetectorClientHowTo
|
||||
rm -rf $(DESTDIR)/pdf/slsDetectorClientDocs.pdf
|
||||
rm -rf $(DESTDIR)/pdf/slsDetectorClientHowTo.pdf
|
||||
|
Before Width: | Height: | Size: 28 KiB |
@ -125,7 +125,7 @@ Refer to detailed documentation to understand how the different timing modes wor
|
||||
Refer to detailed documentation to understand how the different timing modes work.
|
||||
\item[dr n] Sets the dynamic range n (in bits) of the data for a photon counting detector. For \E it can be set to 4, 8, 16 (but the real counter depth will still be limited to 12 bits) or 32 when one wants to activate the internal subframe summing mode.
|
||||
|
||||
\item[flags s] Sets some particular flags for your detector. For MYTHEN s can be \textit{none}, \textit{storeinram} (for buffered readout) or \textit{tot} (for time over threshold). For \E, s can be {\it{continous}} (for continous readout- still buffer on memories happens), \textit{storeinram} (for buffered readout. Do not use as has no graet advantages), \textit{parallel} for parallel exposure to the next frame and readout of the previous frame, \textit{nonparallel} to decouple sequentially readout and exposure, \textit{safe} (rowclock interleaved).
|
||||
\item[flags s] Sets some particular flags for your detector. For MYTHEN s can be \textit{none}, \textit{storeinram} (for buffered readout) or \textit{tot} (for time over threshold). For \E, s can be {\it{continous}} (for continous readout), \textit{storeinram} (for buffered readout), \textit{parallel} for parallel exposure to the next frame and readout of the previous frame, \textit{nonparallel} to decouple sequentially readout and exposure, \textit{safe} (rowclock interleaved).
|
||||
%\item[timestamp]
|
||||
\item[help cmd] Returns the help for command cmd.
|
||||
\item[lock] Locks (1) or unlocks (0) the detector to this particular control PC. An be unlocked again only from the same PC or by rebooting the detector.
|
||||
@ -395,7 +395,7 @@ For some commands, an additional argument \verb=arg= is needed.
|
||||
|
||||
|
||||
\subsection{Standard commands}
|
||||
All the commends return two strings, where string1 is the command, string2 is teh actual returned string.
|
||||
|
||||
|
||||
\begin{description}
|
||||
\item[config fname]
|
||||
@ -403,11 +403,9 @@ Dumps the current configuration of the detector to the file fname.
|
||||
\item[parameters fname]
|
||||
Dumps the current acquisition parameters of the detector to the file fname.
|
||||
\item[settings]
|
||||
Returns the current settings of the detector. Returns a string
|
||||
|
||||
Returns the current settings of the detector.
|
||||
\item[threshold]
|
||||
For photon counting detectors, returns the detector threshold in eV, -1 if undefined. Returns ``threshold value\_in\_eV''. If it fails, the returned threshold is the old set value.
|
||||
|
||||
For photon counting detectors, returns the detector threshold in eV, -1 if undefined.
|
||||
\item[timing]
|
||||
Returns the acquisition timing mode of the detector.
|
||||
Refer to the detailed documentation to understand how the different timing modes work.
|
||||
@ -417,10 +415,10 @@ Returns the path where the output files are saved to.
|
||||
Returns the prefix of the file name for the data output.
|
||||
\item[enablefwrite] Returns if data are written to file (1) or not (0).
|
||||
\item[exptime]
|
||||
Returns the exposure time of a single acquisition in seconds. Example: "exptime 1.000000000''
|
||||
Returns the exposure time of a single acquisition in seconds.
|
||||
Refer to detailed documentation to understand how the different timing modes work.
|
||||
\item[period]
|
||||
Returns the frames period (in s). Example: ``period 1.000000000''
|
||||
Returns the frames period (in s).
|
||||
Refer to detailed documentation to understand how the different timing modes work.
|
||||
\item[delay]
|
||||
Returns the delay after trigger in triggered mode (in s).
|
||||
@ -429,19 +427,18 @@ Refer to detailed documentation to understand how the different timing modes wor
|
||||
Returns the number of gates per frame in gated (stroboscopic) mode.
|
||||
Refer to detailed documentation to understand how the different timing modes work.
|
||||
\item[frames]
|
||||
Returns the number of frames acquired sequentially per cycle (e.g. after each trigger), with the exposure time defined by exptime and the period defined by period (unless in gated mode). Returned as a string to be interpreted as an integer ``frames integer''
|
||||
Returns the number of frames acquired sequentially per cycle (e.g. after each trigger), with the exposure time defined by exptime and the period defined by period (unless in gated mode).
|
||||
Note that the total number of images is frames times cycles.
|
||||
Refer to detailed documentation to understand how the different timing modes work.
|
||||
\item[cycles n]
|
||||
Returns the number of cycles (e.g. number of triggers). Returned as atring to be interpreted as an integer ``cycles integer''
|
||||
Returns the number of cycles (e.g. number of triggers).
|
||||
Note that the total number of images is frames times cycles.
|
||||
Refer to detailed documentation to understand how the different timing modes work.
|
||||
\item[probes] Returns the number of probes to accumulate for stroboscopic measurements.
|
||||
Refer to detailed documentation to understand how the different timing modes work.
|
||||
\item[measurements] Returns the number of repetitions of the acquisitions (non real time!).
|
||||
Refer to detailed documentation to understand how the different timing modes work.
|
||||
\item[dr] Returns the dynamic range n (in bits) of the data for a photon counting detector. Returns a string that should be interpreted as an integer.
|
||||
|
||||
\item[dr] Returns the dynamic range n (in bits) of the data for a photon counting detector.
|
||||
\item[flags s] Returns the flags set for your detector.
|
||||
\item[help cmd] Returns the help for command cmd.
|
||||
\item[lock] Returns if the detector is locked to a single PC.
|
||||
@ -579,15 +576,9 @@ Advanced commands to configure the detector system. Should be left to the config
|
||||
\item[stopport]Returns the port used by the sockets to stop/get the status of the detector.
|
||||
%\item[add s] Avoid using it. Adds the controller s to the detector structure.
|
||||
%\item[remove i] Avoid using it. Removes the controller in position i from the detector structure.
|
||||
\item[id[:i]] returns the id of the detector structure. i is the detector position in a multi detector system
|
||||
\item[id[:i]] returns the id of the detector structure. i is the detector position in a multi detector system
|
||||
\item[free] Avoid using it. Frees the shared memory.
|
||||
\end{description}
|
||||
Settable communication parameters:
|
||||
\begin{description}
|
||||
\item[txndelay\_left] \E advanced: Set transmission delay of sending the left port frame
|
||||
\item[txndelay\_right] \E advanced: Set transmission delay of sending the right port frame
|
||||
\item[txndelay\_frame] \E advanced: Set transmission delay of sending the entire frame In addition to left and right. This value has to be greater than the maximum of the transmission delays of each port.
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsubsection{Receiver - GOTTHARD only}
|
||||
@ -607,7 +598,7 @@ Settable communication parameters:
|
||||
|
||||
\item[r\_online b] Returns whether the receiver in online (1) or offline (0) mode.
|
||||
\item[r\_checkonline] Returns whether the receiver in online (1) or offline (0) mode.
|
||||
\item[framescaught] Returns the number of frames received. Returns: "framescaught n''
|
||||
\item[framescaught] Returns the number of frames received.
|
||||
\item[resetframescaught n] Sets the number of frames received to 1
|
||||
\item[frameindex] Returns the index of the last frame received.
|
||||
\item[r\_lock] Returns whether the receiver is locked (1) or unlocked (0).
|
||||
@ -663,31 +654,23 @@ Advanced settings changing the analog or digital performance of the acquisition.
|
||||
\item[ib\_test\_c] Returns ib\_test\_c
|
||||
\item[vsvp] Returns vsvp
|
||||
\item [vsvn] Returns vsvn
|
||||
\item [vtr] Returns vtr trim strength (\E)
|
||||
\item [vrf] Returns vrf preamp gain (\E)
|
||||
\item [vrs] Returns vrs shaper gain (\E)
|
||||
\item [vtgstv] Returns vtgstv (\E)
|
||||
\item[vcmp\_ll] Returns vcmp\_ll (\E) leftmost chip theshold
|
||||
\item [vcmp\_lr] Returns vcmp\_lr (\E) second to leftmost chip theshold
|
||||
\item [vcmp\_rl] Returns vcmp\_rl (\E) second to rightmost chip theshold
|
||||
\item [vcmp\_rr] Returns vcmp\_rr (\E) rightmost chip theshold
|
||||
\item [vcall] Returns vcall calibration stength (\E)
|
||||
\item [rxb\_rb] Returns rxb\_rb rightmost chip value to decode 0-1 in the readout
|
||||
\item [rxb\_lb] Returns rxb\_lb leftmost chip value to decode 0-1 in the readout
|
||||
\item [vcp] Returns vcp cascode p value (\E)
|
||||
\item [vcn] Returns vcn cascode n value (\E)
|
||||
\item [vis] Returns vis shaper current (\E)
|
||||
\item [vtr] Returns vtr
|
||||
\item [vrf] Returns vrf
|
||||
\item [vrs] Returns vrs
|
||||
\item [vtgstv] Returns vtgstv
|
||||
\item[vcmp\_ll] Returns vcmp\_ll
|
||||
\item [vcmp\_lr] Returns vcmp\_lr
|
||||
\item [vcmp\_rl] Returns vcmp\_rl
|
||||
\item [vcmp\_rr] Returns vcmp\_rr
|
||||
\item [vcall] Returns vcall
|
||||
\item [rxb\_rb] Returns rxb\_rb
|
||||
\item [rxb\_lb] Returns rxb\_rb
|
||||
\item [vcp] Returns vcp
|
||||
\item [vcn] Returns vcn
|
||||
\item [vis] Returns vis
|
||||
\item [iodelay] Returns iodelay
|
||||
\item[temp\_adc] Returns the temperature of the ADCs
|
||||
\item[temp\_fpga] Returns the temperature of the FPGA.
|
||||
\item[temp\_fpgaext] Returns the temperature close to the fpga (\E).
|
||||
\item[temp\_10ge] Returns the temperature close to the 10GE (\E).
|
||||
\item[temp\_dcdc] Returns the temperature close to the dc dc converter (\E).
|
||||
\item[temp\_sodl] Returns the temperature close to the left so-dimm memory (\E).
|
||||
\item[temp\_sodr] Returns the temperature close to the right so-dimm memory (\E).
|
||||
\item[temp\_fpgafl] Returns the temperature of the left front end board fpga (\E).
|
||||
\item[temp\_fpgafr] Returns the temperature of the right front end board fpga (\E).
|
||||
|
||||
\item[reg a] Write to register of address a the data d
|
||||
\item[clkdivider] Returns the clock divider for the readout.
|
||||
\item[setlength] Returns the length of the set/reset signals in the acquisition.
|
||||
|
@ -1 +0,0 @@
|
||||
../../slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp
|
Before Width: | Height: | Size: 167 KiB |
@ -8,32 +8,40 @@ TEX=latex
|
||||
|
||||
MAINTEXS= slsDetectorGuiHowTo.tex
|
||||
|
||||
#TEXS=
|
||||
|
||||
DVIS = $(MAINTEXS:.tex=.dvi)
|
||||
PSS = $(MAINTEXS:.tex=.ps)
|
||||
PDFS = $(MAINTEXS:.tex=.pdf)
|
||||
|
||||
#TARGETS=$(join $(DESTDIR)/, $(notdir $(MAINTEXS:.tex=.pdf)))
|
||||
|
||||
#destdir?!?!?
|
||||
|
||||
|
||||
|
||||
DVIS = $(MAINTEXS:.tex=.dvi)
|
||||
PSS = $(MAINTEXS:.tex=.ps)
|
||||
PDFS = $(MAINTEXS:.tex=.pdf)
|
||||
|
||||
HTMLS = $(MAINTEXS:%.tex=%)
|
||||
|
||||
|
||||
all: pdf html
|
||||
#destdir?!?!?
|
||||
|
||||
all: $(PDFS) $(HTMLS)
|
||||
echo $(PWD)
|
||||
echo $(PDFS)
|
||||
echo $(HTMLS)
|
||||
|
||||
pdf: $(PDFS)
|
||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
|
||||
mv $(PDFS) $(DESTDIR)/pdf
|
||||
|
||||
html: $(HTMLS)
|
||||
|
||||
$(HTMLS): $(MAINTEXS)
|
||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
|
||||
$(shell test -d $(DESTDIR)/html/$@ && rm -r $(DESTDIR)/html/$@)
|
||||
$(HTMLS): $(TEXS) $(MAINTEXS)
|
||||
latex $@.tex
|
||||
latex2html -split 4 $@.tex
|
||||
mv $@ $(DESTDIR)/html
|
||||
|
||||
|
||||
%.dvi : %.tex $(TEXS)
|
||||
latex $<
|
||||
@ -49,5 +57,3 @@ $(HTMLS): $(MAINTEXS)
|
||||
|
||||
clean:
|
||||
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(HTMLS)
|
||||
rm -rf $(DESTDIR)/html/slsDetectorGuiHowTo
|
||||
rm -rf $(DESTDIR)/pdf/slsDetectorGuiHowTo.pdf
|
||||
|
@ -1,58 +1,42 @@
|
||||
DESTDIR=../docs
|
||||
DESTDIR=../
|
||||
|
||||
|
||||
TEX=latex
|
||||
|
||||
|
||||
MAINTEXS2= slsDetectorInstall.tex
|
||||
MAINTEXS=slsDetectors-FAQ.tex
|
||||
MAINTEXS= slsDetectors-FAQ.tex slsDetectorInstall.tex
|
||||
|
||||
TEXS=slsDetector-softFAQ.tex singlePhotonCounting-FAQ.tex angConv-FAQ.tex generalDet-FAQ.tex
|
||||
|
||||
DVIS = $(MAINTEXS:.tex=.dvi)
|
||||
PSS = $(MAINTEXS:.tex=.ps)
|
||||
PDFS = $(MAINTEXS:.tex=.pdf)
|
||||
PDFS2 = $(MAINTEXS2:.tex=.pdf)
|
||||
|
||||
HTMLS = $(MAINTEXS:%.tex=%)
|
||||
HTMLS2 = $(MAINTEXS2:%.tex=%)
|
||||
|
||||
|
||||
#destdir?!?!?
|
||||
|
||||
all: pdf html
|
||||
all: $(PDFS) $(HTMLS)
|
||||
echo $(PWD)
|
||||
echo $(PDFS)
|
||||
echo $(PDFS2)
|
||||
echo $(HTMLS)
|
||||
echo $(HTMLS2)
|
||||
|
||||
pdf: $(PDFS) $(PDFS2)
|
||||
pdf: $(PDFS)
|
||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
|
||||
mv $(PDFS) $(DESTDIR)/pdf
|
||||
mv $(PDFS2) $(DESTDIR)/pdf
|
||||
mv $(PDFS) $(DESTDIR)/pdf
|
||||
|
||||
html: $(HTMLS) $(HTMLS2)
|
||||
html: $(HTMLS)
|
||||
|
||||
|
||||
$(HTMLS): $(TEXS) $(MAINTEXS)
|
||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
|
||||
$(shell test -d $(DESTDIR)/html/$@ && rm -fr $(DESTDIR)/html/$@)
|
||||
echo "***************************** $@"
|
||||
latex $@.tex
|
||||
latex2html $@.tex
|
||||
mv $@ $(DESTDIR)/html
|
||||
|
||||
$(HTMLS2): $(MAINTEXS2)
|
||||
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
|
||||
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
|
||||
$(shell test -d $(DESTDIR)/html/$@ && rm -fr $(DESTDIR)/html/$@)
|
||||
echo "***************************** $@"
|
||||
latex $@.tex
|
||||
latex2html -split 16 -no_navigation -info "" -address "" -long_titles 5 -link 0 $@.tex
|
||||
#-show_section_numbers $@.tex
|
||||
# -local_icons
|
||||
mv $@ $(DESTDIR)/html
|
||||
latex2html -split 4 $@.tex
|
||||
mv $(HTMLS) $(DESTDIR)/html
|
||||
|
||||
|
||||
%.dvi : %.tex $(TEXS)
|
||||
@ -68,8 +52,4 @@ $(HTMLS2): $(MAINTEXS2)
|
||||
|
||||
|
||||
clean:
|
||||
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(PDFS2) $(HTMLS) $(HTMLS2)
|
||||
rm -rf $(DESTDIR)/html/slsDetectors-FAQ
|
||||
rm -rf $(DESTDIR)/html/slsDetectorInstall
|
||||
rm -rf $(DESTDIR)/pdf/slsDetectors-FAQ.pdf
|
||||
rm -rf $(DESTDIR)/pdf/slsDetectorInstall.pdf
|
||||
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(HTMLS)
|
||||
|
@ -1,674 +0,0 @@
|
||||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%BoundingBox: 0 0 567 548
|
||||
%%Title: /afs/psi.ch/project/mythen/root_macros20100305/effiSiHardXRays2.eps: c1
|
||||
%%Creator: ROOT Version 5.20/00
|
||||
%%CreationDate: Tue Jan 29 15:39:22 2013
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
80 dict begin
|
||||
/s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def
|
||||
/sw {stringwidth} def /r {rotate} def /rl {roll} def /R {repeat} def
|
||||
/d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def
|
||||
/c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def
|
||||
/cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def
|
||||
/box {m dup 0 exch d exch 0 d 0 exch neg d cl} def
|
||||
/NC{systemdict begin initclip end}def/C{NC box clip newpath}def
|
||||
/bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def
|
||||
/mp {newpath /y exch def /x exch def} def
|
||||
/side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def
|
||||
/mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def
|
||||
/mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def
|
||||
/mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def
|
||||
/m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def
|
||||
/m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def
|
||||
/m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def
|
||||
/m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d
|
||||
0 w3 neg d w3 neg 0 d cl s } def
|
||||
/m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
|
||||
4 {side} repeat cl fill gr} def
|
||||
/m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
|
||||
4 {side} repeat cl s gr} def
|
||||
/m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2
|
||||
sub m w w d s} def
|
||||
/m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def
|
||||
/m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def
|
||||
/reEncode {exch findfont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse } forall /Encoding exch def currentdict end dup /FontName get exch definefont pop } def [/Times-Bold /Times-Italic /Times-BoldItalic /Helvetica
|
||||
/Helvetica-Oblique /Helvetica-Bold /Helvetica-BoldOblique /Courier /Courier-Oblique /Courier-Bold /Courier-BoldOblique /Times-Roman /AvantGarde-Book /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique /Bookman-Demi
|
||||
/Bookman-DemiItalic /Bookman-Light /Bookman-LightItalic /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /NewCenturySchlbk-Roman /NewCenturySchlbk-Bold
|
||||
/NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /Palatino-Bold /Palatino-BoldItalic /Palatino-Italic /Palatino-Roman ] {ISOLatin1Encoding reEncode } forall
|
||||
/oshow {gsave [] 0 sd true charpath stroke gr} def
|
||||
/stwn { /fs exch def /fn exch def /text exch def fn findfont fs sf
|
||||
text sw pop xs add /xs exch def} def
|
||||
/stwb { /fs exch def /fn exch def /nbas exch def /textf exch deftextf length /tlen exch def nbas tlen gt {/nbas tlendef} iffn findfont fs sf textf dup length nbas sub nbas getinterval sw
|
||||
pop neg xs add /xs exch def} def
|
||||
%%EndProlog
|
||||
%%BeginSetup
|
||||
%%EndSetup
|
||||
newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 6 lw 1 1 1 c 2268 2191 0 0 bf black 3 lw 1 1 1 c 1951 1709 249 219 bf black 1951 1709 249 219 bl 1 1 1 c 1951 1709 249 219 bf black 1951 1709 249 219 bl 1 1 1 c 0.967333 0.186667 0 c 20 86
|
||||
249 219 bf 0.673333 0.0666667 0 c 19 86 269 219 bf 0.608 0.04 0 c 20 86 288 219 bf 0.575333 0.0266667 0 c 19 86 308 219 bf 0.542667 0.0133333 0 c 20 86 327 219 bf 19 86 347 219 bf 20 86 366 219 bf 19 86 386 219 bf 20 86 405 219 bf 19 86 425 219 bf
|
||||
20 86 444 219 bf 19 86 464 219 bf 20 86 483 219 bf 19 86 503 219 bf 20 86 522 219 bf 19 86 542 219 bf 20 86 561 219 bf 19 86 581 219 bf 20 86 600 219 bf 19 86 620 219 bf 20 86 639 219 bf 20 86 659 219 bf 19 86 679 219 bf 20 86 698 219 bf 19 86 718
|
||||
219 bf 20 86 737 219 bf 19 86 757 219 bf 20 86 776 219 bf 19 86 796 219 bf 20 86 815 219 bf 19 86 835 219 bf 20 86 854 219 bf 19 86 874 219 bf 20 86 893 219 bf 19 86 913 219 bf 20 86 932 219 bf 19 86 952 219 bf 20 86 971 219 bf 19 86 991 219 bf 20
|
||||
86 1010 219 bf 19 86 1030 219 bf 20 86 1049 219 bf 19 86 1069 219 bf 20 86 1088 219 bf 19 86 1108 219 bf 20 86 1127 219 bf 19 86 1147 219 bf 20 86 1166 219 bf 19 86 1186 219 bf 20 86 1205 219 bf 19 86 1225 219 bf 20 86 1244 219 bf 19 86 1264 219 bf
|
||||
20 86 1283 219 bf 19 86 1303 219 bf 20 86 1322 219 bf 19 86 1342 219 bf 20 86 1361 219 bf 19 86 1381 219 bf 20 86 1400 219 bf 19 86 1420 219 bf 20 86 1439 219 bf 19 86 1459 219 bf 20 86 1478 219 bf 19 86 1498 219 bf 20 86 1517 219 bf 19 86 1537 219
|
||||
bf 20 86 1556 219 bf 19 86 1576 219 bf 20 86 1595 219 bf 19 86 1615 219 bf 20 86 1634 219 bf 19 86 1654 219 bf 20 86 1673 219 bf 19 86 1693 219 bf 20 86 1712 219 bf 19 86 1732 219 bf 20 86 1751 219 bf 19 86 1771 219 bf 20 86 1790 219 bf 19 86 1810
|
||||
219 bf 20 86 1829 219 bf 19 86 1849 219 bf 20 86 1868 219 bf 19 86 1888 219 bf 20 86 1907 219 bf 19 86 1927 219 bf 20 86 1946 219 bf 19 86 1966 219 bf 20 86 1985 219 bf 19 86 2005 219 bf 20 86 2024 219 bf 19 86 2044 219 bf 20 86 2063 219 bf 19 86
|
||||
2083 219 bf 20 86 2102 219 bf 19 86 2122 219 bf 20 86 2141 219 bf 19 86 2161 219 bf 20 86 2180 219 bf 0.967333 0.186667 0 c 20 85 249 305 bf 0.706 0.08 0 c 19 85 269 305 bf 0.608 0.04 0 c 20 85 288 305 bf 0.575333 0.0266667 0 c 19 85 308 305 bf
|
||||
0.542667 0.0133333 0 c 20 85 327 305 bf 19 85 347 305 bf 20 85 366 305 bf 19 85 386 305 bf 20 85 405 305 bf 19 85 425 305 bf 20 85 444 305 bf 19 85 464 305 bf 20 85 483 305 bf 19 85 503 305 bf 20 85 522 305 bf 19 85 542 305 bf 20 85 561 305 bf 19
|
||||
85 581 305 bf 20 85 600 305 bf 19 85 620 305 bf 20 85 639 305 bf 20 85 659 305 bf 19 85 679 305 bf 20 85 698 305 bf 19 85 718 305 bf 20 85 737 305 bf 19 85 757 305 bf 20 85 776 305 bf 19 85 796 305 bf 20 85 815 305 bf 19 85 835 305 bf 20 85 854 305
|
||||
bf 19 85 874 305 bf 20 85 893 305 bf 19 85 913 305 bf 20 85 932 305 bf 19 85 952 305 bf 20 85 971 305 bf 19 85 991 305 bf 20 85 1010 305 bf 19 85 1030 305 bf 20 85 1049 305 bf 19 85 1069 305 bf 20 85 1088 305 bf 19 85 1108 305 bf 20 85 1127 305 bf
|
||||
19 85 1147 305 bf 20 85 1166 305 bf 19 85 1186 305 bf 20 85 1205 305 bf 19 85 1225 305 bf 20 85 1244 305 bf 19 85 1264 305 bf 20 85 1283 305 bf 19 85 1303 305 bf 20 85 1322 305 bf 19 85 1342 305 bf 20 85 1361 305 bf 19 85 1381 305 bf 20 85 1400 305
|
||||
bf 19 85 1420 305 bf 20 85 1439 305 bf 19 85 1459 305 bf 20 85 1478 305 bf 19 85 1498 305 bf 20 85 1517 305 bf 19 85 1537 305 bf 20 85 1556 305 bf 19 85 1576 305 bf 20 85 1595 305 bf 19 85 1615 305 bf 20 85 1634 305 bf 19 85 1654 305 bf 20 85 1673
|
||||
305 bf 19 85 1693 305 bf 20 85 1712 305 bf 19 85 1732 305 bf 20 85 1751 305 bf 19 85 1771 305 bf 20 85 1790 305 bf 19 85 1810 305 bf 20 85 1829 305 bf 19 85 1849 305 bf 20 85 1868 305 bf 19 85 1888 305 bf 20 85 1907 305 bf 19 85 1927 305 bf 20 85
|
||||
1946 305 bf 19 85 1966 305 bf 20 85 1985 305 bf 19 85 2005 305 bf 20 85 2024 305 bf 19 85 2044 305 bf 20 85 2063 305 bf 19 85 2083 305 bf 20 85 2102 305 bf 19 85 2122 305 bf 20 85 2141 305 bf 19 85 2161 305 bf 20 85 2180 305 bf 0.956667 0.466667
|
||||
0.04 c 20 85 249 390 bf 0.902 0.16 0 c 19 85 269 390 bf 0.771333 0.106667 0 c 20 85 288 390 bf 0.706 0.08 0 c 19 85 308 390 bf 0.673333 0.0666667 0 c 20 85 327 390 bf 0.640667 0.0533333 0 c 19 85 347 390 bf 0.608 0.04 0 c 20 85 366 390 bf 0.575333
|
||||
0.0266667 0 c 19 85 386 390 bf 20 85 405 390 bf 19 85 425 390 bf 0.542667 0.0133333 0 c 20 85 444 390 bf 19 85 464 390 bf 20 85 483 390 bf 19 85 503 390 bf 20 85 522 390 bf 19 85 542 390 bf 20 85 561 390 bf 19 85 581 390 bf 20 85 600 390 bf 19 85
|
||||
620 390 bf 20 85 639 390 bf 20 85 659 390 bf 19 85 679 390 bf 20 85 698 390 bf 19 85 718 390 bf 20 85 737 390 bf 19 85 757 390 bf 20 85 776 390 bf 19 85 796 390 bf 20 85 815 390 bf 19 85 835 390 bf 20 85 854 390 bf 19 85 874 390 bf 20 85 893 390 bf
|
||||
19 85 913 390 bf 20 85 932 390 bf 19 85 952 390 bf 20 85 971 390 bf 19 85 991 390 bf 20 85 1010 390 bf 19 85 1030 390 bf 20 85 1049 390 bf 19 85 1069 390 bf 20 85 1088 390 bf 19 85 1108 390 bf 20 85 1127 390 bf 19 85 1147 390 bf 20 85 1166 390 bf
|
||||
19 85 1186 390 bf 20 85 1205 390 bf 19 85 1225 390 bf 20 85 1244 390 bf 19 85 1264 390 bf 20 85 1283 390 bf 19 85 1303 390 bf 20 85 1322 390 bf 19 85 1342 390 bf 20 85 1361 390 bf 19 85 1381 390 bf 20 85 1400 390 bf 19 85 1420 390 bf 20 85 1439 390
|
||||
bf 19 85 1459 390 bf 20 85 1478 390 bf 19 85 1498 390 bf 20 85 1517 390 bf 19 85 1537 390 bf 20 85 1556 390 bf 19 85 1576 390 bf 20 85 1595 390 bf 19 85 1615 390 bf 20 85 1634 390 bf 19 85 1654 390 bf 20 85 1673 390 bf 19 85 1693 390 bf 20 85 1712
|
||||
390 bf 19 85 1732 390 bf 20 85 1751 390 bf 19 85 1771 390 bf 20 85 1790 390 bf 19 85 1810 390 bf 20 85 1829 390 bf 19 85 1849 390 bf 20 85 1868 390 bf 19 85 1888 390 bf 20 85 1907 390 bf 19 85 1927 390 bf 20 85 1946 390 bf 19 85 1966 390 bf 20 85
|
||||
1985 390 bf 19 85 2005 390 bf 20 85 2024 390 bf 19 85 2044 390 bf 20 85 2063 390 bf 19 85 2083 390 bf 20 85 2102 390 bf 19 85 2122 390 bf 20 85 2141 390 bf 19 85 2161 390 bf 20 85 2180 390 bf 0.944286 0.542857 0.0514286 c 20 86 249 475 bf 0.967333
|
||||
0.186667 0 c 19 86 269 475 bf 0.836667 0.133333 0 c 20 86 288 475 bf 0.771333 0.106667 0 c 19 86 308 475 bf 0.706 0.08 0 c 20 86 327 475 bf 0.673333 0.0666667 0 c 19 86 347 475 bf 0.640667 0.0533333 0 c 20 86 366 475 bf 0.608 0.04 0 c 19 86 386 475
|
||||
bf 20 86 405 475 bf 0.575333 0.0266667 0 c 19 86 425 475 bf 20 86 444 475 bf 19 86 464 475 bf 20 86 483 475 bf 0.542667 0.0133333 0 c 19 86 503 475 bf 20 86 522 475 bf 19 86 542 475 bf 20 86 561 475 bf 19 86 581 475 bf 20 86 600 475 bf 19 86 620
|
||||
475 bf 20 86 639 475 bf 20 86 659 475 bf 19 86 679 475 bf 20 86 698 475 bf 19 86 718 475 bf 20 86 737 475 bf 19 86 757 475 bf 20 86 776 475 bf 19 86 796 475 bf 20 86 815 475 bf 19 86 835 475 bf 20 86 854 475 bf 19 86 874 475 bf 20 86 893 475 bf 19
|
||||
86 913 475 bf 20 86 932 475 bf 19 86 952 475 bf 20 86 971 475 bf 19 86 991 475 bf 20 86 1010 475 bf 19 86 1030 475 bf 20 86 1049 475 bf 19 86 1069 475 bf 20 86 1088 475 bf 19 86 1108 475 bf 20 86 1127 475 bf 19 86 1147 475 bf 20 86 1166 475 bf 19
|
||||
86 1186 475 bf 20 86 1205 475 bf 19 86 1225 475 bf 20 86 1244 475 bf 19 86 1264 475 bf 20 86 1283 475 bf 19 86 1303 475 bf 20 86 1322 475 bf 19 86 1342 475 bf 20 86 1361 475 bf 19 86 1381 475 bf 20 86 1400 475 bf 19 86 1420 475 bf 20 86 1439 475 bf
|
||||
19 86 1459 475 bf 20 86 1478 475 bf 19 86 1498 475 bf 20 86 1517 475 bf 19 86 1537 475 bf 20 86 1556 475 bf 19 86 1576 475 bf 20 86 1595 475 bf 19 86 1615 475 bf 20 86 1634 475 bf 19 86 1654 475 bf 20 86 1673 475 bf 19 86 1693 475 bf 20 86 1712 475
|
||||
bf 19 86 1732 475 bf 20 86 1751 475 bf 19 86 1771 475 bf 20 86 1790 475 bf 19 86 1810 475 bf 20 86 1829 475 bf 19 86 1849 475 bf 20 86 1868 475 bf 19 86 1888 475 bf 20 86 1907 475 bf 19 86 1927 475 bf 20 86 1946 475 bf 19 86 1966 475 bf 20 86 1985
|
||||
475 bf 19 86 2005 475 bf 20 86 2024 475 bf 19 86 2044 475 bf 20 86 2063 475 bf 19 86 2083 475 bf 20 86 2102 475 bf 19 86 2122 475 bf 20 86 2141 475 bf 19 86 2161 475 bf 20 86 2180 475 bf 0.888571 0.885714 0.102857 c 20 85 249 561 bf 0.956667
|
||||
0.466667 0.04 c 19 85 269 561 bf 0.981429 0.314286 0.0171429 c 20 85 288 561 bf 1 0.2 0 c 19 85 308 561 bf 0.934667 0.173333 0 c 20 85 327 561 bf 0.869333 0.146667 0 c 19 85 347 561 bf 0.836667 0.133333 0 c 20 85 366 561 bf 0.804 0.12 0 c 19 85 386
|
||||
561 bf 0.771333 0.106667 0 c 20 85 405 561 bf 0.738667 0.0933333 0 c 19 85 425 561 bf 0.706 0.08 0 c 20 85 444 561 bf 19 85 464 561 bf 0.673333 0.0666667 0 c 20 85 483 561 bf 19 85 503 561 bf 0.640667 0.0533333 0 c 20 85 522 561 bf 19 85 542 561 bf
|
||||
20 85 561 561 bf 0.608 0.04 0 c 19 85 581 561 bf 20 85 600 561 bf 19 85 620 561 bf 20 85 639 561 bf 20 85 659 561 bf 0.575333 0.0266667 0 c 19 85 679 561 bf 20 85 698 561 bf 19 85 718 561 bf 20 85 737 561 bf 19 85 757 561 bf 20 85 776 561 bf 19 85
|
||||
796 561 bf 20 85 815 561 bf 19 85 835 561 bf 0.542667 0.0133333 0 c 20 85 854 561 bf 19 85 874 561 bf 20 85 893 561 bf 19 85 913 561 bf 20 85 932 561 bf 19 85 952 561 bf 20 85 971 561 bf 19 85 991 561 bf 20 85 1010 561 bf 19 85 1030 561 bf 20 85
|
||||
1049 561 bf 19 85 1069 561 bf 20 85 1088 561 bf 19 85 1108 561 bf 20 85 1127 561 bf 19 85 1147 561 bf 20 85 1166 561 bf 19 85 1186 561 bf 20 85 1205 561 bf 19 85 1225 561 bf 20 85 1244 561 bf 19 85 1264 561 bf 20 85 1283 561 bf 19 85 1303 561 bf 20
|
||||
85 1322 561 bf 19 85 1342 561 bf 20 85 1361 561 bf 19 85 1381 561 bf 20 85 1400 561 bf 19 85 1420 561 bf 20 85 1439 561 bf 19 85 1459 561 bf 20 85 1478 561 bf 19 85 1498 561 bf 20 85 1517 561 bf 19 85 1537 561 bf 20 85 1556 561 bf 19 85 1576 561 bf
|
||||
20 85 1595 561 bf 19 85 1615 561 bf 20 85 1634 561 bf 19 85 1654 561 bf 20 85 1673 561 bf 19 85 1693 561 bf 20 85 1712 561 bf 19 85 1732 561 bf 20 85 1751 561 bf 19 85 1771 561 bf 20 85 1790 561 bf 19 85 1810 561 bf 20 85 1829 561 bf 19 85 1849 561
|
||||
bf 20 85 1868 561 bf 19 85 1888 561 bf 20 85 1907 561 bf 19 85 1927 561 bf 20 85 1946 561 bf 19 85 1966 561 bf 20 85 1985 561 bf 19 85 2005 561 bf 20 85 2024 561 bf 19 85 2044 561 bf 20 85 2063 561 bf 19 85 2083 561 bf 20 85 2102 561 bf 19 85 2122
|
||||
561 bf 20 85 2141 561 bf 19 85 2161 561 bf 20 85 2180 561 bf 0.7975 0.984167 0.193333 c 20 86 249 646 bf 0.925714 0.657143 0.0685714 c 19 86 269 646 bf 0.956667 0.466667 0.04 c 20 86 288 646 bf 0.975238 0.352381 0.0228571 c 19 86 308 646 bf
|
||||
0.987619 0.27619 0.0114286 c 20 86 327 646 bf 1 0.2 0 c 19 86 347 646 bf 0.967333 0.186667 0 c 20 86 366 646 bf 0.934667 0.173333 0 c 19 86 386 646 bf 0.902 0.16 0 c 20 86 405 646 bf 0.869333 0.146667 0 c 19 86 425 646 bf 0.836667 0.133333 0 c 20
|
||||
86 444 646 bf 0.804 0.12 0 c 19 86 464 646 bf 20 86 483 646 bf 0.771333 0.106667 0 c 19 86 503 646 bf 20 86 522 646 bf 0.738667 0.0933333 0 c 19 86 542 646 bf 20 86 561 646 bf 0.706 0.08 0 c 19 86 581 646 bf 20 86 600 646 bf 19 86 620 646 bf
|
||||
0.673333 0.0666667 0 c 20 86 639 646 bf 20 86 659 646 bf 19 86 679 646 bf 20 86 698 646 bf 0.640667 0.0533333 0 c 19 86 718 646 bf 20 86 737 646 bf 19 86 757 646 bf 20 86 776 646 bf 19 86 796 646 bf 0.608 0.04 0 c 20 86 815 646 bf 19 86 835 646 bf
|
||||
20 86 854 646 bf 19 86 874 646 bf 20 86 893 646 bf 19 86 913 646 bf 20 86 932 646 bf 19 86 952 646 bf 0.575333 0.0266667 0 c 20 86 971 646 bf 19 86 991 646 bf 20 86 1010 646 bf 19 86 1030 646 bf 20 86 1049 646 bf 19 86 1069 646 bf 20 86 1088 646 bf
|
||||
19 86 1108 646 bf 20 86 1127 646 bf 19 86 1147 646 bf 20 86 1166 646 bf 19 86 1186 646 bf 20 86 1205 646 bf 19 86 1225 646 bf 0.542667 0.0133333 0 c 20 86 1244 646 bf 19 86 1264 646 bf 20 86 1283 646 bf 19 86 1303 646 bf 20 86 1322 646 bf 19 86
|
||||
1342 646 bf 20 86 1361 646 bf 19 86 1381 646 bf 20 86 1400 646 bf 19 86 1420 646 bf 20 86 1439 646 bf 19 86 1459 646 bf 20 86 1478 646 bf 19 86 1498 646 bf 20 86 1517 646 bf 19 86 1537 646 bf 20 86 1556 646 bf 19 86 1576 646 bf 20 86 1595 646 bf 19
|
||||
86 1615 646 bf 20 86 1634 646 bf 19 86 1654 646 bf 20 86 1673 646 bf 19 86 1693 646 bf 20 86 1712 646 bf 19 86 1732 646 bf 20 86 1751 646 bf 19 86 1771 646 bf 20 86 1790 646 bf 19 86 1810 646 bf 20 86 1829 646 bf 19 86 1849 646 bf 20 86 1868 646 bf
|
||||
19 86 1888 646 bf 20 86 1907 646 bf 19 86 1927 646 bf 20 86 1946 646 bf 19 86 1966 646 bf 20 86 1985 646 bf 19 86 2005 646 bf 20 86 2024 646 bf 19 86 2044 646 bf 20 86 2063 646 bf 19 86 2083 646 bf 20 86 2102 646 bf 19 86 2122 646 bf 20 86 2141 646
|
||||
bf 19 86 2161 646 bf 20 86 2180 646 bf 0.61625 0.944583 0.376667 c 20 85 249 732 bf 0.888571 0.885714 0.102857 c 19 85 269 732 bf 0.919524 0.695238 0.0742857 c 20 85 288 732 bf 0.938095 0.580952 0.0571429 c 19 85 308 732 bf 0.956667 0.466667 0.04 c
|
||||
20 85 327 732 bf 0.962857 0.428571 0.0342857 c 19 85 347 732 bf 0.975238 0.352381 0.0228571 c 20 85 366 732 bf 0.981429 0.314286 0.0171429 c 19 85 386 732 bf 0.987619 0.27619 0.0114286 c 20 85 405 732 bf 0.99381 0.238095 0.00571429 c 19 85 425 732
|
||||
bf 1 0.2 0 c 20 85 444 732 bf 0.967333 0.186667 0 c 19 85 464 732 bf 0.934667 0.173333 0 c 20 85 483 732 bf 19 85 503 732 bf 0.902 0.16 0 c 20 85 522 732 bf 19 85 542 732 bf 0.869333 0.146667 0 c 20 85 561 732 bf 19 85 581 732 bf 0.836667 0.133333
|
||||
0 c 20 85 600 732 bf 19 85 620 732 bf 0.804 0.12 0 c 20 85 639 732 bf 20 85 659 732 bf 19 85 679 732 bf 0.771333 0.106667 0 c 20 85 698 732 bf 19 85 718 732 bf 20 85 737 732 bf 19 85 757 732 bf 0.738667 0.0933333 0 c 20 85 776 732 bf 19 85 796 732
|
||||
bf 20 85 815 732 bf 19 85 835 732 bf 0.706 0.08 0 c 20 85 854 732 bf 19 85 874 732 bf 20 85 893 732 bf 19 85 913 732 bf 20 85 932 732 bf 0.673333 0.0666667 0 c 19 85 952 732 bf 20 85 971 732 bf 19 85 991 732 bf 20 85 1010 732 bf 19 85 1030 732 bf
|
||||
20 85 1049 732 bf 19 85 1069 732 bf 0.640667 0.0533333 0 c 20 85 1088 732 bf 19 85 1108 732 bf 20 85 1127 732 bf 19 85 1147 732 bf 20 85 1166 732 bf 19 85 1186 732 bf 20 85 1205 732 bf 19 85 1225 732 bf 20 85 1244 732 bf 19 85 1264 732 bf 0.608
|
||||
0.04 0 c 20 85 1283 732 bf 19 85 1303 732 bf 20 85 1322 732 bf 19 85 1342 732 bf 20 85 1361 732 bf 19 85 1381 732 bf 20 85 1400 732 bf 19 85 1420 732 bf 20 85 1439 732 bf 19 85 1459 732 bf 20 85 1478 732 bf 19 85 1498 732 bf 20 85 1517 732 bf 19 85
|
||||
1537 732 bf 0.575333 0.0266667 0 c 20 85 1556 732 bf 19 85 1576 732 bf 20 85 1595 732 bf 19 85 1615 732 bf 20 85 1634 732 bf 19 85 1654 732 bf 20 85 1673 732 bf 19 85 1693 732 bf 20 85 1712 732 bf 19 85 1732 732 bf 20 85 1751 732 bf 19 85 1771 732
|
||||
bf 20 85 1790 732 bf 19 85 1810 732 bf 20 85 1829 732 bf 19 85 1849 732 bf 20 85 1868 732 bf 19 85 1888 732 bf 20 85 1907 732 bf 19 85 1927 732 bf 20 85 1946 732 bf 19 85 1966 732 bf 20 85 1985 732 bf 19 85 2005 732 bf 20 85 2024 732 bf 0.542667
|
||||
0.0133333 0 c 19 85 2044 732 bf 20 85 2063 732 bf 19 85 2083 732 bf 20 85 2102 732 bf 19 85 2122 732 bf 20 85 2141 732 bf 19 85 2161 732 bf 20 85 2180 732 bf 0.54375 0.92875 0.45 c 20 86 249 817 bf 0.882381 0.92381 0.108571 c 19 86 269 817 bf
|
||||
0.913333 0.733333 0.08 c 20 86 288 817 bf 0.931905 0.619048 0.0628571 c 19 86 308 817 bf 0.944286 0.542857 0.0514286 c 20 86 327 817 bf 0.956667 0.466667 0.04 c 19 86 347 817 bf 0.969048 0.390476 0.0285714 c 20 86 366 817 bf 0.975238 0.352381
|
||||
0.0228571 c 19 86 386 817 bf 0.981429 0.314286 0.0171429 c 20 86 405 817 bf 0.987619 0.27619 0.0114286 c 19 86 425 817 bf 0.99381 0.238095 0.00571429 c 20 86 444 817 bf 1 0.2 0 c 19 86 464 817 bf 20 86 483 817 bf 0.967333 0.186667 0 c 19 86 503 817
|
||||
bf 0.934667 0.173333 0 c 20 86 522 817 bf 19 86 542 817 bf 0.902 0.16 0 c 20 86 561 817 bf 19 86 581 817 bf 0.869333 0.146667 0 c 20 86 600 817 bf 19 86 620 817 bf 0.836667 0.133333 0 c 20 86 639 817 bf 20 86 659 817 bf 19 86 679 817 bf 0.804 0.12
|
||||
0 c 20 86 698 817 bf 19 86 718 817 bf 20 86 737 817 bf 19 86 757 817 bf 0.771333 0.106667 0 c 20 86 776 817 bf 19 86 796 817 bf 20 86 815 817 bf 19 86 835 817 bf 0.738667 0.0933333 0 c 20 86 854 817 bf 19 86 874 817 bf 20 86 893 817 bf 19 86 913
|
||||
817 bf 20 86 932 817 bf 0.706 0.08 0 c 19 86 952 817 bf 20 86 971 817 bf 19 86 991 817 bf 20 86 1010 817 bf 19 86 1030 817 bf 20 86 1049 817 bf 0.673333 0.0666667 0 c 19 86 1069 817 bf 20 86 1088 817 bf 19 86 1108 817 bf 20 86 1127 817 bf 19 86
|
||||
1147 817 bf 20 86 1166 817 bf 19 86 1186 817 bf 20 86 1205 817 bf 0.640667 0.0533333 0 c 19 86 1225 817 bf 20 86 1244 817 bf 19 86 1264 817 bf 20 86 1283 817 bf 19 86 1303 817 bf 20 86 1322 817 bf 19 86 1342 817 bf 20 86 1361 817 bf 19 86 1381 817
|
||||
bf 20 86 1400 817 bf 19 86 1420 817 bf 0.608 0.04 0 c 20 86 1439 817 bf 19 86 1459 817 bf 20 86 1478 817 bf 19 86 1498 817 bf 20 86 1517 817 bf 19 86 1537 817 bf 20 86 1556 817 bf 19 86 1576 817 bf 20 86 1595 817 bf 19 86 1615 817 bf 20 86 1634 817
|
||||
bf 19 86 1654 817 bf 20 86 1673 817 bf 19 86 1693 817 bf 20 86 1712 817 bf 19 86 1732 817 bf 20 86 1751 817 bf 0.575333 0.0266667 0 c 19 86 1771 817 bf 20 86 1790 817 bf 19 86 1810 817 bf 20 86 1829 817 bf 19 86 1849 817 bf 20 86 1868 817 bf 19 86
|
||||
1888 817 bf 20 86 1907 817 bf 19 86 1927 817 bf 20 86 1946 817 bf 19 86 1966 817 bf 20 86 1985 817 bf 19 86 2005 817 bf 20 86 2024 817 bf 19 86 2044 817 bf 20 86 2063 817 bf 19 86 2083 817 bf 20 86 2102 817 bf 19 86 2122 817 bf 20 86 2141 817 bf 19
|
||||
86 2161 817 bf 20 86 2180 817 bf 0.3625 0.889167 0.633333 c 20 85 249 903 bf 0.76125 0.97625 0.23 c 19 85 269 903 bf 0.882381 0.92381 0.108571 c 20 85 288 903 bf 0.900952 0.809524 0.0914286 c 19 85 308 903 bf 0.913333 0.733333 0.08 c 20 85 327 903
|
||||
bf 0.925714 0.657143 0.0685714 c 19 85 347 903 bf 0.938095 0.580952 0.0571429 c 20 85 366 903 bf 0.944286 0.542857 0.0514286 c 19 85 386 903 bf 0.950476 0.504762 0.0457143 c 20 85 405 903 bf 0.956667 0.466667 0.04 c 19 85 425 903 bf 0.962857
|
||||
0.428571 0.0342857 c 20 85 444 903 bf 0.969048 0.390476 0.0285714 c 19 85 464 903 bf 0.975238 0.352381 0.0228571 c 20 85 483 903 bf 0.981429 0.314286 0.0171429 c 19 85 503 903 bf 20 85 522 903 bf 0.987619 0.27619 0.0114286 c 19 85 542 903 bf 20 85
|
||||
561 903 bf 0.99381 0.238095 0.00571429 c 19 85 581 903 bf 20 85 600 903 bf 1 0.2 0 c 19 85 620 903 bf 20 85 639 903 bf 0.967333 0.186667 0 c 20 85 659 903 bf 19 85 679 903 bf 20 85 698 903 bf 0.934667 0.173333 0 c 19 85 718 903 bf 20 85 737 903 bf
|
||||
19 85 757 903 bf 0.902 0.16 0 c 20 85 776 903 bf 19 85 796 903 bf 20 85 815 903 bf 0.869333 0.146667 0 c 19 85 835 903 bf 20 85 854 903 bf 19 85 874 903 bf 20 85 893 903 bf 0.836667 0.133333 0 c 19 85 913 903 bf 20 85 932 903 bf 19 85 952 903 bf 20
|
||||
85 971 903 bf 19 85 991 903 bf 0.804 0.12 0 c 20 85 1010 903 bf 19 85 1030 903 bf 20 85 1049 903 bf 19 85 1069 903 bf 20 85 1088 903 bf 19 85 1108 903 bf 0.771333 0.106667 0 c 20 85 1127 903 bf 19 85 1147 903 bf 20 85 1166 903 bf 19 85 1186 903 bf
|
||||
20 85 1205 903 bf 19 85 1225 903 bf 20 85 1244 903 bf 0.738667 0.0933333 0 c 19 85 1264 903 bf 20 85 1283 903 bf 19 85 1303 903 bf 20 85 1322 903 bf 19 85 1342 903 bf 20 85 1361 903 bf 19 85 1381 903 bf 20 85 1400 903 bf 0.706 0.08 0 c 19 85 1420
|
||||
903 bf 20 85 1439 903 bf 19 85 1459 903 bf 20 85 1478 903 bf 19 85 1498 903 bf 20 85 1517 903 bf 19 85 1537 903 bf 20 85 1556 903 bf 19 85 1576 903 bf 20 85 1595 903 bf 19 85 1615 903 bf 0.673333 0.0666667 0 c 20 85 1634 903 bf 19 85 1654 903 bf 20
|
||||
85 1673 903 bf 19 85 1693 903 bf 20 85 1712 903 bf 19 85 1732 903 bf 20 85 1751 903 bf 19 85 1771 903 bf 20 85 1790 903 bf 19 85 1810 903 bf 20 85 1829 903 bf 19 85 1849 903 bf 20 85 1868 903 bf 0.640667 0.0533333 0 c 19 85 1888 903 bf 20 85 1907
|
||||
903 bf 19 85 1927 903 bf 20 85 1946 903 bf 19 85 1966 903 bf 20 85 1985 903 bf 19 85 2005 903 bf 20 85 2024 903 bf 19 85 2044 903 bf 20 85 2063 903 bf 19 85 2083 903 bf 20 85 2102 903 bf 19 85 2122 903 bf 20 85 2141 903 bf 19 85 2161 903 bf 20 85
|
||||
2180 903 bf 0.25375 0.865417 0.743333 c 20 85 249 988 bf 0.61625 0.944583 0.376667 c 19 85 269 988 bf 0.7975 0.984167 0.193333 c 20 85 288 988 bf 0.87619 0.961905 0.114286 c 19 85 308 988 bf 0.894762 0.847619 0.0971429 c 20 85 327 988 bf 0.907143
|
||||
0.771429 0.0857143 c 19 85 347 988 bf 0.913333 0.733333 0.08 c 20 85 366 988 bf 0.925714 0.657143 0.0685714 c 19 85 386 988 bf 0.931905 0.619048 0.0628571 c 20 85 405 988 bf 0.938095 0.580952 0.0571429 c 19 85 425 988 bf 0.944286 0.542857 0.0514286
|
||||
c 20 85 444 988 bf 0.950476 0.504762 0.0457143 c 19 85 464 988 bf 0.956667 0.466667 0.04 c 20 85 483 988 bf 19 85 503 988 bf 0.962857 0.428571 0.0342857 c 20 85 522 988 bf 0.969048 0.390476 0.0285714 c 19 85 542 988 bf 20 85 561 988 bf 0.975238
|
||||
0.352381 0.0228571 c 19 85 581 988 bf 20 85 600 988 bf 0.981429 0.314286 0.0171429 c 19 85 620 988 bf 20 85 639 988 bf 20 85 659 988 bf 0.987619 0.27619 0.0114286 c 19 85 679 988 bf 20 85 698 988 bf 0.99381 0.238095 0.00571429 c 19 85 718 988 bf 20
|
||||
85 737 988 bf 19 85 757 988 bf 1 0.2 0 c 20 85 776 988 bf 19 85 796 988 bf 20 85 815 988 bf 19 85 835 988 bf 0.967333 0.186667 0 c 20 85 854 988 bf 19 85 874 988 bf 20 85 893 988 bf 0.934667 0.173333 0 c 19 85 913 988 bf 20 85 932 988 bf 19 85 952
|
||||
988 bf 20 85 971 988 bf 19 85 991 988 bf 0.902 0.16 0 c 20 85 1010 988 bf 19 85 1030 988 bf 20 85 1049 988 bf 19 85 1069 988 bf 20 85 1088 988 bf 0.869333 0.146667 0 c 19 85 1108 988 bf 20 85 1127 988 bf 19 85 1147 988 bf 20 85 1166 988 bf 19 85
|
||||
1186 988 bf 20 85 1205 988 bf 0.836667 0.133333 0 c 19 85 1225 988 bf 20 85 1244 988 bf 19 85 1264 988 bf 20 85 1283 988 bf 19 85 1303 988 bf 20 85 1322 988 bf 19 85 1342 988 bf 0.804 0.12 0 c 20 85 1361 988 bf 19 85 1381 988 bf 20 85 1400 988 bf
|
||||
19 85 1420 988 bf 20 85 1439 988 bf 19 85 1459 988 bf 20 85 1478 988 bf 19 85 1498 988 bf 0.771333 0.106667 0 c 20 85 1517 988 bf 19 85 1537 988 bf 20 85 1556 988 bf 19 85 1576 988 bf 20 85 1595 988 bf 19 85 1615 988 bf 20 85 1634 988 bf 19 85 1654
|
||||
988 bf 20 85 1673 988 bf 19 85 1693 988 bf 0.738667 0.0933333 0 c 20 85 1712 988 bf 19 85 1732 988 bf 20 85 1751 988 bf 19 85 1771 988 bf 20 85 1790 988 bf 19 85 1810 988 bf 20 85 1829 988 bf 19 85 1849 988 bf 20 85 1868 988 bf 19 85 1888 988 bf 20
|
||||
85 1907 988 bf 19 85 1927 988 bf 0.706 0.08 0 c 20 85 1946 988 bf 19 85 1966 988 bf 20 85 1985 988 bf 19 85 2005 988 bf 20 85 2024 988 bf 19 85 2044 988 bf 20 85 2063 988 bf 19 85 2083 988 bf 20 85 2102 988 bf 19 85 2122 988 bf 20 85 2141 988 bf 19
|
||||
85 2161 988 bf 20 85 2180 988 bf 0.145 0.841667 0.853333 c 20 86 249 1073 bf 0.54375 0.92875 0.45 c 19 86 269 1073 bf 0.725 0.968333 0.266667 c 20 86 288 1073 bf 0.83375 0.992083 0.156667 c 19 86 308 1073 bf 0.882381 0.92381 0.108571 c 20 86 327
|
||||
1073 bf 0.888571 0.885714 0.102857 c 19 86 347 1073 bf 0.900952 0.809524 0.0914286 c 20 86 366 1073 bf 0.907143 0.771429 0.0857143 c 19 86 386 1073 bf 0.919524 0.695238 0.0742857 c 20 86 405 1073 bf 0.925714 0.657143 0.0685714 c 19 86 425 1073 bf
|
||||
0.931905 0.619048 0.0628571 c 20 86 444 1073 bf 19 86 464 1073 bf 0.938095 0.580952 0.0571429 c 20 86 483 1073 bf 0.944286 0.542857 0.0514286 c 19 86 503 1073 bf 0.950476 0.504762 0.0457143 c 20 86 522 1073 bf 19 86 542 1073 bf 0.956667 0.466667
|
||||
0.04 c 20 86 561 1073 bf 19 86 581 1073 bf 0.962857 0.428571 0.0342857 c 20 86 600 1073 bf 19 86 620 1073 bf 0.969048 0.390476 0.0285714 c 20 86 639 1073 bf 20 86 659 1073 bf 0.975238 0.352381 0.0228571 c 19 86 679 1073 bf 20 86 698 1073 bf 19 86
|
||||
718 1073 bf 0.981429 0.314286 0.0171429 c 20 86 737 1073 bf 19 86 757 1073 bf 20 86 776 1073 bf 0.987619 0.27619 0.0114286 c 19 86 796 1073 bf 20 86 815 1073 bf 19 86 835 1073 bf 0.99381 0.238095 0.00571429 c 20 86 854 1073 bf 19 86 874 1073 bf 20
|
||||
86 893 1073 bf 19 86 913 1073 bf 1 0.2 0 c 20 86 932 1073 bf 19 86 952 1073 bf 20 86 971 1073 bf 19 86 991 1073 bf 0.967333 0.186667 0 c 20 86 1010 1073 bf 19 86 1030 1073 bf 20 86 1049 1073 bf 19 86 1069 1073 bf 20 86 1088 1073 bf 0.934667
|
||||
0.173333 0 c 19 86 1108 1073 bf 20 86 1127 1073 bf 19 86 1147 1073 bf 20 86 1166 1073 bf 19 86 1186 1073 bf 0.902 0.16 0 c 20 86 1205 1073 bf 19 86 1225 1073 bf 20 86 1244 1073 bf 19 86 1264 1073 bf 20 86 1283 1073 bf 19 86 1303 1073 bf 20 86 1322
|
||||
1073 bf 0.869333 0.146667 0 c 19 86 1342 1073 bf 20 86 1361 1073 bf 19 86 1381 1073 bf 20 86 1400 1073 bf 19 86 1420 1073 bf 20 86 1439 1073 bf 19 86 1459 1073 bf 20 86 1478 1073 bf 0.836667 0.133333 0 c 19 86 1498 1073 bf 20 86 1517 1073 bf 19 86
|
||||
1537 1073 bf 20 86 1556 1073 bf 19 86 1576 1073 bf 20 86 1595 1073 bf 19 86 1615 1073 bf 20 86 1634 1073 bf 0.804 0.12 0 c 19 86 1654 1073 bf 20 86 1673 1073 bf 19 86 1693 1073 bf 20 86 1712 1073 bf 19 86 1732 1073 bf 20 86 1751 1073 bf 19 86 1771
|
||||
1073 bf 20 86 1790 1073 bf 19 86 1810 1073 bf 20 86 1829 1073 bf 19 86 1849 1073 bf 0.771333 0.106667 0 c 20 86 1868 1073 bf 19 86 1888 1073 bf 20 86 1907 1073 bf 19 86 1927 1073 bf 20 86 1946 1073 bf 19 86 1966 1073 bf 20 86 1985 1073 bf 19 86
|
||||
2005 1073 bf 20 86 2024 1073 bf 19 86 2044 1073 bf 20 86 2063 1073 bf 19 86 2083 1073 bf 20 86 2102 1073 bf 0.738667 0.0933333 0 c 19 86 2122 1073 bf 20 86 2141 1073 bf 19 86 2161 1073 bf 20 86 2180 1073 bf 0.0725 0.825833 0.926667 c 20 85 249 1159
|
||||
bf 0.435 0.905 0.56 c 19 85 269 1159 bf 0.61625 0.944583 0.376667 c 20 85 288 1159 bf 0.76125 0.97625 0.23 c 19 85 308 1159 bf 0.83375 0.992083 0.156667 c 20 85 327 1159 bf 0.87619 0.961905 0.114286 c 19 85 347 1159 bf 0.888571 0.885714 0.102857 c
|
||||
20 85 366 1159 bf 0.894762 0.847619 0.0971429 c 19 85 386 1159 bf 0.900952 0.809524 0.0914286 c 20 85 405 1159 bf 0.907143 0.771429 0.0857143 c 19 85 425 1159 bf 0.913333 0.733333 0.08 c 20 85 444 1159 bf 0.919524 0.695238 0.0742857 c 19 85 464
|
||||
1159 bf 0.925714 0.657143 0.0685714 c 20 85 483 1159 bf 19 85 503 1159 bf 0.931905 0.619048 0.0628571 c 20 85 522 1159 bf 0.938095 0.580952 0.0571429 c 19 85 542 1159 bf 20 85 561 1159 bf 0.944286 0.542857 0.0514286 c 19 85 581 1159 bf 20 85 600
|
||||
1159 bf 0.950476 0.504762 0.0457143 c 19 85 620 1159 bf 20 85 639 1159 bf 0.956667 0.466667 0.04 c 20 85 659 1159 bf 19 85 679 1159 bf 0.962857 0.428571 0.0342857 c 20 85 698 1159 bf 19 85 718 1159 bf 20 85 737 1159 bf 0.969048 0.390476 0.0285714 c
|
||||
19 85 757 1159 bf 20 85 776 1159 bf 19 85 796 1159 bf 0.975238 0.352381 0.0228571 c 20 85 815 1159 bf 19 85 835 1159 bf 20 85 854 1159 bf 0.981429 0.314286 0.0171429 c 19 85 874 1159 bf 20 85 893 1159 bf 19 85 913 1159 bf 20 85 932 1159 bf 0.987619
|
||||
0.27619 0.0114286 c 19 85 952 1159 bf 20 85 971 1159 bf 19 85 991 1159 bf 20 85 1010 1159 bf 0.99381 0.238095 0.00571429 c 19 85 1030 1159 bf 20 85 1049 1159 bf 19 85 1069 1159 bf 20 85 1088 1159 bf 19 85 1108 1159 bf 1 0.2 0 c 20 85 1127 1159 bf
|
||||
19 85 1147 1159 bf 20 85 1166 1159 bf 19 85 1186 1159 bf 20 85 1205 1159 bf 19 85 1225 1159 bf 0.967333 0.186667 0 c 20 85 1244 1159 bf 19 85 1264 1159 bf 20 85 1283 1159 bf 19 85 1303 1159 bf 20 85 1322 1159 bf 19 85 1342 1159 bf 0.934667 0.173333
|
||||
0 c 20 85 1361 1159 bf 19 85 1381 1159 bf 20 85 1400 1159 bf 19 85 1420 1159 bf 20 85 1439 1159 bf 19 85 1459 1159 bf 20 85 1478 1159 bf 19 85 1498 1159 bf 0.902 0.16 0 c 20 85 1517 1159 bf 19 85 1537 1159 bf 20 85 1556 1159 bf 19 85 1576 1159 bf
|
||||
20 85 1595 1159 bf 19 85 1615 1159 bf 20 85 1634 1159 bf 19 85 1654 1159 bf 0.869333 0.146667 0 c 20 85 1673 1159 bf 19 85 1693 1159 bf 20 85 1712 1159 bf 19 85 1732 1159 bf 20 85 1751 1159 bf 19 85 1771 1159 bf 20 85 1790 1159 bf 19 85 1810 1159
|
||||
bf 20 85 1829 1159 bf 19 85 1849 1159 bf 0.836667 0.133333 0 c 20 85 1868 1159 bf 19 85 1888 1159 bf 20 85 1907 1159 bf 19 85 1927 1159 bf 20 85 1946 1159 bf 19 85 1966 1159 bf 20 85 1985 1159 bf 19 85 2005 1159 bf 20 85 2024 1159 bf 19 85 2044
|
||||
1159 bf 20 85 2063 1159 bf 19 85 2083 1159 bf 0.804 0.12 0 c 20 85 2102 1159 bf 19 85 2122 1159 bf 20 85 2141 1159 bf 19 85 2161 1159 bf 20 85 2180 1159 bf 0 0.81 1 c 20 86 249 1244 bf 0.39875 0.897083 0.596667 c 19 86 269 1244 bf 0.58 0.936667
|
||||
0.413333 c 20 86 288 1244 bf 0.68875 0.960417 0.303333 c 19 86 308 1244 bf 0.76125 0.97625 0.23 c 20 86 327 1244 bf 0.83375 0.992083 0.156667 c 19 86 347 1244 bf 0.87619 0.961905 0.114286 c 20 86 366 1244 bf 0.882381 0.92381 0.108571 c 19 86 386
|
||||
1244 bf 0.888571 0.885714 0.102857 c 20 86 405 1244 bf 0.900952 0.809524 0.0914286 c 19 86 425 1244 bf 0.907143 0.771429 0.0857143 c 20 86 444 1244 bf 19 86 464 1244 bf 0.913333 0.733333 0.08 c 20 86 483 1244 bf 0.919524 0.695238 0.0742857 c 19 86
|
||||
503 1244 bf 0.925714 0.657143 0.0685714 c 20 86 522 1244 bf 19 86 542 1244 bf 0.931905 0.619048 0.0628571 c 20 86 561 1244 bf 19 86 581 1244 bf 0.938095 0.580952 0.0571429 c 20 86 600 1244 bf 19 86 620 1244 bf 0.944286 0.542857 0.0514286 c 20 86
|
||||
639 1244 bf 20 86 659 1244 bf 0.950476 0.504762 0.0457143 c 19 86 679 1244 bf 20 86 698 1244 bf 19 86 718 1244 bf 0.956667 0.466667 0.04 c 20 86 737 1244 bf 19 86 757 1244 bf 0.962857 0.428571 0.0342857 c 20 86 776 1244 bf 19 86 796 1244 bf 20 86
|
||||
815 1244 bf 0.969048 0.390476 0.0285714 c 19 86 835 1244 bf 20 86 854 1244 bf 19 86 874 1244 bf 20 86 893 1244 bf 0.975238 0.352381 0.0228571 c 19 86 913 1244 bf 20 86 932 1244 bf 19 86 952 1244 bf 20 86 971 1244 bf 0.981429 0.314286 0.0171429 c 19
|
||||
86 991 1244 bf 20 86 1010 1244 bf 19 86 1030 1244 bf 20 86 1049 1244 bf 19 86 1069 1244 bf 0.987619 0.27619 0.0114286 c 20 86 1088 1244 bf 19 86 1108 1244 bf 20 86 1127 1244 bf 19 86 1147 1244 bf 20 86 1166 1244 bf 0.99381 0.238095 0.00571429 c 19
|
||||
86 1186 1244 bf 20 86 1205 1244 bf 19 86 1225 1244 bf 20 86 1244 1244 bf 19 86 1264 1244 bf 20 86 1283 1244 bf 1 0.2 0 c 19 86 1303 1244 bf 20 86 1322 1244 bf 19 86 1342 1244 bf 20 86 1361 1244 bf 19 86 1381 1244 bf 20 86 1400 1244 bf 0.967333
|
||||
0.186667 0 c 19 86 1420 1244 bf 20 86 1439 1244 bf 19 86 1459 1244 bf 20 86 1478 1244 bf 19 86 1498 1244 bf 20 86 1517 1244 bf 19 86 1537 1244 bf 20 86 1556 1244 bf 0.934667 0.173333 0 c 19 86 1576 1244 bf 20 86 1595 1244 bf 19 86 1615 1244 bf 20
|
||||
86 1634 1244 bf 19 86 1654 1244 bf 20 86 1673 1244 bf 19 86 1693 1244 bf 20 86 1712 1244 bf 0.902 0.16 0 c 19 86 1732 1244 bf 20 86 1751 1244 bf 19 86 1771 1244 bf 20 86 1790 1244 bf 19 86 1810 1244 bf 20 86 1829 1244 bf 19 86 1849 1244 bf 20 86
|
||||
1868 1244 bf 19 86 1888 1244 bf 20 86 1907 1244 bf 0.869333 0.146667 0 c 19 86 1927 1244 bf 20 86 1946 1244 bf 19 86 1966 1244 bf 20 86 1985 1244 bf 19 86 2005 1244 bf 20 86 2024 1244 bf 19 86 2044 1244 bf 20 86 2063 1244 bf 19 86 2083 1244 bf 20
|
||||
86 2102 1244 bf 19 86 2122 1244 bf 20 86 2141 1244 bf 0.836667 0.133333 0 c 19 86 2161 1244 bf 20 86 2180 1244 bf 0 0.729 0.951 c 20 85 249 1330 bf 0.29 0.873333 0.706667 c 19 85 269 1330 bf 0.47125 0.912917 0.523333 c 20 85 288 1330 bf 0.58
|
||||
0.936667 0.413333 c 19 85 308 1330 bf 0.68875 0.960417 0.303333 c 20 85 327 1330 bf 0.76125 0.97625 0.23 c 19 85 347 1330 bf 0.7975 0.984167 0.193333 c 20 85 366 1330 bf 0.87 1 0.12 c 19 85 386 1330 bf 0.87619 0.961905 0.114286 c 20 85 405 1330 bf
|
||||
0.882381 0.92381 0.108571 c 19 85 425 1330 bf 0.888571 0.885714 0.102857 c 20 85 444 1330 bf 0.894762 0.847619 0.0971429 c 19 85 464 1330 bf 0.900952 0.809524 0.0914286 c 20 85 483 1330 bf 19 85 503 1330 bf 0.907143 0.771429 0.0857143 c 20 85 522
|
||||
1330 bf 0.913333 0.733333 0.08 c 19 85 542 1330 bf 20 85 561 1330 bf 0.919524 0.695238 0.0742857 c 19 85 581 1330 bf 20 85 600 1330 bf 0.925714 0.657143 0.0685714 c 19 85 620 1330 bf 20 85 639 1330 bf 0.931905 0.619048 0.0628571 c 20 85 659 1330 bf
|
||||
19 85 679 1330 bf 0.938095 0.580952 0.0571429 c 20 85 698 1330 bf 19 85 718 1330 bf 20 85 737 1330 bf 0.944286 0.542857 0.0514286 c 19 85 757 1330 bf 20 85 776 1330 bf 19 85 796 1330 bf 0.950476 0.504762 0.0457143 c 20 85 815 1330 bf 19 85 835 1330
|
||||
bf 20 85 854 1330 bf 0.956667 0.466667 0.04 c 19 85 874 1330 bf 20 85 893 1330 bf 19 85 913 1330 bf 20 85 932 1330 bf 0.962857 0.428571 0.0342857 c 19 85 952 1330 bf 20 85 971 1330 bf 19 85 991 1330 bf 20 85 1010 1330 bf 0.969048 0.390476 0.0285714
|
||||
c 19 85 1030 1330 bf 20 85 1049 1330 bf 19 85 1069 1330 bf 20 85 1088 1330 bf 0.975238 0.352381 0.0228571 c 19 85 1108 1330 bf 20 85 1127 1330 bf 19 85 1147 1330 bf 20 85 1166 1330 bf 19 85 1186 1330 bf 0.981429 0.314286 0.0171429 c 20 85 1205 1330
|
||||
bf 19 85 1225 1330 bf 20 85 1244 1330 bf 19 85 1264 1330 bf 20 85 1283 1330 bf 19 85 1303 1330 bf 0.987619 0.27619 0.0114286 c 20 85 1322 1330 bf 19 85 1342 1330 bf 20 85 1361 1330 bf 19 85 1381 1330 bf 20 85 1400 1330 bf 19 85 1420 1330 bf 20 85
|
||||
1439 1330 bf 0.99381 0.238095 0.00571429 c 19 85 1459 1330 bf 20 85 1478 1330 bf 19 85 1498 1330 bf 20 85 1517 1330 bf 19 85 1537 1330 bf 20 85 1556 1330 bf 19 85 1576 1330 bf 20 85 1595 1330 bf 1 0.2 0 c 19 85 1615 1330 bf 20 85 1634 1330 bf 19 85
|
||||
1654 1330 bf 20 85 1673 1330 bf 19 85 1693 1330 bf 20 85 1712 1330 bf 19 85 1732 1330 bf 20 85 1751 1330 bf 0.967333 0.186667 0 c 19 85 1771 1330 bf 20 85 1790 1330 bf 19 85 1810 1330 bf 20 85 1829 1330 bf 19 85 1849 1330 bf 20 85 1868 1330 bf 19
|
||||
85 1888 1330 bf 20 85 1907 1330 bf 19 85 1927 1330 bf 20 85 1946 1330 bf 0.934667 0.173333 0 c 19 85 1966 1330 bf 20 85 1985 1330 bf 19 85 2005 1330 bf 20 85 2024 1330 bf 19 85 2044 1330 bf 20 85 2063 1330 bf 19 85 2083 1330 bf 20 85 2102 1330 bf
|
||||
19 85 2122 1330 bf 20 85 2141 1330 bf 19 85 2161 1330 bf 0.902 0.16 0 c 20 85 2180 1330 bf 0 0.675 0.918333 c 20 86 249 1415 bf 0.2175 0.8575 0.78 c 19 86 269 1415 bf 0.39875 0.897083 0.596667 c 20 86 288 1415 bf 0.5075 0.920833 0.486667 c 19 86
|
||||
308 1415 bf 0.61625 0.944583 0.376667 c 20 86 327 1415 bf 0.68875 0.960417 0.303333 c 19 86 347 1415 bf 0.725 0.968333 0.266667 c 20 86 366 1415 bf 0.7975 0.984167 0.193333 c 19 86 386 1415 bf 0.83375 0.992083 0.156667 c 20 86 405 1415 bf 0.87 1
|
||||
0.12 c 19 86 425 1415 bf 0.87619 0.961905 0.114286 c 20 86 444 1415 bf 0.882381 0.92381 0.108571 c 19 86 464 1415 bf 0.888571 0.885714 0.102857 c 20 86 483 1415 bf 19 86 503 1415 bf 0.894762 0.847619 0.0971429 c 20 86 522 1415 bf 0.900952 0.809524
|
||||
0.0914286 c 19 86 542 1415 bf 20 86 561 1415 bf 0.907143 0.771429 0.0857143 c 19 86 581 1415 bf 20 86 600 1415 bf 0.913333 0.733333 0.08 c 19 86 620 1415 bf 20 86 639 1415 bf 0.919524 0.695238 0.0742857 c 20 86 659 1415 bf 19 86 679 1415 bf
|
||||
0.925714 0.657143 0.0685714 c 20 86 698 1415 bf 19 86 718 1415 bf 20 86 737 1415 bf 0.931905 0.619048 0.0628571 c 19 86 757 1415 bf 20 86 776 1415 bf 19 86 796 1415 bf 0.938095 0.580952 0.0571429 c 20 86 815 1415 bf 19 86 835 1415 bf 20 86 854 1415
|
||||
bf 0.944286 0.542857 0.0514286 c 19 86 874 1415 bf 20 86 893 1415 bf 19 86 913 1415 bf 20 86 932 1415 bf 0.950476 0.504762 0.0457143 c 19 86 952 1415 bf 20 86 971 1415 bf 19 86 991 1415 bf 20 86 1010 1415 bf 0.956667 0.466667 0.04 c 19 86 1030 1415
|
||||
bf 20 86 1049 1415 bf 19 86 1069 1415 bf 20 86 1088 1415 bf 0.962857 0.428571 0.0342857 c 19 86 1108 1415 bf 20 86 1127 1415 bf 19 86 1147 1415 bf 20 86 1166 1415 bf 19 86 1186 1415 bf 20 86 1205 1415 bf 0.969048 0.390476 0.0285714 c 19 86 1225
|
||||
1415 bf 20 86 1244 1415 bf 19 86 1264 1415 bf 20 86 1283 1415 bf 19 86 1303 1415 bf 0.975238 0.352381 0.0228571 c 20 86 1322 1415 bf 19 86 1342 1415 bf 20 86 1361 1415 bf 19 86 1381 1415 bf 20 86 1400 1415 bf 19 86 1420 1415 bf 20 86 1439 1415 bf
|
||||
0.981429 0.314286 0.0171429 c 19 86 1459 1415 bf 20 86 1478 1415 bf 19 86 1498 1415 bf 20 86 1517 1415 bf 19 86 1537 1415 bf 20 86 1556 1415 bf 19 86 1576 1415 bf 0.987619 0.27619 0.0114286 c 20 86 1595 1415 bf 19 86 1615 1415 bf 20 86 1634 1415 bf
|
||||
19 86 1654 1415 bf 20 86 1673 1415 bf 19 86 1693 1415 bf 20 86 1712 1415 bf 19 86 1732 1415 bf 0.99381 0.238095 0.00571429 c 20 86 1751 1415 bf 19 86 1771 1415 bf 20 86 1790 1415 bf 19 86 1810 1415 bf 20 86 1829 1415 bf 19 86 1849 1415 bf 20 86
|
||||
1868 1415 bf 19 86 1888 1415 bf 20 86 1907 1415 bf 19 86 1927 1415 bf 1 0.2 0 c 20 86 1946 1415 bf 19 86 1966 1415 bf 20 86 1985 1415 bf 19 86 2005 1415 bf 20 86 2024 1415 bf 19 86 2044 1415 bf 20 86 2063 1415 bf 19 86 2083 1415 bf 20 86 2102 1415
|
||||
bf 19 86 2122 1415 bf 20 86 2141 1415 bf 0.967333 0.186667 0 c 19 86 2161 1415 bf 20 86 2180 1415 bf 0 0.675 0.918333 c 20 85 249 1501 bf 0.2175 0.8575 0.78 c 19 85 269 1501 bf 0.39875 0.897083 0.596667 c 20 85 288 1501 bf 0.5075 0.920833 0.486667
|
||||
c 19 85 308 1501 bf 0.58 0.936667 0.413333 c 20 85 327 1501 bf 0.6525 0.9525 0.34 c 19 85 347 1501 bf 0.725 0.968333 0.266667 c 20 85 366 1501 bf 0.76125 0.97625 0.23 c 19 85 386 1501 bf 0.7975 0.984167 0.193333 c 20 85 405 1501 bf 0.83375 0.992083
|
||||
0.156667 c 19 85 425 1501 bf 0.87 1 0.12 c 20 85 444 1501 bf 0.87619 0.961905 0.114286 c 19 85 464 1501 bf 0.882381 0.92381 0.108571 c 20 85 483 1501 bf 0.888571 0.885714 0.102857 c 19 85 503 1501 bf 0.894762 0.847619 0.0971429 c 20 85 522 1501 bf
|
||||
19 85 542 1501 bf 0.900952 0.809524 0.0914286 c 20 85 561 1501 bf 19 85 581 1501 bf 0.907143 0.771429 0.0857143 c 20 85 600 1501 bf 19 85 620 1501 bf 0.913333 0.733333 0.08 c 20 85 639 1501 bf 20 85 659 1501 bf 0.919524 0.695238 0.0742857 c 19 85
|
||||
679 1501 bf 20 85 698 1501 bf 0.925714 0.657143 0.0685714 c 19 85 718 1501 bf 20 85 737 1501 bf 19 85 757 1501 bf 0.931905 0.619048 0.0628571 c 20 85 776 1501 bf 19 85 796 1501 bf 20 85 815 1501 bf 0.938095 0.580952 0.0571429 c 19 85 835 1501 bf 20
|
||||
85 854 1501 bf 19 85 874 1501 bf 20 85 893 1501 bf 0.944286 0.542857 0.0514286 c 19 85 913 1501 bf 20 85 932 1501 bf 19 85 952 1501 bf 0.950476 0.504762 0.0457143 c 20 85 971 1501 bf 19 85 991 1501 bf 20 85 1010 1501 bf 19 85 1030 1501 bf 20 85
|
||||
1049 1501 bf 0.956667 0.466667 0.04 c 19 85 1069 1501 bf 20 85 1088 1501 bf 19 85 1108 1501 bf 20 85 1127 1501 bf 0.962857 0.428571 0.0342857 c 19 85 1147 1501 bf 20 85 1166 1501 bf 19 85 1186 1501 bf 20 85 1205 1501 bf 19 85 1225 1501 bf 20 85
|
||||
1244 1501 bf 0.969048 0.390476 0.0285714 c 19 85 1264 1501 bf 20 85 1283 1501 bf 19 85 1303 1501 bf 20 85 1322 1501 bf 19 85 1342 1501 bf 20 85 1361 1501 bf 0.975238 0.352381 0.0228571 c 19 85 1381 1501 bf 20 85 1400 1501 bf 19 85 1420 1501 bf 20
|
||||
85 1439 1501 bf 19 85 1459 1501 bf 20 85 1478 1501 bf 0.981429 0.314286 0.0171429 c 19 85 1498 1501 bf 20 85 1517 1501 bf 19 85 1537 1501 bf 20 85 1556 1501 bf 19 85 1576 1501 bf 20 85 1595 1501 bf 19 85 1615 1501 bf 20 85 1634 1501 bf 0.987619
|
||||
0.27619 0.0114286 c 19 85 1654 1501 bf 20 85 1673 1501 bf 19 85 1693 1501 bf 20 85 1712 1501 bf 19 85 1732 1501 bf 20 85 1751 1501 bf 19 85 1771 1501 bf 20 85 1790 1501 bf 19 85 1810 1501 bf 0.99381 0.238095 0.00571429 c 20 85 1829 1501 bf 19 85
|
||||
1849 1501 bf 20 85 1868 1501 bf 19 85 1888 1501 bf 20 85 1907 1501 bf 19 85 1927 1501 bf 20 85 1946 1501 bf 19 85 1966 1501 bf 20 85 1985 1501 bf 19 85 2005 1501 bf 1 0.2 0 c 20 85 2024 1501 bf 19 85 2044 1501 bf 20 85 2063 1501 bf 19 85 2083 1501
|
||||
bf 20 85 2102 1501 bf 19 85 2122 1501 bf 20 85 2141 1501 bf 19 85 2161 1501 bf 20 85 2180 1501 bf 0 0.621 0.885667 c 20 86 249 1586 bf 0.145 0.841667 0.853333 c 19 86 269 1586 bf 0.32625 0.88125 0.67 c 20 86 288 1586 bf 0.435 0.905 0.56 c 19 86 308
|
||||
1586 bf 0.5075 0.920833 0.486667 c 20 86 327 1586 bf 0.58 0.936667 0.413333 c 19 86 347 1586 bf 0.6525 0.9525 0.34 c 20 86 366 1586 bf 0.68875 0.960417 0.303333 c 19 86 386 1586 bf 0.76125 0.97625 0.23 c 20 86 405 1586 bf 0.7975 0.984167 0.193333 c
|
||||
19 86 425 1586 bf 0.83375 0.992083 0.156667 c 20 86 444 1586 bf 19 86 464 1586 bf 0.87 1 0.12 c 20 86 483 1586 bf 0.87619 0.961905 0.114286 c 19 86 503 1586 bf 0.882381 0.92381 0.108571 c 20 86 522 1586 bf 19 86 542 1586 bf 0.888571 0.885714
|
||||
0.102857 c 20 86 561 1586 bf 19 86 581 1586 bf 0.894762 0.847619 0.0971429 c 20 86 600 1586 bf 0.900952 0.809524 0.0914286 c 19 86 620 1586 bf 20 86 639 1586 bf 20 86 659 1586 bf 0.907143 0.771429 0.0857143 c 19 86 679 1586 bf 20 86 698 1586 bf
|
||||
0.913333 0.733333 0.08 c 19 86 718 1586 bf 20 86 737 1586 bf 19 86 757 1586 bf 0.919524 0.695238 0.0742857 c 20 86 776 1586 bf 19 86 796 1586 bf 20 86 815 1586 bf 0.925714 0.657143 0.0685714 c 19 86 835 1586 bf 20 86 854 1586 bf 19 86 874 1586 bf
|
||||
0.931905 0.619048 0.0628571 c 20 86 893 1586 bf 19 86 913 1586 bf 20 86 932 1586 bf 19 86 952 1586 bf 0.938095 0.580952 0.0571429 c 20 86 971 1586 bf 19 86 991 1586 bf 20 86 1010 1586 bf 19 86 1030 1586 bf 0.944286 0.542857 0.0514286 c 20 86 1049
|
||||
1586 bf 19 86 1069 1586 bf 20 86 1088 1586 bf 19 86 1108 1586 bf 0.950476 0.504762 0.0457143 c 20 86 1127 1586 bf 19 86 1147 1586 bf 20 86 1166 1586 bf 19 86 1186 1586 bf 20 86 1205 1586 bf 19 86 1225 1586 bf 0.956667 0.466667 0.04 c 20 86 1244
|
||||
1586 bf 19 86 1264 1586 bf 20 86 1283 1586 bf 19 86 1303 1586 bf 20 86 1322 1586 bf 0.962857 0.428571 0.0342857 c 19 86 1342 1586 bf 20 86 1361 1586 bf 19 86 1381 1586 bf 20 86 1400 1586 bf 19 86 1420 1586 bf 20 86 1439 1586 bf 19 86 1459 1586 bf
|
||||
0.969048 0.390476 0.0285714 c 20 86 1478 1586 bf 19 86 1498 1586 bf 20 86 1517 1586 bf 19 86 1537 1586 bf 20 86 1556 1586 bf 19 86 1576 1586 bf 20 86 1595 1586 bf 0.975238 0.352381 0.0228571 c 19 86 1615 1586 bf 20 86 1634 1586 bf 19 86 1654 1586
|
||||
bf 20 86 1673 1586 bf 19 86 1693 1586 bf 20 86 1712 1586 bf 19 86 1732 1586 bf 20 86 1751 1586 bf 0.981429 0.314286 0.0171429 c 19 86 1771 1586 bf 20 86 1790 1586 bf 19 86 1810 1586 bf 20 86 1829 1586 bf 19 86 1849 1586 bf 20 86 1868 1586 bf 19 86
|
||||
1888 1586 bf 20 86 1907 1586 bf 19 86 1927 1586 bf 20 86 1946 1586 bf 0.987619 0.27619 0.0114286 c 19 86 1966 1586 bf 20 86 1985 1586 bf 19 86 2005 1586 bf 20 86 2024 1586 bf 19 86 2044 1586 bf 20 86 2063 1586 bf 19 86 2083 1586 bf 20 86 2102 1586
|
||||
bf 19 86 2122 1586 bf 20 86 2141 1586 bf 0.99381 0.238095 0.00571429 c 19 86 2161 1586 bf 20 86 2180 1586 bf 0 0.594 0.869333 c 20 85 249 1672 bf 0.0725 0.825833 0.926667 c 19 85 269 1672 bf 0.25375 0.865417 0.743333 c 20 85 288 1672 bf 0.39875
|
||||
0.897083 0.596667 c 19 85 308 1672 bf 0.47125 0.912917 0.523333 c 20 85 327 1672 bf 0.54375 0.92875 0.45 c 19 85 347 1672 bf 0.61625 0.944583 0.376667 c 20 85 366 1672 bf 0.6525 0.9525 0.34 c 19 85 386 1672 bf 0.68875 0.960417 0.303333 c 20 85 405
|
||||
1672 bf 0.725 0.968333 0.266667 c 19 85 425 1672 bf 0.76125 0.97625 0.23 c 20 85 444 1672 bf 0.7975 0.984167 0.193333 c 19 85 464 1672 bf 0.83375 0.992083 0.156667 c 20 85 483 1672 bf 0.87 1 0.12 c 19 85 503 1672 bf 20 85 522 1672 bf 0.87619
|
||||
0.961905 0.114286 c 19 85 542 1672 bf 0.882381 0.92381 0.108571 c 20 85 561 1672 bf 19 85 581 1672 bf 0.888571 0.885714 0.102857 c 20 85 600 1672 bf 19 85 620 1672 bf 0.894762 0.847619 0.0971429 c 20 85 639 1672 bf 20 85 659 1672 bf 0.900952
|
||||
0.809524 0.0914286 c 19 85 679 1672 bf 20 85 698 1672 bf 19 85 718 1672 bf 0.907143 0.771429 0.0857143 c 20 85 737 1672 bf 19 85 757 1672 bf 0.913333 0.733333 0.08 c 20 85 776 1672 bf 19 85 796 1672 bf 20 85 815 1672 bf 0.919524 0.695238 0.0742857
|
||||
c 19 85 835 1672 bf 20 85 854 1672 bf 19 85 874 1672 bf 20 85 893 1672 bf 0.925714 0.657143 0.0685714 c 19 85 913 1672 bf 20 85 932 1672 bf 19 85 952 1672 bf 0.931905 0.619048 0.0628571 c 20 85 971 1672 bf 19 85 991 1672 bf 20 85 1010 1672 bf 19 85
|
||||
1030 1672 bf 20 85 1049 1672 bf 0.938095 0.580952 0.0571429 c 19 85 1069 1672 bf 20 85 1088 1672 bf 19 85 1108 1672 bf 20 85 1127 1672 bf 0.944286 0.542857 0.0514286 c 19 85 1147 1672 bf 20 85 1166 1672 bf 19 85 1186 1672 bf 20 85 1205 1672 bf 19
|
||||
85 1225 1672 bf 20 85 1244 1672 bf 0.950476 0.504762 0.0457143 c 19 85 1264 1672 bf 20 85 1283 1672 bf 19 85 1303 1672 bf 20 85 1322 1672 bf 19 85 1342 1672 bf 0.956667 0.466667 0.04 c 20 85 1361 1672 bf 19 85 1381 1672 bf 20 85 1400 1672 bf 19 85
|
||||
1420 1672 bf 20 85 1439 1672 bf 19 85 1459 1672 bf 20 85 1478 1672 bf 0.962857 0.428571 0.0342857 c 19 85 1498 1672 bf 20 85 1517 1672 bf 19 85 1537 1672 bf 20 85 1556 1672 bf 19 85 1576 1672 bf 20 85 1595 1672 bf 19 85 1615 1672 bf 0.969048
|
||||
0.390476 0.0285714 c 20 85 1634 1672 bf 19 85 1654 1672 bf 20 85 1673 1672 bf 19 85 1693 1672 bf 20 85 1712 1672 bf 19 85 1732 1672 bf 20 85 1751 1672 bf 19 85 1771 1672 bf 20 85 1790 1672 bf 0.975238 0.352381 0.0228571 c 19 85 1810 1672 bf 20 85
|
||||
1829 1672 bf 19 85 1849 1672 bf 20 85 1868 1672 bf 19 85 1888 1672 bf 20 85 1907 1672 bf 19 85 1927 1672 bf 20 85 1946 1672 bf 19 85 1966 1672 bf 0.981429 0.314286 0.0171429 c 20 85 1985 1672 bf 19 85 2005 1672 bf 20 85 2024 1672 bf 19 85 2044 1672
|
||||
bf 20 85 2063 1672 bf 19 85 2083 1672 bf 20 85 2102 1672 bf 19 85 2122 1672 bf 20 85 2141 1672 bf 19 85 2161 1672 bf 20 85 2180 1672 bf 0 0.54 0.836667 c 20 85 249 1757 bf 0.03625 0.817917 0.963333 c 19 85 269 1757 bf 0.2175 0.8575 0.78 c 20 85 288
|
||||
1757 bf 0.32625 0.88125 0.67 c 19 85 308 1757 bf 0.435 0.905 0.56 c 20 85 327 1757 bf 0.5075 0.920833 0.486667 c 19 85 347 1757 bf 0.54375 0.92875 0.45 c 20 85 366 1757 bf 0.61625 0.944583 0.376667 c 19 85 386 1757 bf 0.6525 0.9525 0.34 c 20 85 405
|
||||
1757 bf 0.68875 0.960417 0.303333 c 19 85 425 1757 bf 0.725 0.968333 0.266667 c 20 85 444 1757 bf 0.76125 0.97625 0.23 c 19 85 464 1757 bf 0.7975 0.984167 0.193333 c 20 85 483 1757 bf 19 85 503 1757 bf 0.83375 0.992083 0.156667 c 20 85 522 1757 bf
|
||||
0.87 1 0.12 c 19 85 542 1757 bf 20 85 561 1757 bf 0.87619 0.961905 0.114286 c 19 85 581 1757 bf 20 85 600 1757 bf 0.882381 0.92381 0.108571 c 19 85 620 1757 bf 20 85 639 1757 bf 0.888571 0.885714 0.102857 c 20 85 659 1757 bf 19 85 679 1757 bf
|
||||
0.894762 0.847619 0.0971429 c 20 85 698 1757 bf 19 85 718 1757 bf 20 85 737 1757 bf 0.900952 0.809524 0.0914286 c 19 85 757 1757 bf 20 85 776 1757 bf 0.907143 0.771429 0.0857143 c 19 85 796 1757 bf 20 85 815 1757 bf 19 85 835 1757 bf 0.913333
|
||||
0.733333 0.08 c 20 85 854 1757 bf 19 85 874 1757 bf 20 85 893 1757 bf 19 85 913 1757 bf 0.919524 0.695238 0.0742857 c 20 85 932 1757 bf 19 85 952 1757 bf 20 85 971 1757 bf 19 85 991 1757 bf 0.925714 0.657143 0.0685714 c 20 85 1010 1757 bf 19 85
|
||||
1030 1757 bf 20 85 1049 1757 bf 19 85 1069 1757 bf 0.931905 0.619048 0.0628571 c 20 85 1088 1757 bf 19 85 1108 1757 bf 20 85 1127 1757 bf 19 85 1147 1757 bf 20 85 1166 1757 bf 0.938095 0.580952 0.0571429 c 19 85 1186 1757 bf 20 85 1205 1757 bf 19
|
||||
85 1225 1757 bf 20 85 1244 1757 bf 19 85 1264 1757 bf 0.944286 0.542857 0.0514286 c 20 85 1283 1757 bf 19 85 1303 1757 bf 20 85 1322 1757 bf 19 85 1342 1757 bf 20 85 1361 1757 bf 19 85 1381 1757 bf 20 85 1400 1757 bf 0.950476 0.504762 0.0457143 c
|
||||
19 85 1420 1757 bf 20 85 1439 1757 bf 19 85 1459 1757 bf 20 85 1478 1757 bf 19 85 1498 1757 bf 20 85 1517 1757 bf 0.956667 0.466667 0.04 c 19 85 1537 1757 bf 20 85 1556 1757 bf 19 85 1576 1757 bf 20 85 1595 1757 bf 19 85 1615 1757 bf 20 85 1634
|
||||
1757 bf 19 85 1654 1757 bf 20 85 1673 1757 bf 0.962857 0.428571 0.0342857 c 19 85 1693 1757 bf 20 85 1712 1757 bf 19 85 1732 1757 bf 20 85 1751 1757 bf 19 85 1771 1757 bf 20 85 1790 1757 bf 19 85 1810 1757 bf 20 85 1829 1757 bf 0.969048 0.390476
|
||||
0.0285714 c 19 85 1849 1757 bf 20 85 1868 1757 bf 19 85 1888 1757 bf 20 85 1907 1757 bf 19 85 1927 1757 bf 20 85 1946 1757 bf 19 85 1966 1757 bf 20 85 1985 1757 bf 19 85 2005 1757 bf 20 85 2024 1757 bf 0.975238 0.352381 0.0228571 c 19 85 2044 1757
|
||||
bf 20 85 2063 1757 bf 19 85 2083 1757 bf 20 85 2102 1757 bf 19 85 2122 1757 bf 20 85 2141 1757 bf 19 85 2161 1757 bf 20 85 2180 1757 bf 0 0.513 0.820333 c 20 86 249 1842 bf 0 0.783 0.983667 c 19 86 269 1842 bf 0.145 0.841667 0.853333 c 20 86 288
|
||||
1842 bf 0.29 0.873333 0.706667 c 19 86 308 1842 bf 0.3625 0.889167 0.633333 c 20 86 327 1842 bf 0.435 0.905 0.56 c 19 86 347 1842 bf 0.5075 0.920833 0.486667 c 20 86 366 1842 bf 0.54375 0.92875 0.45 c 19 86 386 1842 bf 0.58 0.936667 0.413333 c 20
|
||||
86 405 1842 bf 0.61625 0.944583 0.376667 c 19 86 425 1842 bf 0.6525 0.9525 0.34 c 20 86 444 1842 bf 0.68875 0.960417 0.303333 c 19 86 464 1842 bf 0.725 0.968333 0.266667 c 20 86 483 1842 bf 0.76125 0.97625 0.23 c 19 86 503 1842 bf 20 86 522 1842 bf
|
||||
0.7975 0.984167 0.193333 c 19 86 542 1842 bf 0.83375 0.992083 0.156667 c 20 86 561 1842 bf 19 86 581 1842 bf 0.87 1 0.12 c 20 86 600 1842 bf 19 86 620 1842 bf 0.87619 0.961905 0.114286 c 20 86 639 1842 bf 20 86 659 1842 bf 0.882381 0.92381 0.108571
|
||||
c 19 86 679 1842 bf 20 86 698 1842 bf 19 86 718 1842 bf 0.888571 0.885714 0.102857 c 20 86 737 1842 bf 19 86 757 1842 bf 0.894762 0.847619 0.0971429 c 20 86 776 1842 bf 19 86 796 1842 bf 20 86 815 1842 bf 0.900952 0.809524 0.0914286 c 19 86 835
|
||||
1842 bf 20 86 854 1842 bf 19 86 874 1842 bf 20 86 893 1842 bf 0.907143 0.771429 0.0857143 c 19 86 913 1842 bf 20 86 932 1842 bf 19 86 952 1842 bf 0.913333 0.733333 0.08 c 20 86 971 1842 bf 19 86 991 1842 bf 20 86 1010 1842 bf 19 86 1030 1842 bf
|
||||
0.919524 0.695238 0.0742857 c 20 86 1049 1842 bf 19 86 1069 1842 bf 20 86 1088 1842 bf 19 86 1108 1842 bf 20 86 1127 1842 bf 0.925714 0.657143 0.0685714 c 19 86 1147 1842 bf 20 86 1166 1842 bf 19 86 1186 1842 bf 20 86 1205 1842 bf 19 86 1225 1842
|
||||
bf 0.931905 0.619048 0.0628571 c 20 86 1244 1842 bf 19 86 1264 1842 bf 20 86 1283 1842 bf 19 86 1303 1842 bf 20 86 1322 1842 bf 19 86 1342 1842 bf 0.938095 0.580952 0.0571429 c 20 86 1361 1842 bf 19 86 1381 1842 bf 20 86 1400 1842 bf 19 86 1420
|
||||
1842 bf 20 86 1439 1842 bf 19 86 1459 1842 bf 0.944286 0.542857 0.0514286 c 20 86 1478 1842 bf 19 86 1498 1842 bf 20 86 1517 1842 bf 19 86 1537 1842 bf 20 86 1556 1842 bf 19 86 1576 1842 bf 20 86 1595 1842 bf 0.950476 0.504762 0.0457143 c 19 86
|
||||
1615 1842 bf 20 86 1634 1842 bf 19 86 1654 1842 bf 20 86 1673 1842 bf 19 86 1693 1842 bf 20 86 1712 1842 bf 19 86 1732 1842 bf 20 86 1751 1842 bf 0.956667 0.466667 0.04 c 19 86 1771 1842 bf 20 86 1790 1842 bf 19 86 1810 1842 bf 20 86 1829 1842 bf
|
||||
19 86 1849 1842 bf 20 86 1868 1842 bf 19 86 1888 1842 bf 20 86 1907 1842 bf 19 86 1927 1842 bf 0.962857 0.428571 0.0342857 c 20 86 1946 1842 bf 19 86 1966 1842 bf 20 86 1985 1842 bf 19 86 2005 1842 bf 20 86 2024 1842 bf 19 86 2044 1842 bf 20 86
|
||||
2063 1842 bf 19 86 2083 1842 bf 20 86 2102 1842 bf 19 86 2122 1842 bf 20 86 2141 1842 bf 0.969048 0.390476 0.0285714 c 19 86 2161 1842 bf 20 86 2180 1842 bf 1 1 1 c black 6 lw 249 219 m 1951 X s
|
||||
gsave 2268 2191 0 0 C 1422 11 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (Thickness \(mm\)) show NC gr 249 276 m -57 Y s 298 247 m -28 Y s 347 247 m -28 Y s 396 247 m -28 Y s 444 247 m -28 Y s 493 276 m -57 Y s 542 247 m -28 Y s 591 247 m -28
|
||||
Y s 639 247 m -28 Y s 688 247 m -28 Y s 737 276 m -57 Y s 786 247 m -28 Y s 835 247 m -28 Y s 883 247 m -28 Y s 932 247 m -28 Y s 981 276 m -57 Y s 1030 247 m -28 Y s 1078 247 m -28 Y s 1127 247 m -28 Y s 1176 247 m -28 Y s 1225 276 m -57 Y s 1273
|
||||
247 m -28 Y s 1322 247 m -28 Y s 1371 247 m -28 Y s 1420 247 m -28 Y s 1468 276 m -57 Y s 1517 247 m -28 Y s 1566 247 m -28 Y s 1615 247 m -28 Y s 1663 247 m -28 Y s 1712 276 m -57 Y s 1761 247 m -28 Y s 1810 247 m -28 Y s 1858 247 m -28 Y s 1907
|
||||
247 m -28 Y s 1956 276 m -57 Y s 2005 247 m -28 Y s 2053 247 m -28 Y s 2102 247 m -28 Y s 2151 247 m -28 Y s 2200 276 m -57 Y s
|
||||
gsave 2268 2191 0 0 C 225 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (0) show NC gr
|
||||
gsave 2268 2191 0 0 C 476 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (1) show NC gr
|
||||
gsave 2268 2191 0 0 C 712 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (2) show NC gr
|
||||
gsave 2268 2191 0 0 C 957 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (3) show NC gr
|
||||
gsave 2268 2191 0 0 C 1199 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (4) show NC gr
|
||||
gsave 2268 2191 0 0 C 1444 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (5) show NC gr
|
||||
gsave 2268 2191 0 0 C 1687 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (6) show NC gr
|
||||
gsave 2268 2191 0 0 C 1932 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (7) show NC gr
|
||||
gsave 2268 2191 0 0 C 2177 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (8) show NC gr 249 219 m 1709 Y s
|
||||
gsave 2268 2191 0 0 C 83 1333 t 90 r /Helvetica-Bold findfont 102.56 sf 0 0 m (Energy\(keV\)) show NC gr 303 333 m -54 X s 276 379 m -27 X s 276 424 m -27 X s 276 470 m -27 X s 276 515 m -27 X s 303 561 m -54 X s 276 606 m -27 X s 276 652 m -27 X
|
||||
s 276 698 m -27 X s 276 743 m -27 X s 303 789 m -54 X s 276 834 m -27 X s 276 880 m -27 X s 276 925 m -27 X s 276 971 m -27 X s 303 1017 m -54 X s 276 1062 m -27 X s 276 1108 m -27 X s 276 1153 m -27 X s 276 1199 m -27 X s 303 1244 m -54 X s 276
|
||||
1290 m -27 X s 276 1336 m -27 X s 276 1381 m -27 X s 276 1427 m -27 X s 303 1472 m -54 X s 276 1518 m -27 X s 276 1563 m -27 X s 276 1609 m -27 X s 276 1654 m -27 X s 303 1700 m -54 X s 276 1746 m -27 X s 276 1791 m -27 X s 276 1837 m -27 X s 276
|
||||
1882 m -27 X s 303 1928 m -54 X s 303 333 m -54 X s 276 287 m -27 X s 276 242 m -27 X s
|
||||
gsave 2268 2191 0 0 C 148 296 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (10) show NC gr
|
||||
gsave 2268 2191 0 0 C 148 524 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (20) show NC gr
|
||||
gsave 2268 2191 0 0 C 148 752 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (30) show NC gr
|
||||
gsave 2268 2191 0 0 C 148 980 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (40) show NC gr
|
||||
gsave 2268 2191 0 0 C 148 1208 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (50) show NC gr
|
||||
gsave 2268 2191 0 0 C 148 1436 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (60) show NC gr
|
||||
gsave 2268 2191 0 0 C 148 1664 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (70) show NC gr
|
||||
gsave 2268 2191 0 0 C 148 1892 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (80) show NC gr
|
||||
gsave 2268 2191 0 0 C 268 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 78) show NC gr
|
||||
gsave 2268 2191 0 0 C 365 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 99) show NC gr
|
||||
gsave 2268 2191 0 0 C 459 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 556 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 652 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 749 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 849 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 946 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1043 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1140 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1236 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1336 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1433 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1530 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1627 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1726 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1823 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1920 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 2017 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 2117 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 268 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 75) show NC gr
|
||||
gsave 2268 2191 0 0 C 365 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 98) show NC gr
|
||||
gsave 2268 2191 0 0 C 459 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 556 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 652 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 749 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 849 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 946 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1043 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1140 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1236 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1336 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1433 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1530 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1627 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1726 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1823 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1920 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 2017 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 2117 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 268 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 45) show NC gr
|
||||
gsave 2268 2191 0 0 C 365 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 83) show NC gr
|
||||
gsave 2268 2191 0 0 C 464 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 95) show NC gr
|
||||
gsave 2268 2191 0 0 C 561 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 98) show NC gr
|
||||
gsave 2268 2191 0 0 C 652 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 749 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 849 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 946 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1043 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1140 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1236 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1336 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1433 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1530 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1627 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1726 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1823 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1920 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 2017 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 2117 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 268 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 37) show NC gr
|
||||
gsave 2268 2191 0 0 C 365 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 75) show NC gr
|
||||
gsave 2268 2191 0 0 C 464 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 90) show NC gr
|
||||
gsave 2268 2191 0 0 C 561 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 96) show NC gr
|
||||
gsave 2268 2191 0 0 C 658 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 98) show NC gr
|
||||
gsave 2268 2191 0 0 C 755 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 99) show NC gr
|
||||
gsave 2268 2191 0 0 C 849 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 946 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1043 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1140 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1236 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1336 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1433 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1530 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1627 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1726 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1823 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1920 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 2017 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 2117 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 268 584 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
|
||||
gsave 2268 2191 0 0 C 365 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 43) show NC gr
|
||||
gsave 2268 2191 0 0 C 467 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 61) show NC gr
|
||||
gsave 2268 2191 0 0 C 561 584 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 74) show NC gr
|
||||
gsave 2268 2191 0 0 C 658 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 82) show NC gr
|
||||
gsave 2268 2191 0 0 C 755 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 88) show NC gr
|
||||
gsave 2268 2191 0 0 C 855 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 92) show NC gr
|
||||
gsave 2268 2191 0 0 C 952 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 94) show NC gr
|
||||
gsave 2268 2191 0 0 C 1048 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 96) show NC gr
|
||||
gsave 2268 2191 0 0 C 1145 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 97) show NC gr
|
||||
gsave 2268 2191 0 0 C 1242 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 98) show NC gr
|
||||
gsave 2268 2191 0 0 C 1342 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 99) show NC gr
|
||||
gsave 2268 2191 0 0 C 1439 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 99) show NC gr
|
||||
gsave 2268 2191 0 0 C 1536 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 99) show NC gr
|
||||
gsave 2268 2191 0 0 C 1627 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1726 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1823 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 1920 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 2017 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 2117 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
|
||||
gsave 2268 2191 0 0 C 271 669 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
|
||||
gsave 2268 2191 0 0 C 365 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 29) show NC gr
|
||||
gsave 2268 2191 0 0 C 464 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 43) show NC gr
|
||||
gsave 2268 2191 0 0 C 561 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 55) show NC gr
|
||||
gsave 2268 2191 0 0 C 658 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 64) show NC gr
|
||||
gsave 2268 2191 0 0 C 758 669 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 71) show NC gr
|
||||
gsave 2268 2191 0 0 C 855 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 77) show NC gr
|
||||
gsave 2268 2191 0 0 C 952 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 82) show NC gr
|
||||
gsave 2268 2191 0 0 C 1048 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 86) show NC gr
|
||||
gsave 2268 2191 0 0 C 1145 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 88) show NC gr
|
||||
gsave 2268 2191 0 0 C 1245 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 91) show NC gr
|
||||
gsave 2268 2191 0 0 C 1342 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 93) show NC gr
|
||||
gsave 2268 2191 0 0 C 1439 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 94) show NC gr
|
||||
gsave 2268 2191 0 0 C 1536 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 95) show NC gr
|
||||
gsave 2268 2191 0 0 C 1632 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 96) show NC gr
|
||||
gsave 2268 2191 0 0 C 1732 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 97) show NC gr
|
||||
gsave 2268 2191 0 0 C 1829 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 98) show NC gr
|
||||
gsave 2268 2191 0 0 C 1926 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 98) show NC gr
|
||||
gsave 2268 2191 0 0 C 2023 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 99) show NC gr
|
||||
gsave 2268 2191 0 0 C 2122 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 99) show NC gr
|
||||
gsave 2268 2191 0 0 C 273 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
|
||||
gsave 2268 2191 0 0 C 365 755 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
|
||||
gsave 2268 2191 0 0 C 464 755 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 27) show NC gr
|
||||
gsave 2268 2191 0 0 C 561 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 36) show NC gr
|
||||
gsave 2268 2191 0 0 C 658 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 43) show NC gr
|
||||
gsave 2268 2191 0 0 C 755 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 50) show NC gr
|
||||
gsave 2268 2191 0 0 C 855 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 56) show NC gr
|
||||
gsave 2268 2191 0 0 C 954 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 61) show NC gr
|
||||
gsave 2268 2191 0 0 C 1048 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 66) show NC gr
|
||||
gsave 2268 2191 0 0 C 1145 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 70) show NC gr
|
||||
gsave 2268 2191 0 0 C 1242 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 73) show NC gr
|
||||
gsave 2268 2191 0 0 C 1342 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 76) show NC gr
|
||||
gsave 2268 2191 0 0 C 1439 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 79) show NC gr
|
||||
gsave 2268 2191 0 0 C 1536 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 82) show NC gr
|
||||
gsave 2268 2191 0 0 C 1632 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 84) show NC gr
|
||||
gsave 2268 2191 0 0 C 1732 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 86) show NC gr
|
||||
gsave 2268 2191 0 0 C 1829 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 87) show NC gr
|
||||
gsave 2268 2191 0 0 C 1926 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 89) show NC gr
|
||||
gsave 2268 2191 0 0 C 2023 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 90) show NC gr
|
||||
gsave 2268 2191 0 0 C 2125 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 91) show NC gr
|
||||
gsave 2268 2191 0 0 C 273 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
|
||||
gsave 2268 2191 0 0 C 365 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
|
||||
gsave 2268 2191 0 0 C 464 840 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 24) show NC gr
|
||||
gsave 2268 2191 0 0 C 561 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 32) show NC gr
|
||||
gsave 2268 2191 0 0 C 658 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 39) show NC gr
|
||||
gsave 2268 2191 0 0 C 755 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 45) show NC gr
|
||||
gsave 2268 2191 0 0 C 858 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 51) show NC gr
|
||||
gsave 2268 2191 0 0 C 952 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 56) show NC gr
|
||||
gsave 2268 2191 0 0 C 1048 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 60) show NC gr
|
||||
gsave 2268 2191 0 0 C 1145 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 64) show NC gr
|
||||
gsave 2268 2191 0 0 C 1242 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 68) show NC gr
|
||||
gsave 2268 2191 0 0 C 1345 840 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 71) show NC gr
|
||||
gsave 2268 2191 0 0 C 1439 840 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 74) show NC gr
|
||||
gsave 2268 2191 0 0 C 1536 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 77) show NC gr
|
||||
gsave 2268 2191 0 0 C 1632 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 79) show NC gr
|
||||
gsave 2268 2191 0 0 C 1735 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 81) show NC gr
|
||||
gsave 2268 2191 0 0 C 1829 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 83) show NC gr
|
||||
gsave 2268 2191 0 0 C 1926 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 85) show NC gr
|
||||
gsave 2268 2191 0 0 C 2023 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 87) show NC gr
|
||||
gsave 2268 2191 0 0 C 2122 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 88) show NC gr
|
||||
gsave 2268 2191 0 0 C 273 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
|
||||
gsave 2268 2191 0 0 C 370 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
|
||||
gsave 2268 2191 0 0 C 464 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
|
||||
gsave 2268 2191 0 0 C 561 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 20) show NC gr
|
||||
gsave 2268 2191 0 0 C 658 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 25) show NC gr
|
||||
gsave 2268 2191 0 0 C 755 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 30) show NC gr
|
||||
gsave 2268 2191 0 0 C 855 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 34) show NC gr
|
||||
gsave 2268 2191 0 0 C 952 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 38) show NC gr
|
||||
gsave 2268 2191 0 0 C 1048 926 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 42) show NC gr
|
||||
gsave 2268 2191 0 0 C 1145 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 46) show NC gr
|
||||
gsave 2268 2191 0 0 C 1242 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 49) show NC gr
|
||||
gsave 2268 2191 0 0 C 1342 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 52) show NC gr
|
||||
gsave 2268 2191 0 0 C 1439 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 55) show NC gr
|
||||
gsave 2268 2191 0 0 C 1536 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 58) show NC gr
|
||||
gsave 2268 2191 0 0 C 1635 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 61) show NC gr
|
||||
gsave 2268 2191 0 0 C 1732 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 63) show NC gr
|
||||
gsave 2268 2191 0 0 C 1829 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 66) show NC gr
|
||||
gsave 2268 2191 0 0 C 1926 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 68) show NC gr
|
||||
gsave 2268 2191 0 0 C 2023 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 70) show NC gr
|
||||
gsave 2268 2191 0 0 C 2122 926 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 72) show NC gr
|
||||
gsave 2268 2191 0 0 C 273 1011 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
|
||||
gsave 2268 2191 0 0 C 370 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
|
||||
gsave 2268 2191 0 0 C 467 1011 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
|
||||
gsave 2268 2191 0 0 C 561 1011 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
|
||||
gsave 2268 2191 0 0 C 658 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
|
||||
gsave 2268 2191 0 0 C 755 1011 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 22) show NC gr
|
||||
gsave 2268 2191 0 0 C 855 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 25) show NC gr
|
||||
gsave 2268 2191 0 0 C 952 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 28) show NC gr
|
||||
gsave 2268 2191 0 0 C 1048 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 32) show NC gr
|
||||
gsave 2268 2191 0 0 C 1145 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 35) show NC gr
|
||||
gsave 2268 2191 0 0 C 1242 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 37) show NC gr
|
||||
gsave 2268 2191 0 0 C 1342 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 40) show NC gr
|
||||
gsave 2268 2191 0 0 C 1439 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 43) show NC gr
|
||||
gsave 2268 2191 0 0 C 1536 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 45) show NC gr
|
||||
gsave 2268 2191 0 0 C 1632 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 48) show NC gr
|
||||
gsave 2268 2191 0 0 C 1732 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 50) show NC gr
|
||||
gsave 2268 2191 0 0 C 1829 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 52) show NC gr
|
||||
gsave 2268 2191 0 0 C 1926 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 54) show NC gr
|
||||
gsave 2268 2191 0 0 C 2023 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 56) show NC gr
|
||||
gsave 2268 2191 0 0 C 2122 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 58) show NC gr
|
||||
gsave 2268 2191 0 0 C 273 1097 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
|
||||
gsave 2268 2191 0 0 C 370 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
|
||||
gsave 2268 2191 0 0 C 470 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
|
||||
gsave 2268 2191 0 0 C 561 1097 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
|
||||
gsave 2268 2191 0 0 C 658 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
|
||||
gsave 2268 2191 0 0 C 755 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
|
||||
gsave 2268 2191 0 0 C 855 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 20) show NC gr
|
||||
gsave 2268 2191 0 0 C 952 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 23) show NC gr
|
||||
gsave 2268 2191 0 0 C 1048 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 26) show NC gr
|
||||
gsave 2268 2191 0 0 C 1145 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 28) show NC gr
|
||||
gsave 2268 2191 0 0 C 1245 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 31) show NC gr
|
||||
gsave 2268 2191 0 0 C 1342 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 33) show NC gr
|
||||
gsave 2268 2191 0 0 C 1439 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 35) show NC gr
|
||||
gsave 2268 2191 0 0 C 1536 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 38) show NC gr
|
||||
gsave 2268 2191 0 0 C 1632 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 40) show NC gr
|
||||
gsave 2268 2191 0 0 C 1732 1097 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 42) show NC gr
|
||||
gsave 2268 2191 0 0 C 1829 1097 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 44) show NC gr
|
||||
gsave 2268 2191 0 0 C 1926 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 46) show NC gr
|
||||
gsave 2268 2191 0 0 C 2023 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 48) show NC gr
|
||||
gsave 2268 2191 0 0 C 2122 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 49) show NC gr
|
||||
gsave 2268 2191 0 0 C 276 1182 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
|
||||
gsave 2268 2191 0 0 C 370 1182 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 4) show NC gr
|
||||
gsave 2268 2191 0 0 C 470 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
|
||||
gsave 2268 2191 0 0 C 567 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
|
||||
gsave 2268 2191 0 0 C 661 1182 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
|
||||
gsave 2268 2191 0 0 C 755 1182 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
|
||||
gsave 2268 2191 0 0 C 855 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 16) show NC gr
|
||||
gsave 2268 2191 0 0 C 952 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
|
||||
gsave 2268 2191 0 0 C 1048 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 20) show NC gr
|
||||
gsave 2268 2191 0 0 C 1145 1182 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 22) show NC gr
|
||||
gsave 2268 2191 0 0 C 1242 1182 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 24) show NC gr
|
||||
gsave 2268 2191 0 0 C 1342 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 26) show NC gr
|
||||
gsave 2268 2191 0 0 C 1439 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 28) show NC gr
|
||||
gsave 2268 2191 0 0 C 1536 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 30) show NC gr
|
||||
gsave 2268 2191 0 0 C 1632 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 32) show NC gr
|
||||
gsave 2268 2191 0 0 C 1732 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 34) show NC gr
|
||||
gsave 2268 2191 0 0 C 1829 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 36) show NC gr
|
||||
gsave 2268 2191 0 0 C 1926 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 37) show NC gr
|
||||
gsave 2268 2191 0 0 C 2023 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 39) show NC gr
|
||||
gsave 2268 2191 0 0 C 2125 1182 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 41) show NC gr
|
||||
gsave 2268 2191 0 0 C 276 1268 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
|
||||
gsave 2268 2191 0 0 C 370 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
|
||||
gsave 2268 2191 0 0 C 470 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
|
||||
gsave 2268 2191 0 0 C 567 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
|
||||
gsave 2268 2191 0 0 C 658 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
|
||||
gsave 2268 2191 0 0 C 755 1268 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
|
||||
gsave 2268 2191 0 0 C 855 1268 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
|
||||
gsave 2268 2191 0 0 C 952 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 16) show NC gr
|
||||
gsave 2268 2191 0 0 C 1048 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
|
||||
gsave 2268 2191 0 0 C 1145 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 19) show NC gr
|
||||
gsave 2268 2191 0 0 C 1245 1268 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 21) show NC gr
|
||||
gsave 2268 2191 0 0 C 1342 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 23) show NC gr
|
||||
gsave 2268 2191 0 0 C 1439 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 25) show NC gr
|
||||
gsave 2268 2191 0 0 C 1536 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 26) show NC gr
|
||||
gsave 2268 2191 0 0 C 1632 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 28) show NC gr
|
||||
gsave 2268 2191 0 0 C 1732 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 30) show NC gr
|
||||
gsave 2268 2191 0 0 C 1832 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 31) show NC gr
|
||||
gsave 2268 2191 0 0 C 1926 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 33) show NC gr
|
||||
gsave 2268 2191 0 0 C 2023 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 34) show NC gr
|
||||
gsave 2268 2191 0 0 C 2122 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 36) show NC gr
|
||||
gsave 2268 2191 0 0 C 276 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
|
||||
gsave 2268 2191 0 0 C 370 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
|
||||
gsave 2268 2191 0 0 C 470 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 4) show NC gr
|
||||
gsave 2268 2191 0 0 C 567 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
|
||||
gsave 2268 2191 0 0 C 664 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
|
||||
gsave 2268 2191 0 0 C 761 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
|
||||
gsave 2268 2191 0 0 C 858 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
|
||||
gsave 2268 2191 0 0 C 952 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
|
||||
gsave 2268 2191 0 0 C 1048 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
|
||||
gsave 2268 2191 0 0 C 1145 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
|
||||
gsave 2268 2191 0 0 C 1242 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
|
||||
gsave 2268 2191 0 0 C 1342 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
|
||||
gsave 2268 2191 0 0 C 1439 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 20) show NC gr
|
||||
gsave 2268 2191 0 0 C 1538 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 21) show NC gr
|
||||
gsave 2268 2191 0 0 C 1632 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 22) show NC gr
|
||||
gsave 2268 2191 0 0 C 1732 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 24) show NC gr
|
||||
gsave 2268 2191 0 0 C 1829 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 25) show NC gr
|
||||
gsave 2268 2191 0 0 C 1926 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 26) show NC gr
|
||||
gsave 2268 2191 0 0 C 2023 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 28) show NC gr
|
||||
gsave 2268 2191 0 0 C 2122 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 29) show NC gr
|
||||
gsave 2268 2191 0 0 C 276 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
|
||||
gsave 2268 2191 0 0 C 370 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
|
||||
gsave 2268 2191 0 0 C 470 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
|
||||
gsave 2268 2191 0 0 C 567 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
|
||||
gsave 2268 2191 0 0 C 664 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
|
||||
gsave 2268 2191 0 0 C 761 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 7) show NC gr
|
||||
gsave 2268 2191 0 0 C 860 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
|
||||
gsave 2268 2191 0 0 C 952 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
|
||||
gsave 2268 2191 0 0 C 1051 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
|
||||
gsave 2268 2191 0 0 C 1145 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
|
||||
gsave 2268 2191 0 0 C 1242 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
|
||||
gsave 2268 2191 0 0 C 1342 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
|
||||
gsave 2268 2191 0 0 C 1439 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 16) show NC gr
|
||||
gsave 2268 2191 0 0 C 1536 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
|
||||
gsave 2268 2191 0 0 C 1632 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
|
||||
gsave 2268 2191 0 0 C 1732 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 19) show NC gr
|
||||
gsave 2268 2191 0 0 C 1832 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 21) show NC gr
|
||||
gsave 2268 2191 0 0 C 1926 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 22) show NC gr
|
||||
gsave 2268 2191 0 0 C 2023 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 23) show NC gr
|
||||
gsave 2268 2191 0 0 C 2122 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 24) show NC gr
|
||||
gsave 2268 2191 0 0 C 276 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
|
||||
gsave 2268 2191 0 0 C 370 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
|
||||
gsave 2268 2191 0 0 C 470 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
|
||||
gsave 2268 2191 0 0 C 567 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
|
||||
gsave 2268 2191 0 0 C 664 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
|
||||
gsave 2268 2191 0 0 C 761 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 7) show NC gr
|
||||
gsave 2268 2191 0 0 C 860 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
|
||||
gsave 2268 2191 0 0 C 952 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
|
||||
gsave 2268 2191 0 0 C 1051 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
|
||||
gsave 2268 2191 0 0 C 1145 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
|
||||
gsave 2268 2191 0 0 C 1242 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 13) show NC gr
|
||||
gsave 2268 2191 0 0 C 1342 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
|
||||
gsave 2268 2191 0 0 C 1439 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
|
||||
gsave 2268 2191 0 0 C 1536 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
|
||||
gsave 2268 2191 0 0 C 1632 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
|
||||
gsave 2268 2191 0 0 C 1732 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 19) show NC gr
|
||||
gsave 2268 2191 0 0 C 1829 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 20) show NC gr
|
||||
gsave 2268 2191 0 0 C 1929 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 21) show NC gr
|
||||
gsave 2268 2191 0 0 C 2023 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 22) show NC gr
|
||||
gsave 2268 2191 0 0 C 2122 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 23) show NC gr
|
||||
gsave 2268 2191 0 0 C 276 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
|
||||
gsave 2268 2191 0 0 C 370 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
|
||||
gsave 2268 2191 0 0 C 470 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
|
||||
gsave 2268 2191 0 0 C 567 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 4) show NC gr
|
||||
gsave 2268 2191 0 0 C 664 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
|
||||
gsave 2268 2191 0 0 C 761 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
|
||||
gsave 2268 2191 0 0 C 860 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 7) show NC gr
|
||||
gsave 2268 2191 0 0 C 957 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
|
||||
gsave 2268 2191 0 0 C 1054 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
|
||||
gsave 2268 2191 0 0 C 1145 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
|
||||
gsave 2268 2191 0 0 C 1245 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
|
||||
gsave 2268 2191 0 0 C 1342 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
|
||||
gsave 2268 2191 0 0 C 1439 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 13) show NC gr
|
||||
gsave 2268 2191 0 0 C 1536 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
|
||||
gsave 2268 2191 0 0 C 1632 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
|
||||
gsave 2268 2191 0 0 C 1732 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 16) show NC gr
|
||||
gsave 2268 2191 0 0 C 1829 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
|
||||
gsave 2268 2191 0 0 C 1926 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
|
||||
gsave 2268 2191 0 0 C 2023 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
|
||||
gsave 2268 2191 0 0 C 2122 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 19) show NC gr
|
||||
gsave 2268 2191 0 0 C 273 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 0) show NC gr
|
||||
gsave 2268 2191 0 0 C 373 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
|
||||
gsave 2268 2191 0 0 C 470 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
|
||||
gsave 2268 2191 0 0 C 567 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
|
||||
gsave 2268 2191 0 0 C 664 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 4) show NC gr
|
||||
gsave 2268 2191 0 0 C 761 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
|
||||
gsave 2268 2191 0 0 C 860 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
|
||||
gsave 2268 2191 0 0 C 957 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 7) show NC gr
|
||||
gsave 2268 2191 0 0 C 1054 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
|
||||
gsave 2268 2191 0 0 C 1151 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
|
||||
gsave 2268 2191 0 0 C 1242 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
|
||||
gsave 2268 2191 0 0 C 1345 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
|
||||
gsave 2268 2191 0 0 C 1442 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
|
||||
gsave 2268 2191 0 0 C 1536 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
|
||||
gsave 2268 2191 0 0 C 1632 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 13) show NC gr
|
||||
gsave 2268 2191 0 0 C 1732 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
|
||||
gsave 2268 2191 0 0 C 1829 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
|
||||
gsave 2268 2191 0 0 C 1926 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 16) show NC gr
|
||||
gsave 2268 2191 0 0 C 2023 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 16) show NC gr
|
||||
gsave 2268 2191 0 0 C 2122 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
|
||||
gsave 2268 2191 0 0 C 273 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 0) show NC gr
|
||||
gsave 2268 2191 0 0 C 373 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
|
||||
gsave 2268 2191 0 0 C 470 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
|
||||
gsave 2268 2191 0 0 C 567 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
|
||||
gsave 2268 2191 0 0 C 664 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 4) show NC gr
|
||||
gsave 2268 2191 0 0 C 761 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
|
||||
gsave 2268 2191 0 0 C 860 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
|
||||
gsave 2268 2191 0 0 C 957 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
|
||||
gsave 2268 2191 0 0 C 1054 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 7) show NC gr
|
||||
gsave 2268 2191 0 0 C 1151 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
|
||||
gsave 2268 2191 0 0 C 1248 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
|
||||
gsave 2268 2191 0 0 C 1348 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
|
||||
gsave 2268 2191 0 0 C 1439 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
|
||||
gsave 2268 2191 0 0 C 1538 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
|
||||
gsave 2268 2191 0 0 C 1635 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
|
||||
gsave 2268 2191 0 0 C 1732 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
|
||||
gsave 2268 2191 0 0 C 1829 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 13) show NC gr
|
||||
gsave 2268 2191 0 0 C 1926 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
|
||||
gsave 2268 2191 0 0 C 2023 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
|
||||
gsave 2268 2191 0 0 C 2122 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
|
||||
gsave 2268 2191 0 0 C 273 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 0) show NC gr
|
||||
gsave 2268 2191 0 0 C 373 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
|
||||
gsave 2268 2191 0 0 C 470 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
|
||||
gsave 2268 2191 0 0 C 567 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
|
||||
gsave 2268 2191 0 0 C 664 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
|
||||
gsave 2268 2191 0 0 C 761 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 4) show NC gr
|
||||
gsave 2268 2191 0 0 C 860 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 4) show NC gr
|
||||
gsave 2268 2191 0 0 C 957 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
|
||||
gsave 2268 2191 0 0 C 1054 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
|
||||
gsave 2268 2191 0 0 C 1151 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 7) show NC gr
|
||||
gsave 2268 2191 0 0 C 1248 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 7) show NC gr
|
||||
gsave 2268 2191 0 0 C 1348 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
|
||||
gsave 2268 2191 0 0 C 1444 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
|
||||
gsave 2268 2191 0 0 C 1541 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
|
||||
gsave 2268 2191 0 0 C 1632 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
|
||||
gsave 2268 2191 0 0 C 1732 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
|
||||
gsave 2268 2191 0 0 C 1832 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
|
||||
gsave 2268 2191 0 0 C 1926 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
|
||||
gsave 2268 2191 0 0 C 2023 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
|
||||
gsave 2268 2191 0 0 C 2122 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 13) show NC gr 1 1 1 c 1573 132 225 1951 bf black
|
||||
gsave 2268 2191 0 0 C 305 1980 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (Silicon Sensor Efficiency \(%\)) show NC gr
|
||||
gr gr
|
||||
showpage
|
||||
end
|
||||
%%EOF
|