mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-14 13:57:13 +02:00
Compare commits
77 Commits
split-list
...
2.3.3
Author | SHA1 | Date | |
---|---|---|---|
3fde5c5b55 | |||
3e5f546ebe | |||
9833a7d330 | |||
8f9155e578 | |||
9df1eac3c1 | |||
5ededf9be4 | |||
3e8774798a | |||
4d6346e678 | |||
dc7e448759 | |||
e658cbacda | |||
1e6c6dea71 | |||
0e5d4d1d8e | |||
a2986784d3 | |||
975cbb576e | |||
e48a92d9cd | |||
3be045f9b6 | |||
8fae982802 | |||
128ec88b5f | |||
d5fc158330 | |||
864e6e4c81 | |||
343d96ff16 | |||
4142328437 | |||
6c797988c7 | |||
215c262981 | |||
081b809078 | |||
9263567cd8 | |||
58e90a85be | |||
025c836e25 | |||
5d5abae3f4 | |||
e2ad46386e | |||
308d44e452 | |||
69da61b1fb | |||
460168ce04 | |||
4e429c0d77 | |||
bf4fab549d | |||
f7705eb1da | |||
a2217e2066 | |||
aaa02706fc | |||
b9275646ad | |||
9e2f2697c7 | |||
b6b0df62b6 | |||
0ba537e479 | |||
75ddf535dc | |||
b1de501bef | |||
0f3a63f101 | |||
3b4b2d707f | |||
f405aa1733 | |||
df0fdb7ecb | |||
91b7a87557 | |||
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 |
@ -1,6 +0,0 @@
|
||||
BasedOnStyle: LLVM
|
||||
IndentWidth: 4
|
||||
|
||||
UseTab: Never
|
||||
ColumnLimit: 100
|
||||
AlignConsecutiveAssignments: false
|
@ -1,7 +0,0 @@
|
||||
---
|
||||
Checks: '*, -google-runtime-references, -hicpp-no-array-decay, -cppcoreguidelines-pro-bounds-array-to-pointer-decay, -cppcoreguidelines-pro-bounds-pointer-arithmetic, -fuchsia*,-readability-else-after-return,-readability-avoid-const-params-in-decls,-hicpp-signed-bitwise,-cppcoreguidelines-pro-bounds-constant-array-index,-llvm-header-guard,-readability-static-accessed-through-instance,-google-readability-todo'
|
||||
WarningsAsErrors: '*'
|
||||
HeaderFilterRegex: '.*'
|
||||
AnalyzeTemporaryDtors: false
|
||||
FormatStyle: none
|
||||
...
|
16
.gitignore
vendored
16
.gitignore
vendored
@ -1,17 +1,17 @@
|
||||
.cproject
|
||||
.project
|
||||
bin/
|
||||
calibrationWizards/
|
||||
slsDetectorGui/
|
||||
slsDetectorSoftware/
|
||||
slsReceiverSoftware/
|
||||
slsDetectorCalibration/
|
||||
slsImageReconstruction/
|
||||
.settings
|
||||
JCTBGui/
|
||||
*.aux
|
||||
*.log
|
||||
*.out
|
||||
*.toc
|
||||
*.o
|
||||
build
|
||||
docs/
|
||||
RELEASE.txt
|
||||
|
||||
|
||||
*.pyc
|
||||
*/__pycache__/*
|
||||
|
||||
tests
|
||||
|
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -1,3 +0,0 @@
|
||||
[submodule "python/pybind11"]
|
||||
path = python/pybind11
|
||||
url = https://github.com/pybind/pybind11.git
|
48
.travis.yml
48
.travis.yml
@ -1,48 +0,0 @@
|
||||
sudo: false
|
||||
|
||||
language: cpp
|
||||
|
||||
os: linux
|
||||
|
||||
env:
|
||||
matrix:
|
||||
- CONDA_PY=3.6
|
||||
- CONDA_PY=3.7
|
||||
|
||||
|
||||
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:
|
||||
all_branches: true
|
||||
|
143
CMakeLists.txt
143
CMakeLists.txt
@ -1,134 +1,21 @@
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
# cmake_minimum_required(VERSION 3.5)
|
||||
project(slsDetectorPackage)
|
||||
include(cmake/project_version.cmake)
|
||||
|
||||
# Include additional modules that are used unconditionally
|
||||
include(GNUInstallDirs)
|
||||
|
||||
# If conda build, always set lib dir to 'lib'
|
||||
if($ENV{CONDA_BUILD})
|
||||
set(CMAKE_INSTALL_LIBDIR "lib")
|
||||
endif()
|
||||
|
||||
# Set lower / upper case project names
|
||||
string(TOUPPER "${PROJECT_NAME}" PROJECT_NAME_UPPER)
|
||||
string(TOLOWER "${PROJECT_NAME}" PROJECT_NAME_LOWER)
|
||||
|
||||
# Set targets export name (used by slsDetectorPackage and dependencies)
|
||||
set(TARGETS_EXPORT_NAME "${PROJECT_NAME_LOWER}-targets")
|
||||
#set(namespace "${PROJECT_NAME}::")
|
||||
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
|
||||
|
||||
|
||||
# Check if project is being used directly or via add_subdirectory
|
||||
set(SLS_MASTER_PROJECT OFF)
|
||||
if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
||||
set(SLS_MASTER_PROJECT ON)
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
option (SLS_USE_HDF5 "HDF5 File format" OFF)
|
||||
option (SLS_USE_TEXTCLIENT "Text Client" OFF)
|
||||
option (SLS_USE_RECEIVER "Receiver High Level API" OFF)
|
||||
option (SLS_USE_LISTENER "Receiver Low Level API" OFF)
|
||||
option (SLS_USE_GUI "GUI" OFF)
|
||||
option (SLS_USE_TESTS "TESTS" ON)
|
||||
option (SLS_USE_INTEGRATION_TESTS "Integration Tests" ON)
|
||||
option(SLS_USE_SANITIZER "Sanitizers for debugging" OFF)
|
||||
option(SLS_USE_PYTHON "Python bindings" OFF)
|
||||
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
#Testing for minimum version for compilers
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
# clang does not support -Wno-misleading-indentation
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.2)
|
||||
message(FATAL_ERROR "Clang version must be at least 3.2!")
|
||||
endif()
|
||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
|
||||
message(FATAL_ERROR "GCC version must be at least 4.8!")
|
||||
endif()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-misleading-indentation -Wno-stringop-truncation -Wno-class-memaccess")
|
||||
endif()
|
||||
|
||||
# Suppressed warnings in GCC
|
||||
# -Wno-stringop-truncation happens when we do sls::strcpy_safe truncates string instead of overwrite buffer
|
||||
# -Wno-class-memaccess - on memcpy in rapidjson should be investigated upgrade implementation?
|
||||
# -Wno-misleading-indentation - until clang format
|
||||
|
||||
#set (CMAKE_CXX_STANDARD 11)
|
||||
#set (CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11 ")
|
||||
|
||||
if(SLS_USE_SANITIZER)
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address,undefined")
|
||||
set (CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address,undefiend")
|
||||
endif()
|
||||
|
||||
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
set(CMAKE_INSTALL_RPATH "$ORIGIN")
|
||||
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
||||
|
||||
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
||||
|
||||
find_package(Qt4)
|
||||
find_package(Qwt 6)
|
||||
find_package(CBF)
|
||||
find_package(Doxygen)
|
||||
find_package(ZeroMQ 4 REQUIRED)
|
||||
|
||||
|
||||
# Support library containing functionallity common to
|
||||
# detector and receiver
|
||||
add_subdirectory(slsSupportLib)
|
||||
|
||||
if (SLS_USE_TEXTCLIENT)
|
||||
add_subdirectory(slsDetectorSoftware)
|
||||
endif (SLS_USE_TEXTCLIENT)
|
||||
|
||||
# This logic could be moved in slsReceiverSoftware/CMakeLists.txt
|
||||
if (SLS_USE_RECEIVER)
|
||||
set(SLS_USE_LISTENER ON)
|
||||
if (SLS_USE_HDF5)
|
||||
find_package(HDF5 1.10 COMPONENTS CXX REQUIRED)
|
||||
endif (SLS_USE_HDF5)
|
||||
add_subdirectory(slsReceiverSoftware/slsReceiver)
|
||||
add_subdirectory(manual/manual-api)
|
||||
endif (SLS_USE_RECEIVER)
|
||||
|
||||
if (SLS_USE_LISTENER)
|
||||
add_subdirectory(slsReceiverSoftware/slsListener)
|
||||
endif (SLS_USE_LISTENER)
|
||||
|
||||
if (SLS_USE_GUI)
|
||||
find_package(Qt4 REQUIRED)
|
||||
find_package(Qwt 6 REQUIRED)
|
||||
if (QT4_FOUND AND QWT_FOUND)
|
||||
add_subdirectory(slsDetectorGui)
|
||||
endif()
|
||||
endif (SLS_USE_GUI)
|
||||
|
||||
if (SLS_USE_TESTS)
|
||||
enable_testing()
|
||||
endif(SLS_USE_TESTS)
|
||||
|
||||
if (SLS_USE_INTEGRATION_TESTS)
|
||||
add_subdirectory(integrationTests)
|
||||
endif (SLS_USE_INTEGRATION_TESTS)
|
||||
|
||||
if (SLS_USE_PYTHON)
|
||||
add_subdirectory(python)
|
||||
endif(SLS_USE_PYTHON)
|
||||
|
||||
|
||||
if(SLS_MASTER_PROJECT)
|
||||
# Set install dir CMake packages
|
||||
set(CMAKE_INSTALL_DIR ${CMAKE_INSTALL_DATADIR}/cmake/sls)
|
||||
# Set the list of exported targets
|
||||
set(PROJECT_LIBRARIES slsSupportLib slsDetectorShared slsReceiverShared)
|
||||
# Generate and install package config file and version
|
||||
include(cmake/package_config.cmake)
|
||||
add_subdirectory(slsDetectorSoftware)
|
||||
add_subdirectory(slsReceiverSoftware)
|
||||
add_subdirectory(slsImageReconstruction)
|
||||
if (QT4_FOUND AND QWT_FOUND)
|
||||
add_subdirectory(slsDetectorGui)
|
||||
endif()
|
||||
|
||||
if (DEFINED ENV{ROOTSYS})
|
||||
find_package(ROOT)
|
||||
if (ROOT_FOUND)
|
||||
add_subdirectory(calibrationWizards)
|
||||
endif()
|
||||
endif()
|
||||
|
186
Makefile
Normal file
186
Makefile
Normal file
@ -0,0 +1,186 @@
|
||||
# do not change below this line#
|
||||
|
||||
# Include common definitions
|
||||
include Makefile.include
|
||||
|
||||
INSTALLROOT ?= $(PWD)
|
||||
BINDIR ?= $(INSTALLROOT)/bin
|
||||
DOCDIR ?= $(INSTALLROOT)/docs
|
||||
LIBDIR ?= $(INSTALLROOT)/bin
|
||||
INCDIR ?= $(INSTALLROOT)/include
|
||||
|
||||
WD = $(shell pwd)
|
||||
LIBRARYDIR = $(WD)/slsDetectorSoftware
|
||||
LIBRARYRXRDIR = $(WD)/slsReceiverSoftware
|
||||
CLIENTDIR = $(LIBRARYDIR)/slsDetectorClient
|
||||
GUIDIR = $(WD)/slsDetectorGui
|
||||
RECEIVERDIR = $(LIBRARYRXRDIR)
|
||||
CALWIZDIR = $(WD)/calibrationWizards
|
||||
MANDIR = $(WD)/manual
|
||||
CALIBDIR = $(WD)/slsDetectorCalibration
|
||||
|
||||
|
||||
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 # Compiling slsDetectorsPackage #)
|
||||
$(info #######################################)
|
||||
$(info )
|
||||
|
||||
|
||||
.PHONY: all nonstatic static lib libreceiver textclient receiver gui stextclient sreceiver
|
||||
|
||||
all: lib textclient receiver gui
|
||||
|
||||
nonstatic: lib libreceiver textclient receiver gui
|
||||
|
||||
static: lib libreceiver stextclient sreceiver gui
|
||||
|
||||
|
||||
lib:
|
||||
cd $(LIBRARYDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(LIBDIR)' INCLUDES='$(INCLUDES)'
|
||||
|
||||
libreceiver:
|
||||
cd $(LIBRARYRXRDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(LIBDIR)' INCLUDES='$(INCLUDESRXR)'
|
||||
|
||||
|
||||
stextclient: slsDetectorClient_static
|
||||
|
||||
slsDetectorClient: textclient
|
||||
|
||||
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)' 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'
|
||||
|
||||
|
||||
calWiz:
|
||||
cd $(CALWIZDIR) && $(MAKE) DESTDIR=$(BINDIR) #FLAGS=$(FLAGS) LDFLAGDET=$(LDFLAGDET) INCLUDES=$(INCLUDES)
|
||||
|
||||
|
||||
|
||||
gui: slsDetectorGUI
|
||||
|
||||
|
||||
doc:
|
||||
$(shell test -d $(DOCDIR) || mkdir -p $(DOCDIR))
|
||||
cd manual && make all DESTDIR=$(DOCDIR)
|
||||
|
||||
htmldoc:
|
||||
make doc
|
||||
$(shell test -d $(DOCDIR) || mkdir -p $(DOCDIR))
|
||||
cd manual && make html DESTDIR=$(DOCDIR)
|
||||
|
||||
|
||||
clean:
|
||||
cd $(BINDIR) && rm -rf sls_detector_* slsDetectorGui slsReceiver angularCalibrationWizard energyCalibrationWizard
|
||||
cd $(LIBDIR) && rm -rf libSlsDetector.so libSlsDetector.a libSlsReceiver.so libSlsReceiver.a
|
||||
cd $(LIBRARYDIR) && $(MAKE) clean
|
||||
cd $(LIBRARYRXRDIR) && $(MAKE) clean
|
||||
cd $(CLIENTDIR) && $(MAKE) clean
|
||||
cd $(GUIDIR) && $(MAKE) clean
|
||||
cd $(CALWIZDIR) && $(MAKE) clean
|
||||
cd manual && $(MAKE) clean
|
||||
cd $(DOCDIR) && rm -rf *
|
||||
|
||||
|
||||
|
||||
#install_lib:
|
||||
# cd $(LIBRARYDIR) && $(MAKE) install DESTDIR=$(LIBDIR) INCLUDES=$(INCLUDES)
|
||||
# cd $(LIBRARYDIR) && $(MAKE) install_inc DESTDIR=$(INCDIR)
|
||||
|
||||
mythen_virtual:
|
||||
cd $(LIBRARYDIR) && $(MAKE) mythenVirtualServer DESTDIR=$(BINDIR)
|
||||
|
||||
|
||||
gotthard_virtual:
|
||||
cd $(LIBRARYDIR) && $(MAKE) gotthardVirtualServer DESTDIR=$(BINDIR)
|
||||
|
||||
|
||||
install_client: textclient slsReceiver
|
||||
|
||||
install_gui: gui
|
||||
|
||||
confinstall:
|
||||
make conf;\
|
||||
make install
|
||||
|
||||
install_lib:
|
||||
make lib;\
|
||||
make libreceiver; \
|
||||
make textclient; \
|
||||
make slsReceiver; \
|
||||
make doc; \
|
||||
make htmldoc; \
|
||||
cd $(LIBRARYDIR) && $(MAKE) install_inc DESTDIR=$(INCDIR); \
|
||||
cd $(LIBRARYRXRDIR) && $(MAKE) install_inc DESTDIR=$(INCDIR);
|
||||
|
||||
install:
|
||||
make install_lib; \
|
||||
make gui; \
|
||||
make calWiz; \
|
||||
cd $(LIBRARYDIR) && $(MAKE) install_inc DESTDIR=$(INCDIR);\
|
||||
cd $(LIBRARYRXRDIR) && $(MAKE) install_inc DESTDIR=$(INCDIR);
|
||||
|
||||
conf:
|
||||
set -e; \
|
||||
. ./configure; \
|
||||
@echo "INSTALLROOT is $(INSTALLROOT)"
|
||||
@echo "BINDIR is $(BINDIR)"
|
||||
@echo "LIBDIR is $(LIBDIR)"
|
||||
@echo "INCDIR is $(INCDIR)"
|
||||
@echo "DOCDIR is $(DOCDIR)"
|
||||
|
||||
|
||||
help:
|
||||
@echo "Targets:"
|
||||
@echo "make all compile library, text clients, data reciever"
|
||||
@echo "make lib compile library"
|
||||
@echo "make libreceiver compile receiver library"
|
||||
@echo "make textclient compile the slsDetectorClient dynamically linking the libraries"
|
||||
@echo "make stextclient compile slsDetectorClient statically linking the libraries"
|
||||
@echo "make receiver compile the slsReciever dynamically linking the libraries"
|
||||
@echo "make sreceiver compile the slsReciever statically linking the libraries"
|
||||
@echo "make gui compile slsDetectorGUI - requires a working Qt4 and Qwt installation"
|
||||
@echo "make calWiz compile the calibration wizards - requires a working Root installation"
|
||||
@echo "make doc compile pdf documentation"
|
||||
@echo "make htmldoc compile html (and pdf) documentation"
|
||||
@echo "make install_lib installs the libraries, the text clients, the documentation and the includes for the API"
|
||||
@echo "make install installs all software, including the gui, the cal wizards and the includes for the API"
|
||||
@echo "make confinstall installs all software, including the gui, the cal wizards and the includes for the API, prompting for the install paths"
|
||||
@echo "make clean remove object files and executables"
|
||||
@echo "make help lists possible targets"
|
||||
@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 ""
|
||||
@echo "Variables - to change them run <source configure> :"
|
||||
@echo "INSTALLROOT=<yourdir>: installation root di r, default $PWD"
|
||||
@echo "BINDIR=<yourbin>: binary installation dir below INSTALLROOT, default bin"
|
||||
@echo "LIBDIR=<yourlib>: library installation dir below INSTALLROOT, default lib"
|
||||
@echo "INCDIR=<yourincludes>: header installation dir below INSTALLROOT, default include"
|
||||
@echo "DOCDIR=<yourdoc>: documentation installation dir below INSTALLROOT, default doc"
|
61
Makefile.include
Executable file
61
Makefile.include
Executable file
@ -0,0 +1,61 @@
|
||||
##############################################################
|
||||
# Generic
|
||||
##############################################################
|
||||
|
||||
CC = g++
|
||||
CXX = $(CC)
|
||||
ASM=$(shell echo "/lib/modules/`uname -r`/build/include")
|
||||
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 -DEIGER_DEBUG -DEIGER_DEBUG3 #-DFIFO_DEBUG
|
||||
# -DVERBOSE
|
||||
|
||||
# Setting up the verbose flags
|
||||
ifeq ($(DEBUG),1)
|
||||
FLAGS = -Wall -pthread -DVERBOSE
|
||||
endif
|
||||
ifeq ($(DEBUG),2)
|
||||
FLAGS = -Wall -pthread -DVERYVERBOSE
|
||||
endif
|
||||
|
||||
##############################################################
|
||||
# EigerSLS specific. Set this to yes, if you want to compile
|
||||
# EigerSLS code: in this case, you need also POCO and JsonBox
|
||||
# libraries
|
||||
##############################################################
|
||||
|
||||
REST = no
|
||||
|
||||
#POCODIR = /afs/psi.ch/user/s/sala/public/poco-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
|
||||
|
||||
|
||||
##############################################################
|
||||
# ROOTSLS specific. Set this to yes, if you want to compile
|
||||
# ROOTSLS code: in this case, you need also root libraries
|
||||
##############################################################
|
||||
|
||||
ROOTSLS = no
|
||||
|
||||
ROOTFLAGS = $(shell root-config --cflags --glibs) -DMYROOT1 #-DALLFILE_DEBUG #-DMYROOT1
|
||||
|
||||
ifeq ($(ROOTSLS),yes)
|
||||
LDFLAGRXR = -L$(LIBDIR) -lSlsReceiver $(ROOTFLAGS) -DROOTSLS
|
||||
endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
89
README.md
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 -DSLS_USE_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 -DSLS_USE_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
|
||||
```
|
||||
|
135
RELEASE.txt
135
RELEASE.txt
@ -0,0 +1,135 @@
|
||||
SLS Detector Package 2.3.0 released on 2017-03-23
|
||||
================================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
INTRODUCTION
|
||||
|
||||
This document describes the differences between previous versions and 2.3.0 releases.
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
CONTENTS
|
||||
|
||||
- Changes in User Interface
|
||||
- New Features
|
||||
- Resolved Issues
|
||||
- Known Issues
|
||||
|
||||
|
||||
|
||||
|
||||
Changes in User Interface
|
||||
=========================
|
||||
|
||||
This release supports the following features:
|
||||
|
||||
|
||||
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)
|
||||
|
||||
|
||||
- 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
|
||||
|
||||
|
||||
|
||||
- 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
|
||||
--------
|
||||
- Image Reconstruction from the files are different as packet headers are not
|
||||
stored and a standard image header is used.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
|
||||
Resolved Issues
|
||||
===============
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
14934
catch/catch.hpp
14934
catch/catch.hpp
File diff suppressed because it is too large
Load Diff
17
checkout.sh
Executable file
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
cleansharedmemory.sh
Normal file
1
cleansharedmemory.sh
Normal file
@ -0,0 +1 @@
|
||||
for i in seq `ipcs -m | cut -d ' ' -f1`; do ipcrm -M $i; done;
|
@ -1,112 +0,0 @@
|
||||
|
||||
# This file is originally from https://github.com/zeromq/azmq and distributed
|
||||
# under Boost Software Lincese 1.0
|
||||
# Boost Software License - Version 1.0 - August 17th, 2003
|
||||
|
||||
# Permission is hereby granted, free of charge, to any person or organization
|
||||
# obtaining a copy of the software and accompanying documentation covered by
|
||||
# this license (the "Software") to use, reproduce, display, distribute,
|
||||
# execute, and transmit the Software, and to prepare derivative works of the
|
||||
# Software, and to permit third-parties to whom the Software is furnished to
|
||||
# do so, all subject to the following:
|
||||
|
||||
# The copyright notices in the Software and this entire statement, including
|
||||
# the above license grant, this restriction and the following disclaimer,
|
||||
# must be included in all copies of the Software, in whole or in part, and
|
||||
# all derivative works of the Software, unless such copies or derivative
|
||||
# works are solely in the form of machine-executable object code generated by
|
||||
# a source language processor.
|
||||
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||||
# SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||||
# FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
||||
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
# DEALINGS IN THE SOFTWARE.
|
||||
# --------------------------------------------------------------------------------
|
||||
|
||||
# Find ZeroMQ Headers/Libs
|
||||
|
||||
# Variables
|
||||
# ZMQ_ROOT - set this to a location where ZeroMQ may be found
|
||||
#
|
||||
# ZeroMQ_FOUND - True of ZeroMQ found
|
||||
# ZeroMQ_INCLUDE_DIRS - Location of ZeroMQ includes
|
||||
# ZeroMQ_LIBRARIES - ZeroMQ libraries
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
if (NOT ZMQ_ROOT)
|
||||
set(ZMQ_ROOT "$ENV{ZMQ_ROOT}")
|
||||
endif()
|
||||
|
||||
if (NOT ZMQ_ROOT)
|
||||
find_path(_ZeroMQ_ROOT NAMES include/zmq.h)
|
||||
else()
|
||||
set(_ZeroMQ_ROOT "${ZMQ_ROOT}")
|
||||
endif()
|
||||
|
||||
find_path(ZeroMQ_INCLUDE_DIRS NAMES zmq.h HINTS ${_ZeroMQ_ROOT}/include)
|
||||
|
||||
if (ZeroMQ_INCLUDE_DIRS)
|
||||
set(_ZeroMQ_H ${ZeroMQ_INCLUDE_DIRS}/zmq.h)
|
||||
|
||||
function(_zmqver_EXTRACT _ZeroMQ_VER_COMPONENT _ZeroMQ_VER_OUTPUT)
|
||||
set(CMAKE_MATCH_1 "0")
|
||||
set(_ZeroMQ_expr "^[ \\t]*#define[ \\t]+${_ZeroMQ_VER_COMPONENT}[ \\t]+([0-9]+)$")
|
||||
file(STRINGS "${_ZeroMQ_H}" _ZeroMQ_ver REGEX "${_ZeroMQ_expr}")
|
||||
string(REGEX MATCH "${_ZeroMQ_expr}" ZeroMQ_ver "${_ZeroMQ_ver}")
|
||||
set(${_ZeroMQ_VER_OUTPUT} "${CMAKE_MATCH_1}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
_zmqver_EXTRACT("ZMQ_VERSION_MAJOR" ZeroMQ_VERSION_MAJOR)
|
||||
_zmqver_EXTRACT("ZMQ_VERSION_MINOR" ZeroMQ_VERSION_MINOR)
|
||||
_zmqver_EXTRACT("ZMQ_VERSION_PATCH" ZeroMQ_VERSION_PATCH)
|
||||
|
||||
message(STATUS "ZeroMQ version: ${ZeroMQ_VERSION_MAJOR}.${ZeroMQ_VERSION_MINOR}.${ZeroMQ_VERSION_PATCH}")
|
||||
|
||||
# We should provide version to find_package_handle_standard_args in the same format as it was requested,
|
||||
# otherwise it can't check whether version matches exactly.
|
||||
if (ZeroMQ_FIND_VERSION_COUNT GREATER 2)
|
||||
set(ZeroMQ_VERSION "${ZeroMQ_VERSION_MAJOR}.${ZeroMQ_VERSION_MINOR}.${ZeroMQ_VERSION_PATCH}")
|
||||
else()
|
||||
# User has requested ZeroMQ version without patch part => user is not interested in specific patch =>
|
||||
# any patch should be an exact match.
|
||||
set(ZeroMQ_VERSION "${ZeroMQ_VERSION_MAJOR}.${ZeroMQ_VERSION_MINOR}")
|
||||
endif()
|
||||
|
||||
if (NOT ${CMAKE_CXX_PLATFORM_ID} STREQUAL "Windows")
|
||||
find_library(ZeroMQ_LIBRARIES NAMES zmq HINTS ${_ZeroMQ_ROOT}/lib)
|
||||
else()
|
||||
find_library(
|
||||
ZeroMQ_LIBRARY_RELEASE
|
||||
NAMES
|
||||
libzmq
|
||||
"libzmq-${CMAKE_VS_PLATFORM_TOOLSET}-mt-${ZeroMQ_VERSION_MAJOR}_${ZeroMQ_VERSION_MINOR}_${ZeroMQ_VERSION_PATCH}"
|
||||
HINTS
|
||||
${_ZeroMQ_ROOT}/lib
|
||||
)
|
||||
|
||||
find_library(
|
||||
ZeroMQ_LIBRARY_DEBUG
|
||||
NAMES
|
||||
libzmq_d
|
||||
"libzmq-${CMAKE_VS_PLATFORM_TOOLSET}-mt-gd-${ZeroMQ_VERSION_MAJOR}_${ZeroMQ_VERSION_MINOR}_${ZeroMQ_VERSION_PATCH}"
|
||||
HINTS
|
||||
${_ZeroMQ_ROOT}/lib)
|
||||
|
||||
# On Windows we have to use corresponding version (i.e. Release or Debug) of ZeroMQ because of `errno` CRT global variable
|
||||
# See more at http://www.drdobbs.com/avoiding-the-visual-c-runtime-library/184416623
|
||||
set(ZeroMQ_LIBRARIES optimized "${ZeroMQ_LIBRARY_RELEASE}" debug "${ZeroMQ_LIBRARY_DEBUG}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_package_handle_standard_args(ZeroMQ FOUND_VAR ZeroMQ_FOUND
|
||||
REQUIRED_VARS ZeroMQ_INCLUDE_DIRS ZeroMQ_LIBRARIES
|
||||
VERSION_VAR ZeroMQ_VERSION)
|
||||
|
||||
if (ZeroMQ_FOUND)
|
||||
mark_as_advanced(ZeroMQ_INCLUDE_DIRS ZeroMQ_LIBRARIES ZeroMQ_VERSION
|
||||
ZeroMQ_VERSION_MAJOR ZeroMQ_VERSION_MINOR ZeroMQ_VERSION_PATCH)
|
||||
endif()
|
@ -1,31 +0,0 @@
|
||||
# This cmake code creates the configuration that is found and used by
|
||||
# find_package() of another cmake project
|
||||
|
||||
# get lower and upper case project name for the configuration files
|
||||
|
||||
# configure and install the configuration files
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
configure_package_config_file(
|
||||
"${CMAKE_SOURCE_DIR}/cmake/project-config.cmake.in"
|
||||
"${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWER}-config.cmake"
|
||||
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME_LOWER}
|
||||
PATH_VARS CMAKE_INSTALL_DIR)
|
||||
|
||||
write_basic_package_version_file(
|
||||
"${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWER}-config-version.cmake"
|
||||
VERSION ${PROJECT_VERSION}
|
||||
COMPATIBILITY SameMajorVersion)
|
||||
|
||||
install(FILES
|
||||
"${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWER}-config.cmake"
|
||||
"${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWER}-config-version.cmake"
|
||||
COMPONENT devel
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME_LOWER})
|
||||
|
||||
if (PROJECT_LIBRARIES OR PROJECT_STATIC_LIBRARIES)
|
||||
install(
|
||||
EXPORT "${TARGETS_EXPORT_NAME}"
|
||||
FILE ${PROJECT_NAME_LOWER}-targets.cmake
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME_LOWER})
|
||||
endif ()
|
@ -1,24 +0,0 @@
|
||||
# Config file for @PROJECT_NAME_LOWER@
|
||||
#
|
||||
# It defines the following variables:
|
||||
#
|
||||
# @PROJECT_NAME_UPPER@_INCLUDE_DIRS - include directory
|
||||
# @PROJECT_NAME_UPPER@_LIBRARIES - all dynamic libraries
|
||||
# @PROJECT_NAME_UPPER@_STATIC_LIBRARIES - all static libraries
|
||||
|
||||
@PACKAGE_INIT@
|
||||
|
||||
include(CMakeFindDependencyMacro)
|
||||
|
||||
set(SLS_USE_HDF5 "@SLS_USE_HDF5@")
|
||||
|
||||
# Add optional dependencies here
|
||||
find_dependency(Threads)
|
||||
if (SLS_USE_HDF5)
|
||||
find_dependency(HDF5)
|
||||
endif ()
|
||||
|
||||
set_and_check(@PROJECT_NAME_UPPER@_CMAKE_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_DIR@")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake")
|
||||
check_required_components("@PROJECT_NAME@")
|
@ -1,14 +0,0 @@
|
||||
#include "project_version.h"
|
||||
/// project version as major.minor.patch string
|
||||
const char* @PROJECT_NAME@_runtime_project_version(){ return "@PROJECT_VERSION@"; }
|
||||
/// package version as string, possibly with git commit: v1.2.3+4+g56789abc
|
||||
const char* @PROJECT_NAME@_runtime_package_version(){ return "@PACKAGE_VERSION@"; }
|
||||
/// project version as integer: major * 10000 + minor * 100 + patch
|
||||
int @PROJECT_NAME@_runtime_version_int() { return @PROJECT_VERSION_INT@; }
|
||||
/// project version as integer: major
|
||||
int @PROJECT_NAME@_runtime_version_major(){ return @PACKAGE_VERSION_MAJOR@; }
|
||||
/// project version as integer: minor
|
||||
int @PROJECT_NAME@_runtime_version_minor(){ return @PACKAGE_VERSION_MINOR@; }
|
||||
/// project version as integer: patch
|
||||
int @PROJECT_NAME@_runtime_version_patch(){ return @PACKAGE_VERSION_PATCH@; }
|
||||
|
@ -1,154 +0,0 @@
|
||||
#
|
||||
# Sets PROJECT_VERSION and PACKAGE_VERSION
|
||||
#
|
||||
|
||||
# Don't set PROJECT_VERSION to empty string when no VERSION is given to project() command.
|
||||
#if(POLICY CMP0048)
|
||||
# cmake_policy(SET CMP0048 OLD)
|
||||
#endif()
|
||||
|
||||
# Split a version number into separate components
|
||||
# version the version number to split
|
||||
# major variable name to store the major version in
|
||||
# minor variable name to store the minor version in
|
||||
# patch variable name to store the patch version in
|
||||
# extra variable name to store a version suffix in
|
||||
function(version_split version major minor patch extra)
|
||||
string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)(.*)?" version_valid ${version})
|
||||
if(version_valid)
|
||||
string(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)(.*)?" "\\1;\\2;\\3;\\4" VERSION_MATCHES ${version})
|
||||
list(GET VERSION_MATCHES 0 version_major)
|
||||
set(${major} ${version_major} PARENT_SCOPE)
|
||||
list(GET VERSION_MATCHES 1 version_minor)
|
||||
set(${minor} ${version_minor} PARENT_SCOPE)
|
||||
list(GET VERSION_MATCHES 2 version_patch)
|
||||
set(${patch} ${version_patch} PARENT_SCOPE)
|
||||
list(GET VERSION_MATCHES 3 version_extra)
|
||||
set(${extra} ${version_extra} PARENT_SCOPE)
|
||||
else(version_valid)
|
||||
message(AUTHOR_WARNING "Bad version ${version}; falling back to 0 (have you made an initial release?)")
|
||||
set(${major} "0" PARENT_SCOPE)
|
||||
set(${minor} "0" PARENT_SCOPE)
|
||||
set(${patch} "0" PARENT_SCOPE)
|
||||
set(${extra} "" PARENT_SCOPE)
|
||||
endif(version_valid)
|
||||
endfunction(version_split)
|
||||
|
||||
##############################
|
||||
# get PROJECT_VERSION from git
|
||||
##############################
|
||||
find_program(GIT_CMD git)
|
||||
mark_as_advanced(GIT_CMD)
|
||||
if (GIT_CMD)
|
||||
execute_process(COMMAND ${GIT_CMD} rev-parse --show-toplevel
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_TOPLEVEL
|
||||
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
endif()
|
||||
if (GIT_CMD AND NOT "${GIT_TOPLEVEL}" STREQUAL "")
|
||||
execute_process(COMMAND ${GIT_CMD} rev-parse --short HEAD
|
||||
WORKING_DIRECTORY ${GIT_TOPLEVEL}
|
||||
OUTPUT_VARIABLE GIT_SHA1
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
#message(STATUS "GIT_SHA1: " ${GIT_SHA1})
|
||||
execute_process(COMMAND ${GIT_CMD} describe --match "*[0-9].[0-9]*" HEAD
|
||||
WORKING_DIRECTORY ${GIT_TOPLEVEL}
|
||||
OUTPUT_VARIABLE GIT_DESCRIBE
|
||||
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
#message(STATUS "GIT_DESCRIBE: " ${GIT_DESCRIBE})
|
||||
|
||||
if (GIT_DESCRIBE)
|
||||
string(REGEX REPLACE "v?([0-9.]+).*" "\\1" GIT_VERSION ${GIT_DESCRIBE})
|
||||
message(STATUS "GIT_VERSION: " ${GIT_VERSION})
|
||||
|
||||
# as package version we use the full version from git describe: 1.7.1+7+ge324c81
|
||||
if (GIT_DESCRIBE MATCHES ".*-g.*")
|
||||
# convert a git describe string to usable debian version, e.g. v1.7.1-7-ge324c81 to 1.7.1+7+ge324c81
|
||||
string(REGEX REPLACE "v?([0-9]*.[0-9.]*).*-([0-9]*)-([a-g0-9]*)" "\\1+\\2+\\3" GIT_FULL_VERSION ${GIT_DESCRIBE})
|
||||
else()
|
||||
# current HEAD is git tag (i.e. releaase), directly use the version
|
||||
set(GIT_FULL_VERSION ${GIT_VERSION})
|
||||
endif()
|
||||
else ()
|
||||
# no (suitable) tag found
|
||||
set(GIT_VERSION "0.0.0")
|
||||
# get number of commits in repo
|
||||
execute_process(COMMAND ${GIT_CMD} rev-list --count HEAD
|
||||
WORKING_DIRECTORY ${GIT_TOPLEVEL}
|
||||
OUTPUT_VARIABLE GIT_COMMIT_COUNT
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set(GIT_FULL_VERSION 0.0.0+${GIT_COMMIT_COUNT}+g${GIT_SHA1})
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# get version from package.xml if it exists
|
||||
if (EXISTS "${PROJECT_SOURCE_DIR}/package.xml")
|
||||
file(STRINGS "${PROJECT_SOURCE_DIR}/package.xml" PACKAGE_XML_VERSION_LINE REGEX <version>[0-9.]*</version>)
|
||||
string(REGEX REPLACE .*<version>\([0-9.]*\)</version>.* \\1 PACKAGE_XML_VERSION "${PACKAGE_XML_VERSION_LINE}")
|
||||
MESSAGE(STATUS "PACKAGE_XML_VERSION: " ${PACKAGE_XML_VERSION})
|
||||
endif ()
|
||||
|
||||
# set version (if not already manually specified)
|
||||
# check versions from different sources and set actually used version
|
||||
if (NOT PROJECT_VERSION)
|
||||
# set PROJECT_VERSION to MAJOR.MINOR.PATCH
|
||||
# PACKAGE_VERSION can have extra info
|
||||
if (GIT_VERSION)
|
||||
set(PROJECT_VERSION ${GIT_VERSION})
|
||||
set(PACKAGE_VERSION ${GIT_FULL_VERSION})
|
||||
elseif (PACKAGE_XML_VERSION)
|
||||
set(PROJECT_VERSION ${PACKAGE_XML_VERSION})
|
||||
set(PACKAGE_VERSION ${PROJECT_VERSION})
|
||||
else ()
|
||||
message(WARNING "PROJECT_VERSION not set. Defaulting to 0.0.0")
|
||||
set(PROJECT_VERSION "0.0.0")
|
||||
endif ()
|
||||
endif ()
|
||||
if (NOT PACKAGE_VERSION)
|
||||
message(WARNING "PACKAGE_VERSION not set! Falling back to (${PROJECT_VERSION})")
|
||||
set(PACKAGE_VERSION ${PROJECT_VERSION})
|
||||
endif ()
|
||||
|
||||
# warn if versions don't match
|
||||
if (GIT_VERSION AND NOT GIT_VERSION MATCHES ${PROJECT_VERSION})
|
||||
message(WARNING "Version from git (${GIT_VERSION}) doesn't match PROJECT_VERSION (${PROJECT_VERSION})")
|
||||
endif()
|
||||
if (PACKAGE_XML_VERSION AND NOT PACKAGE_XML_VERSION MATCHES ${PROJECT_VERSION})
|
||||
message(WARNING "Version from package.xml (${PACKAGE_XML_VERSION}) doesn't match PROJECT_VERSION (${PROJECT_VERSION})")
|
||||
endif()
|
||||
|
||||
message(STATUS "PROJECT_VERSION: " ${PROJECT_VERSION})
|
||||
message(STATUS "PACKAGE_VERSION: " ${PACKAGE_VERSION})
|
||||
|
||||
|
||||
version_split(${PROJECT_VERSION} PACKAGE_VERSION_MAJOR PACKAGE_VERSION_MINOR PACKAGE_VERSION_PATCH extra)
|
||||
#message(STATUS "PACKAGE_VERSION_MAJOR: " ${PACKAGE_VERSION_MAJOR})
|
||||
#message(STATUS "PACKAGE_VERSION_MINOR: " ${PACKAGE_VERSION_MINOR})
|
||||
#message(STATUS "PACKAGE_VERSION_PATCH: " ${PACKAGE_VERSION_PATCH})
|
||||
|
||||
# generate an integer version number: major * 10000 + minor * 100 + patch
|
||||
math(EXPR PROJECT_VERSION_INT "${PACKAGE_VERSION_MAJOR} * 10000 + ${PACKAGE_VERSION_MINOR} * 100 + ${PACKAGE_VERSION_PATCH}")
|
||||
|
||||
# make PROJECT_VERSION available as define in the project source
|
||||
#add_definitions(-DPROJECT_VERSION="${PROJECT_VERSION}")
|
||||
#add_definitions(-DPROJECT_VERSION_INT=${PROJECT_VERSION_INT})
|
||||
#add_definitions(-DPACKAGE_VERSION="${PACKAGE_VERSION}")
|
||||
#add_definitions(-DPACKAGE_VERSION_MAJOR=${PACKAGE_VERSION_MAJOR})
|
||||
#add_definitions(-DPACKAGE_VERSION_MINOR=${PACKAGE_VERSION_MINOR})
|
||||
#add_definitions(-DPACKAGE_VERSION_PATCH=${PACKAGE_VERSION_PATCH})
|
||||
|
||||
# set ABI version to major.minor, which will be used for the SOVERSION
|
||||
set(abiversion "${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}")
|
||||
|
||||
# generate a version.h file in the binary output dir, don't forget to install it...
|
||||
string(TOUPPER "${PROJECT_NAME}" PROJECT_NAME_UPPER)
|
||||
|
||||
# These files provide compile-time and runtime version information about your project.
|
||||
# To offer the version info to the users of your library, you need to
|
||||
# adapt the following lines in your respective CMakeLists.txt:
|
||||
# add_library(<yourlibraryname> SHARED <your code files> ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/project_version.cc)
|
||||
# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}/project_version.h COMPONENT dev DESTINATION include/<your-include-dir>)
|
||||
# To use it within your library or tests you need to add the include directory:
|
||||
# > target_include_directories(yourtarget PUBLIC ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME})
|
||||
configure_file(${CMAKE_CURRENT_LIST_DIR}/project_version.h.in ${PROJECT_NAME}/project_version.h @ONLY)
|
||||
configure_file(${CMAKE_CURRENT_LIST_DIR}/project_version.cc.in ${PROJECT_NAME}/project_version.cc @ONLY)
|
@ -1,34 +0,0 @@
|
||||
#ifndef @PROJECT_NAME_UPPER@_VERSION_H_
|
||||
#define @PROJECT_NAME_UPPER@_VERSION_H_
|
||||
|
||||
/// project version as major.minor.patch string
|
||||
#define @PROJECT_NAME_UPPER@_VERSION "@PROJECT_VERSION@"
|
||||
/// project version as integer: major * 10000 + minor * 100 + patch
|
||||
#define @PROJECT_NAME_UPPER@_VERSION_INT @PROJECT_VERSION_INT@
|
||||
#define @PROJECT_NAME_UPPER@_VERSION_MAJOR @PACKAGE_VERSION_MAJOR@
|
||||
#define @PROJECT_NAME_UPPER@_VERSION_MINOR @PACKAGE_VERSION_MINOR@
|
||||
#define @PROJECT_NAME_UPPER@_VERSION_PATCH @PACKAGE_VERSION_PATCH@
|
||||
/// package version as string, possibly with git commit: v1.2.3+4+g56789abc
|
||||
#define @PROJECT_NAME_UPPER@_PACKAGE_VERSION "@PACKAGE_VERSION@"
|
||||
|
||||
///runtime versions, where the above values are linked into a lib and therefore reflect the version
|
||||
///of the library itself (not the version of the header at compile time of the user code)
|
||||
const char* @PROJECT_NAME@_runtime_project_version();
|
||||
const char* @PROJECT_NAME@_runtime_package_version();
|
||||
int @PROJECT_NAME@_runtime_version_int();
|
||||
int @PROJECT_NAME@_runtime_version_major();
|
||||
int @PROJECT_NAME@_runtime_version_minor();
|
||||
int @PROJECT_NAME@_runtime_version_patch();
|
||||
|
||||
///Check consistency of runtime vs compile-time version number. I.e. the header used
|
||||
///for compilation was from the same version as the linked library.
|
||||
inline bool @PROJECT_NAME@_check_version_consistency(bool major_minor_only)
|
||||
{
|
||||
return @PROJECT_NAME@_runtime_version_major() == @PROJECT_NAME_UPPER@_VERSION_MAJOR &&
|
||||
@PROJECT_NAME@_runtime_version_minor() == @PROJECT_NAME_UPPER@_VERSION_MINOR &&
|
||||
(major_minor_only ||
|
||||
@PROJECT_NAME@_runtime_version_patch() == @PROJECT_NAME_UPPER@_VERSION_PATCH);
|
||||
}
|
||||
|
||||
|
||||
#endif
|
205
cmk.sh
205
cmk.sh
@ -1,205 +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+=" -DSLS_USE_TEXTCLIENT=ON -DSLS_USE_RECEIVER=ON -DSLS_USE_GUI=ON "
|
||||
CMAKE_POST+=" -DSLS_USE_TEXTCLIENT=ON -DSLS_USE_RECEIVER=ON "
|
||||
echo "Compile Option: TextClient, Receiver and GUI"
|
||||
else
|
||||
if [ $TEXTCLIENT -eq 1 ]; then
|
||||
CMAKE_POST+=" -DSLS_USE_TEXTCLIENT=ON "
|
||||
echo "Compile Option: TextClient"
|
||||
fi
|
||||
if [ $RECEIVER -eq 1 ]; then
|
||||
CMAKE_POST+=" -DSLS_USE_RECEIVER=ON "
|
||||
echo "Compile Option: Receiver"
|
||||
fi
|
||||
|
||||
if [ $GUI -eq 1 ]; then
|
||||
CMAKE_POST+=" -DSLS_USE_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+=" -DSLS_USE_HDF5=ON "
|
||||
#normal mode rebuild
|
||||
else
|
||||
CMAKE_POST+=" -DSLS_USE_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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
15
commitVersions.sh
Normal file
15
commitVersions.sh
Normal file
@ -0,0 +1,15 @@
|
||||
sh updateSvnVersion.sh
|
||||
|
||||
cd slsDetectorGui
|
||||
git commit -a -m "updating versions"
|
||||
git push origin developer:developer
|
||||
|
||||
cd ../slsDetectorSoftware
|
||||
git commit -a -m "updating versions"
|
||||
git push origin developer:developer
|
||||
|
||||
cd ../slsReceiverSoftware
|
||||
git commit -a -m "updating versions"
|
||||
git push origin developer:developer
|
||||
|
||||
cd ..
|
@ -1,15 +0,0 @@
|
||||
mkdir build
|
||||
mkdir install
|
||||
cd build
|
||||
cmake .. \
|
||||
-DCMAKE_PREFIX_PATH=$CONDA_PREFIX \
|
||||
-DCMAKE_INSTALL_PREFIX=install \
|
||||
-DSLS_USE_TEXTCLIENT=ON \
|
||||
-DSLS_USE_RECEIVER=ON \
|
||||
-DSLS_USE_GUI=OFF \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DSLS_USE_HDF5=OFF\
|
||||
|
||||
|
||||
cmake --build . -- -j10
|
||||
cmake --build . --target install
|
@ -1,15 +0,0 @@
|
||||
|
||||
mkdir $PREFIX/lib
|
||||
mkdir $PREFIX/bin
|
||||
mkdir $PREFIX/include
|
||||
|
||||
#No libs for gui?
|
||||
|
||||
#Binaries
|
||||
cp build/bin/gui_client $PREFIX/bin/.
|
||||
cp build/bin/slsDetectorGui $PREFIX/bin/.
|
||||
|
||||
|
||||
#Which headers do we need for development??
|
||||
|
||||
# cp include/some_lib.h $PREFIX/include/.
|
@ -1,22 +0,0 @@
|
||||
|
||||
mkdir $PREFIX/lib
|
||||
mkdir $PREFIX/bin
|
||||
mkdir $PREFIX/include
|
||||
mkdir $PREFIX/include/slsDetectorPackage
|
||||
|
||||
#Shared and static libraries
|
||||
cp build/bin/libSlsDetector.so $PREFIX/lib/.
|
||||
cp build/bin/libSlsReceiver.so $PREFIX/lib/.
|
||||
cp build/bin/libSlsSupport.so $PREFIX/lib/.
|
||||
|
||||
#Binaries
|
||||
cp build/bin/sls_detector_acquire $PREFIX/bin/.
|
||||
cp build/bin/sls_detector_get $PREFIX/bin/.
|
||||
cp build/bin/sls_detector_put $PREFIX/bin/.
|
||||
cp build/bin/sls_detector_help $PREFIX/bin/.
|
||||
cp build/bin/slsReceiver $PREFIX/bin/.
|
||||
cp build/bin/slsMultiReceiver $PREFIX/bin/.
|
||||
|
||||
#Which headers do we need for development??
|
||||
cp build/install/include/* $PREFIX/include/slsDetectorPackage/
|
||||
# cp include/some_lib.h $PREFIX/include/.
|
@ -1,98 +0,0 @@
|
||||
|
||||
package:
|
||||
name: sls_detector_software
|
||||
version: "refactor"
|
||||
|
||||
source:
|
||||
- path: ..
|
||||
|
||||
build:
|
||||
number: 0
|
||||
rpaths:
|
||||
- lib/
|
||||
|
||||
requirements:
|
||||
build:
|
||||
- {{ compiler('c') }}
|
||||
- {{compiler('cxx')}}
|
||||
- cmake
|
||||
- qwt 6.*
|
||||
- qt=4.8.7=7
|
||||
- zeromq=4.2.5=hfc679d8_5
|
||||
- pyzmq
|
||||
- xorg-libx11
|
||||
- xorg-libice
|
||||
- xorg-libxext
|
||||
- xorg-libsm
|
||||
- xorg-libxau
|
||||
- xorg-libxrender
|
||||
- xorg-libxfixes
|
||||
- {{ cdt('mesa-libgl-devel') }} # [linux]
|
||||
- {{ cdt('mesa-libegl-devel') }} # [linux]
|
||||
- {{ cdt('mesa-dri-drivers') }} # [linux]
|
||||
- {{ cdt('libselinux') }} # [linux]
|
||||
- {{ cdt('libxdamage') }} # [linux]
|
||||
- {{ cdt('libxxf86vm') }} # [linux]
|
||||
|
||||
host:
|
||||
- libstdcxx-ng
|
||||
- libgcc-ng
|
||||
- libpng >=1.6.32,<1.6.35
|
||||
- xorg-libx11
|
||||
- xorg-libice
|
||||
- xorg-libxext
|
||||
- xorg-libsm
|
||||
- xorg-libxau
|
||||
- xorg-libxrender
|
||||
- xorg-libxfixes
|
||||
|
||||
run:
|
||||
- libstdcxx-ng
|
||||
- libgcc-ng
|
||||
|
||||
outputs:
|
||||
- name: sls_detector_lib
|
||||
version: "refactor"
|
||||
script: copy_lib.sh
|
||||
requirements:
|
||||
build:
|
||||
- {{ compiler('c') }}
|
||||
- {{compiler('cxx')}}
|
||||
|
||||
# - name: sls_detector
|
||||
# version: "refactor"
|
||||
# script: copy_lib.sh
|
||||
# requirements:
|
||||
# build:
|
||||
# - {{ compiler('c') }}
|
||||
# - {{compiler('cxx')}}
|
||||
|
||||
# - name: sls_detector_gui
|
||||
# version: "refactor"
|
||||
# script: copy_gui.sh
|
||||
# requirements:
|
||||
# build:
|
||||
# - {{ compiler('c') }}
|
||||
# - {{compiler('cxx')}}
|
||||
# - cmake
|
||||
# - qwt 6.*
|
||||
# - qt=4.8.7=7
|
||||
# - zeromq=4.2.5=hfc679d8_5
|
||||
# - pyzmq
|
||||
# - xorg-libx11
|
||||
# - xorg-libice
|
||||
# - xorg-libxext
|
||||
# - xorg-libsm
|
||||
# - xorg-libxau
|
||||
# - xorg-libxrender
|
||||
# - xorg-libxfixes
|
||||
# - {{ cdt('mesa-libgl-devel') }} # [linux]
|
||||
# - {{ cdt('mesa-libegl-devel') }} # [linux]
|
||||
# - {{ cdt('mesa-dri-drivers') }} # [linux]
|
||||
# - {{ cdt('libselinux') }} # [linux]
|
||||
# - {{ cdt('libxdamage') }} # [linux]
|
||||
# - {{ cdt('libxxf86vm') }} # [linux]
|
||||
# run:
|
||||
# - sls_detector_lib=refactor
|
||||
# - qwt 6.*
|
||||
# - qt=4.8.7=7
|
@ -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,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,57 +0,0 @@
|
||||
detsizechan 2560 1
|
||||
|
||||
hostname bchip074+bchip075+
|
||||
|
||||
|
||||
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: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/
|
||||
|
||||
|
||||
settings veryhighgain
|
||||
exptime 0.000005
|
||||
period 0.0001
|
||||
|
||||
vhighvoltage 90
|
||||
|
@ -1,13 +0,0 @@
|
||||
Turn on the two receivers:
|
||||
slsReceiver -t1954 &
|
||||
slsReceiver -t1955 &
|
||||
|
||||
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,491 +0,0 @@
|
||||
hostname bchip085+
|
||||
|
||||
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_udpip 10.1.1.102
|
||||
#0:detectorip 10.1.1.19
|
||||
#0:rx_udpport 32410
|
||||
####gui listening to
|
||||
#zmqip 129.129.202.131
|
||||
#zmqport 30001
|
||||
####data streaming out of
|
||||
#rx_zmqip 10.1.2.103
|
||||
#rx_zmqport 30003
|
||||
#0:rx_hostname mpc2011
|
||||
|
||||
####mx-test-1
|
||||
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 30001
|
||||
####data streaming out of
|
||||
rx_zmqip 10.1.1.100
|
||||
rx_zmqport 30003
|
||||
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
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,39 +0,0 @@
|
||||
MESSAGE( STATUS "CMAKE_CURRENT_SOURCE_DIR: " ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||
MESSAGE( STATUS "PROJECT_SOURCE_DIR: " ${PROJECT_SOURCE_DIR} )
|
||||
|
||||
|
||||
|
||||
include_directories(
|
||||
${PROJECT_SOURCE_DIR}/catch
|
||||
)
|
||||
|
||||
if(SLS_USE_TESTS)
|
||||
set(TEST_SOURCES
|
||||
src/test-slsDetector.cpp
|
||||
src/test.cpp
|
||||
)
|
||||
add_executable(detector_test ${TEST_SOURCES})
|
||||
|
||||
target_link_libraries(detector_test
|
||||
slsDetectorShared
|
||||
slsSupportLib
|
||||
pthread
|
||||
rt
|
||||
)
|
||||
set_target_properties(detector_test PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
)
|
||||
add_executable(a src/a.cpp)
|
||||
|
||||
target_link_libraries(a
|
||||
slsDetectorShared
|
||||
slsSupportLib
|
||||
pthread
|
||||
rt
|
||||
)
|
||||
set_target_properties(a PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
||||
)
|
||||
|
||||
endif()
|
||||
|
@ -1,94 +0,0 @@
|
||||
|
||||
#include "catch.hpp"
|
||||
|
||||
#include "ClientSocket.h"
|
||||
#include "Timer.h"
|
||||
#include "logger.h"
|
||||
#include "slsDetector.h"
|
||||
#include "sls_detector_defs.h"
|
||||
#include "sls_detector_exceptions.h"
|
||||
#include "sls_detector_funcs.h"
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
|
||||
#define VERBOSE
|
||||
|
||||
using sls::RuntimeError;
|
||||
using sls::SharedMemoryError;
|
||||
using sls::SocketError;
|
||||
using sls::DetectorError;
|
||||
|
||||
int main() {
|
||||
|
||||
|
||||
const std::string hostname = "beb083";
|
||||
auto type = slsDetector::getTypeFromDetector(hostname);
|
||||
slsDetector d(type);
|
||||
d.setHostname(hostname);
|
||||
d.setOnline(true);
|
||||
std::cout << "hostname: " << d.getHostname() << '\n';
|
||||
d.setThresholdTemperature(50);
|
||||
// try{
|
||||
// d.setThresholdTemperature(50);
|
||||
// }catch(const DetectorError &e){
|
||||
// std::cout << "Caught: " << e.what() << '\n';
|
||||
// }
|
||||
// std::cout << "hostname: " << d.getHostname() << '\n';
|
||||
// std::cout << "exptime: " << d.setDAC(-1, slsDetectorDefs::E_Vrf, 0) << '\n';
|
||||
|
||||
|
||||
|
||||
|
||||
// slsDetector d2(type);
|
||||
// std::cout << "Online: " << d2.getOnlineFlag() << '\n';
|
||||
// d2.setHostname("beb55555");
|
||||
// d2.setOnline(true);
|
||||
// std::cout << "Online: " << d2.getOnlineFlag() << '\n';
|
||||
// std::cout << "hostname: " << d2.getHostname() << '\n';
|
||||
|
||||
// std::cout << "port: " << d.getControlPort() << '\n';
|
||||
// d.setOnline(true);
|
||||
// d.setReceiverOnline(true);
|
||||
// std::cout << "reciver version: " << std::hex << d.getReceiverVersion() << '\n';
|
||||
// // std::cout << "version: " << d.getId(slsDetectorDefs::CLIENT_RECEIVER_API_VERSION) << '\n';
|
||||
// d.freeSharedMemory();
|
||||
// //Catch exception
|
||||
// try {
|
||||
// throw RuntimeError("something went wrong");
|
||||
// } catch (RuntimeError &e) {
|
||||
// std::cout << "Caught RuntimeError with message : " << e.what() << '\n';
|
||||
// }
|
||||
|
||||
// //Catch base class
|
||||
// try {
|
||||
// throw SharedMemoryError("Could not create shared memory");
|
||||
// } catch (RuntimeError &e) {
|
||||
// std::cout << "Caught: " << e.what() << '\n';
|
||||
// }
|
||||
|
||||
// //Catch base class after looking for something else
|
||||
// try {
|
||||
// throw SharedMemoryError("Could not create shared memory");
|
||||
// } catch (SocketError &e) {
|
||||
|
||||
// std::cout << "Caught Socket error: " << e.what() << '\n';
|
||||
|
||||
// } catch (RuntimeError &e) {
|
||||
// std::cout << "Caught base class: " << e.what() << '\n';
|
||||
// }
|
||||
|
||||
// //Catch any after looking for something else
|
||||
// try {
|
||||
// throw SharedMemoryError("Could not create shared memory");
|
||||
// } catch (SocketError &e) {
|
||||
|
||||
// std::cout << "Caught Socket error: " << e.what() << '\n';
|
||||
|
||||
// } catch (...) {
|
||||
// std::cout << "Caught Something else probably should have let me crash\n";
|
||||
// }
|
||||
|
||||
|
||||
// throw RuntimeError("This one we missed");
|
||||
return 0;
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
// #include "catch.hpp"
|
||||
// #include "multiSlsDetector.h"
|
||||
|
||||
// #include <iostream>
|
||||
// TEST_CASE("Initialize a detector") {
|
||||
// multiSlsDetector det(0, true, true);
|
||||
// std::cout << "Size: " << det.getNumberOfDetectors() << std::endl;
|
||||
// std::cout << "Hostname: " << det.getHostname() << std::endl;
|
||||
// REQUIRE(false);
|
||||
|
||||
// }
|
@ -1,199 +0,0 @@
|
||||
|
||||
#include "catch.hpp"
|
||||
|
||||
#include "ClientSocket.h"
|
||||
#include "logger.h"
|
||||
#include "slsDetector.h"
|
||||
#include "sls_detector_defs.h"
|
||||
|
||||
#include "Timer.h"
|
||||
#include "sls_detector_funcs.h"
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#define VERBOSE
|
||||
|
||||
auto type_enum = slsDetectorDefs::detectorType::EIGER;
|
||||
const std::string hostname = "beb083";
|
||||
const std::string type_string = "Eiger";
|
||||
const std::string my_ip = "129.129.205.242";
|
||||
|
||||
TEST_CASE("single EIGER detector no receiver basic set and get") {
|
||||
//TODO! this test should take command line arguments for config
|
||||
|
||||
//Read type by connecting to the detector
|
||||
auto type = slsDetector::getTypeFromDetector(hostname);
|
||||
CHECK(type == type_enum);
|
||||
|
||||
//Create slsDetector of said type and set hostname and detector online
|
||||
slsDetector d(type);
|
||||
CHECK(d.getDetectorTypeAsEnum() == type);
|
||||
CHECK(d.getDetectorTypeAsString() == type_string);
|
||||
|
||||
d.setHostname(hostname);
|
||||
CHECK(d.getHostname() == hostname);
|
||||
|
||||
d.setOnline(true);
|
||||
CHECK(d.getOnlineFlag() == true);
|
||||
|
||||
CHECK(d.getReceiverOnline() == false);
|
||||
CHECK(d.checkDetectorVersionCompatibility() == slsDetectorDefs::OK);
|
||||
|
||||
//Setting and reading exposure time
|
||||
auto t = 1000000000;
|
||||
d.setTimer(slsDetectorDefs::timerIndex::ACQUISITION_TIME, t);
|
||||
CHECK(d.setTimer(slsDetectorDefs::timerIndex::ACQUISITION_TIME) == t);
|
||||
|
||||
//size of an eiger half module with and without gap pixels
|
||||
CHECK(d.getTotalNumberOfChannels() == 256 * 256 * 4);
|
||||
CHECK(d.getTotalNumberOfChannels(slsDetectorDefs::dimension::X) == 1024);
|
||||
CHECK(d.getTotalNumberOfChannels(slsDetectorDefs::dimension::Y) == 256);
|
||||
// CHECK(d.getTotalNumberOfChannels(slsDetectorDefs::dimension::Z) == 1);
|
||||
CHECK(d.getTotalNumberOfChannelsInclGapPixels(slsDetectorDefs::dimension::X) == 1024);
|
||||
CHECK(d.getTotalNumberOfChannelsInclGapPixels(slsDetectorDefs::dimension::Y) == 256);
|
||||
// CHECK(d.getTotalNumberOfChannelsInclGapPixels(slsDetectorDefs::dimension::Z) == 1);
|
||||
|
||||
CHECK(d.getNChans() == 256 * 256);
|
||||
CHECK(d.getNChans(slsDetectorDefs::dimension::X) == 256);
|
||||
CHECK(d.getNChans(slsDetectorDefs::dimension::Y) == 256);
|
||||
// CHECK(d.getNChans(slsDetectorDefs::dimension::Z) == 1);
|
||||
|
||||
CHECK(d.getNChips() == 4);
|
||||
CHECK(d.getNChips(slsDetectorDefs::dimension::X) == 4);
|
||||
CHECK(d.getNChips(slsDetectorDefs::dimension::Y) == 1);
|
||||
// CHECK(d.getNChips(slsDetectorDefs::dimension::Z) == 1);
|
||||
|
||||
d.freeSharedMemory();
|
||||
}
|
||||
|
||||
TEST_CASE("Set control port then create a new object with this control port") {
|
||||
/*
|
||||
TODO!
|
||||
Standard port but should not be hardcoded
|
||||
Is this the best way to initialize the detectors
|
||||
Using braces to make the object go out of scope
|
||||
*/
|
||||
int old_cport = DEFAULT_PORTNO;
|
||||
int old_sport = DEFAULT_PORTNO + 1;
|
||||
int new_cport = 1993;
|
||||
int new_sport = 2000;
|
||||
|
||||
{
|
||||
auto type = slsDetector::getTypeFromDetector(hostname);
|
||||
CHECK(type == type_enum);
|
||||
slsDetector d(type);
|
||||
d.setHostname(hostname);
|
||||
d.setOnline(true);
|
||||
CHECK(d.getControlPort() == old_cport);
|
||||
d.setControlPort(new_cport);
|
||||
CHECK(d.getStopPort() == old_sport);
|
||||
d.setStopPort(new_sport);
|
||||
d.freeSharedMemory();
|
||||
}
|
||||
{
|
||||
auto type = slsDetector::getTypeFromDetector(hostname, new_cport);
|
||||
CHECK(type == type_enum);
|
||||
slsDetector d(type);
|
||||
d.setHostname(hostname);
|
||||
d.setControlPort(new_cport);
|
||||
d.setStopPort(new_sport);
|
||||
CHECK(d.getControlPort() == new_cport);
|
||||
CHECK(d.getStopPort() == new_sport);
|
||||
|
||||
d.setOnline(true);
|
||||
|
||||
//Reset standard ports
|
||||
d.setControlPort(old_cport);
|
||||
d.setStopPort(old_sport);
|
||||
d.freeSharedMemory();
|
||||
}
|
||||
|
||||
auto type = slsDetector::getTypeFromDetector(hostname);
|
||||
CHECK(type == type_enum);
|
||||
slsDetector d(type);
|
||||
d.setHostname(hostname);
|
||||
d.setOnline(true);
|
||||
CHECK(d.getStopPort() == DEFAULT_PORTNO + 1);
|
||||
}
|
||||
|
||||
TEST_CASE("Locking mechanism and last ip") {
|
||||
auto type = slsDetector::getTypeFromDetector(hostname);
|
||||
slsDetector d(type);
|
||||
d.setHostname(hostname);
|
||||
d.setOnline(true);
|
||||
|
||||
//Check that detector server is unlocked then lock
|
||||
CHECK(d.lockServer() == 0);
|
||||
d.lockServer(1);
|
||||
CHECK(d.lockServer() == 1);
|
||||
|
||||
//Can we do things while it is locked
|
||||
auto t = 1300000000;
|
||||
d.setTimer(slsDetectorDefs::timerIndex::ACQUISITION_TIME, t);
|
||||
CHECK(d.setTimer(slsDetectorDefs::timerIndex::ACQUISITION_TIME) == t);
|
||||
|
||||
//unlock again
|
||||
d.lockServer(0);
|
||||
CHECK(d.lockServer() == 0);
|
||||
|
||||
CHECK(d.getLastClientIP() == my_ip);
|
||||
}
|
||||
|
||||
TEST_CASE("Excersise all possible set timer functions") {
|
||||
// FRAME_NUMBER, /**< number of real time frames: total number of acquisitions is number or frames*number of cycles */
|
||||
// ACQUISITION_TIME, /**< exposure time */
|
||||
// FRAME_PERIOD, /**< period between exposures */
|
||||
// DELAY_AFTER_TRIGGER, /**< delay between trigger and start of exposure or readout (in triggered mode) */
|
||||
// GATES_NUMBER, /**< number of gates per frame (in gated mode) */
|
||||
// CYCLES_NUMBER, /**< number of cycles: total number of acquisitions is number or frames*number of cycles */
|
||||
// ACTUAL_TIME, /**< Actual time of the detector's internal timer */
|
||||
// MEASUREMENT_TIME, /**< Time of the measurement from the detector (fifo) */
|
||||
|
||||
// PROGRESS, /**< fraction of measurement elapsed - only get! */
|
||||
// MEASUREMENTS_NUMBER,
|
||||
// FRAMES_FROM_START,
|
||||
// FRAMES_FROM_START_PG,
|
||||
// SAMPLES,
|
||||
// SUBFRAME_ACQUISITION_TIME, /**< subframe exposure time */
|
||||
// STORAGE_CELL_NUMBER, /**<number of storage cells */
|
||||
// SUBFRAME_DEADTIME, /**< subframe deadtime */
|
||||
// MEASURED_PERIOD, /**< measured period */
|
||||
// MEASURED_SUBPERIOD, /**< measured subperiod */
|
||||
// MAX_TIMERS
|
||||
|
||||
auto type = slsDetector::getTypeFromDetector(hostname);
|
||||
slsDetector d(type);
|
||||
d.setHostname(hostname);
|
||||
d.setOnline(true);
|
||||
|
||||
//Number of frames
|
||||
auto frames = 10;
|
||||
d.setTimer(slsDetectorDefs::timerIndex::FRAME_NUMBER, frames);
|
||||
CHECK(d.setTimer(slsDetectorDefs::timerIndex::FRAME_NUMBER) == frames);
|
||||
|
||||
auto t = 10000000;
|
||||
d.setTimer(slsDetectorDefs::timerIndex::ACQUISITION_TIME, t);
|
||||
CHECK(d.setTimer(slsDetectorDefs::timerIndex::ACQUISITION_TIME) == t);
|
||||
|
||||
auto period = 1000000000;
|
||||
d.setTimer(slsDetectorDefs::timerIndex::FRAME_PERIOD, period);
|
||||
CHECK(d.setTimer(slsDetectorDefs::timerIndex::FRAME_PERIOD) == period);
|
||||
|
||||
// not implemented for EIGER
|
||||
// auto delay = 10000;
|
||||
// d.setTimer(slsDetectorDefs::timerIndex::DELAY_AFTER_TRIGGER, delay);
|
||||
// CHECK(d.setTimer(slsDetectorDefs::timerIndex::DELAY_AFTER_TRIGGER) == delay);
|
||||
|
||||
// auto gates = 1;
|
||||
// d.setTimer(slsDetectorDefs::timerIndex::GATES_NUMBER, gates);
|
||||
// CHECK(d.setTimer(slsDetectorDefs::timerIndex::GATES_NUMBER) == gates);
|
||||
|
||||
auto cycles = 2;
|
||||
d.setTimer(slsDetectorDefs::timerIndex::CYCLES_NUMBER, cycles);
|
||||
CHECK(d.setTimer(slsDetectorDefs::timerIndex::CYCLES_NUMBER) == cycles);
|
||||
|
||||
auto subtime = 200;
|
||||
d.setTimer(slsDetectorDefs::timerIndex::SUBFRAME_ACQUISITION_TIME, subtime);
|
||||
CHECK(d.setTimer(slsDetectorDefs::timerIndex::SUBFRAME_ACQUISITION_TIME) == subtime);
|
||||
}
|
||||
|
||||
// TEST_CASE()
|
@ -1,3 +0,0 @@
|
||||
// tests-main.cpp
|
||||
#define CATCH_CONFIG_MAIN
|
||||
#include "catch.hpp"
|
@ -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,32 +0,0 @@
|
||||
set(SOURCES
|
||||
mainReceiver.cpp
|
||||
)
|
||||
|
||||
include_directories(
|
||||
../../slsSupportLib/include
|
||||
../../slsReceiverSoftware/include
|
||||
../../build/bin
|
||||
../../slsdetectorSoftware/slsDetector
|
||||
)
|
||||
|
||||
add_executable(slsMultiReceiver
|
||||
${SOURCES}
|
||||
)
|
||||
|
||||
target_link_libraries(slsMultiReceiver
|
||||
slsReceiverShared
|
||||
pthread
|
||||
${ZeroMQ_LIBRARIES}
|
||||
rt
|
||||
)
|
||||
|
||||
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)/bin
|
||||
INCLUDES = -I . -I$(PKGDIR)/slsSupportLib/include -I$(LIBDIR) -I$(PKGDIR)/slsDetectorSoftware/slsDetector -I$(PKGDIR)/slsReceiversoftware/include
|
||||
INCLUDES = -I .
|
||||
SRC_DET = mainClient.cpp
|
||||
SRC_REC = mainReceiver.cpp
|
||||
ZMQLIBDIR = $(PKGDIR)/slsSupportLib/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/detReceiver
Executable file
Binary file not shown.
BIN
manual/manual-api/detUser
Executable file
BIN
manual/manual-api/detUser
Executable file
Binary file not shown.
1
manual/manual-api/detectorData.h
Symbolic link
1
manual/manual-api/detectorData.h
Symbolic link
@ -0,0 +1 @@
|
||||
../../slsDetectorSoftware/slsDetectorAnalysis/detectorData.h
|
@ -80,47 +80,7 @@ LATEX_HIDE_INDICES = YES
|
||||
|
||||
PREDEFINED = __cplusplus
|
||||
|
||||
INPUT = ../slsSupportLib/include/communication_funcs.h \
|
||||
../slsSupportLib/include/error_defs.h \
|
||||
../slsSupportLib/include/sls_detector_defs.h \
|
||||
../slsSupportLib/include/sls_detector_funcs.h \
|
||||
../slsSupportLib/include/ansi.h \
|
||||
../slsSupportLib/include/genericSocket.h \
|
||||
../slsSupportLib/include/logger.h \
|
||||
../slsSupportLib/include/MySocketTCP.h \
|
||||
../slsSupportLib/include/utilities.h \
|
||||
../slsSupportLib/include/ZmqSocket.h \
|
||||
multiSlsDetector/multiSlsDetectorClient.h \
|
||||
multiSlsDetector/multiSlsDetectorCommand.h \
|
||||
multiSlsDetector/multiSlsDetector.h \
|
||||
slsDetector/slsDetectorCommand.h \
|
||||
slsDetector/slsDetector.h \
|
||||
slsDetector/slsDetectorUsers.h \
|
||||
slsDetector/detectorData.h \
|
||||
slsReceiverInterface/receiverInterface.h \
|
||||
../slsReceiverSoftware/include/BinaryFile.h \
|
||||
../slsReceiverSoftware/include/BinaryFileStatic.h \
|
||||
../slsReceiverSoftware/include/circularFifo.h \
|
||||
../slsReceiverSoftware/include/DataProcessor.h \
|
||||
../slsReceiverSoftware/include/DataStreamer.h \
|
||||
../slsReceiverSoftware/include/Fifo.h \
|
||||
../slsReceiverSoftware/include/File.h \
|
||||
../slsReceiverSoftware/include/GeneralData.h \
|
||||
../slsReceiverSoftware/include/HDF5File.h \
|
||||
../slsReceiverSoftware/include/HDF5FileStatic.h \
|
||||
../slsReceiverSoftware/include/Listener.h \
|
||||
../slsReceiverSoftware/include/receiver_defs.h \
|
||||
../slsReceiverSoftware/include/slsReceiver.h \
|
||||
../slsReceiverSoftware/include/slsReceiverTCPIPInterface.h \
|
||||
../slsReceiverSoftware/include/slsReceiverUsers.h \
|
||||
../slsReceiverSoftware/include/ThreadObject.h \
|
||||
../slsReceiverSoftware/include/UDPBaseImplementation.h \
|
||||
../slsReceiverSoftware/include/UDPInterface.h \
|
||||
../slsReceiverSoftware/include/UDPStandardImplementation.h
|
||||
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 = slsDetectorPackageDocs
|
||||
OUTPUT_DIRECTORY = docs
|
||||
|
@ -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_detector_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){
|
||||
slsDetectorDefs::sls_receiver_header* header = (slsDetectorDefs::sls_receiver_header*)metadata;
|
||||
slsDetectorDefs::sls_detector_header detectorHeader = header->detHeader;
|
||||
|
||||
PRINT_IN_COLOR (detectorHeader.modId?detectorHeader.modId:detectorHeader.row,
|
||||
"#### %d GetData: ####\n"
|
||||
"frameNumber: %lu\t\texpLength: %u\t\tpacketNumber: %u\t\tbunchId: %lu"
|
||||
"\t\ttimestamp: %lu\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 unsigned int)detectorHeader.frameNumber,
|
||||
detectorHeader.expLength, detectorHeader.packetNumber, (long unsigned int)detectorHeader.bunchId,
|
||||
(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){
|
||||
slsDetectorDefs::sls_receiver_header* header = (slsDetectorDefs::sls_receiver_header*)metadata;
|
||||
slsDetectorDefs::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, nullptr) == -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, nullptr) == -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 = slsDetectorDefs::OK;
|
||||
/** - create slsReceiverUsers object with appropriate arguments */
|
||||
slsReceiverUsers *receiver = new slsReceiverUsers(3, args, ret);
|
||||
if(ret==slsDetectorDefs::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, nullptr);
|
||||
|
||||
/** - Call back for acquisition finished */
|
||||
cprintf(BLUE, "Registering AcquisitionFinished()\n");
|
||||
receiver->registerCallBackAcquisitionFinished(AcquisitionFinished, nullptr);
|
||||
|
||||
/* - Call back for raw data */
|
||||
cprintf(BLUE, "Registering GetData() \n");
|
||||
if (withCallback == 1) receiver->registerCallBackRawDataReady(GetData,nullptr);
|
||||
else if (withCallback == 2) receiver->registerCallBackRawDataModifyReady(GetData,nullptr);
|
||||
}
|
||||
registerCallBackStartAcquisition(int (*func)(char*, char*,int, int, void*),void *arg);
|
||||
*/
|
||||
|
||||
//receiver->registerCallBackStartAcquisition(func,arg);
|
||||
|
||||
|
||||
|
||||
/** - start tcp server thread */
|
||||
if (receiver->start() == slsDetectorDefs::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, nullptr) == -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, nullptr, 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
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
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>
|
File diff suppressed because it is too large
Load Diff
@ -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
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
BIN
manual/manual-api/slsDetectorUsersDocs/html/doxygen.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
31
manual/manual-api/slsDetectorUsersDocs/html/files.html
Normal file
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
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
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
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
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
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
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
BIN
manual/manual-api/slsDetectorUsersDocs/html/tab_b.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 35 B |
BIN
manual/manual-api/slsDetectorUsersDocs/html/tab_l.gif
Normal file
BIN
manual/manual-api/slsDetectorUsersDocs/html/tab_l.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 706 B |
BIN
manual/manual-api/slsDetectorUsersDocs/html/tab_r.gif
Normal file
BIN
manual/manual-api/slsDetectorUsersDocs/html/tab_r.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 KiB |
102
manual/manual-api/slsDetectorUsersDocs/html/tabs.css
Normal file
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
BIN
manual/manual-api/slsDetectorUsersDocs/latex/FreeSans.ttf
Normal file
Binary file not shown.
17
manual/manual-api/slsDetectorUsersDocs/latex/Makefile
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}
|
File diff suppressed because it is too large
Load Diff
@ -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
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
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
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
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}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user