updated manual directory

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorsPackage@47 08cae9ef-cb74-4d14-b03a-d7ea46f178d7
This commit is contained in:
bergamaschi 2013-01-28 16:23:26 +00:00
parent cff497337e
commit 8f4f778928
99 changed files with 587840 additions and 4240 deletions

View File

@ -1,47 +1,41 @@
DESTDIR?=../docs
all: $(DESTDIR)/pdf/slsDetectors-FAQ.pdf $(DESTDIR)/pdf/slsDetectorInstall.pdf
$(DESTDIR)/pdf/slsDetectors-FAQ.pdf: slsDetectors-FAQ.tex slsDetector-softFAQ.tex singlePhotonCounting-FAQ.tex angConv-FAQ.tex generalDet-FAQ.tex
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
latex slsDetectors-FAQ.tex
latex slsDetectors-FAQ.tex
dvips -o slsDetectors-FAQ.ps slsDetectors-FAQ.dvi
ps2pdf slsDetectors-FAQ.ps slsDetectors-FAQ.pdf
mv slsDetectors-FAQ.pdf $(DESTDIR)/pdf/
$(DESTDIR)/pdf/slsDetectorInstall.pdf: slsDetectorInstall.tex
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
latex slsDetectorInstall.tex
latex slsDetectorInstall.tex
dvips -o slsDetectorInstall.ps slsDetectorInstall.dvi
ps2pdf slsDetectorInstall.ps slsDetectorInstall.pdf
mv slsDetectorInstall.pdf $(DESTDIR)/pdf
html: $(DESTDIR)/html/slsDetectorInstall $(DESTDIR)/html/slsDetectors-FAQ index.html
cp index.html $(DESTDIR)/html/
#manual-api manual-calwiz manual-client manual-gui manual-main
$(DESTDIR)/html/slsDetectorInstall: slsDetectorInstall.tex
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
$(shell test -d $(DESTDIR)/html/slsDetectorInstall && rm -r $(DESTDIR)/html/slsDetectorInstall)
latex slsDetectorInstall.tex
latex2html -split 4 slsDetectorInstall.tex
mv slsDetectorInstall $(DESTDIR)/html
MAINDIRS= manual-main manual-calwiz manual-calwiz manual-gui manual-client manual-api
CLEANDIRS=$(MAINDIRS:manual-%=clean-%)
PDFDIRS=$(MAINDIRS:manual-%=pdf-%)
HTMLDIRS=$(MAINDIRS:manual-%=html-%)
ALLDIRS=$(MAINDIRS:manual-%=all-%)
all: $(ALLDIRS)
pdf: $(PDFDIRS)
html: $(HTMLDIRS)
clean: $(CLEANDIRS)
all-%:
echo
cd $(@:all-%=manual-%) && make all
pdf-%:
cd $(@:pdf-%=manual-%) && make pdf
html-%:
cd $(@:html-%=manual-%) && make html
clean-%:
cd $(@:clean-%=manual-%) && make clean
#¡Æ$(@D)¡Ç The directory part of the file name of the target, with the trailing slash removed. If the value of ¡Æ$@¡Ç is dir/foo.o then ¡Æ$(@D)¡Ç is dir. This value is . if ¡Æ$@¡Ç does not contain a slash.
#¡Æ$(@F)¡Ç The file-within-directory part of the file name of the target. If the value of ¡Æ$@¡Ç is dir/foo.o then ¡Æ$(@F)¡Ç is foo.o. ¡Æ$(@F)¡Ç is equivalent to ¡Æ$(notdir $@)¡Ç.
$(DESTDIR)/html/slsDetectors-FAQ: slsDetectors-FAQ.tex slsDetector-softFAQ.tex singlePhotonCounting-FAQ.tex angConv-FAQ.tex generalDet-FAQ.tex
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
$(shell test -d $(DESTDIR)/html/slsDetectors-FAQ && rm -r $(DESTDIR)/html/slsDetectors-FAQ)
latex slsDetectors-FAQ.tex
latex2html -split 3 slsDetectors-FAQ.tex
mv slsDetectors-FAQ $(DESTDIR)/html
clean:
rm -rf *.pdf *.ps *.dvi *.aux *.log *.toc *.out slsDetectorInstall slsDetectors-FAQ

View File

@ -0,0 +1,11 @@
DESTDIR?=../docs
all:
doxygen slsDetectorUsers.doxy
clean:
rm -rf slsDetectorUsers

View File

@ -0,0 +1 @@
../../slsDetectorSoftware/slsDetectorAnalysis/detectorData.h

View File

@ -0,0 +1,86 @@
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
# documentation are documented, even if no documentation was available.
# Private class members and static file members will be hidden unless
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
EXTRACT_ALL = YES
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
# will be included in the documentation.
EXTRACT_PRIVATE = NO
# If the EXTRACT_STATIC tag is set to YES all static members of a file
# will be included in the documentation.
EXTRACT_STATIC = YES
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
# defined locally in source files will be included in the documentation.
# If set to NO only classes defined in header files are included.
EXTRACT_LOCAL_CLASSES = YES
# This flag is only useful for Objective-C code. When set to YES local
# methods, which are defined in the implementation section but not in
# the interface are included in the documentation.
# If set to NO (the default) only methods in the interface are included.
EXTRACT_LOCAL_METHODS = YES
# If this flag is set to YES, the members of anonymous namespaces will be
# extracted and appear in the documentation as a namespace called
# 'anonymous_namespace{file}', where file will be replaced with the base
# name of the file that contains the anonymous namespace. By default
# anonymous namespace are hidden.
EXTRACT_ANON_NSPACES = NO
# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
# undocumented members of documented classes, files or namespaces.
# If set to NO (the default) these members will be included in the
# various overviews, but no documentation section is generated.
# This option has no effect if EXTRACT_ALL is enabled.
HIDE_UNDOC_MEMBERS = NO
# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy.
# If set to NO (the default) these classes will be included in the various
# overviews. This option has no effect if EXTRACT_ALL is enabled.
HIDE_UNDOC_CLASSES = NO
# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
# friend (class|struct|union) declarations.
# If set to NO (the default) these declarations will be included in the
# documentation.
HIDE_FRIEND_COMPOUNDS = NO
INTERNAL_DOCS = NO
SHOW_INCLUDE_FILES = NO
SHOW_FILES = NO
SHOW_NAMESPACES = NO
COMPACT_LATEX = YES
PAPER_TYPE = a4
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_HIDE_INDICES = YES
PREDEFINED = __cplusplus
INPUT = slsDetector/slsDetectorUsers.h slsDetector/slsDetectorBase.h commonFiles/sls_detector_defs.h slsDetector/slsDetector.h MySocketTCP/MySocketTCP.h usersFunctions/usersFunctions.h multiSlsDetector/multiSlsDetector.h commonFiles/sls_detector_defs.h slsDetector/slsDetectorUtils.h slsDetector/slsDetectorBase.h slsDetector/slsDetectorCommand.h slsDetector/slsDetectorActions.h multiSlsDetector/multiSlsDetector.h slsDetectorAnalysis/detectorData.h slsDetectorAnalysis/energyConversion.h slsDetectorAnalysis/postProcessing.h slsDetectorAnalysis/angularConversion.h slsDetectorAnalysis/fileIO.h multiSlsDetector/multiSlsDetectorClient.h multiSlsDetector/multiSlsDetectorCommand.h slsDetectorAnalysis/angularConversionStatic.h slsDetectorAnalysis/angleConversionConstant.h slsDetectorAnalysis/enCalLogClass.h slsDetectorAnalysis/angCalLogClass.h slsDetectorAnalysis/badChannelCorrections.h slsDetectorAnalysis/fileIOStatic.h slsReceiverInterface/receiverInterface.h slsReceiver/slsReceiver_funcs.h slsReceiver/slsReceiverFunctionList.h slsReceiver/receiver_defs.h
OUTPUT_DIRECTORY = docs

View File

@ -0,0 +1,86 @@
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
# documentation are documented, even if no documentation was available.
# Private class members and static file members will be hidden unless
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
EXTRACT_ALL = YES
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
# will be included in the documentation.
EXTRACT_PRIVATE = NO
# If the EXTRACT_STATIC tag is set to YES all static members of a file
# will be included in the documentation.
EXTRACT_STATIC = YES
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
# defined locally in source files will be included in the documentation.
# If set to NO only classes defined in header files are included.
EXTRACT_LOCAL_CLASSES = YES
# This flag is only useful for Objective-C code. When set to YES local
# methods, which are defined in the implementation section but not in
# the interface are included in the documentation.
# If set to NO (the default) only methods in the interface are included.
EXTRACT_LOCAL_METHODS = YES
# If this flag is set to YES, the members of anonymous namespaces will be
# extracted and appear in the documentation as a namespace called
# 'anonymous_namespace{file}', where file will be replaced with the base
# name of the file that contains the anonymous namespace. By default
# anonymous namespace are hidden.
EXTRACT_ANON_NSPACES = NO
# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
# undocumented members of documented classes, files or namespaces.
# If set to NO (the default) these members will be included in the
# various overviews, but no documentation section is generated.
# This option has no effect if EXTRACT_ALL is enabled.
HIDE_UNDOC_MEMBERS = NO
# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy.
# If set to NO (the default) these classes will be included in the various
# overviews. This option has no effect if EXTRACT_ALL is enabled.
HIDE_UNDOC_CLASSES = NO
# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
# friend (class|struct|union) declarations.
# If set to NO (the default) these declarations will be included in the
# documentation.
HIDE_FRIEND_COMPOUNDS = NO
INTERNAL_DOCS = NO
SHOW_INCLUDE_FILES = NO
SHOW_FILES = NO
SHOW_NAMESPACES = NO
COMPACT_LATEX = YES
PAPER_TYPE = a4
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_HIDE_INDICES = YES
PREDEFINED = __cplusplus
INPUT = slsDetectorUsers.h detectorData.h
OUTPUT_DIRECTORY = slsDetectorUsersDocs

View File

@ -0,0 +1 @@
../../slsDetectorSoftware/slsDetector/slsDetectorUsers.h

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,50 @@
DESTDIR?=../
#manual-api manual-calwiz manual-client manual-gui manual-main
TEX=latex
MAINTEXS= angularCalibrationHowTo.tex energyCalibrationHowTo.tex
TEXS=ancCal.tex enCal.tex installation.tex
DVIS = $(MAINTEXS:.tex=.dvi)
PSS = $(MAINTEXS:.tex=.ps)
PDFS = $(MAINTEXS:.tex=.pdf)
HTMLS = $(MAINTEXS:%.tex=%)
#destdir?!?!?
all: $(PDFS) $(HTMLS)
echo $(PWD)
echo $(PDFS)
echo $(HTMLS)
pdf: $(PDFS)
html: $(HTMLS)
$(HTMLS): $(TEXS) $(MAINTEXS)
latex $@.tex
latex2html -split 4 $@.tex
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
mv $@ $(DESTDIR)/html
%.dvi : %.tex $(TEXS)
latex $<
latex $<
%.ps : %.dvi
dvips -o $@ $<
%.pdf : %.ps
ps2pdf $< $@
clean:
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(HTMLS)

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -0,0 +1,171 @@
In order to convert from strip number to 2$\theta$-angle, an accurate angular calibration of the detector must be performed (for details see the paper Bergamaschi, A. et al. (2010). J. Synchrotron Rad. 17, 653-668). \\
For this purpose, a series of patterns of a powder standard with symmetric peaks (e.g. silicon) must acquired while shifting the detector by an angular step of the order of about 2\% of the module size. During the measurement, a strong intensity peak (e.g. Si(111)) should pass through the field of view of every module such that it can be used as a reference angular position to perform the calibration of the modules position.\\
In a first step, the peak is fitted with a Gaussian in order to determine its position $C_{peak}$ in channel number for each of the acquired patterns.\\
In a second step, for each module $i$, the encoder position $\Theta_e$ is fitted as a function of the peak position $C_{peak}$ according to:
\begin{equation}\label{eq:angcal}
\Theta_e=\Theta_o^i-\arctan\Big(\frac{p \cdot (C_{peak}-C_{center}^i)}{R^i}\Big),
\end{equation}
where the parameters $\Theta_o^i$ is the angular offset with respect to the diffractometer zero position, $C_{center}^{i}$ is the central channel and $R^i$ is the distance of the module $i$ from the diffractometer center while $p=50~\mu m$ is the strip pitch of the detector. \\
Finally, the global offset of the detector system is precisely determined by refining a silicon pattern at a well-defined energy (i.e., knowing the position of the peak).
The same function of equation~\ref{eq:angcal}, with the parameters obtained from the calibration, is used in order to convert from channel number to 2$\theta$-angle.
The parallax at the borders of the modules due to the thickness of the silicon sensor is a function of the X-ray energy (higher energy X-rays are absorbed deeper inside the sensor) and is of the order of 0.2~mdeg at 12~keV and 0.5~mdeg at 30~keV. \\
The differences in pixel size due to the different portion of solid angle covered by the strips on the border of the modules and the higher efficiency due to the longer path of the X-rays in the sensor are removed by the flat field correction. This also normalizes additional differences in pixel size between channels which are also present because of mismatches in the strip sensor fabrication and in fluctuations of the channels threshold level.
Patterns acquired at different detector positions are generally merged together in order to fill the gaps between the modules and correct possibly bad functioning channels. In this procedure the data from different positions which are closer than 4~mdeg (the average pixel size) are averaged and the new position is set to the mean of the positions of the original points.
The position and width of the peaks results from a fit over several detector channels. Geometrical distortions might disturb this determination mainly because of errors in the angular calibration, fluctuations in the encoder position, variations between channels and parallax effects.\\
The resolution in locating the peak center and determining its width and integrated intensity has been estimated by acquiring several patterns of a LaB$_6$ sample in a 300~$\mu$m capillary with the detector shifted in 5~mdeg steps between 30.4 and 36.5 degrees. The 16~peaks acquired have been fitted with a Gaussian function plus background and the fluctuations on the fitted parameters have been calculated. The resulting average resolutions are 0.63$\pm$0.06~mdeg for the peak center and 0.22$\pm$0.05~mdeg for the peak Full-Width at Half-Maximum (FWHM) for an average peak FWHM of 27.0$\pm$2.5~mdeg. \\
These results show that the angular calibration allows a resolution in determining the peaks position and width which is appropriate for structural determination.
\section{Data acquisition}
The angular calibration consists in acquiring a set of diffraction patterns of a well known powder standard (e.g. Silicon) at different encoder positions. In order to facilitate the procedure, the sample should not emit fluorescent light and should present relatively symmetric peaks. \\
During the measurement, a strong intensity peak (e.g. Si(111)) should pass through the field of view of every module such that it can be used as a reference angular position to perform the calibration of the modules position. In general the highest peak will be used for the calibration, but this is not necessary in case there would be e.g. geometrical limitations for shifting the detector. \\ \textbf{Do not forget to properly position the beam stopper if the detector is scanned in front of the direct beam.}\\
The detector should be shifted of an angular step of the order of about 2\% of the module size, such that about 50 patterns can contribute to the fitting of the 3 parameters necessary for the angular calibration.\\
All the angular calibration procedure should be acquired using a trimmed detector with the threshold set at half of the X-ray energy (Assuming no fluorescent element in the standard). A flat field should also be acquired in order to precisely correct the data, while the X-ray intensity should be kept lower than about 100~kHz per strip in order to avoid the need for rate corrections.
A rough angular conversion file starting from a previous calibration or from the geometric characteristics of the mechanics is an advantage. The angular conversion file should contain a line for each module of the detector with its module number $i$, center $C_{center}^{i}$ and error, conversion radius $p/R^i$ and error, offset $\Theta_o^i$ and error:
\begin{verbatim}
module 0 center 639.5 +- 0 conversion 6.56E-05 +- 0 offset 0 +- 0
\end{verbatim}
Also the \textit{global offset} value of the beamline should be approximately known i.e. the angular position of channel 0 of module 0 when the motor is set at 0. \\
All the documentation assumes that the detector is oriented in the same direction as the encoder position i.e. large channel number at higher angles (both per module and absolute). If this is not the case, the \textit{angular direction} should be set to -1.
\subsection{Software}
For the acquisition ot the data you need to install the slsDetector software package (please refere to separate documentation). The use of the GUI is optional and all operations can be performed also using the text client.\\
Please make sure that you have edited the \\
\textit{slsDetectorSoftware/usersFunctions/angleFunction.h} \\
in order to match the angular conversion for your geometry and \\
\textit{slsDetectorSoftware/usersFunctions/usersFunctions.cpp} \\
in order to be able to move the detector and read out its position by using the slsDetector software.
In the following the command to acquire a dataset for the angular calibration with an exposure time of 1~s, and position shift
\begin{verbatim}
#setup angular calibration log mode
> sls_detector_put angcallog 1
#set exposure time to 1s
> sls_detector_put exptime 1.
#setup threshold scan
> sls_detector_put scan0script position
#setup the precision for the scan variable in the file name
> sls_detector_put scan0prec 2
#set scan range between 20deg and -60deg, step of -0.1deg
# (at 12.4 keV the Si(111) peak is at approx 19deg
> sls_detector_put scan0range 20 -60 -0.1
#acquire the data
> sls_detector_acquire
#unset angular calibration log mode
> sls_detector_put angcallog 0
\end{verbatim}
With the GUI you can obtain the same results by clicking on the \textit{Angular calibration} log button in the advanced tab (see figure~\ref{fig:guiangcallog}) and setting up the motor position scan in the Actions tab (see figure~\ref{fig:guiposscan}). The exposure time should also be set in the measurement tab.
Additional to the data files, the acquisition will produce a .angcal file containing an header and, for each step of the acquisition, the exect value of the motor position and the file name. \\
In case you forgot to enable the angcallog flag in the software, you can produce the file with the syntax as follows, assuming that you know the exact values of your encoder for each frame:
\begin{verbatim}
type Mythen
maxmod 32
nmod 32
angconv /scratch/angcal20120422/ang.off
globaloff 5.088
fineoff 0.0
angdir 1
ffdir /scratch/angcal20120422/
flatfield flatfield_E12keV_T6keV_0.raw
badchannels /scratch/cal/bad.chans
19.99998 angcal_S20.00_0
19.90001 angcal_S19.90_0
19.79999 angcal_S19.80_0
19.70002 angcal_S19.70_0
......
\end{verbatim}
\begin{figure}
\caption{Acquisition GUI window to enable the angular calibration log.} \label{fig:guiangcallog}
\includegraphics[width=\textwidth]{enable_angcal.eps}
\end{figure}
\begin{figure}
\caption{Acquisition GUI window to setup the motor position scan.} \label{fig:guiposscan}
\includegraphics[width=\textwidth]{position_scan.eps}
\end{figure}
\newpage
\section{Data analysis}
The data analysis consists in fitting with a gaussian the selected peak of the powder pattern for each position in order to determine its position is channel number as a function of the encoder position. \\
In a second step, for each module, the channel vs. encoder curve is fitted in order to extrapolate the three parameters necessary for the angular conversion and the result is written to file
\subsection{Software}
The software used for the angular calibration data analysis is based on root (see http://root.cern.ch).\\
This can be downloaded as binary or installed from sources. The version of the software should not play an important role, but up to now everything has been implemented and tested using version 5.20.
To start the data analysis simply launch:
\begin{verbatim}
> ./angularCalibrationWizard
\end{verbatim}
\begin{figure}
\caption{Overview of the nagular calibration dataset.} \label{fig:setangcal}
\includegraphics[width=\textwidth]{setupAngcal.eps}
\end{figure}
To setup the angular calibration dataset, the .angcal file should be selected (or digited) and the load button should be pressed to confirm. The parameters of the angular calibration are then read to the file and the data loaded for a quick overview (see figure~\ref{fig:setangcal}).\\
The software assumes that the data files (.raw) and the .encal file are in the same directory.\\
A 2D color plot will show a rebinned overview of the dataset. The peak to be fitted should be visible as a high intensity diagonal line passing through all the channels.
\begin{figure}
\caption{Preview of the fitting of the Si(111) peak for one of the detector positions.} \label{fig:peakfit}
\includegraphics[width=\textwidth]{peakFit.eps}
\end{figure}
For a more detailed view of the data, one can select an angular calibration step from the combo box, select the plot mode (raw data or processed data as a function of channel number, processed angular converted data, flat field data, or again an overview of the whole dataset). \\
By (right) clicking close to the axis you are able to zoom in/out, set the scale to logarithmic etc.\\
If the bad channel list, angular conversion file or flat field file are changed compared to the acquisition, they can be reloaded by editing the correspondent text entries and pressing enter.
In particular, the angular converted data should be checked in order to view the position of the selected peak. In this case, the plot will be zoomed to the angular region slected in the minimum and maximum angle entries. By pressing fit, the fit of the peak in the selected angular range will be shown (see figure~\ref{fig:peakfit}). It is useful to check that it works properly in several positions such that then the sequential fitting on all steps can give good results.
To automatically fit all positions simply press \textit{Proceed to Modules Calibration} and wait until all steps are fitted. This can take sometime, depending on the number of steps.
\begin{figure}
\caption{Window for fitting the angular calibration parameters of a module.} \label{fig:anglefit}
\includegraphics[width=\textwidth]{angleFit.eps}
\end{figure}
In the module calibration window (see figure~\ref{fig:anglefit}), you will be able to fit the channel number to encoder position curve to estimate the three angular calibration parameters for each module.\\
The entries show the angular calibration parameters used for approximate angular conversion in the previous step of the calibration. These can be edited and will be used as start parameters for the fit.
By clicking on the check box next to the parameters, the selected parameter will be set and fixed during the fit. Often the center is used as a fix parameter.\\
It is possible to navigate between modules by using the Previous and Next module buttons. To refit the current module (e.g. after changing one of the parameters) simply re-click on the module number.
After fitting all modules you can click on the \textit{Write Angular Calibration} button, select the file name to write to and save the calibration angulat calibration data. Please note that the offset of module 0 will always be 0 and the other values will be rescaled to its value. Therefore the global offset of the steup will always need to be specified for a proper angular conversion unless the home of the encoder will not be redifined.
\section{Setup calibration files}
To use the generated angular calibration files, using the text client:
\begin{verbatim}
sls_detector_put angconv /scratch/ang_new.off
\end{verbatim}
while for the GUI the file name should be specified in the configuration file (works also for the text client).
\end{document}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,17 @@
\documentclass{article}
\usepackage{amssymb}
\usepackage[dvips]{graphicx}
\usepackage{verbatim}
\begin{document}
\title{Angular calibration wizard manual}
\author{Anna Bergamaschi}
\date{\today}
\maketitle
\section{Introduction}
\input{ancCal.tex}
\end{document}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@ -0,0 +1,24 @@
\documentclass{report}
\usepackage{amssymb}
\usepackage[dvips]{graphicx}
\usepackage{verbatim}
\begin{document}
\title{Calibration wizards manual}
\author{Anna Bergamaschi}
\date{\today}
\maketitle
\chapter{Installation}
\input{installation.tex}
\chapter{Energy calibration}
%\section{Introduction}
\input{enCal.tex}
\chapter{Angular calibration}
%\section{Introduction}
\input{ancCal.tex}
\end{document}

View File

@ -0,0 +1,214 @@
The choice of the level of the comparator threshold plays a very important role in counting systems since it influences the efficiency of the detector as well as its spatial resolution (for details see the paper Bergamaschi, A. et al. (2010). J. Synchrotron Rad. 17, 653-668).
Single-photon-counting detectors are sensitive to single photons and the only limitation on the fluctuations of the number of counts is given by the Poisson-like statistics of the X-ray quanta.
The digitized signal does not carry any information concerning the energy of the X-rays and all photons with an energy larger than the threshold are counted as one bit. This means that the choice of the correct comparator threshold level is critical in order to obtain good-quality data.\\
Figure~\ref{fig:thrscanexpl} shows the expected number of counts as a function of the threshold energy for $N_0$ monochromatic X-rays of energy $E_0$. This is often denominated S-curve and can be interpreted as the integral of the signal spectrum between the threshold level and infinity.
The dashed curve represents the behavior of an ideal counting system: nothing is counted for thresholds larger than the photon energy and all the $N_0$ X-rays are counted for thresholds lower than $E_0$.
The thick solid line represents the physical curve which also takes into account the electronic noise and the charge sharing between channels.
The intrinsic noise on the electronic signal is defined by the Equivalent Noise Charge ($ENC$). The $ENC$ describes noise in terms of the charge at the detector input needed to create the same output at the end of the analog chain and is normally expressed in electrons. For silicon sensors, it can be converted into energy units by considering 1~$e^-$=3.6~eV.
The value of the $ENC$ normally depends on the shaping settings of the analog chain and increases with shorter shaping times.
The resulting electronic signal spectrum is then given by a convolution between the radiation spectrum and the noise i.e., a Gaussian of standard deviation $ENC$.
The S-curve for a monochromatic radiation beam is well described by a Gaussian cumulative distribution $D$ with an additional increase at low threshold due to the baseline noise, as shown by the solid thin line.
Moreover, when a photon is absorbed in the region between two strips of the sensor, the generated charge is partially collected by the two nearest electronic channels. For this reason the physical S-curve is not flat but can be modeled by a decreasing straight line. The number of shared photons $N_S$ is given by the difference between the number of counts and the number of X-rays whose charge is completely collected by the strip (shown by the dotted line).
The number of counts in the physical case is equal to that in the ideal case for a threshold set at half the photon energy. This defines the optimal threshold level $E_t=E_0/2$.\\
The detector response $N$ as a function of the threshold energy $E_t$ is given by the sum of the noise counts $N_n$ and the counts originating from photons $N_\gamma$:
\begin{equation}
N_\gamma(E_t)=\frac{N_0}{2}\cdot\Big(1+C_s \frac{E_0-2E_t}{E_0}\Big)D \Big(\frac{E_0-E_t}{ENC} \Big), \label{eq:thrscan}
\end{equation}
where $C_s$ is the fraction of photons which produce a charge cloud which is shared between neighboring strips ($N_s=C_s N_0$).\\
By assuming a noise of Gaussian type, and considering its bandwidth limited by the shaping time $\tau_s$, the number of noise counts in the acquisition time $T$ can be approximated as:
\begin{equation}
N_n(E_t) \sim \frac{T}{\tau_s} D \Big(\frac{-E_t}{ENC} \Big). \label{eq:noisescan}
\end{equation}
The choice of the comparator threshold level $E_t$ influences not only the counting efficiency and noise performances, but also the spatial resolution and the counting statistics of the detector.
If the threshold is set at values higher than the ideal value $E_t=E_0/2$, a fraction of the photons absorbed in the sensor in the region between two strips is not counted thus reducing the detector efficiency but improving its spatial resolution (narrower strip size). On the other hand, if the threshold is set at values lower than $E_t$, part of the X-rays absorbed in the region between two strips are counted by both of them, resulting in a deterioration of the spatial resolution of the detector and of the fluctuations on the number of photons because of the increased multiplicity.
Furthermore, the threshold uniformity is particularly critical with regards to fluorescent radiation emitted by the sample under investigation. Since the emission of fluorescent light is isotropic, the data quality will be improved by setting the threshold high enough in order to discard the fluorescence background (see figure~\ref{fig:thrscanfluo}). \\
Moreover, setting the threshold too close to the energy of the fluorescent light gives rise to large fluctuations between channels in the number of counts since the threshold sits on the steepest part of the threshold scan curve for the fluorescent background. These differences cannot be corrected by using a flat-field normalization since the fluorescent component is not present in the reference image. For this reason, it is extremely important that the threshold uniformity over the whole detector is optimized. The threshold level must be set at least $\Sigma>3\,ENC$ away from both the fluorescent energy level and the X-ray energy in order to remove the fluorescence background while efficiently count the diffracted photons.
The comparator threshold is given by a global level which can be set on a module basis and adds to a component which is individually adjustable for each channel. In order to optimize the uniformity of the detector response it is important to properly adjust the threshold for all channels. \\
Since both the signal amplification stages and the comparator are linear, it is necessary to calibrate the detector offset $O$ and gain $G$ in order to correctly set its comparator threshold $V_t$ at the desired energy $E_t$:
\begin{equation}
V_{t}=O+G \cdot E_t.\label{eq:encal}
\end{equation}
This is initially performed by acquiring measurements while scanning the global threshold using different X-ray energies and calculating the median of the counts at each threshold value for each module $i$. The curves obtained for one of the detector modules at three energies are shown in figure~\ref{fig:modulecalibration}. The experimental data are then fitted according to equation~\ref{eq:thrscan} and for each module a linear relation is found between the X-ray energy and the estimated inflection point, as shown in the inset of figure~\ref{fig:modulecalibration}. The resulting offset $O_i$ and gain $G_i$ are used as a conversion factor between the threshold level and the energy.
\begin{figure}
\caption{Expected counts as a function of a threshold energy for a monochromatic beam of energy $E_0$=12~keV. $N_0$=10000 is the number of photons absorbed by the detector during the acquisition time. The dashed line represents the curve in an ideal case without electronic noise and charge sharing, the solid thin line with noise $ENC$=1~keV but without charge sharing and the solid thick line is the physical case with noise and $CS=$22~\% charge sharing. $N_S$ is the number of photons whose charge is shared between neighbouring strips ($CS=\frac{N_S}{N_0}$). The dotted line represents the number of photons whose charge is completely collected by a single strip.}\label{fig:thrscanexpl}
\includegraphics[width=\textwidth]{fig4.eps}
\end{figure}
\begin{figure}
\caption{Measured threshold scan at 12.5~keV with the three different settings. In the inset the fit of the experimental data with the expected curve as in function~\ref{eq:thrscan} is shown in the region of the inflection point.} \label{fig:expthrscan}
\includegraphics[width=\textwidth]{fig5.eps}
\end{figure}
\begin{figure}
\caption{Number of counts as a function of the threshold measured from a sample containing iron ($E_f$=5.9~keV) when using X-rays of energy $E_0$=12~keV. In this case, setting the threshold at $E_0/2$, which is very close to $E_f$, would give $\Delta \sim$10\% counts from the fluorescense background. Therefore the threshold should be set at an intermediate level $E_t$ between the two energy components with a distance of at least $\Sigma>3ENC$ from both $E_f$ and $E_0$.}\label{fig:thrscanfluo}
\includegraphics[width=\textwidth]{fig7.eps}
\end{figure}
Differences in gain and offset are present also between individual channels within a module and therefore the use of threshold equalization techniques (trimming) using the internal 6-bit DAC is needed in order to reduce the threshold dispersion.
Since both gain and offset have variations between channels, the optimal trimming should be performed as a function of the threshold energy.
Please not that trimming of the channels of the detector should be performed in advanced and is extremely important for a succeful energy calibration of the detector.
All energy calibration procedures should be applied to a trimmed detector and only an improvement of the existing trimbits can be performed afterwards, since it does not significatively affect the energy calibration.
\begin{figure}
\caption{Median of the number of counts as a function of the threshold for X-rays of 12.5, 17.5 and 25~keV for one of the detector modules using \textit{standard} settings. The solid line represents the fit of the experimental points with equation~\ref{eq:thrscan}. In the inset the linear fit between the X-ray energy and the position of the inflection point of the curves is shown.}\label{fig:modulecalibration}
\includegraphics[width=\textwidth]{fig8.eps}
\end{figure}
\newpage
\section{Data acquisition}
The energy calibration consists in acquiring threshold scans using the detector at at least 2 (better 3) energies. A monochromatic beam is ideal in this procedure, but beam obtained from some fluorescent sample is also good.\\
Please note that the statistic is important to succesfully analyze the data. Normally the exposure time for each step should be chosen in order to achieve at least 1000 counts per step.
If this is not possible it is better to reduce the scan range or enlarge the scan step rather than acquiring data with a too low statics.
With a quick acquisition or threshold scan it is useful to define the range of the scan and the exposure time. It is important to start from a threshold high enough that (almost) all channels of the detector have a negligible number of counts and that the plateau of the S-curve is long enough to correctly estimate the number of photons.
\subsection{Software}
For the acquisition ot the data you need to install the slsDetector software package (please refere to separate documentation). The use of the GUI is optional and all operations can be performed also using the text client.\\
In the following the command to acquire a dataset for the energy calibration with an exposure time of 1~s, and threshold scan range between 200 and 850 with a setp of 1 DAC unit.
\begin{verbatim}
> sls_detector_put encallog 1 #setup energy calibration
> sls_detector_put exptime 1. #set exposure time to 1s
> sls_detector_put scan0script threshold #setup threshold scan
> sls_detector_put scan0range 200 850 1 #set scan range between 200 and 850, step of 1
> sls_detector_acquire #acquire the data
> sls_detector_put encallog 0 #unset energy calibration
\end{verbatim}
With the GUI you can obtain the same results by clicking on the \textit{Energy Calibration} log button in the advanced tab (see figure~\ref{fig:guiencallog}) and setting up the threshold scan in the Actions tab (see figure~\ref{fig:guithrscan}). the exposure time should also be set in the measurement tab.
This procedure should be executed at at least 2 (better 3) energies.
Additional to the data files, the acquisition will produce a .encal file containing an header and, for each step of the acquisition, the threshold value and the file name. \\
In case you forgot to enable the encallog flag in the software, you can produce the file with the syntax as follows:
\begin{verbatim}
settings standard
type Mythen+
nmod 12
modulenumber:0 000
modulenumber:1 111
modulenumber:2 222
modulenumber:3 333
modulenumber:4 444
modulenumber:5 555
modulenumber:6 666
modulenumber:7 777
modulenumber:8 888
modulenumber:9 999
modulenumber:10 aaa
modulenumber:11 bbb
450 standard_12_4keV_S450_0
460 standard_12_4keV_S460_0
470 standard_12_4keV_S470_0
480 standard_12_4keV_S480_0
490 standard_12_4keV_S490_0
500 standard_12_4keV_S500_0
510 standard_12_4keV_S510_0
520 standard_12_4keV_S520_0
...
...
\end{verbatim}
\begin{figure}
\caption{Acquisition GUI window to enable the energy calibration log.} \label{fig:guiencallog}
\includegraphics[width=\textwidth]{GUI_Advanced.eps}
\end{figure}
\begin{figure}
\caption{Acquisition GUI window to setup the threshold scan.} \label{fig:guithrscan}
\includegraphics[width=\textwidth]{GUI_ThresholdScan.eps}
\end{figure}
\newpage
\section{Data analysis}
The data analysis consists in fitting the S-curves obtained from the datasets acquired as above and then performing a linear fit between the energy values and the inflection points.
\subsection{Software}
The software used for the energy calibration data analysis is based on root (see http://root.cern.ch).\\
This can be downloaded as binary or installed from sources. The version of the software should not play an important role, but up to now everything has been implemented and tested using version 5.20.
To start the data analysis simply launch:
\begin{verbatim}
> ./energyCalibrationWizard
\end{verbatim}
To add anew energy write the energy value and select (or digit) the name of the .encal file corresponding to that energy (see figure~\ref{fig:addenergy}).\\
The software assumes that the data files (.raw) and the .encal file are in the same directory.
Press \textit{Preview} and a 2D color plot will be displayed, showing the channel numbers on the X-axis, the threshold on the Y-axis, and the number of counts as a color scale.
By (right) clicking close to the axis you are able to zoom in/out, set the scale to logarithmic etc.\\
If the plot corresponds to your expectations press \textit{Add to list}. The energy value will be shown in the combo box on top and labels will display the settings of the detector, the number of modules, the number of channels per module and the modules serial numbers.
Add then all the other energies to the calibration always by editing the energy value and .encal file name, pressing \textit{preview} and \textit{add to list}.\\
If the settings, number of modules or serial numbers do not match, you will not be llowed to add the energy.\\
By using the \textit{selected energy actions} you can navigate in the combo box with list of energies, view the plots and eventually remove the ones you don't want to use in your calibration.\\
Once you have uploaded at least 2 energies, you will be allowed to \textit{proceed to module calibration}.
\begin{figure}
\caption{Window to add energies to the calibration.} \label{fig:addenergy}
\includegraphics[width=\textwidth]{addEnergy.eps}
\end{figure}
In the module calibration window (see figure~\ref{fig:calibratemodule}), you are still able to look at the calibration summary, and eventually return to the previous windown by pressing \textit{Back to energy setup}.\\
The canvas will show the plot of the S-curves relative to the median of the selected module, fitted with equation~\ref{eq:thrscan} and the linear fit between the energy values and the fitted inflection points.
Normally the points lie on a straight line (although often not perfect), therefore it should be simple to spot if there are problems in the fitting of some of the data.\\
If \textit{Manual save} is unclicked, the calibration files will be saved locally, with the extension automatically generated by using the modules serial numbers, every time a linear fit is performed (i.e. if you mess up wiht the linear fit you overwrite a previous good file!). If you click the checkbox, you need to save the calibration by pressing \textit{Write to file} for each module once you are happy with the fit.
To change the Y scale of the plot, edit the \textit{Counts} entry. After clicking of the energy button (eventually twice) the maximum of the histogram will be set to three times the value.
To re-fit one energy with modified range or start parameters, you should press the central button with the energy value once the energy is selected. The text color tells you which curve you are referring to.\\
You should set the range of the fit. In particular the maximum should be limited in order to avoid to enter the noise range (and can be pretty different for the various modules).\\
Normally the data are acquired by collecting holes from the detector and therefore the \textit{Invert axis} check button should be ckecked. Uncheck it in case your detector collects electrons (e.g. CdTe, Si n in p)
You can change the start values of the parameters of the fits by editing the number eneries. The label nearby will show you the actual value of the fitted parameters.\\
By checking the checkboxes you can fix the values to the ones you specify.\\
Normally it can be useful to fix the pedestal and pedestal slope to 0, unless you have a lot of 3rd armnonics contribution, primary beam background or similar.\\
Changing the starting value of the inflection point or of the number of counts can often help the fit to converge.\\
Normally it is not very useful to change the starting value for the noise or charge sharing slope.
The button \textit{Finished} will be enebled only once the calibration files have been generated for all modules.
\begin{figure}
\caption{Window to calibrate the modules.} \label{fig:calibratemodule}
\includegraphics[width=\textwidth]{calibrateModule.eps}
\end{figure}
\newpage
\section{Setup calibration files}
To use the genrated calibration files as default ones, copy them into your default \textit{caldir/settings} renaming them calibration.snxxx, where snxxx is the extension that the genrated files already have, which corresponds to the module serial number.\\
Fot this scope, a script as following can be used:
\begin{verbatim}
for i in $(ls newcal_standard.sn* | awk -F "." '{print $2}'); do \
mv newcal_standard.$i caldir/standard/calibration.$i; \
done
\end{verbatim}
By reloading the default detector settings, the calibration coefficients will be automatically loaded.

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

View File

@ -0,0 +1,16 @@
\documentclass{article}
\usepackage{amssymb}
\usepackage[dvips]{graphicx}
\usepackage{verbatim}
\begin{document}
\title{Energy calibration wizard manual}
\author{Anna Bergamaschi}
\date{\today}
\maketitle
\section{Introduction}
\input{enCal.tex}
\end{document}

View File

@ -0,0 +1,135 @@
%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 0 0 567 550
%%Title: /afs/psi.ch/project/mythen/mythen_datasheet/article/thrscan_expl.eps: c1
%%Creator: ROOT Version 5.17/02
%%CreationDate: Tue Oct 28 10:15:04 2008
%%EndComments
%%BeginProlog
80 dict begin
/s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def
/sw {stringwidth} def /r {rotate} def /rl {roll} def /R {repeat} def
/d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def
/c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def
/cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def
/box {m dup 0 exch d exch 0 d 0 exch neg d cl} def
/NC{systemdict begin initclip end}def/C{NC box clip newpath}def
/bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def
/mp {newpath /y exch def /x exch def} def
/side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def
/mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def
/mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def
/mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def
/m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def
/m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def
/m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def
/m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d
0 w3 neg d w3 neg 0 d cl s } def
/m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl fill gr} def
/m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl s gr} def
/m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2
sub m w w d s} def
/m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def
/m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def
/reencdict 24 dict def /ReEncode {reencdict begin /nco&na exch def
/nfnam exch def /basefontname exch def /basefontdict basefontname findfont def
/newfont basefontdict maxlength dict def basefontdict {exch dup /FID ne
{dup /Encoding eq {exch dup length array copy newfont 3 1 roll put} {exch
newfont 3 1 roll put} ifelse} {pop pop} ifelse } forall newfont
/FontName nfnam put nco&na aload pop nco&na length 2 idiv {newfont
/Encoding get 3 1 roll put} repeat nfnam newfont definefont pop end } def
/accvec [ 176 /agrave 181 /Agrave 190 /acircumflex 192 /Acircumflex
201 /adieresis 204 /Adieresis 209 /ccedilla 210 /Ccedilla 211 /eacute
212 /Eacute 213 /egrave 214 /Egrave 215 /ecircumflex 216 /Ecircumflex
217 /edieresis 218 /Edieresis 219 /icircumflex 220 /Icircumflex
221 /idieresis 222 /Idieresis 223 /ntilde 224 /Ntilde 226 /ocircumflex
228 /Ocircumflex 230 /Odieresis 231 /ucircumflex 236 /Ucircumflex
237 /udieresis 238 /Udieresis 239 /aring 240 /odieresis 242 /Aring 243 /ydieresis
244 /Ydieresis 246 /aacute 247 /Aacute 252 /ugrave 253 /Ugrave
127 /atilde 128 /Atilde 129 /oacute 130 /Oacute 131 /iacute
132 /Iacute 133 /igrave 134 /Igrave 135 /otilde 136 /Otilde
137 /uacute 138 /Uacute] def
/Times-Roman /Times-Roman accvec ReEncode
/Times-Italic /Times-Italic accvec ReEncode
/Times-Bold /Times-Bold accvec ReEncode
/Times-BoldItalic /Times-BoldItalic accvec ReEncode
/Helvetica /Helvetica accvec ReEncode
/Helvetica-Oblique /Helvetica-Oblique accvec ReEncode
/Helvetica-Bold /Helvetica-Bold accvec ReEncode
/Helvetica-BoldOblique /Helvetica-BoldOblique accvec ReEncode
/Courier /Courier accvec ReEncode
/Courier-Oblique /Courier-Oblique accvec ReEncode
/Courier-Bold /Courier-Bold accvec ReEncode
/Courier-BoldOblique /Courier-BoldOblique accvec ReEncode
/oshow {gsave [] 0 sd true charpath stroke gr} def
/stwn { /fs exch def /fn exch def /text exch def fn findfont fs sf
text sw pop xs add /xs exch def} def
/stwb { /fs exch def /fn exch def /nbas exch def /textf exch deftextf length /tlen exch def nbas tlen gt {/nbas tlendef} iffn findfont fs sf textf dup length nbas sub nbas getinterval sw
pop neg xs add /xs exch def} def
/accspe [ 65 /plusminus 66 /bar 67 /existential 68 /universal
69 /exclam 70 /numbersign 71 /greater 72 /question 73 /integral
74 /colon 75 /semicolon 76 /less 77 /bracketleft 78 /bracketright
79 /greaterequal 80 /braceleft 81 /braceright 82 /radical
83 /spade 84 /heart 85 /diamond 86 /club 87 /lessequal
88 /multiply 89 /percent 90 /infinity 48 /circlemultiply 49 /circleplus
50 /emptyset 51 /lozenge 52 /bullet 53 /arrowright 54 /arrowup
55 /arrowleft 56 /arrowdown 57 /arrowboth 48 /degree 44 /comma 43 /plus 45 /angle 42 /angleleft 47 /divide 61 /notequal 40 /equivalence 41 /second 97 /approxequal 98 /congruent 99 /perpendicular 100 /partialdiff 101 /florin 102 /intersection
103 /union 104 /propersuperset 105 /reflexsuperset 106 /notsubset 107 /propersubset 108 /reflexsubset 109 /element 110 /notelement 111 /gradient 112 /logicaland 113 /logicalor 114 /arrowdblboth 115 /arrowdblleft 116 /arrowdblup 117 /arrowdblright
118 /arrowdbldown 119 /ampersand 120 /omega1 121 /similar 122 /aleph ] def
/Symbol /Special accspe ReEncode
%%EndProlog
%%BeginSetup
%%EndSetup
newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 3 lw 1 1 1 c 2268 2199 0 0 bf black 1 1 1 c 1815 1761 339 319 bf black 1815 1761 339 319 bl 1 1 1 c 1815 1761 339 319 bf black 1815 1761 339 319 bl 1 1 1 c black 339 319 m 1815 X s 339 319 m
1815 X s
gsave 2268 2199 0 0 C 1652 151 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (Energy \(keV\)) show NC gr 339 372 m -53 Y s 392 345 m -26 Y s 446 345 m -26 Y s 499 345 m -26 Y s 553 372 m -53 Y s 606 345 m -26 Y s 659 345 m -26 Y s 713 345 m -26
Y s 766 372 m -53 Y s 819 345 m -26 Y s 873 345 m -26 Y s 926 345 m -26 Y s 980 372 m -53 Y s 1033 345 m -26 Y s 1086 345 m -26 Y s 1140 345 m -26 Y s 1193 372 m -53 Y s 1246 345 m -26 Y s 1300 345 m -26 Y s 1353 345 m -26 Y s 1407 372 m -53 Y s
1460 345 m -26 Y s 1513 345 m -26 Y s 1567 345 m -26 Y s 1620 372 m -53 Y s 1673 345 m -26 Y s 1727 345 m -26 Y s 1780 345 m -26 Y s 1834 372 m -53 Y s 1887 345 m -26 Y s 1940 345 m -26 Y s 1994 345 m -26 Y s 2047 372 m -53 Y s 2047 372 m -53 Y s
2100 345 m -26 Y s 2154 345 m -26 Y s
gsave 2268 2199 0 0 C 316 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (0) show NC gr
gsave 2268 2199 0 0 C 527 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (2) show NC gr
gsave 2268 2199 0 0 C 741 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (4) show NC gr
gsave 2268 2199 0 0 C 954 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (6) show NC gr
gsave 2268 2199 0 0 C 1168 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (8) show NC gr
gsave 2268 2199 0 0 C 1359 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (10) show NC gr
gsave 2268 2199 0 0 C 1573 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (12) show NC gr
gsave 2268 2199 0 0 C 1786 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (14) show NC gr
gsave 2268 2199 0 0 C 2000 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (16) show NC gr 339 319 m 1761 Y s
gsave 2268 2199 0 0 C 85 1798 t 90 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (Counts) show NC gr 393 319 m -54 X s 366 363 m -27 X s 366 407 m -27 X s 366 451 m -27 X s 393 495 m -54 X s 366 539 m -27 X s 366 583 m -27 X s 366 627 m -27 X s 393
671 m -54 X s 366 715 m -27 X s 366 759 m -27 X s 366 803 m -27 X s 393 847 m -54 X s 366 891 m -27 X s 366 935 m -27 X s 366 979 m -27 X s 393 1023 m -54 X s 366 1067 m -27 X s 366 1111 m -27 X s 366 1155 m -27 X s 393 1199 m -54 X s 366 1243 m
-27 X s 366 1287 m -27 X s 366 1331 m -27 X s 393 1375 m -54 X s 366 1419 m -27 X s 366 1463 m -27 X s 366 1507 m -27 X s 393 1552 m -54 X s 366 1596 m -27 X s 366 1640 m -27 X s 366 1684 m -27 X s 393 1728 m -54 X s 366 1772 m -27 X s 366 1816 m
-27 X s 366 1860 m -27 X s 393 1904 m -54 X s 366 1948 m -27 X s 366 1992 m -27 X s 366 2036 m -27 X s 393 2080 m -54 X s
gsave 2268 2199 0 0 C 285 282 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (0) show NC gr
gsave 2268 2199 0 0 C 145 459 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (2000) show NC gr
gsave 2268 2199 0 0 C 145 635 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (4000) show NC gr
gsave 2268 2199 0 0 C 145 812 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (6000) show NC gr
gsave 2268 2199 0 0 C 145 989 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (8000) show NC gr
gsave 2268 2199 0 0 C 100 1162 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (10000) show NC gr
gsave 2268 2199 0 0 C 100 1339 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (12000) show NC gr
gsave 2268 2199 0 0 C 100 1516 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (14000) show NC gr
gsave 2268 2199 0 0 C 100 1692 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (16000) show NC gr
gsave 2268 2199 0 0 C 100 1869 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (18000) show NC gr
gsave 2268 2199 0 0 C 100 2043 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (20000) show NC gr 9 lw 0.95 0.95 0.95 c black 584 2080 m 18 -143 d 18 -243 d 18 -158 d 19 -101 d 18 -63 d 18 -40 d 18 -25 d 18 -16 d 18 -12 d 18 -9 d 19 -7 d 18 -7 d
18 -6 d 18 -6 d 18 -5 d 18 -6 d 19 -6 d 18 -6 d 18 -6 d 18 -5 d 18 -6 d 18 -6 d 18 -6 d 19 -5 d 18 -6 d 18 -6 d 18 -6 d 18 -5 d 18 -6 d 18 -6 d 19 -6 d 18 -5 d 18 -6 d 18 -6 d 18 -6 d 18 -6 d 18 -5 d 19 -6 d 18 -7 d 18 -6 d 18 -7 d 18 -7 d 18 -8 d
18 -9 d 19 -11 d 18 -13 d 18 -16 d 18 -19 d 18 -22 d s 1473 981 m 18 -26 d 19 -31 d 18 -36 d 18 -39 d 18 -44 d 18 -46 d 18 -48 d 18 -49 d 19 -48 d 18 -46 d 18 -44 d 18 -39 d 18 -34 d 18 -30 d 18 -25 d 19 -20 d 18 -16 d 18 -12 d 18 -9 d 18 -7 d 18
-4 d 18 -3 d 19 -3 d 18 -1 d 18 -1 d 18 X 18 -1 d 182 X s[ 4 8] 0 sd 0.95 0.95 0.95 c black 348 996 m 889 X s 1237 996 m 37 X 18 -1 d 18 X 18 -1 d 18 -1 d 18 -3 d 18 -3 d 19 -5 d 18 -6 d 18 -9 d 18 -13 d 18 -16 d 18 -20 d 19 -24 d 18 -29 d 18 -34 d
18 -38 d 18 -42 d 18 -44 d 18 -45 d 19 -46 d 18 -44 d 18 -42 d 18 -39 d 18 -35 d 18 -30 d 18 -25 d 19 -21 d 18 -17 d 18 -12 d 18 -10 d 18 -7 d 18 -5 d 18 -4 d 19 -2 d 18 -2 d 18 -1 d 36 X 18 -1 d 146 X s 2127 319 m 18 X s[ ] 0 sd 3 lw 0.95 0.95
0.95 c black 584 2080 m 18 -263 d 18 -237 d 18 -152 d 19 -95 d 18 -58 d 18 -34 d 18 -19 d 18 -11 d 18 -6 d 18 -3 d 19 -1 d 18 -1 d 36 X 18 -1 d 418 X 18 -1 d 18 X 18 -1 d 18 -2 d 18 -3 d 18 -4 d 19 -6 d 18 -9 d 18 -12 d 18 -16 d 18 -21 d s 1473
1124 m 18 -26 d 19 -32 d 18 -38 d 18 -44 d 18 -49 d 18 -54 d 18 -57 d 18 -60 d 19 -59 d 18 -58 d 18 -54 d 18 -51 d 18 -44 d 18 -40 d 18 -33 d 19 -27 d 18 -21 d 18 -17 d 18 -13 d 18 -9 d 18 -6 d 18 -5 d 19 -3 d 18 -2 d 18 -1 d 18 -1 d 18 X 18 -1 d
164 X s[ 12 12] 0 sd 6 lw 339 1199 m 1281 X s 1620 1199 m -880 Y s 1620 319 m 534 X s[ 12 16 4 16] 0 sd 980 319 m 880 Y s
gsave 2268 2199 0 0 C 1695 319 t 0 r /Helvetica-Bold findfont 68.3734 sf 0 0 m (0) show NC gr
gsave 2268 2199 0 0 C 1630 348 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (E) show NC gr
gsave 2268 2199 0 0 C 1054 319 t 0 r /Helvetica-Bold findfont 68.3734 sf 0 0 m (t) show NC gr
gsave 2268 2199 0 0 C 989 348 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (E) show NC gr
gsave 2268 2199 0 0 C 439 1199 t 0 r /Helvetica-Bold findfont 68.3734 sf 0 0 m (0) show NC gr
gsave 2268 2199 0 0 C 370 1228 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (N) show NC gr [ ] 0 sd 1545 1067 m 43 X s 3 lw 1588 1086 m 32 -19 d -32 -18 d f 6 lw 1588 1086 m 32 -19 d -32 -18 d 37 Y cl s 3 lw 1545 1049 m -32 18 d 32 19 d f 6 lw
1545 1049 m -32 18 d 32 19 d -37 Y cl s
gsave 2268 2199 0 0 C 1501 1094 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (ENC) show NC gr 926 1029 m 139 Y s 3 lw 908 1168 m 18 31 d 18 -31 d f 6 lw 908 1168 m 18 31 d 18 -31 d -36 X cl s 3 lw 944 1029 m -18 -32 d -18 32 d f 6 lw 944 1029 m
-18 -32 d -18 32 d 36 X cl s
gsave 2268 2199 0 0 C 855 1048 t 0 r /Helvetica-Bold findfont 68.3734 sf 0 0 m (S) show NC gr
gsave 2268 2199 0 0 C 786 1077 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (N) show NC gr
gr gr
showpage
end
%%EOF

View File

@ -0,0 +1,150 @@
%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 0 0 567 550
%%Title: /afs/psi.ch/user/b/bergamaschi/root_macros/paper/thrscanSettings.eps: c1_n4
%%Creator: ROOT Version 5.20/00
%%CreationDate: Wed Dec 3 14:58:49 2008
%%EndComments
%%BeginProlog
80 dict begin
/s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def
/sw {stringwidth} def /r {rotate} def /rl {roll} def /R {repeat} def
/d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def
/c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def
/cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def
/box {m dup 0 exch d exch 0 d 0 exch neg d cl} def
/NC{systemdict begin initclip end}def/C{NC box clip newpath}def
/bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def
/mp {newpath /y exch def /x exch def} def
/side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def
/mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def
/mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def
/mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def
/m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def
/m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def
/m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def
/m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d
0 w3 neg d w3 neg 0 d cl s } def
/m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl fill gr} def
/m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl s gr} def
/m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2
sub m w w d s} def
/m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def
/m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def
/reEncode {exch findfont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse } forall /Encoding exch def currentdict end dup /FontName get exch definefont pop } def [/Times-Bold /Times-Italic /Times-BoldItalic /Helvetica
/Helvetica-Oblique /Helvetica-Bold /Helvetica-BoldOblique /Courier /Courier-Oblique /Courier-Bold /Courier-BoldOblique /Times-Roman /AvantGarde-Book /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique /Bookman-Demi
/Bookman-DemiItalic /Bookman-Light /Bookman-LightItalic /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /NewCenturySchlbk-Roman /NewCenturySchlbk-Bold
/NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /Palatino-Bold /Palatino-BoldItalic /Palatino-Italic /Palatino-Roman ] {ISOLatin1Encoding reEncode } forall
/oshow {gsave [] 0 sd true charpath stroke gr} def
/stwn { /fs exch def /fn exch def /text exch def fn findfont fs sf
text sw pop xs add /xs exch def} def
/stwb { /fs exch def /fn exch def /nbas exch def /textf exch deftextf length /tlen exch def nbas tlen gt {/nbas tlendef} iffn findfont fs sf textf dup length nbas sub nbas getinterval sw
pop neg xs add /xs exch def} def
%%EndProlog
%%BeginSetup
%%EndSetup
newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 6 lw 1 1 1 c 2268 2199 0 0 bf black 3 lw 1 1 1 c 1814 1759 340 330 bf black 1814 1759 340 330 bl 1 1 1 c 1814 1759 340 330 bf black 1814 1759 340 330 bl 1 1 1 c black 340 330 m 1814 X s 6 lw
340 330 m 1814 X s
gsave 2268 2199 0 0 C 1530 123 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (Energy \(keV\)) show NC gr 340 383 m -53 Y s 392 356 m -26 Y s 444 356 m -26 Y s 496 356 m -26 Y s 547 383 m -53 Y s 599 356 m -26 Y s 651 356 m -26 Y s 703 356 m -26
Y s 755 383 m -53 Y s 807 356 m -26 Y s 858 356 m -26 Y s 910 356 m -26 Y s 962 383 m -53 Y s 1014 356 m -26 Y s 1066 356 m -26 Y s 1118 356 m -26 Y s 1169 383 m -53 Y s 1221 356 m -26 Y s 1273 356 m -26 Y s 1325 356 m -26 Y s 1377 383 m -53 Y s
1429 356 m -26 Y s 1480 356 m -26 Y s 1532 356 m -26 Y s 1584 383 m -53 Y s 1636 356 m -26 Y s 1688 356 m -26 Y s 1740 356 m -26 Y s 1791 383 m -53 Y s 1843 356 m -26 Y s 1895 356 m -26 Y s 1947 356 m -26 Y s 1999 383 m -53 Y s 1999 383 m -53 Y s
2051 356 m -26 Y s 2102 356 m -26 Y s 2154 356 m -26 Y s
gsave 2268 2199 0 0 C 316 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (0) show NC gr
gsave 2268 2199 0 0 C 524 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (2) show NC gr
gsave 2268 2199 0 0 C 729 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (4) show NC gr
gsave 2268 2199 0 0 C 937 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (6) show NC gr
gsave 2268 2199 0 0 C 1145 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (8) show NC gr
gsave 2268 2199 0 0 C 1330 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (10) show NC gr
gsave 2268 2199 0 0 C 1538 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (12) show NC gr
gsave 2268 2199 0 0 C 1744 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (14) show NC gr
gsave 2268 2199 0 0 C 1951 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (16) show NC gr 340 330 m 1759 Y s
gsave 2268 2199 0 0 C 94 1177 t 90 r /Helvetica-Bold findfont 102.56 sf 0 0 m (Normalized counts) show NC gr 395 330 m -55 X s 367 374 m -27 X s 367 418 m -27 X s 367 462 m -27 X s 395 506 m -55 X s 367 550 m -27 X s 367 594 m -27 X s 367 638 m
-27 X s 395 682 m -55 X s 367 726 m -27 X s 367 770 m -27 X s 367 814 m -27 X s 395 858 m -55 X s 367 902 m -27 X s 367 946 m -27 X s 367 990 m -27 X s 395 1034 m -55 X s 367 1078 m -27 X s 367 1122 m -27 X s 367 1166 m -27 X s 395 1210 m -55 X s
367 1254 m -27 X s 367 1298 m -27 X s 367 1342 m -27 X s 395 1386 m -55 X s 367 1430 m -27 X s 367 1474 m -27 X s 367 1518 m -27 X s 395 1562 m -55 X s 367 1606 m -27 X s 367 1650 m -27 X s 367 1693 m -27 X s 395 1737 m -55 X s 367 1781 m -27 X s
367 1825 m -27 X s 367 1869 m -27 X s 395 1913 m -55 X s 367 1957 m -27 X s 367 2001 m -27 X s 367 2045 m -27 X s 395 2089 m -55 X s
gsave 2268 2199 0 0 C 285 293 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (0) show NC gr
gsave 2268 2199 0 0 C 217 470 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (0.2) show NC gr
gsave 2268 2199 0 0 C 214 647 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (0.4) show NC gr
gsave 2268 2199 0 0 C 214 823 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (0.6) show NC gr
gsave 2268 2199 0 0 C 214 997 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (0.8) show NC gr
gsave 2268 2199 0 0 C 293 1171 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (1) show NC gr
gsave 2268 2199 0 0 C 217 1348 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (1.2) show NC gr
gsave 2268 2199 0 0 C 214 1524 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (1.4) show NC gr
gsave 2268 2199 0 0 C 214 1701 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (1.6) show NC gr
gsave 2268 2199 0 0 C 214 1877 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (1.8) show NC gr
gsave 2268 2199 0 0 C 285 2051 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (2) show NC gr 1 1 1 c 1112 857 1020 1210 bf 1020 1210 m 4 4 d 849 Y 1104 X 4 4 d -1112 X -857 Y f 1020 1210 m 4 4 d 1104 X 849 Y 4 4 d -857 Y -1112 X f black 3 lw 1 1
1 c 977 755 1132 1295 bf black 977 755 1132 1295 bl 1 1 1 c 977 755 1132 1295 bf black 977 755 1132 1295 bl 1 1 1 c black 1132 1295 m 977 X s 6 lw 1132 1295 m 977 X s 1132 1318 m -23 Y s 1156 1307 m -12 Y s 1180 1307 m -12 Y s 1205 1307 m -12 Y s
1229 1307 m -12 Y s 1254 1318 m -23 Y s 1278 1307 m -12 Y s 1303 1307 m -12 Y s 1327 1307 m -12 Y s 1352 1307 m -12 Y s 1376 1318 m -23 Y s 1400 1307 m -12 Y s 1425 1307 m -12 Y s 1449 1307 m -12 Y s 1474 1307 m -12 Y s 1498 1318 m -23 Y s 1523
1307 m -12 Y s 1547 1307 m -12 Y s 1572 1307 m -12 Y s 1596 1307 m -12 Y s 1621 1318 m -23 Y s 1645 1307 m -12 Y s 1669 1307 m -12 Y s 1694 1307 m -12 Y s 1718 1307 m -12 Y s 1743 1318 m -23 Y s 1767 1307 m -12 Y s 1792 1307 m -12 Y s 1816 1307 m
-12 Y s 1841 1307 m -12 Y s 1865 1318 m -23 Y s 1889 1307 m -12 Y s 1914 1307 m -12 Y s 1938 1307 m -12 Y s 1963 1307 m -12 Y s 1987 1318 m -23 Y s 2012 1307 m -12 Y s 2036 1307 m -12 Y s 2061 1307 m -12 Y s 2085 1307 m -12 Y s 2109 1318 m -23 Y s
gsave 1112 857 1020 1210 C 1100 1265 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (10.5) show NC gr
gsave 1112 857 1020 1210 C 1239 1265 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (11) show NC gr
gsave 1112 857 1020 1210 C 1345 1265 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (11.5) show NC gr
gsave 1112 857 1020 1210 C 1479 1265 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (12) show NC gr
gsave 1112 857 1020 1210 C 1587 1265 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (12.5) show NC gr
gsave 1112 857 1020 1210 C 1724 1265 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (13) show NC gr
gsave 1112 857 1020 1210 C 1832 1265 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (13.5) show NC gr
gsave 1112 857 1020 1210 C 1969 1265 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (14) show NC gr
gsave 1112 857 1020 1210 C 2077 1265 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (14.5) show NC gr 1132 1295 m 755 Y s 1161 1295 m -29 X s 1146 1314 m -14 X s 1146 1333 m -14 X s 1146 1352 m -14 X s 1146 1371 m -14 X s 1161 1390 m -29 X s
1146 1409 m -14 X s 1146 1428 m -14 X s 1146 1446 m -14 X s 1146 1465 m -14 X s 1161 1484 m -29 X s 1146 1503 m -14 X s 1146 1522 m -14 X s 1146 1541 m -14 X s 1146 1560 m -14 X s 1161 1578 m -29 X s 1146 1597 m -14 X s 1146 1616 m -14 X s 1146
1635 m -14 X s 1146 1654 m -14 X s 1161 1673 m -29 X s 1146 1692 m -14 X s 1146 1711 m -14 X s 1146 1729 m -14 X s 1146 1748 m -14 X s 1161 1767 m -29 X s 1146 1786 m -14 X s 1146 1805 m -14 X s 1146 1824 m -14 X s 1146 1843 m -14 X s 1161 1862 m
-29 X s 1146 1880 m -14 X s 1146 1899 m -14 X s 1146 1918 m -14 X s 1146 1937 m -14 X s 1161 1956 m -29 X s 1146 1975 m -14 X s 1146 1994 m -14 X s 1146 2012 m -14 X s 1146 2031 m -14 X s 1161 2050 m -29 X s
gsave 1112 857 1020 1210 C 1108 1285 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (0) show NC gr
gsave 1112 857 1020 1210 C 1085 1379 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (0.1) show NC gr
gsave 1112 857 1020 1210 C 1083 1473 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (0.2) show NC gr
gsave 1112 857 1020 1210 C 1083 1570 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (0.3) show NC gr
gsave 1112 857 1020 1210 C 1080 1664 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (0.4) show NC gr
gsave 1112 857 1020 1210 C 1083 1758 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (0.5) show NC gr
gsave 1112 857 1020 1210 C 1083 1852 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (0.6) show NC gr
gsave 1112 857 1020 1210 C 1083 1946 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (0.7) show NC gr
gsave 1112 857 1020 1210 C 1083 2040 t 0 r /Helvetica-Bold findfont 31.3461 sf 0 0 m (0.8) show NC gr 3 lw 1 1 1 c black /w 24 def /w2 {w 2 div} def /w3 {w 3 div} def 1147 1989 1177 1978 1208 1964 1239 1951 1269 1934 1300 1916 1330 1896 1361 1874
1391 1850 1422 1824 1452 1795 1483 1764 1514 1730 1544 1695 1575 1659 1605 1621 1636 1583 1666 1547 1697 1513 1727 1480 1758 1449 1789 1422 1819 1398 1850 1376 1880 1358 1911 1344 1941 1332 1972 1323 2002 1315 2033 1310 2064 1306 2094 1303 32 { m20
} R 9 lw 0.95 0.95 0.95 c black 1136 1998 m 10 -3 d 10 -3 d 10 -4 d 10 -4 d 9 -3 d 10 -4 d 10 -4 d 10 -4 d 9 -4 d 10 -5 d 10 -5 d 10 -4 d 10 -5 d 9 -6 d 10 -5 d 10 -6 d 10 -6 d 9 -6 d 10 -7 d 10 -6 d 10 -7 d 10 -8 d 9 -7 d 10 -8 d 10 -8 d 10 -8 d 9
-9 d 10 -9 d 10 -9 d 10 -10 d 10 -10 d 9 -10 d 10 -10 d 10 -10 d 10 -11 d 10 -11 d 9 -11 d 10 -11 d 10 -12 d 10 -12 d 9 -11 d 10 -12 d 10 -12 d 10 -12 d 10 -12 d 9 -13 d 10 -12 d 10 -12 d 10 -12 d s 1616 1605 m 9 -12 d 10 -12 d 10 -12 d 10 -11 d 10
-12 d 9 -11 d 10 -11 d 10 -11 d 10 -11 d 9 -11 d 10 -10 d 10 -10 d 10 -10 d 10 -9 d 9 -9 d 10 -9 d 10 -8 d 10 -8 d 9 -8 d 10 -8 d 10 -7 d 10 -6 d 10 -7 d 9 -6 d 10 -6 d 10 -6 d 10 -5 d 9 -5 d 10 -4 d 10 -5 d 10 -4 d 10 -3 d 9 -4 d 10 -3 d 10 -3 d
10 -3 d 9 -3 d 10 -2 d 10 -2 d 10 -3 d 10 -1 d 9 -2 d 10 -2 d 10 -1 d 10 -1 d 9 -2 d 10 -1 d 10 -1 d 10 -1 d s 2095 1303 m 10 X s[ 12 12] 0 sd 3 lw 1 1 1 c black[ ] 0 sd 1147 1972 1177 1960 1208 1944 1239 1929 1269 1911 1300 1891 1330 1870 1361
1847 1391 1822 1422 1795 1452 1767 1483 1737 1514 1704 1544 1672 1575 1639 1605 1607 1636 1573 1666 1541 1697 1510 1727 1481 1758 1454 1789 1429 1819 1407 1850 1388 1880 1370 1911 1355 1941 1343 1972 1332 2002 1324 2033 1317 2064 1312 2094 1308 32
{ m24} R[ 12 12] 0 sd 9 lw 0.95 0.95 0.95 c black 1136 1982 m 10 -4 d 10 -3 d 10 -5 d 10 -4 d 9 -4 d 10 -5 d 10 -5 d 10 -5 d 9 -5 d 10 -5 d 10 -6 d 10 -5 d 10 -6 d 9 -6 d 10 -6 d 10 -6 d 10 -7 d 9 -7 d 10 -7 d 10 -7 d 10 -8 d 10 -7 d 9 -8 d 10 -8 d
10 -9 d 10 -8 d 9 -9 d 10 -9 d 10 -9 d 10 -9 d 10 -10 d 9 -9 d 10 -10 d 10 -10 d 10 -10 d 10 -10 d 9 -10 d 10 -11 d 10 -11 d 10 -10 d 9 -11 d 10 -10 d 10 -11 d 10 -11 d 10 -11 d 9 -11 d 10 -10 d 10 -11 d 10 -11 d s 1616 1592 m 9 -10 d 10 -11 d 10
-10 d 10 -10 d 10 -10 d 9 -10 d 10 -10 d 10 -10 d 10 -10 d 9 -9 d 10 -9 d 10 -9 d 10 -8 d 10 -9 d 9 -8 d 10 -8 d 10 -7 d 10 -8 d 9 -7 d 10 -7 d 10 -7 d 10 -6 d 10 -7 d 9 -5 d 10 -6 d 10 -6 d 10 -5 d 9 -4 d 10 -5 d 10 -5 d 10 -4 d 10 -4 d 9 -4 d 10
-3 d 10 -3 d 10 -4 d 9 -3 d 10 -2 d 10 -3 d 10 -2 d 10 -3 d 9 -2 d 10 -2 d 10 -2 d 10 -1 d 9 -2 d 10 -1 d 10 -2 d 10 -1 d s 2095 1308 m 10 -1 d s[ 4 8] 0 sd 3 lw 1 1 1 c black[ ] 0 sd 1147 2002 1177 1989 1208 1983 1239 1966 1269 1957 1300 1940
1330 1925 1361 1904 1391 1886 1422 1863 1452 1834 1483 1804 1514 1767 1544 1731 1575 1686 1605 1646 1636 1597 1666 1556 1697 1511 1727 1473 1758 1436 1789 1405 1819 1381 1850 1358 1880 1343 1911 1329 1941 1321 1972 1313 2002 1311 2033 1306 2064
1306 2094 1304 32 { m28} R[ 4 8] 0 sd 9 lw 0.95 0.95 0.95 c black 1136 2004 m 10 -3 d 10 -2 d 10 -3 d 10 -3 d 9 -3 d 10 -3 d 10 -3 d 10 -3 d 9 -4 d 10 -3 d 10 -4 d 10 -3 d 10 -4 d 9 -4 d 10 -4 d 10 -5 d 10 -4 d 9 -5 d 10 -5 d 10 -5 d 10 -6 d 10 -6
d 9 -6 d 10 -7 d 10 -7 d 10 -7 d 9 -7 d 10 -9 d 10 -8 d 10 -8 d 10 -10 d 9 -10 d 10 -10 d 10 -10 d 10 -11 d 10 -11 d 9 -11 d 10 -13 d 10 -12 d 10 -13 d 9 -13 d 10 -13 d 10 -14 d 10 -13 d 10 -14 d 9 -15 d 10 -14 d 10 -14 d 10 -14 d s 1616 1625 m 9
-15 d 10 -14 d 10 -14 d 10 -14 d 10 -14 d 9 -13 d 10 -14 d 10 -13 d 10 -13 d 9 -12 d 10 -12 d 10 -12 d 10 -11 d 10 -11 d 9 -10 d 10 -11 d 10 -9 d 10 -8 d 9 -9 d 10 -8 d 10 -8 d 10 -7 d 10 -7 d 9 -5 d 10 -6 d 10 -6 d 10 -5 d 9 -4 d 10 -4 d 10 -4 d
10 -3 d 10 -3 d 9 -3 d 10 -3 d 10 -2 d 10 -2 d 9 -2 d 10 -2 d 10 -1 d 10 -2 d 10 -1 d 9 -1 d 10 -1 d 10 -1 d 10 X 9 -1 d 10 X 10 -1 d 10 X s 2095 1303 m 10 -1 d s[ ] 0 sd 3 lw 1 1 1 c black 632 2089 645 1978 658 1730 671 1586 684 1490 697 1427 709
1390 722 1364 735 1345 748 1334 761 1324 774 1315 787 1309 800 1302 813 1295 826 1289 839 1282 852 1277 865 1270 878 1264 891 1258 904 1251 917 1246 930 1240 943 1234 956 1229 969 1222 982 1216 995 1210 1008 1204 1020 1196 1033 1193 1046 1186 1059
1180 1072 1173 1085 1169 1098 1163 1111 1156 1124 1150 1137 1145 1150 1140 1163 1133 1176 1127 1189 1120 1202 1115 1215 1109 1228 1101 1241 1095 1254 1087 1267 1081 50 { m20} R 632 2089 m 13 -111 d 13 -248 d 13 -144 d 13 -96 d 13 -63 d 12 -37 d 13
-26 d 13 -19 d 13 -11 d 13 -10 d 13 -9 d 13 -6 d 13 -7 d 13 -7 d 13 -6 d 13 -7 d 13 -5 d 13 -7 d 13 -6 d 13 -6 d 13 -7 d 13 -5 d 13 -6 d 13 -6 d 13 -5 d 13 -7 d 13 -6 d 13 -6 d 13 -6 d 12 -8 d 13 -3 d 13 -7 d 13 -6 d 13 -7 d 13 -4 d 13 -6 d 13 -7 d
13 -6 d 13 -5 d 13 -5 d 13 -7 d 13 -6 d 13 -7 d 13 -5 d 13 -6 d 13 -8 d 13 -6 d 13 -8 d 13 -6 d s 1267 1081 1280 1075 1293 1068 1306 1060 1319 1052 1331 1046 1344 1038 1357 1031 1370 1022 1383 1015 1396 1006 1409 998 1422 987 1435 977 1448 966 1461
954 1474 941 1487 925 1500 909 1513 890 1526 869 1539 847 1552 823 1565 796 1578 767 1591 735 1604 702 1617 668 1630 634 1642 598 1655 565 1668 532 1681 502 1694 473 1707 448 1720 425 1733 405 1746 389 1759 375 1772 364 1785 355 1798 348 1811 343
1824 340 1837 337 1850 335 1863 334 1876 333 1889 332 1902 332 50 { m20} R 1267 1081 m 13 -6 d 13 -7 d 13 -8 d 13 -8 d 12 -6 d 13 -8 d 13 -7 d 13 -9 d 13 -7 d 13 -9 d 13 -8 d 13 -11 d 13 -10 d 13 -11 d 13 -12 d 13 -13 d 13 -16 d 13 -16 d 13 -19 d
13 -21 d 13 -22 d 13 -24 d 13 -27 d 13 -29 d 13 -32 d 13 -33 d 13 -34 d 13 -34 d 12 -36 d 13 -33 d 13 -33 d 13 -30 d 13 -29 d 13 -25 d 13 -23 d 13 -20 d 13 -16 d 13 -14 d 13 -11 d 13 -9 d 13 -7 d 13 -5 d 13 -3 d 13 -3 d 13 -2 d 13 -1 d 13 -1 d 13
-1 d 13 X s 1902 332 1915 331 1928 331 1941 331 1953 331 1966 331 1979 331 1992 331 2005 331 2018 331 2031 331 2044 331 2057 331 2070 331 2083 331 2096 331 2109 331 2122 331 2135 331 2148 331 20 { m20} R 1902 332 m 13 -1 d 233 X s[ 12 12] 0 sd 1 1
1 c black[ ] 0 sd 748 2089 761 1386 774 1361 787 1345 800 1325 813 1319 826 1305 839 1294 852 1286 865 1279 878 1270 891 1263 904 1254 917 1247 930 1242 943 1235 956 1229 969 1223 982 1215 995 1210 1008 1204 1020 1197 1033 1191 1046 1185 1059 1181
1072 1174 1085 1168 1098 1161 1111 1155 1124 1148 1137 1142 1150 1136 1163 1130 1176 1124 1189 1116 1202 1110 1215 1104 1228 1097 1241 1091 1254 1083 1267 1076 1280 1069 1293 1061 1306 1054 1319 1046 1331 1038 1344 1030 1357 1022 1370 1011 1383
1004 50 { m24} R[ 12 12] 0 sd 748 2089 m 13 -703 d 13 -25 d 13 -16 d 13 -20 d 13 -6 d 13 -14 d 13 -11 d 13 -8 d 13 -7 d 13 -9 d 13 -7 d 13 -9 d 13 -7 d 13 -5 d 13 -7 d 13 -6 d 13 -6 d 13 -8 d 13 -5 d 13 -6 d 12 -7 d 13 -6 d 13 -6 d 13 -4 d 13 -7 d
13 -6 d 13 -7 d 13 -6 d 13 -7 d 13 -6 d 13 -6 d 13 -6 d 13 -6 d 13 -8 d 13 -6 d 13 -6 d 13 -7 d 13 -6 d 13 -8 d 13 -7 d 13 -7 d 13 -8 d 13 -7 d 13 -8 d 12 -8 d 13 -8 d 13 -8 d 13 -11 d 13 -7 d s[ ] 0 sd 1383 1004 1396 994 1409 983 1422 972 1435
961 1448 949 1461 935 1474 921 1487 903 1500 885 1513 866 1526 845 1539 821 1552 796 1565 769 1578 742 1591 711 1604 681 1617 651 1630 620 1642 589 1655 559 1668 530 1681 503 1694 477 1707 455 1720 434 1733 416 1746 400 1759 386 1772 374 1785 364
1798 356 1811 350 1824 345 1837 341 1850 339 1863 336 1876 334 1889 333 1902 332 1915 332 1928 331 1941 331 1953 331 1966 331 1979 331 1992 331 2005 331 2018 331 50 { m24} R[ 12 12] 0 sd 1383 1004 m 13 -10 d 13 -11 d 13 -11 d 13 -11 d 13 -12 d 13
-14 d 13 -14 d 13 -18 d 13 -18 d 13 -19 d 13 -21 d 13 -24 d 13 -25 d 13 -27 d 13 -27 d 13 -31 d 13 -30 d 13 -30 d 13 -31 d 12 -31 d 13 -30 d 13 -29 d 13 -27 d 13 -26 d 13 -22 d 13 -21 d 13 -18 d 13 -16 d 13 -14 d 13 -12 d 13 -10 d 13 -8 d 13 -6 d
13 -5 d 13 -4 d 13 -2 d 13 -3 d 13 -2 d 13 -1 d 13 -1 d 13 X 13 -1 d 90 X s[ ] 0 sd 2018 331 2031 331 2044 330 2057 330 2070 330 2083 330 2096 330 2109 330 2122 330 2135 330 2148 330 11 { m24} R[ 12 12] 0 sd 2018 331 m 13 X 13 -1 d 104 X s[ 4 8
] 0 sd 1 1 1 c black[ ] 0 sd 515 2089 528 2040 541 1779 554 1647 567 1615 580 1504 593 1472 606 1483 619 1425 632 1409 645 1423 658 1386 671 1377 684 1362 697 1374 709 1345 722 1340 735 1340 748 1322 761 1315 774 1314 787 1301 800 1295 813 1295 826
1281 839 1278 852 1268 865 1269 878 1256 891 1254 904 1249 917 1240 930 1235 943 1233 956 1228 969 1219 982 1217 995 1210 1008 1206 1020 1197 1033 1197 1046 1185 1059 1184 1072 1178 1085 1171 1098 1167 1111 1157 1124 1158 1137 1146 1150 1144 50 {
m28} R[ 4 8] 0 sd 515 2089 m 13 -49 d 13 -261 d 13 -132 d 13 -32 d 13 -111 d 13 -32 d 13 11 d 13 -58 d 13 -16 d 13 14 d 13 -37 d 13 -9 d 13 -15 d 13 12 d 12 -29 d 13 -5 d 13 X 13 -18 d 13 -7 d 13 -1 d 13 -13 d 13 -6 d 13 X 13 -14 d 13 -3 d 13 -10 d
13 1 d 13 -13 d 13 -2 d 13 -5 d 13 -9 d 13 -5 d 13 -2 d 13 -5 d 13 -9 d 13 -2 d 13 -7 d 13 -4 d 12 -9 d 13 X 13 -12 d 13 -1 d 13 -6 d 13 -7 d 13 -4 d 13 -10 d 13 1 d 13 -12 d 13 -2 d s[ ] 0 sd 1150 1144 1163 1135 1176 1133 1189 1123 1202 1122 1215
1111 1228 1108 1241 1103 1254 1091 1267 1088 1280 1077 1293 1076 1306 1063 1319 1059 1331 1050 1344 1044 1357 1034 1370 1031 1383 1019 1396 1014 1409 1006 1422 996 1435 989 1448 976 1461 971 1474 955 1487 947 1500 931 1513 917 1526 897 1539 881
1552 859 1565 832 1578 804 1591 770 1604 736 1617 694 1630 657 1642 612 1655 573 1668 531 1681 496 1694 461 1707 432 1720 409 1733 388 1746 374 1759 362 1772 354 1785 346 50 { m28} R[ 4 8] 0 sd 1150 1144 m 13 -9 d 13 -2 d 13 -10 d 13 -1 d 13 -11 d
13 -3 d 13 -5 d 13 -12 d 13 -3 d 13 -11 d 13 -1 d 13 -13 d 13 -4 d 12 -9 d 13 -6 d 13 -10 d 13 -3 d 13 -12 d 13 -5 d 13 -8 d 13 -10 d 13 -7 d 13 -13 d 13 -5 d 13 -16 d 13 -8 d 13 -16 d 13 -14 d 13 -20 d 13 -16 d 13 -22 d 13 -27 d 13 -28 d 13 -34 d
13 -34 d 13 -42 d 13 -37 d 12 -45 d 13 -39 d 13 -42 d 13 -35 d 13 -35 d 13 -29 d 13 -23 d 13 -21 d 13 -14 d 13 -12 d 13 -8 d 13 -8 d s[ ] 0 sd 1785 346 1798 345 1811 340 1824 340 1837 338 1850 337 1863 337 1876 335 1889 336 1902 335 1915 335 1928
335 1941 335 1953 334 1966 335 1979 335 1992 334 2005 334 2018 334 2031 334 2044 333 2057 334 2070 333 2083 333 2096 333 2109 333 2122 333 2135 333 2148 333 29 { m28} R[ 4 8] 0 sd 1785 346 m 13 -1 d 13 -5 d 13 X 13 -2 d 13 -1 d 13 X 13 -2 d 13 1 d
13 -1 d 39 X 12 -1 d 13 1 d 13 X 13 -1 d 39 X 13 -1 d 13 1 d 13 -1 d 78 X s[ ] 0 sd 6 lw 1 1 1 c 680 440 454 440 bf black 454 440 m 680 X s 1134 440 m 440 Y s 1134 880 m -680 X s 454 880 m -440 Y s
gsave 2268 2199 0 0 C 470 798 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (Settings) show NC gr
gsave 2268 2199 0 0 C 621 678 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (standard) show NC gr 3 lw 479 715 m 119 X s 539 715 m20
gsave 2268 2199 0 0 C 621 567 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (fast) show NC gr [ 12 12] 0 sd 479 605 m 119 X s[ ] 0 sd 539 605 m24[ 12 12] 0 sd
gsave 2268 2199 0 0 C 621 470 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (highgain) show NC gr [ 4 8] 0 sd 479 495 m 119 X s[ ] 0 sd 539 495 m28[ 4 8] 0 sd
gr gr
showpage
end
%%EOF

View File

@ -0,0 +1,103 @@
%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 0 0 567 564
%%Title: /afs/psi.ch/project/mythen/root_macros20100305/paper/fluoExp.eps: c1
%%Creator: ROOT Version 5.24/00
%%CreationDate: Thu Mar 11 12:55:25 2010
%%EndComments
%%BeginProlog
80 dict begin
/s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def
/sw {stringwidth} def /r {rotate} def /rl {roll} def /R {repeat} def
/d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def
/c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def
/cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def
/box {m dup 0 exch d exch 0 d 0 exch neg d cl} def
/NC{systemdict begin initclip end}def/C{NC box clip newpath}def
/bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def
/mp {newpath /y exch def /x exch def} def
/side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def
/mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def
/mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def
/mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def
/m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def
/m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def
/m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def
/m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d
0 w3 neg d w3 neg 0 d cl s } def
/m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl fill gr} def
/m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl s gr} def
/m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2
sub m w w d s} def
/m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def
/m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def
/reEncode {exch findfont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse } forall /Encoding exch def currentdict end dup /FontName get exch definefont pop } def [/Times-Bold /Times-Italic /Times-BoldItalic /Helvetica
/Helvetica-Oblique /Helvetica-Bold /Helvetica-BoldOblique /Courier /Courier-Oblique /Courier-Bold /Courier-BoldOblique /Times-Roman /AvantGarde-Book /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique /Bookman-Demi
/Bookman-DemiItalic /Bookman-Light /Bookman-LightItalic /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /NewCenturySchlbk-Roman /NewCenturySchlbk-Bold
/NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /Palatino-Bold /Palatino-BoldItalic /Palatino-Italic /Palatino-Roman ] {ISOLatin1Encoding reEncode } forall
/oshow {gsave [] 0 sd true charpath stroke gr} def
/stwn { /fs exch def /fn exch def /text exch def fn findfont fs sf
text sw pop xs add /xs exch def} def
/stwb { /fs exch def /fn exch def /nbas exch def /textf exch deftextf length /tlen exch def nbas tlen gt {/nbas tlendef} iffn findfont fs sf textf dup length nbas sub nbas getinterval sw
pop neg xs add /xs exch def} def
%%EndProlog
%%BeginSetup
%%EndSetup
newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 6 lw 1 1 1 c 2268 2256 0 0 bf black 3 lw 1 1 1 c 1814 1806 340 338 bf black 1814 1806 340 338 bl 1 1 1 c 1814 1806 340 338 bf black 1814 1806 340 338 bl 1 1 1 c black /w 24
def /w2 {w 2 div} def /w3 {w 3 div} def 539 2040 548 1949 556 1891 565 1845 573 1812 582 1788 590 1767 599 1757 607 1741 616 1732 624 1722 633 1712 641 1704 650 1700 658 1685 667 1678 675 1671 683 1663 692 1659 700 1652 709 1642 717 1636 726 1631
734 1628 743 1618 751 1610 760 1610 768 1599 777 1597 785 1589 794 1584 802 1580 811 1571 819 1565 828 1561 836 1553 845 1546 853 1539 862 1531 870 1528 878 1515 887 1513 895 1506 904 1497 912 1493 921 1490 929 1478 938 1474 946 1468 955 1457 50 {
m2} R 955 1457 963 1451 972 1445 980 1434 989 1427 997 1421 1006 1405 1014 1400 1023 1385 1031 1373 1040 1368 1048 1356 1057 1345 1065 1331 1073 1324 1082 1310 1090 1304 1099 1291 1107 1278 1116 1268 1124 1256 1133 1248 1141 1240 1150 1231 1158
1222 1167 1208 1175 1204 1184 1197 1192 1186 1201 1185 1209 1177 1218 1172 1226 1163 1235 1152 1243 1155 1251 1147 1260 1142 1268 1137 1277 1133 1285 1132 1294 1123 1302 1124 1311 1118 1319 1113 1328 1109 1336 1103 1345 1100 1353 1094 1362 1095
1370 1092 50 { m2} R 1370 1092 1379 1088 1387 1085 1396 1079 1404 1073 1413 1064 1421 1063 1430 1058 1438 1054 1446 1053 1455 1048 1463 1043 1472 1038 1480 1034 1489 1032 1497 1026 1506 1020 1514 1018 1523 1009 1531 1007 1540 998 1548 994 1557 989
1565 983 1574 976 1582 966 1591 960 1599 951 1608 943 1616 935 1624 929 1633 915 1641 903 1650 893 1658 882 1667 869 1675 856 1684 846 1692 832 1701 814 1709 798 1718 779 1726 763 1735 745 1743 725 1752 704 1760 682 1769 661 1777 638 1786 619 50 {
m2} R 1786 619 1794 597 1803 579 1811 558 1819 536 1828 518 1836 500 1845 483 1853 467 1862 453 1870 438 1879 426 1887 415 1896 404 1904 394 1913 386 1921 378 1930 372 1938 367 1947 362 1955 359 1964 356 1972 352 1981 350 1989 348 1997 347 2006 345
2014 344 2023 343 2031 343 2040 343 2048 342 2057 342 2065 342 2074 341 2082 341 2091 341 2099 341 2108 341 2116 341 2125 341 2133 341 2142 341 2150 341 44 { m2} R 9 lw 0.95 0.95 0.95 c black 715 1630 m 15 -9 d 14 -9 d 14 -9 d 15 -9 d 14 -9 d 15 -9
d 14 -9 d 14 -9 d 15 -9 d 14 -10 d 15 -10 d 14 -11 d 15 -11 d 14 -11 d 14 -12 d 15 -13 d 14 -15 d 15 -15 d 14 -16 d 15 -16 d 14 -18 d 14 -18 d 15 -19 d 14 -19 d 15 -18 d 14 -19 d 14 -18 d 15 -17 d 14 -16 d 15 -15 d 14 -13 d 15 -13 d 14 -12 d 14 -11
d 15 -10 d 14 -10 d 15 -9 d 14 -9 d 15 -8 d 14 -8 d 14 -8 d 15 -8 d 14 -7 d 15 -8 d 14 -7 d 14 -8 d 15 -8 d 14 -7 d 15 -8 d s 1422 1060 m 14 -7 d 15 -8 d 14 -7 d 14 -8 d 15 -8 d 14 -8 d 15 -8 d 14 -8 d 15 -9 d 14 -10 d 14 -10 d 15 -11 d 14 -13 d 15
-14 d 14 -17 d 14 -18 d 15 -21 d 14 -23 d 15 -26 d 14 -29 d 15 -31 d 14 -34 d 14 -35 d 15 -36 d 14 -36 d 15 -35 d 14 -35 d 15 -32 d 14 -31 d 14 -27 d 15 -24 d 14 -21 d 15 -18 d 14 -14 d 14 -12 d 15 -10 d 14 -7 d 15 -5 d 14 -4 d 15 -3 d 14 -2 d 14
-2 d 15 -1 d 14 X 15 -1 d 57 X s 2128 341 m 15 X s 6 lw 340 338 m 1814 X s
gsave 2268 2256 0 0 C 1368 130 t 0 r /Helvetica-Bold findfont 104.36 sf 0 0 m (Threshold \(keV\)) show NC gr 347 393 m -55 Y s 407 366 m -28 Y s 468 366 m -28 Y s 528 366 m -28 Y s 588 393 m -55 Y s 648 366 m -28 Y s 708 366 m -28 Y s 768 366 m
-28 Y s 828 393 m -55 Y s 888 366 m -28 Y s 948 366 m -28 Y s 1008 366 m -28 Y s 1068 393 m -55 Y s 1129 366 m -28 Y s 1189 366 m -28 Y s 1249 366 m -28 Y s 1309 393 m -55 Y s 1369 366 m -28 Y s 1429 366 m -28 Y s 1489 366 m -28 Y s 1549 393 m -55
Y s 1609 366 m -28 Y s 1669 366 m -28 Y s 1729 366 m -28 Y s 1789 393 m -55 Y s 1850 366 m -28 Y s 1910 366 m -28 Y s 1970 366 m -28 Y s 2030 393 m -55 Y s 347 393 m -55 Y s 2030 393 m -55 Y s 2090 366 m -28 Y s 2150 366 m -28 Y s
gsave 2268 2256 0 0 C 324 257 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (0) show NC gr
gsave 2268 2256 0 0 C 564 257 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (2) show NC gr
gsave 2268 2256 0 0 C 804 257 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (4) show NC gr
gsave 2268 2256 0 0 C 1044 257 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (6) show NC gr
gsave 2268 2256 0 0 C 1286 257 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (8) show NC gr
gsave 2268 2256 0 0 C 1503 257 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (10) show NC gr
gsave 2268 2256 0 0 C 1743 257 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (12) show NC gr
gsave 2268 2256 0 0 C 1980 257 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (14) show NC gr 340 338 m 1806 Y s
gsave 2268 2256 0 0 C 166 908 t 90 r /Helvetica-Bold findfont 104.36 sf 0 0 m (Normalized counts \(A.U.\)) show NC gr 395 338 m -55 X s 367 384 m -27 X s 367 429 m -27 X s 367 474 m -27 X s 395 519 m -55 X s 367 564 m -27 X s 367 609 m -27 X s
367 654 m -27 X s 395 699 m -55 X s 367 745 m -27 X s 367 790 m -27 X s 367 835 m -27 X s 395 880 m -55 X s 367 925 m -27 X s 367 970 m -27 X s 367 1015 m -27 X s 395 1061 m -55 X s 367 1106 m -27 X s 367 1151 m -27 X s 367 1196 m -27 X s 395 1241
m -55 X s 367 1286 m -27 X s 367 1331 m -27 X s 367 1376 m -27 X s 395 1422 m -55 X s 367 1467 m -27 X s 367 1512 m -27 X s 367 1557 m -27 X s 395 1602 m -55 X s 367 1647 m -27 X s 367 1692 m -27 X s 367 1737 m -27 X s 395 1783 m -55 X s 367 1828 m
-27 X s 367 1873 m -27 X s 367 1918 m -27 X s 395 1963 m -55 X s 367 2008 m -27 X s 367 2053 m -27 X s 367 2098 m -27 X s 395 2144 m -55 X s
gsave 2268 2256 0 0 C 282 307 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (0) show NC gr
gsave 2268 2256 0 0 C 212 488 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (0.2) show NC gr
gsave 2268 2256 0 0 C 209 668 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (0.4) show NC gr
gsave 2268 2256 0 0 C 212 849 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (0.6) show NC gr
gsave 2268 2256 0 0 C 212 1029 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (0.8) show NC gr
gsave 2268 2256 0 0 C 293 1207 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (1) show NC gr
gsave 2268 2256 0 0 C 212 1388 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (1.2) show NC gr
gsave 2268 2256 0 0 C 209 1568 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (1.4) show NC gr
gsave 2268 2256 0 0 C 212 1752 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (1.6) show NC gr
gsave 2268 2256 0 0 C 212 1932 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (1.8) show NC gr
gsave 2268 2256 0 0 C 282 2110 t 0 r /Helvetica-Bold findfont 84.6163 sf 0 0 m (2) show NC gr [ 12 12] 0 sd 9 lw 0.95 0.95 0.95 c black 715 1449 m 15 -8 d 14 -8 d 14 -7 d 15 -8 d 14 -8 d 15 -8 d 14 -8 d 14 -8 d 15 -8 d 14 -8 d 15 -8 d 14 -7 d 15
-8 d 14 -8 d 14 -8 d 15 -8 d 14 -8 d 15 -8 d 14 -8 d 15 -8 d 14 -7 d 14 -8 d 15 -8 d 14 -8 d 15 -8 d 14 -8 d 14 -8 d 15 -8 d 14 -8 d 15 -8 d 14 -7 d 15 -8 d 14 -8 d 14 -8 d 15 -8 d 14 -8 d 15 -8 d 14 -8 d 15 -8 d 14 -7 d 14 -8 d 15 -8 d 14 -8 d 15
-8 d 14 -8 d 14 -8 d 15 -8 d 14 -8 d 15 -8 d s 1422 1062 m 14 -7 d 15 -8 d 14 -8 d 14 -8 d 15 -8 d 14 -9 d 15 -8 d 14 -9 d 15 -9 d 14 -10 d 14 -10 d 15 -11 d 14 -13 d 15 -14 d 14 -16 d 14 -18 d 15 -21 d 14 -23 d 15 -26 d 14 -29 d 15 -31 d 14 -33 d
14 -35 d 15 -36 d 14 -36 d 15 -36 d 14 -35 d 15 -32 d 14 -31 d 14 -27 d 15 -24 d 14 -21 d 15 -18 d 14 -15 d 14 -12 d 15 -9 d 14 -7 d 15 -5 d 14 -4 d 15 -3 d 14 -2 d 14 -2 d 15 -1 d 14 X 15 -1 d 57 X s 2128 341 m 15 X s[ 4 8] 0 sd 6 lw 1068 338 m
993 Y s 1429 338 m 720 Y s 1789 338 m 281 Y s[ 12 16 4 16] 0 sd 347 1331 m 721 X s 347 1256 m 721 X s
gsave 2268 2256 0 0 C 1842 601 t 0 r /Helvetica-Bold findfont 70.5136 sf 0 0 m (0) show NC gr
gsave 2268 2256 0 0 C 1777 629 t 0 r /Helvetica-Bold findfont 104.36 sf 0 0 m (E) show NC gr
gsave 2268 2256 0 0 C 1470 1061 t 0 r /Helvetica-Bold findfont 70.5136 sf 0 0 m (t) show NC gr
gsave 2268 2256 0 0 C 1405 1089 t 0 r /Helvetica-Bold findfont 104.36 sf 0 0 m (E) show NC gr
gsave 2268 2256 0 0 C 1108 1328 t 0 r /Helvetica-Bold findfont 70.5136 sf 0 0 m (f) show NC gr
gsave 2268 2256 0 0 C 1044 1360 t 0 r /Helvetica-Bold findfont 104.36 sf 0 0 m (E) show NC gr [ ] 0 sd 1068 519 m 361 X s 1397 537 m 32 -18 d -32 -18 d s 1100 501 m -32 18 d 32 18 d s 1429 519 m 360 X s 1758 537 m 31 -18 d -31 -18 d s 1461 501 m
-32 18 d 32 18 d s
gsave 2268 2256 0 0 C 1247 564 t 0 r /Symbol findfont 104.36 sf 0 0 m (S) show NC gr
gsave 2268 2256 0 0 C 1608 564 t 0 r /Symbol findfont 104.36 sf 0 0 m (S) show NC gr 588 1331 m -75 Y s 597 1272 m -9 -16 d -9 16 d s 579 1315 m 9 16 d 9 -16 d s
gsave 2268 2256 0 0 C 609 1269 t 0 r /Symbol findfont 84.6163 sf 0 0 m (D) show NC gr
gr gr
showpage
end
%%EOF

View File

@ -0,0 +1,146 @@
%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 0 0 567 550
%%Title: /afs/psi.ch/user/b/bergamaschi/root_macros/paper/moduleCalibration.eps: c1_n3
%%Creator: ROOT Version 5.20/00
%%CreationDate: Tue Feb 24 16:20:36 2009
%%EndComments
%%BeginProlog
80 dict begin
/s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def
/sw {stringwidth} def /r {rotate} def /rl {roll} def /R {repeat} def
/d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def
/c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def
/cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def
/box {m dup 0 exch d exch 0 d 0 exch neg d cl} def
/NC{systemdict begin initclip end}def/C{NC box clip newpath}def
/bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def
/mp {newpath /y exch def /x exch def} def
/side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def
/mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def
/mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def
/mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def
/m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def
/m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def
/m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def
/m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d
0 w3 neg d w3 neg 0 d cl s } def
/m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl fill gr} def
/m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl s gr} def
/m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2
sub m w w d s} def
/m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def
/m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def
/reEncode {exch findfont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse } forall /Encoding exch def currentdict end dup /FontName get exch definefont pop } def [/Times-Bold /Times-Italic /Times-BoldItalic /Helvetica
/Helvetica-Oblique /Helvetica-Bold /Helvetica-BoldOblique /Courier /Courier-Oblique /Courier-Bold /Courier-BoldOblique /Times-Roman /AvantGarde-Book /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique /Bookman-Demi
/Bookman-DemiItalic /Bookman-Light /Bookman-LightItalic /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /NewCenturySchlbk-Roman /NewCenturySchlbk-Bold
/NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /Palatino-Bold /Palatino-BoldItalic /Palatino-Italic /Palatino-Roman ] {ISOLatin1Encoding reEncode } forall
/oshow {gsave [] 0 sd true charpath stroke gr} def
/stwn { /fs exch def /fn exch def /text exch def fn findfont fs sf
text sw pop xs add /xs exch def} def
/stwb { /fs exch def /fn exch def /nbas exch def /textf exch deftextf length /tlen exch def nbas tlen gt {/nbas tlendef} iffn findfont fs sf textf dup length nbas sub nbas getinterval sw
pop neg xs add /xs exch def} def
%%EndProlog
%%BeginSetup
%%EndSetup
newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 6 lw 1 1 1 c 2268 2199 0 0 bf black 3 lw 1 1 1 c 1814 1759 340 330 bf black 1814 1759 340 330 bl 1 1 1 c 1814 1759 340 330 bf black 1814 1759 340 330 bl 1 1 1 c black 340 330 m 1814 X s 6 lw
340 330 m 1814 X s
gsave 2268 2199 0 0 C 1279 123 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (Threshold \(DACu\)) show NC gr 340 383 m -53 Y s 392 356 m -26 Y s 444 356 m -26 Y s 496 356 m -26 Y s 547 356 m -26 Y s 599 383 m -53 Y s 651 356 m -26 Y s 703 356 m
-26 Y s 755 356 m -26 Y s 807 356 m -26 Y s 858 383 m -53 Y s 910 356 m -26 Y s 962 356 m -26 Y s 1014 356 m -26 Y s 1066 356 m -26 Y s 1118 383 m -53 Y s 1169 356 m -26 Y s 1221 356 m -26 Y s 1273 356 m -26 Y s 1325 356 m -26 Y s 1377 383 m -53 Y
s 1429 356 m -26 Y s 1480 356 m -26 Y s 1532 356 m -26 Y s 1584 356 m -26 Y s 1636 383 m -53 Y s 1688 356 m -26 Y s 1740 356 m -26 Y s 1791 356 m -26 Y s 1843 356 m -26 Y s 1895 383 m -53 Y s 1947 356 m -26 Y s 1999 356 m -26 Y s 2051 356 m -26 Y s
2102 356 m -26 Y s 2154 383 m -53 Y s
gsave 2268 2199 0 0 C 271 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (400) show NC gr
gsave 2268 2199 0 0 C 530 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (450) show NC gr
gsave 2268 2199 0 0 C 789 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (500) show NC gr
gsave 2268 2199 0 0 C 1048 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (550) show NC gr
gsave 2268 2199 0 0 C 1308 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (600) show NC gr
gsave 2268 2199 0 0 C 1567 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (650) show NC gr
gsave 2268 2199 0 0 C 1826 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (700) show NC gr
gsave 2268 2199 0 0 C 2085 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (750) show NC gr 340 330 m 1759 Y s
gsave 2268 2199 0 0 C 100 1439 t 90 r /Helvetica-Bold findfont 102.56 sf 0 0 m (Counts \(A.U.\)) show NC gr 395 330 m -55 X s 367 374 m -27 X s 367 418 m -27 X s 367 462 m -27 X s 395 506 m -55 X s 367 550 m -27 X s 367 594 m -27 X s 367 638 m
-27 X s 395 682 m -55 X s 367 726 m -27 X s 367 770 m -27 X s 367 814 m -27 X s 395 858 m -55 X s 367 902 m -27 X s 367 946 m -27 X s 367 990 m -27 X s 395 1034 m -55 X s 367 1078 m -27 X s 367 1122 m -27 X s 367 1166 m -27 X s 395 1210 m -55 X s
367 1254 m -27 X s 367 1298 m -27 X s 367 1342 m -27 X s 395 1386 m -55 X s 367 1430 m -27 X s 367 1474 m -27 X s 367 1518 m -27 X s 395 1562 m -55 X s 367 1606 m -27 X s 367 1650 m -27 X s 367 1693 m -27 X s 395 1737 m -55 X s 367 1781 m -27 X s
367 1825 m -27 X s 367 1869 m -27 X s 395 1913 m -55 X s 367 1957 m -27 X s 367 2001 m -27 X s 367 2045 m -27 X s 395 2089 m -55 X s
gsave 2268 2199 0 0 C 285 293 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (0) show NC gr
gsave 2268 2199 0 0 C 194 470 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (200) show NC gr
gsave 2268 2199 0 0 C 194 647 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (400) show NC gr
gsave 2268 2199 0 0 C 194 823 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (600) show NC gr
gsave 2268 2199 0 0 C 194 997 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (800) show NC gr
gsave 2268 2199 0 0 C 145 1174 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (1000) show NC gr
gsave 2268 2199 0 0 C 145 1350 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (1200) show NC gr
gsave 2268 2199 0 0 C 145 1527 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (1400) show NC gr
gsave 2268 2199 0 0 C 145 1701 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (1600) show NC gr
gsave 2268 2199 0 0 C 145 1877 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (1800) show NC gr
gsave 2268 2199 0 0 C 145 2054 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (2000) show NC gr 3 lw 1 1 1 c black /w 24 def /w2 {w 2 div} def /w3 {w 3 div} def 858 330 864 330 869 330 874 330 879 330 884 330 889 330 895 330 900 330 905 330 910
330 915 330 920 330 926 330 931 330 936 330 941 330 946 330 951 330 957 330 962 330 967 330 972 330 977 330 982 330 988 330 993 330 998 330 1003 330 1008 330 1013 330 1019 330 1024 330 1029 330 1034 330 1039 330 1044 330 1050 330 1055 330 1060 330
1065 330 1070 330 1075 330 1081 330 1086 330 1091 330 1096 330 1101 330 1106 330 1112 330 50 { m26} R 1112 330 1117 330 1122 330 1127 330 1132 330 1137 330 1143 330 1148 330 1153 330 1158 330 1163 330 1168 330 1174 330 1179 330 1184 330 1189 330
1194 330 1199 330 1205 330 1210 330 1215 330 1220 330 1225 331 1230 331 1236 331 1241 331 1246 331 1251 331 1256 331 1261 331 1267 331 1272 331 1277 331 1282 331 1287 331 1292 331 1298 332 1303 332 1308 332 1313 333 1318 334 1323 335 1329 336 1334
338 1339 340 1344 343 1349 346 1354 349 1360 354 1365 360 50 { m26} R 1365 360 1370 366 1375 374 1380 383 1385 393 1391 405 1396 418 1401 433 1406 448 1411 464 1416 483 1422 501 1427 524 1432 545 1437 568 1442 591 1447 613 1453 635 1458 661 1463
685 1468 706 1473 728 1478 751 1484 771 1489 790 1494 810 1499 827 1504 844 1509 859 1515 874 1520 887 1525 900 1530 911 1535 922 1540 932 1546 943 1551 951 1556 960 1561 969 1566 977 1571 985 1577 991 1582 998 1587 1004 1592 1010 1597 1016 1602
1022 1608 1028 1613 1034 1618 1038 50 { m26} R 1618 1038 1623 1044 1628 1048 1633 1054 1639 1059 1644 1063 1649 1068 1654 1072 1659 1078 1664 1082 1670 1086 1675 1092 1680 1096 1685 1102 1690 1106 1695 1110 1701 1115 1706 1118 1711 1124 1716 1128
1721 1133 1726 1137 1732 1141 1737 1145 1742 1149 1747 1153 1752 1160 1757 1162 1763 1167 1768 1169 1773 1173 1778 1177 1783 1182 1788 1186 1794 1190 1799 1195 1804 1199 1809 1202 1814 1206 1819 1210 1825 1215 1830 1217 1835 1222 1840 1226 1845
1231 1850 1235 1856 1238 1861 1243 1866 1249 1871 1251 50 { m26} R 1871 1251 1876 1256 1881 1259 1887 1263 1892 1267 1897 1272 1902 1277 1907 1279 1912 1285 1918 1290 1923 1292 1928 1298 1933 1302 1938 1305 1943 1312 1949 1316 1954 1320 1959 1325
1964 1330 1969 1333 1974 1338 1980 1345 1985 1351 1990 1357 1995 1363 2000 1372 2005 1384 2011 1397 2016 1419 2021 1441 2026 1473 2031 1519 2036 1584 2042 1680 2047 1822 2052 2020 2057 2089 37 { m26} R 2150 2089 m26 9 lw 0.95 0.95 0.95 c black 782
330 m 434 X 16 1 d 48 X 16 1 d 16 1 d 16 4 d 16 7 d 17 12 d 16 21 d 16 32 d 16 45 d 16 58 d 16 68 d 16 73 d 16 74 d 16 68 d 16 58 d 16 47 d 16 37 d 16 28 d 16 22 d s 1569 987 m 16 18 d 17 16 d 16 14 d 16 15 d 16 14 d 16 13 d 16 14 d 16 14 d 16 14 d
16 14 d 16 14 d 16 14 d 16 13 d 16 14 d 16 14 d 16 14 d 17 14 d 16 14 d 16 13 d 16 14 d 16 14 d 16 14 d 16 14 d s[ 12 12] 0 sd 3 lw 1447 330 m 283 Y s[ ] 0 sd 1447 613 m20[ 12 12] 0 sd[ ] 0 sd 1 1 1 c black 864 330 889 330 900 330 905 330 910 330
915 330 920 330 926 330 931 330 936 330 941 330 946 330 951 330 957 330 962 330 967 330 972 331 977 331 982 331 988 331 993 331 998 332 1003 333 1008 333 1013 335 1019 336 1024 338 1029 340 1034 342 1039 345 1044 349 1050 353 1055 359 1060 366 1065
373 1070 382 1075 391 1081 402 1086 413 1091 428 1096 442 1101 456 1106 474 1112 493 1117 511 1122 532 1127 552 1132 571 1137 593 1143 614 50 { m27} R 1143 614 1148 634 1153 659 1158 677 1163 697 1168 717 1174 738 1179 757 1184 773 1189 788 1194
802 1199 820 1205 830 1210 842 1215 856 1220 870 1225 879 1230 888 1236 896 1241 904 1246 909 1251 918 1256 924 1261 930 1267 936 1272 942 1277 950 1282 955 1287 963 1292 968 1298 972 1303 974 1308 979 1313 985 1318 987 1323 991 1329 995 1334 1000
1339 1004 1344 1011 1349 1012 1354 1016 1360 1020 1365 1024 1370 1026 1375 1032 1380 1038 1385 1040 1391 1045 1396 1046 50 { m27} R 1396 1046 1401 1051 1406 1053 1411 1056 1416 1055 1422 1058 1427 1063 1432 1067 1437 1073 1442 1073 1447 1080 1453
1083 1458 1084 1463 1090 1468 1095 1473 1098 1478 1099 1484 1104 1489 1111 1494 1113 1499 1118 1504 1118 1509 1122 1515 1123 1520 1126 1525 1129 1530 1133 1535 1136 1540 1138 1546 1140 1551 1142 1556 1149 1561 1150 1566 1152 1571 1157 1577 1161
1582 1161 1587 1164 1592 1169 1597 1172 1602 1174 1608 1176 1613 1178 1618 1180 1623 1183 1628 1184 1633 1190 1639 1190 1644 1195 1649 1196 50 { m27} R 1649 1196 1654 1196 1659 1205 1664 1206 1670 1210 1675 1214 1680 1217 1685 1222 1690 1221 1695
1225 1701 1228 1706 1234 1711 1236 1716 1240 1721 1242 1726 1242 1732 1247 1737 1250 1742 1252 1747 1256 1752 1256 1757 1258 1763 1267 1768 1268 1773 1270 1778 1276 1783 1277 1788 1275 1794 1282 1799 1286 1804 1287 1809 1285 1814 1289 1819 1297
1825 1299 1830 1302 1835 1306 1840 1311 1845 1311 1850 1309 1856 1313 1861 1319 1866 1321 1871 1321 1876 1322 1881 1327 1887 1328 1892 1331 1897 1337 1902 1343 50 { m27} R 1902 1343 1907 1350 1912 1351 1918 1354 1923 1362 1928 1359 1933 1365 1938
1366 1943 1371 1949 1370 1954 1377 1959 1382 1964 1384 1969 1389 1974 1392 1980 1401 1985 1401 1990 1412 1995 1417 2000 1432 2005 1448 2011 1465 2016 1491 2021 1535 2026 1589 2031 1673 2036 1806 2042 2003 2047 2089 29 { m27} R 2150 2089 m27 9 lw
0.95 0.95 0.95 c black 348 330 m 601 X 16 1 d 15 X 16 1 d 16 3 d 16 5 d 16 10 d 15 16 d 16 24 d 16 35 d 16 46 d 16 57 d s 1123 528 m 16 64 d 15 67 d 16 66 d 16 59 d 16 51 d 16 40 d 15 32 d 16 24 d 16 18 d 16 14 d 16 12 d 15 11 d 16 10 d 16 10 d 16
10 d 16 10 d 15 10 d 16 10 d 16 9 d 16 10 d 16 10 d 16 10 d 15 10 d 16 10 d 16 9 d 16 10 d 16 10 d 15 10 d 16 10 d 16 9 d 16 10 d 16 10 d 15 10 d 16 10 d 16 9 d 16 10 d 16 10 d 15 10 d 16 10 d 16 10 d 16 9 d 16 10 d 16 10 d 15 10 d 16 10 d 16 9 d
16 10 d 16 10 d 15 10 d s 1897 1350 m 16 10 d s[ 12 12] 0 sd 3 lw 1140 330 m 284 Y s[ ] 0 sd 1140 614 m20[ 12 12] 0 sd[ ] 0 sd 1 1 1 c black 516 331 521 331 526 331 531 331 537 332 542 332 547 334 552 334 557 335 562 336 568 339 573 341 578 343
583 347 588 351 594 356 599 361 604 367 609 374 614 383 619 391 625 400 630 411 635 423 640 439 645 450 650 465 656 482 661 498 666 516 671 537 676 550 681 569 687 591 692 608 697 628 702 645 707 663 712 681 718 698 723 711 728 727 733 743 738 757
743 769 749 784 754 795 759 807 764 817 769 826 50 { m28} R 769 826 774 837 780 843 785 854 790 863 795 870 800 875 805 881 811 887 816 896 821 903 826 903 831 912 837 914 842 920 847 924 852 928 857 933 862 936 868 941 873 946 878 948 883 952 888
956 893 961 899 964 904 968 909 970 914 972 919 973 924 977 930 981 935 987 940 992 945 994 950 998 955 999 961 1002 966 1004 971 1009 976 1008 981 1009 986 1012 992 1016 997 1020 1002 1025 1007 1029 1012 1034 1017 1035 1023 1037 50 { m28} R 1023
1037 1028 1037 1033 1044 1038 1042 1043 1048 1048 1057 1054 1060 1059 1064 1064 1068 1069 1067 1074 1066 1080 1067 1085 1071 1090 1071 1095 1073 1100 1074 1105 1079 1111 1080 1116 1080 1121 1085 1126 1087 1131 1092 1136 1094 1142 1095 1147 1098
1152 1099 1157 1100 1162 1106 1167 1106 1173 1111 1178 1111 1183 1115 1188 1117 1193 1119 1198 1119 1204 1120 1209 1122 1214 1122 1219 1128 1224 1128 1229 1128 1235 1132 1240 1136 1245 1140 1250 1142 1255 1142 1260 1148 1266 1149 1271 1151 1276
1149 50 { m28} R 1276 1149 1281 1154 1286 1154 1292 1153 1297 1160 1302 1159 1307 1162 1312 1163 1317 1164 1323 1169 1328 1168 1333 1170 1338 1175 1343 1174 1348 1180 1354 1178 1359 1178 1364 1179 1369 1181 1374 1183 1379 1186 1385 1189 1390 1190
1395 1197 1400 1199 1405 1201 1410 1201 1416 1200 1421 1202 1426 1207 1431 1207 1436 1212 1441 1212 1447 1210 1452 1213 1457 1217 1462 1217 1467 1222 1472 1224 1478 1226 1483 1229 1488 1234 1493 1232 1498 1234 1503 1233 1509 1237 1514 1239 1519
1240 1524 1242 1529 1245 50 { m28} R 1529 1245 1535 1250 1540 1253 1545 1255 1550 1261 1555 1266 1560 1267 1566 1270 1571 1272 1576 1276 1581 1275 1586 1276 1591 1276 1597 1279 1602 1283 1607 1282 1612 1286 1617 1292 1622 1295 1628 1295 1633 1296
1638 1297 1643 1297 1648 1292 1653 1297 1659 1296 1664 1303 1669 1304 1674 1303 1679 1304 1684 1302 1690 1308 1695 1307 1700 1313 1705 1320 1710 1320 1715 1314 1721 1313 1726 1322 1731 1328 1736 1329 1741 1338 1747 1338 1752 1340 1757 1341 1762
1341 1767 1343 1772 1343 1778 1343 1783 1347 50 { m28} R 1783 1347 1788 1355 1793 1354 1798 1365 1803 1362 1809 1370 1814 1372 1819 1367 1824 1376 1829 1377 1834 1382 1840 1379 1845 1384 1850 1386 1855 1386 1860 1392 1865 1399 1871 1399 1876 1400
1881 1403 1886 1407 1891 1411 1896 1416 1902 1416 1907 1419 1912 1425 1917 1429 1922 1431 1927 1437 1933 1440 1938 1442 1943 1441 1948 1446 1953 1447 1958 1448 1964 1457 1969 1464 1974 1470 1979 1483 1984 1493 1990 1507 1995 1520 2000 1537 2005
1565 2010 1602 2015 1665 2021 1761 2026 1901 2031 2089 49 { m28} R 2150 2089 m28 9 lw 0.95 0.95 0.95 c black 348 330 m 155 X 16 1 d 16 1 d 15 3 d 16 5 d 15 8 d 16 12 d 15 19 d 16 26 d 15 35 d 16 44 d 15 51 d 16 56 d 16 59 d 15 57 d 16 53 d 15 46 d
16 39 d 15 31 d 16 24 d 15 18 d 16 14 d 16 11 d 15 9 d 16 8 d 15 7 d 16 8 d 15 7 d 16 7 d 15 6 d 16 7 d 15 7 d 16 7 d 16 7 d 15 7 d 16 7 d 15 7 d 16 7 d 15 6 d 16 7 d s 1110 1064 m 15 7 d 16 7 d 16 7 d 15 7 d 16 7 d 15 7 d 16 7 d 15 7 d 16 6 d 15 7
d 16 7 d 15 7 d 16 7 d 16 7 d 15 7 d 16 7 d 15 7 d 16 6 d 15 7 d 16 7 d 15 7 d 16 7 d 16 7 d 15 7 d 16 7 d 15 7 d 16 6 d 15 7 d 16 7 d 15 7 d 16 7 d 15 7 d 16 7 d 16 7 d 15 7 d 16 7 d 15 6 d 16 7 d 15 7 d 16 7 d 15 7 d 16 7 d 16 7 d 15 7 d 16 7 d
15 6 d 16 7 d 15 7 d 16 7 d s 1872 1402 m 15 7 d s[ 12 12] 0 sd 3 lw 693 330 m 278 Y s[ ] 0 sd 693 608 m20[ 12 12] 0 sd[ ] 0 sd 6 lw 1 1 1 c 1088 725 386 1320 bf black 3 lw 1 1 1 c 947 631 516 1407 bf black 947 631 516 1407 bl 1 1 1 c 947 631 516
1407 bf black 947 631 516 1407 bl 6 lw 516 1407 m 947 X s
gsave 1088 725 386 1320 C 1131 1336 t 0 r /Helvetica-Bold findfont 54.2909 sf 0 0 m (Energy \(keV\)) show NC gr 525 1426 m -19 Y s 553 1416 m -9 Y s 581 1416 m -9 Y s 609 1416 m -9 Y s 638 1426 m -19 Y s 666 1416 m -9 Y s 694 1416 m -9 Y s 722
1416 m -9 Y s 750 1426 m -19 Y s 779 1416 m -9 Y s 807 1416 m -9 Y s 835 1416 m -9 Y s 863 1426 m -19 Y s 891 1416 m -9 Y s 920 1416 m -9 Y s 948 1416 m -9 Y s 976 1426 m -19 Y s 1004 1416 m -9 Y s 1032 1416 m -9 Y s 1061 1416 m -9 Y s 1089 1426 m
-19 Y s 1117 1416 m -9 Y s 1145 1416 m -9 Y s 1173 1416 m -9 Y s 1202 1426 m -19 Y s 1230 1416 m -9 Y s 1258 1416 m -9 Y s 1286 1416 m -9 Y s 1314 1426 m -19 Y s 1343 1416 m -9 Y s 1371 1416 m -9 Y s 1399 1416 m -9 Y s 1427 1426 m -19 Y s 525 1426
m -19 Y s 1427 1426 m -19 Y s 1455 1416 m -9 Y s
gsave 1088 725 386 1320 C 510 1382 t 0 r /Helvetica-Bold findfont 25.7167 sf 0 0 m (10) show NC gr
gsave 1088 725 386 1320 C 621 1382 t 0 r /Helvetica-Bold findfont 25.7167 sf 0 0 m (12) show NC gr
gsave 1088 725 386 1320 C 735 1382 t 0 r /Helvetica-Bold findfont 25.7167 sf 0 0 m (14) show NC gr
gsave 1088 725 386 1320 C 846 1382 t 0 r /Helvetica-Bold findfont 25.7167 sf 0 0 m (16) show NC gr
gsave 1088 725 386 1320 C 960 1382 t 0 r /Helvetica-Bold findfont 25.7167 sf 0 0 m (18) show NC gr
gsave 1088 725 386 1320 C 1074 1382 t 0 r /Helvetica-Bold findfont 25.7167 sf 0 0 m (20) show NC gr
gsave 1088 725 386 1320 C 1185 1382 t 0 r /Helvetica-Bold findfont 25.7167 sf 0 0 m (22) show NC gr
gsave 1088 725 386 1320 C 1299 1382 t 0 r /Helvetica-Bold findfont 25.7167 sf 0 0 m (24) show NC gr
gsave 1088 725 386 1320 C 1410 1382 t 0 r /Helvetica-Bold findfont 25.7167 sf 0 0 m (26) show NC gr 516 1407 m 631 Y s
gsave 1088 725 386 1320 C 447 1578 t 90 r /Helvetica-Bold findfont 54.2909 sf 0 0 m (Threshold \(DACu\)) show NC gr 545 1411 m -29 X s 530 1438 m -14 X s 530 1465 m -14 X s 530 1493 m -14 X s 530 1520 m -14 X s 545 1548 m -29 X s 530 1575 m -14 X
s 530 1602 m -14 X s 530 1630 m -14 X s 530 1657 m -14 X s 545 1685 m -29 X s 530 1712 m -14 X s 530 1740 m -14 X s 530 1767 m -14 X s 530 1794 m -14 X s 545 1822 m -29 X s 530 1849 m -14 X s 530 1877 m -14 X s 530 1904 m -14 X s 530 1931 m -14 X s
545 1959 m -29 X s 545 1411 m -29 X s 545 1959 m -29 X s 530 1986 m -14 X s 530 2014 m -14 X s
gsave 1088 725 386 1320 C 467 1402 t 0 r /Helvetica-Bold findfont 25.7167 sf 0 0 m (450) show NC gr
gsave 1088 725 386 1320 C 467 1538 t 0 r /Helvetica-Bold findfont 25.7167 sf 0 0 m (500) show NC gr
gsave 1088 725 386 1320 C 467 1675 t 0 r /Helvetica-Bold findfont 25.7167 sf 0 0 m (550) show NC gr
gsave 1088 725 386 1320 C 467 1812 t 0 r /Helvetica-Bold findfont 25.7167 sf 0 0 m (600) show NC gr
gsave 1088 725 386 1320 C 467 1949 t 0 r /Helvetica-Bold findfont 25.7167 sf 0 0 m (650) show NC gr 3 lw 666 1859 948 1697 1371 1460 3 { m20} R 6 lw 9 lw 0.95 0.95 0.95 c black 668 1856 m 7 -4 d 7 -4 d 7 -4 d 7 -4 d 8 -4 d 7 -4 d 7 -4 d 7 -4 d 7
-4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 8 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 8 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4
d 7 -4 d 8 -4 d 7 -4 d 7 -4 d 7 -4 d s 1015 1660 m 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 8 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 8 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7
-4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 8 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d 7 -4 d s 1361 1464 m 7 -4 d s 6 lw 1 1 1 c 454 440 1587 440 bf black
gsave 2268 2199 0 0 C 1598 803 t 0 r /Helvetica-Bold findfont 65.5245 sf 0 0 m (Energy) show NC gr
gsave 2268 2199 0 0 C 1701 687 t 0 r /Helvetica-Bold findfont 65.5245 sf 0 0 m (12.50 keV) show NC gr 3 lw 1644 715 m26 6 lw
gsave 2268 2199 0 0 C 1701 578 t 0 r /Helvetica-Bold findfont 65.5245 sf 0 0 m (17.50 keV) show NC gr 3 lw 1644 605 m27 6 lw
gsave 2268 2199 0 0 C 1701 467 t 0 r /Helvetica-Bold findfont 65.5245 sf 0 0 m (25.00 keV) show NC gr 3 lw 1644 495 m28 6 lw
gr gr
showpage
end
%%EOF

View File

@ -0,0 +1,18 @@
The calibration wizards are based on the \textit{Root} software developed at CERN.\\
To install it, simply download it from the url \textit{http://root.cern.ch}.\\
You can either download the binaries for your system or install from source (which is time consuming, but possibly more stable).\\
The development and debugging of the wizards have been done using the root version 5.20, but it should be working also with newer versions.
After installing the root software, edit your .bashrc file to define the ROOTSYS enviroment variable, and add the binaries and libraries to your path, e.g.:
\begin{verbatim}
export ROOTSYS=/usr/local/root_sl5_32bit
export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH
export PATH=$ROOTSYS/bin:$PATH
\end{verbatim}
Then enter the calibrationWizards directory and compile:
\begin{verbatim}
make clean && make
\end{verbatim}
The two executables \textit{energyCalibrationWizard} and \textit{angularCalibrationWizard} should be generated, together with some documentation in pdf format inside the \textit{manual} directory.

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

View File

@ -0,0 +1,135 @@
%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 0 0 567 550
%%Title: /import/exchange/home/msdetect/Projects/detcalMCS/article/spectrum_expl.eps: c1_n2
%%Creator: ROOT Version 5.13/02
%%CreationDate: Thu Apr 26 09:47:57 2007
%%EndComments
%%BeginProlog
80 dict begin
/s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def
/sw {stringwidth} def /r {rotate} def /rl {roll} def /R {repeat} def
/d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def
/c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def
/cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def
/box {m dup 0 exch d exch 0 d 0 exch neg d cl} def
/NC{systemdict begin initclip end}def/C{NC box clip newpath}def
/bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def
/mp {newpath /y exch def /x exch def} def
/side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def
/mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def
/mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def
/mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def
/m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def
/m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def
/m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def
/m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d
0 w3 neg d w3 neg 0 d cl s } def
/m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl fill gr} def
/m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl s gr} def
/m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2
sub m w w d s} def
/m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def
/m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def
/reencdict 24 dict def /ReEncode {reencdict begin /nco&na exch def
/nfnam exch def /basefontname exch def /basefontdict basefontname findfont def
/newfont basefontdict maxlength dict def basefontdict {exch dup /FID ne
{dup /Encoding eq {exch dup length array copy newfont 3 1 roll put} {exch
newfont 3 1 roll put} ifelse} {pop pop} ifelse } forall newfont
/FontName nfnam put nco&na aload pop nco&na length 2 idiv {newfont
/Encoding get 3 1 roll put} repeat nfnam newfont definefont pop end } def
/accvec [ 176 /agrave 181 /Agrave 190 /acircumflex 192 /Acircumflex
201 /adieresis 204 /Adieresis 209 /ccedilla 210 /Ccedilla 211 /eacute
212 /Eacute 213 /egrave 214 /Egrave 215 /ecircumflex 216 /Ecircumflex
217 /edieresis 218 /Edieresis 219 /icircumflex 220 /Icircumflex
221 /idieresis 222 /Idieresis 223 /ntilde 224 /Ntilde 226 /ocircumflex
228 /Ocircumflex 230 /Odieresis 231 /ucircumflex 236 /Ucircumflex
237 /udieresis 238 /Udieresis 239 /aring 240 /odieresis 242 /Aring 243 /ydieresis
244 /Ydieresis 246 /aacute 247 /Aacute 252 /ugrave 253 /Ugrave
127 /atilde 128 /Atilde 129 /oacute 130 /Oacute 131 /iacute
132 /Iacute 133 /igrave 134 /Igrave 135 /otilde 136 /Otilde
137 /uacute 138 /Uacute] def
/Times-Roman /Times-Roman accvec ReEncode
/Times-Italic /Times-Italic accvec ReEncode
/Times-Bold /Times-Bold accvec ReEncode
/Times-BoldItalic /Times-BoldItalic accvec ReEncode
/Helvetica /Helvetica accvec ReEncode
/Helvetica-Oblique /Helvetica-Oblique accvec ReEncode
/Helvetica-Bold /Helvetica-Bold accvec ReEncode
/Helvetica-BoldOblique /Helvetica-BoldOblique accvec ReEncode
/Courier /Courier accvec ReEncode
/Courier-Oblique /Courier-Oblique accvec ReEncode
/Courier-Bold /Courier-Bold accvec ReEncode
/Courier-BoldOblique /Courier-BoldOblique accvec ReEncode
/oshow {gsave [] 0 sd true charpath stroke gr} def
/stwn { /fs exch def /fn exch def /text exch def fn findfont fs sf
text sw pop xs add /xs exch def} def
/stwb { /fs exch def /fn exch def /nbas exch def /textf exch deftextf length /tlen exch def nbas tlen gt {/nbas tlendef} iffn findfont fs sf textf dup length nbas sub nbas getinterval sw
pop neg xs add /xs exch def} def
/accspe [ 65 /plusminus 66 /bar 67 /existential 68 /universal
69 /exclam 70 /numbersign 71 /greater 72 /question 73 /integral
74 /colon 75 /semicolon 76 /less 77 /bracketleft 78 /bracketright
79 /greaterequal 80 /braceleft 81 /braceright 82 /radical
83 /spade 84 /heart 85 /diamond 86 /club 87 /lessequal
88 /multiply 89 /percent 90 /infinity 48 /circlemultiply 49 /circleplus
50 /emptyset 51 /lozenge 52 /bullet 53 /arrowright 54 /arrowup
55 /arrowleft 56 /arrowdown 57 /arrowboth 48 /degree 44 /comma 43 /plus 45 /angle 42 /angleleft 47 /divide 61 /notequal 40 /equivalence 41 /second 97 /approxequal 98 /congruent 99 /perpendicular 100 /partialdiff 101 /florin 102 /intersection
103 /union 104 /propersuperset 105 /reflexsuperset 106 /notsubset 107 /propersubset 108 /reflexsubset 109 /element 110 /notelement 111 /gradient 112 /logicaland 113 /logicalor 114 /arrowdblboth 115 /arrowdblleft 116 /arrowdblup 117 /arrowdblright
118 /arrowdbldown 119 /ampersand 120 /omega1 121 /similar 122 /aleph ] def
/Symbol /Special accspe ReEncode
%%EndProlog
%%BeginSetup
%%EndSetup
newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 6 lw 1 1 1 c 2268 2199 0 0 bf black 3 lw 1 1 1 c 1588 1539 340 330 bf black 1588 1539 340 330 bl 1 1 1 c 1588 1539 340 330 bf black 1588 1539 340 330 bl 9 lw 1 1 1 c black 348 469 m 619 X 16
1 d 48 X 8 1 d 15 X 4 1 d 4 X 6 1 d 3 X 4 1 d 3 X 4 1 d 4 1 d 3 1 d 3 X 2 1 d 3 1 d 3 1 d 3 1 d 3 1 d 2 1 d 2 1 d 3 1 d 2 1 d 2 1 d 3 2 d 2 1 d 2 1 d 2 1 d s 1126 492 m 13 11 d 3 3 d 12 15 d 4 5 d 11 18 d 5 10 d 9 22 d 6 17 d 9 27 d 7 25 d 8 32 d 8
35 d 8 40 d 8 43 d 8 49 d 8 51 d 9 62 d 7 53 d 11 85 d 5 42 d 16 134 d 15 134 d 12 92 d 4 35 d 10 68 d 6 42 d 7 42 d 6 30 d 3 13 d 6 23 d 5 17 d 5 13 d 5 10 d 6 5 d 5 1 d 5 -3 d 6 -8 d 5 -11 d 5 -17 d 6 -22 d 5 -20 d 6 -32 d 6 -40 d 3 -20 d 7 -50 d
9 -69 d 7 -55 d 9 -81 d 16 -145 d 16 -146 d 11 -100 d 5 -39 d 9 -71 d 7 -55 d 8 -57 d 8 -54 d 7 -47 d 8 -46 d 8 -39 d 8 -36 d 8 -32 d 8 -27 d 9 -27 d 7 -18 d 10 -22 d 6 -10 d 11 -18 d 5 -6 d 13 -13 d 3 -2 d 16 -11 d 15 -7 d 16 -4 d 16 -3 d 16 -1 d
16 -1 d 16 -1 d 127 X s 1904 330 m 16 X s 6 lw 340 330 m 1588 X s
gsave 1285 123
t 0 r 0 0 m /Helvetica-Bold findfont 102.56 sf 0 0 m (Energy \(KeV\)) show gr 340 376 m -46 Y s 393 353 m -23 Y s 446 353 m -23 Y s 499 353 m -23 Y s 552 376 m -46 Y s 605 353 m -23 Y s 658 353 m -23 Y s 711 353 m -23 Y s 763 376 m -46 Y s 816
353 m -23 Y s 869 353 m -23 Y s 922 353 m -23 Y s 975 376 m -46 Y s 1028 353 m -23 Y s 1081 353 m -23 Y s 1134 353 m -23 Y s 1187 376 m -46 Y s 1240 353 m -23 Y s 1293 353 m -23 Y s 1346 353 m -23 Y s 1398 376 m -46 Y s 1451 353 m -23 Y s 1504 353
m -23 Y s 1557 353 m -23 Y s 1610 376 m -46 Y s 1663 353 m -23 Y s 1716 353 m -23 Y s 1769 353 m -23 Y s 1822 376 m -46 Y s 1822 376 m -46 Y s 1875 353 m -23 Y s 1928 353 m -23 Y s
gsave 316 251
t 0 r 0 0 m /Helvetica-Bold findfont 82.6178 sf 0 0 m (0) show gr
gsave 527 251
t 0 r 0 0 m /Helvetica-Bold findfont 82.6178 sf 0 0 m (2) show gr
gsave 738 251
t 0 r 0 0 m /Helvetica-Bold findfont 82.6178 sf 0 0 m (4) show gr
gsave 952 251
t 0 r 0 0 m /Helvetica-Bold findfont 82.6178 sf 0 0 m (6) show gr
gsave 1162 251
t 0 r 0 0 m /Helvetica-Bold findfont 82.6178 sf 0 0 m (8) show gr
gsave 1350 251
t 0 r 0 0 m /Helvetica-Bold findfont 82.6178 sf 0 0 m (10) show gr
gsave 1564 251
t 0 r 0 0 m /Helvetica-Bold findfont 82.6178 sf 0 0 m (12) show gr
gsave 1775 251
t 0 r 0 0 m /Helvetica-Bold findfont 82.6178 sf 0 0 m (14) show gr 340 330 m 1539 Y s
gsave 97 1450
t 90 r 0 0 m /Helvetica-Bold findfont 102.56 sf 0 0 m (Intensity) show gr 388 330 m -48 X s 364 400 m -24 X s 364 469 m -24 X s 364 539 m -24 X s 388 609 m -48 X s 364 679 m -24 X s 364 749 m -24 X s 364 818 m -24 X s 388 888 m -48 X s 364 958 m
-24 X s 364 1028 m -24 X s 364 1097 m -24 X s 388 1167 m -48 X s 364 1237 m -24 X s 364 1307 m -24 X s 364 1376 m -24 X s 388 1446 m -48 X s 364 1516 m -24 X s 364 1586 m -24 X s 364 1656 m -24 X s 388 1725 m -48 X s 388 1725 m -48 X s 364 1795 m
-24 X s 364 1865 m -24 X s
gsave 285 293
t 0 r 0 0 m /Helvetica-Bold findfont 82.6178 sf 0 0 m (0) show gr
gsave 194 573
t 0 r 0 0 m /Helvetica-Bold findfont 82.6178 sf 0 0 m (200) show gr
gsave 194 852
t 0 r 0 0 m /Helvetica-Bold findfont 82.6178 sf 0 0 m (400) show gr
gsave 194 1131
t 0 r 0 0 m /Helvetica-Bold findfont 82.6178 sf 0 0 m (600) show gr
gsave 194 1410
t 0 r 0 0 m /Helvetica-Bold findfont 82.6178 sf 0 0 m (800) show gr
gsave 145 1689
t 0 r 0 0 m /Helvetica-Bold findfont 82.6178 sf 0 0 m (1000) show gr 3 lw 875 469 m 285 X 11 -1 d 10 X 11 -1 d 11 X 10 -1 d 11 -1 d 10 -1 d 9 -2 d 2 X 8 -1 d 3 -1 d 8 -2 d 2 X 8 -2 d 3 -1 d 7 -2 d 3 -1 d 8 -2 d 3 -1 d 7 -2 d 3 -2 d 8 -3 d 3 -1 d
8 -3 d 3 -1 d 8 -4 d 2 -1 d 9 -5 d 2 -1 d 9 -4 d 1 -1 d 11 -6 d 11 -6 d 10 -6 d -73 Y -518 X f 875 469 m 285 X 11 -1 d 10 X 11 -1 d 11 X 10 -1 d 11 -1 d 10 -1 d 9 -2 d 2 X 8 -1 d 3 -1 d 8 -2 d 2 X 8 -2 d 3 -1 d 7 -2 d 3 -1 d 8 -2 d 3 -1 d 7 -2 d 3
-2 d 8 -3 d 3 -1 d 8 -3 d 3 -1 d 8 -4 d 2 -1 d 9 -5 d 2 -1 d 9 -4 d 1 -1 d 11 -6 d 11 -6 d 10 -6 d s 1393 403 m 11 -6 d 10 -7 d 11 -6 d 10 -5 d 11 -6 d 9 -4 d 2 -1 d 8 -4 d 2 -1 d 8 -4 d 3 -1 d 8 -3 d 2 -1 d 8 -3 d 3 -1 d 8 -2 d 3 -1 d 7 -2 d 3 -1
d 8 -2 d 3 -1 d 8 -1 d 2 -1 d 9 -1 d 2 -1 d 10 -1 d 11 -1 d 11 -1 d 10 -1 d 11 -1 d 10 -1 d 32 X 11 -1 d 254 X -519 X f 1393 403 m 11 -6 d 10 -7 d 11 -6 d 10 -5 d 11 -6 d 9 -4 d 2 -1 d 8 -4 d 2 -1 d 8 -4 d 3 -1 d 8 -3 d 2 -1 d 8 -3 d 3 -1 d 8 -2 d
3 -1 d 7 -2 d 3 -1 d 8 -2 d 3 -1 d 8 -1 d 2 -1 d 9 -1 d 2 -1 d 10 -1 d 11 -1 d 11 -1 d 10 -1 d 11 -1 d 10 -1 d 32 X 11 -1 d 254 X s 1912 330 m 10 X -10 X f 1912 330 m 10 X s 6 lw 1335 1294 m 116 1 d s 3 lw 1451 1306 m 32 -11 d -31 -12 d f 6 lw 1451
1306 m 32 -11 d -31 -12 d -1 23 d cl s 3 lw 1335 1282 m -32 12 d 32 11 d f 6 lw 1335 1282 m -32 12 d 32 11 d -23 Y cl s
/xs 0 def (ENC) /Helvetica-Bold 82.6178 stwn gsave 1398 1139
t 0 r xs 2 div neg 0 t 0 0 m /Helvetica-Bold findfont 82.6178 sf 0 0 m (ENC) show gr
gr gr
showpage
end
%%EOF

View File

@ -0,0 +1,57 @@
DESTDIR?=../docs
#manual-api manual-calwiz manual-client manual-gui manual-main
TEX=latex
MAINTEXS= slsDetectorClientHowTo.tex
DVIS = $(MAINTEXS:.tex=.dvi)
PSS = $(MAINTEXS:.tex=.ps)
PDFS = $(MAINTEXS:.tex=.pdf)
#TARGETS=$(join $(DESTDIR)/, $(notdir $(MAINTEXS:.tex=.pdf)))
#destdir?!?!?
DVIS = $(MAINTEXS:.tex=.dvi)
PSS = $(MAINTEXS:.tex=.ps)
PDFS = $(MAINTEXS:.tex=.pdf)
HTMLS = $(MAINTEXS:%.tex=%)
#destdir?!?!?
all: $(PDFS) $(HTMLS)
echo $(PWD)
echo $(PDFS)
echo $(HTMLS)
pdf: $(PDFS)
html: $(HTMLS)
$(HTMLS): $(MAINTEXS)
latex $@.tex
latex2html -split 4 $@.tex
%.dvi : %.tex
latex $<
latex $<
%.ps : %.dvi
dvips -o $@ $<
%.pdf : %.ps
ps2pdf $< $@
clean:
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(HTMLS)

View File

@ -0,0 +1,697 @@
\documentclass{article}
\usepackage{amssymb}
\usepackage[dvips]{graphicx}
\usepackage{verbatim}
\begin{document}
\title{SLS Detector text clients manual}
\date{\today}
\maketitle
\section{Introduction}
This program is intended to control the SLS detectors via command line interface.\\
This is the only way to access all possible functionalities of the detectors, however it is often reccomendable to avoid changing the most dvanced settings, rather leaving the task to configuration files, as when using the GUI or the API provided.
The command line interface consists in four main funtions:
\begin{description}
\item[sls\_detector\_acquire] to acquire data from the detector
\item[sls\_detector\_put] to set detector parameters
\item[sls\_detector\_get] to retrieve detector parameters
\item[sls\_detector\_help] to get help concerning the text commands
\end{description}
Additionally the program \textbf{slsReciever} should be started on the machine expected to receive the data from the detector.
If you need control a single detector, the use of the command line interface does not need any additional arguments.
For commands addressing a single controller of your detector, the command \verb=cmd= should be called with the index \verb=i= of the controller:\\
\verb=sls_detector_clnt i:cmd=\\
where \verb=sls_detector_clnt= is the text client (put, get, acquire, help).
In case more than one detector is configured on the control PC, the command \verb=cmd= should be called with their respectived index \verb=j=:
\verb=sls_detector_clnt j-cmd=\\
where \verb=sls_detector_clnt= is the text client (put, get, acquire, help).
To address a specific controller \verb=i= of detector \verb=j= use:\\
\verb=sls_detector_clnt j-i:cmd=
For additional questions concerning the indexing of the detector, please refere to the \textit{SLS Detectors FAQ} documentation.
\section{Acquisition}
By calling:\\
\verb=sls\_detector\_acquire [j-]=\\
the detector \verb=j= is started and the data are acquired, postprocessed and written to file according to the configuration and setup of the measurements.\\
A progress index of the acquisition in percentage is shown on the command line.
For additional questions concerning the acquisition flow, please refere to the \textit{SLS Detectors FAQ} documentation.
\section{Detector setup}
\verb=sls\_detector\_put [j-][i:]var arg=\\
is used to configure the detector parameters \verb=var= with the value \verb=arg=.\\
It returns the actual value of the variable, as when calling \verb=sls\_detector\_get= with the same command.
\subsection{Standard commands}
\begin{description}
\item[config fname]
Load the configuration file fname. \\
Examples of configuration files are available in the directory \verb=examples=. This should be done every time the configuration of the detectors(s) changes or the control PC is rebooted. Must be executed on all the control PCs, before executing other commands.
\item[parameters fname]
Load the parameter file fname. \\
The syntax of the commands in the parameter file is exactly the same as for the command line interface. Can be used to load a standard mode of acquisition and/or to hide advanced parameters from the final user. Examples of parameter files are available in the directory \verb=examples=.
\item[settings sett]
Configures the settings of the detector. Refere to detailed detector documentation for more details: \\
for MYTHEN sett can be: standard, fast, highgain;\\
for GOTTHARD sett can be: veryhighgain, highgain, mediumgain, lowgain, dynamicgain.
\item[threshold ev]
For photon counting detectors, sets the detector threshold in eV. The detector should be properly calibrated, otherwise standard calibration coefficents are used, which can give an uncertainty up to a few keVs.
\item[timing sync]
Sets the timing mode of the detector. Can be auto, gating (works only if at least one of the signals is configured as gate\_in), trigger (works only if at least one of the signals is configured as trigger\_in), ro\_trigger (works only if at least one of the signals is configured as ro\_trigger\_in), triggered\_gating (works only if one ofthe signals is configured as gate\_in and one as trigger\_in). \\
Refere to the detailed documentation to understand how the different timing modes work.
\item[outdir path]
Defines the path where the output files will be saved to.
\item[fname prefix]
Defines the prefix of the file name for the data output. \\
The final file name will be: \\
\verb=prefix[_d=\textit{d}\verb=][_S=\textit{v0}\verb=][_s=\textit{v1}\verb=][_p=\textit{p}\verb=][_f=\textit{f}\verb=]_=\textit{i}\verb=.=\textit{ext}\\
where: \\
\textit{d} is the controller index, in case of data receiver and more than one controller;\\
\textit{v0} is the scan0 variable with the desired precision, if scan0 is enabled;\\
\textit{v1} is the scan1 variable with the desired precision, if scan1 is enabled;\\
\textit{p} is the position index, if different positions are configured;\\
\textit{f} is the frame index of the first frame stored in the file, if many frames and cycles are configured;\\
\textit{i} is the file index;\\
\textit{ext} is the file extension e.g. \textit{.raw} for MYTHEN raw data, \textit{.dat} for MYTHEN processed data.
\item[index i] Sets the starting index of the file i at the beginning of the acquisition (automatically incremented for each measurement).
\item[enablefwrite b] Enables (1) or disables (0) file writing.
\item[exptime ts]
Sets the exposure time of a single acquisition to ts (in s). It is overridden in case the detector is in gating mode. \\
Refere to detailed documentation to understand how the different timing modes work.
\item[period ts]
Sets the frames period (in s). It is overridden in case the detector is in gating mode. \\
Refere to detailed documentation to understand how the different timing modes work.
\item[delay ts]
Sets the delay after trigger in triggered mode (in s).\\
Refere to the detailed documentation to understand how the different timing modes work.
\item[gates n]
Sets the number of gates per frame in gated (stroboscopic) mode.\\
Refere to the detailed documentation to understand how the different timing modes work.
\item[frames n]
Sets the number of frames acquired sequentially per cycle (e.g. after each trigger), with the exposure time defined by exptime and the period defined by period (unless in gated mode). The frame index in the output file name will automatically be incremented.\\
Note that the total number of images will be frames times cycles. Refere to detailed documentation to understand how the different timing modes work.
\item[cycles n]
Sets the number of cycles (e.g. number of triggers). The frame index in the output file name will automatically be incremented. \\
Note that the total number of images will be by frames times cycles. Refere to the detailed documentation to understand how the different timing modes work.
\item[probes] Sets the number of probes to accumulate for stroboscopic measurements. \\
Refere to detailed documentation to understand how the different timing modes work.
\item[measurements] Sets the number of repetitions of the acquisitions (non real time!). The file index in the file name will be automotically incremented.\\
Refere to detailed documentation to understand how the different timing modes work.
\item[dr n] Sets the dynamic range n (in bits) of the data for a photon counting detector.
\item[flags s] Sets some particular flags for your detector. For MYTHEN s can be \textit{none}, \textit{storeinram} (for buffered readout) or \textit{tot} (for time over threshold).
%\item[timestamp]
\item[help cmd] Returns the help for command cmd.
\item[lock] Locks (1) or unlocks (0) the detector to this particular control PC. CAn be unlocked again only from the same PC or by rebooting the detector.
%\item[lastclient]
\item[nmod n] Sets the number of modules for the detector to n for partial readout. Will be replaced by ROI.
%\item[maxmod]
\end{description}
\subsection{Postprocessing commands}
\begin{description}
\item[flatfield fname] Sets the flat field file name. File ffdir/fname will be used to calculate the flat field coefficients. \textit{none} to unset flat field corrections.
\item[ratecorr ns] Sets the deadtime to be used for rate corrections in ns. 0 to unset, -1 to use default dead time for the actual settings.
\end{description}
\subsubsection{Angular conversion}
\begin{description}
\item[fineoff deg] Sets the fine offset for the experiment.
\item[samplex mm] Sets the sample displacement from the center of the diffractometer in the X-ray direction, to improve angular conversion (unused).
\item[sampley mm] Sets the sample displacement from the center of the diffractometer in the ortogonal direction, to improve angular conversion (unused)
\end{description}
\subsection{Acquisition}
See SLS Detectors Documentation for a detailed description of the acquisition flow.
\begin{description}
\item[positions n p1 p2...pn] Sets the number of positions n and their value.
\item[startscript s] Sets the script to be executed at the beginning of each measurement. \textit{none} unsets.
\item[startscriptpar p] Sets the parameter to be passed to the start script
\item[stopscript s] Sets the script to be executed at the end of each measurement. \textit{none} unsets.
\item[stopscriptpar p] Sets the parameter to be passed to the stop script.
\item[scriptbefore s] Sets the script to be executed before each acquisition. \textit{none} unsets.
\item[scriptbeforepar p] Sets the parameter to be passed to the script before.
\item[scriptafter s] Sets the script to be executed after each acquisition. \textit{none} unsets.
\item[scriptafterpar p] Sets the parameter to be passed to the script after.
\item[headerbefore s] Sets the script to be executed to acquire the header of the acquisition. \textit{none} unsets.
\item[headerbeforepar p] Sets the parameter to be passed to the header before.
\item[headerafter s] Sets the script to be executed to append to the header of the acquisition. \textit{none} unsets.
\item[headerafterpar p] Sets the parameter to be passed to the header after.
\item[scan0scripts s] Sets the script to execute at scan 0 level. \textit{none} unsets, \textit{threshold, energy, trimbits, position} perform the corresponding scans without need of a custom script.
\item[scan0par p] Sets a parameter to be passed to the scan 0 level script.
\item[scan0prec i] Sets the number of decimal digits for the scan0 level parameter in the file name (default is 0).
\item[scan0steps n s1 s2..sn] Sets the number of scan 0 level steps n and their value.
\item[scan0range min max step] Sets the minimum, the maximum and the step for the scan 0 level steps (easier to use than scan0steps if equally spaced steps in a range)
\item[scan1script s] Sets the script to execute at scan 1 level. \textit{none} unsets, \textit{threshold, energy, trimbits, position} perform the corresponding scans without need of a custom script.
\item[scan1par p] Sets a parameter to be passed to the scan 1 level script.
\item[scan1prec i] Sets the number of decimal digits for the scan1 level parameter in the file name (default is 0).
\item[scan1steps n s1 s2...sn] Sets the number of scan 0 level steps n and their value.
\item[scan1range min max step] Sets the minimum, the maximum and the step for the scan 0 level steps (easier to use than scan0steps if equally spaced steps in a range)
\end{description}
\begin{comment}
\subsection{Debug}
\begin{description}
\item[moduleversion]
\item[detectornumber]
\item[modulenumber]
\item[detectorversion]
\item[softwareversion]
\item[thisversion]
\item[detectorsvnversion]
\item[digitest]
\item[bustest]
\item[acqtest]
\end{description}
\end{comment}
\subsection{Advanced commands}
\subsubsection{Calibration}
This operations should be performed only rarely to configure the detector
\begin{description}
\item[trim:mode fname] Trims the detector according to mode (can be noise, beam, improve, fix) and saves the resulting trimbits to file fname. Take care to set a proper exptime and vthreshold before trimming.
\item[encallog b] Sets (1) or unsets (0) the logging for energy calibration.
\item[angcallog b] Sets (1) or unsets (0) the logging for angular calibration.
\end{description}
\subsubsection{Acquisition}
It is normally reccomended to use \verb=sls\_detector\_acquire [j-]=, which takes care of everything
\begin{description}
%\item[acquire] It is normally reccomended to use \verb=sls\_detector\_acquire [j-]=, which takes care of everything
%\item[data]
%\item[frame]
\item[status s] Starts (start) or stops (stop) the detector acquisition.
\item[online b] Sets the detector in online (1) or offline (0) mode.
%\item[checkonline]
%\item[readctr i fname] GOTTHARD related - reads counter in detector to file fname, restarts acquisition if i=1
\item[resetctr i] GOTTHARD- ADVANCED- resets counter in detector, restarts acquisition if i=1
%\item[exptimel]
%\item[periodl]
%\item[delayl]
%\item[gatesl]
%\item[framesl]
%\item[cyclesl]
%\item[frameindex]
%\item[now]
\end{description}
\subsubsection{Configuration}
Advanced commands to configure the detector system. Should be left to the configuration file
\begin{description}
\item[type s] Sets the types of detector controlelrs in the system. Can be Mythen, Gotthard, Eiger and multiple controllers should be catenated with a + (e.g. Mythen+Mythen for 2 Mythen controllers).
\item[d:hostname s] Sets the hostname or IP address for the controller d, where d is the controller index within the detector structure.
\item[d:extsig:i s] Configures the usage of the external IO signals to synchronize the detectors. s can be: off, gate\_in\_active\_high, gate\_in\_active\_low, trigger\_in\_rising\_edge,
trigger\_in\_falling\_edge,
ro\_trigger\_in\_rising\_edge,
ro\_trigger\_in\_falling\_edge,
gate\_out\_active\_high,
gate\_out\_active\_low,
trigger\_out\_rising\_edge,
trigger\_out\_falling\_edge,
ro\_trigger\_out\_rising\_edge,
ro\_trigger\_out\_falling\_edge, sync. \\Usually left to the configuration file. Gating, trigegring etc. are enabled only by calling the timing command. \\
Please refer to SLS Detectors FAQ documentation for more detailed informations about the usage.
\item[master i] Sets the master of a multi-controller detector to the controller with index i. -1 removes master. Setting a master is useful only if the controllers are synchronized via harware using the external IO signals. Usually left to the configuration file. Please refer to SLS Detectors FAQ documentation for more detailed informations about the usage.
\item[sync s] Sets the synchronization mode of the various controller within a detector structure. s acn be none, gating, trigger, complementary. Check that the detectors are correctly connected to avoid freezing of the acquisition. Usually left to the configuration file. Please refer to SLS Detectors FAQ documentation for more detailed informations about the usage.
\item[trimdir s] Obsolete. Same ad settingsdir.
\item[settingsdir s] Sets the path of the drectory where the trim/settings files are stored. Usually left to the configuration file.
\item[caldir s] Sets the path of the drectory where the calibration files are stored. Can be the same as settingsdir. Usually left to the configuration file.
\item[trimen n e1 e2 ...en] Unused. Sets the list of energies for which trimfiles exist.
\item[port p] Sets the port used by the sockets to control the detector. Do not change! Usually left to the configuration file.
\item[stopport p] Sets the port used by the sockets to stop/get the status of the detector. Do not change! Usually left to the configuration file.
\item[add s] Avoid using it. Adds the controller s to the detector structure.
\item[remove i] Avoid using it. Removes the controller in position i from the detector structure.
\item[id:i l] Avoid using it. configures the id of the detector structure. i is the detector position in a multi detector system and l is the id of the detector to be added.
\item[free i] Avoid using it. Frees the shared memory.
\item[exitserver] Avoid using it. Turns off the communication server on the detector.
\end{description}
\subsubsection{Receiver - GOTTHARD only}
\begin{description}
\begin{comment}
\item[receiverip ip] sets receiver ip to ip. Should be left to the configuration file.
%\item[receivermac] sets receiver mac to mac. Should be left to the configuration file.
\item[servermac mac] sets server mac to mac. Should be left to the configuration file.
%\item[configuremac i] configures the MAC of the detector. i is adc number. -1 for all adcs. Should be left to the configuration file.
\item[dataport i] sets the communication port to the receiver. Should be left to the configuration file.
\end{comment}
\item[detectormac mac] sets the mac of the detector udp interface to mac (if configurable). Should be left to the configuration file.
\item[rx\_tcpport i] sets the communication port between client and receiver. Should be left to the configuration file.
\item[rx\_udpport i] sets the communication port between detector and receiver. Should be left to the configuration file.
\item[rx\_hostname s] sets the hostname (or IP address) of the receiver for the TCP/IP interface with the client.
\item[rx\_udpip ip] sets the IP address of the receiver for the UDP interface with the detector.
\item[r\_online b] sets the receiver in online (1) or offline (0) mode.
%\item[r\_checkonline]
%\item[framescaught]
\item[r\_lock b] Locks (1) or unlocks (0) the receiver to this PC.
%\item[r\_lastclient]
\item[receiver s] starts/stops the receiver to listen to detector packets. - can be start or stop
\end{description}
\subsubsection{Postprocessing}
Some advanced commands to configure data postprocessing.
\begin{description}
\item[ffdir dir] Sets the directory where the flat field files are stored. Normally left to the configuration file.
\item[darkimage fname] GOTTHARD- ADVANCED- Sets fname as dark image file for the detector.
\item[gainimage fname] GOTTHARD- ADVANCED- Sets fname as gain image file for the detector.
\item[badchannels fname] Sets the bad channel file to fname. Bad channels will be omitted in the .dat file. \textit{none} to unset. Normally left to the configuration file.
\item[threaded b] Avoid changing it. Sets if the data are written to disk in parallel with the acquisition (1) or after the acquistion (0). Normally left to the configuration file.
\end{description}
\textbf{Angular conversion}
\begin{description}
\item[globaloff deg] Sets the offset of the beamline i.e. angular position of channel 0 when angular encoder at 0. Normally left to the configuration file.
\item[angconv fname] Sets the file with the coefficients for angular conversion. \textit{none} disables angular conversion. Normally left to the configuration file.
\item[binsize deg] Sets the size of the angular bins for angular coversion. Normally left to the configuration file.
\item[angdir i] Sets the angular direction of the detector (1 means channel number in the same direction as the angular encoder, -1 different direction). Normally left to the configuration file.
\item[d:moveflag i] Related to a single controller d. 1 if the detector modules move with the angular encoder, 0 if they are static (useful for multidetector systems). Normally left to the configuration file.
\end{description}
\subsection{Detector settings}
Advanced settings changing the analog or digital performance of the acquisition. Use them only if you are sure of what you are doing!
\begin{description}
\item[vthreshold n] Sets the DAC value of the detector threshold to n.
\item[vcalibration n] Sets the DAC value of the calibration pulse amplitude to n.
\item[vtrimbit n] Sets the DAC value defining the trimbits LSB size to n.
\item[vpreamp n] Sets the DAC value of the preamp feedback to n.
\item[vshaper1 n] Sets the DAC value of the shaper1 feedback to n.
\item[vshaper2 n] Sets the DAC value of the shaper2 feedback to n.
\item[vhighvoltage n] Sets the DAC value of the high voltage to n (in V).
\item[vapower n] CHIPTEST BOARD ONLY - Sets the DAC value of the analog voltage to n.
\item[vddpower n] CHIPTEST BOARD ONLY - Sets the DAC value of the analog voltage to n.
\item[vshpower n] CHIPTEST BOARD ONLY - Sets the comparator power supply in dac units (0-1024).
\item[viopower n] CHIPTEST BOARD ONLY - Sets the FPGA I/O power supply in dac units (0-1024).
\item[vref\_ds n] Sets vrefds
\item[vcascn\_pb n] Sets vcascn\_pb
\item[vcascp\_pb n] Sets vcascp\_pb
\item[vout\_cm n] Sets vout\_cm
\item[vcasc\_out n] Sets vcasc\_out
\item[vin\_cm n] Sets vin\_cm
\item[vref\_comp n] Sets vref\_comp
\item[ib\_test\_c n] Sets ib\_test\_c
%\item[temp\_adc n] Sets
%\item[temp\_fpga n]
\item[reg a d] Write to register of address a the data d
\item[clkdivider n] Sets the clock divider for the readout. Can be increased for longer cables.
\item[setlength n] Changes the length of the set/reset signals in the acquisition. Never reduce it!
\item[waitstates n] Sets the wait states for CPU/FPGA communication. Do not change it!
\item[totdivider n] Sets the tot clock divider.
\item[totdutycycle n] Sets the tot duty cycle.
\item[setup s] Loads the setup files to the detector (config, parameters, trimbits etc.).
\item[trimbits fn] Loads the trimbit files fn.snxxx to the detector
\end{description}
\subsection{Debug}
\begin{description}
\item[digibittest i] only for GOTTHARD. If i=1, the acquisition will return a unique channel identifier, instead of data, if i=0 normal acquisition.
\end{description}
\section{Retrieving detector parameters}
\verb=sls\_detector\_get [j-][i:]var [arg]=\\
is used to retrieve the detector parameters \verb=var=.\\
For some commands, an additional argument \verb=arg= is needed.
\subsection{Standard commands}
\begin{description}
\item[config fname]
Dumps the current configuration of the detector to the file fname.
\item[parameters fname]
Dumps the current acquistion parameters of the detector to the file fname.
\item[settings]
Returns the current settings of the detector.
\item[threshold]
For photon counting detectors, returns the detector threshold in eV, -1 if undefined.
\item[timing]
Returns the acquistion timing mode of the detector.
Refere to the detailed documentation to understand how the different timing modes work.
\item[outdir]
Returns the path where the output files are saved to.
\item[fname]
Returns the prefix of the file name for the data output.
\item[enablefwrite] Returns if data are written to file (1) or not (0).
\item[exptime]
Returns the exposure time of a single acquisition in seconds.
Refere to detailed documentation to understand how the different timing modes work.
\item[period]
Returns the frames period (in s).
Refere to detailed documentation to understand how the different timing modes work.
\item[delay]
Returns the delay after trigger in triggered mode (in s).
Refere to detailed documentation to understand how the different timing modes work.
\item[gates]
Returns the number of gates per frame in gated (stroboscopic) mode.
Refere to detailed documentation to understand how the different timing modes work.
\item[frames]
Returns the number of frames acquired sequentially per cycle (e.g. after each trigger), with the exposure time defined by exptime and the period defined by period (unless in gated mode).
Note that the total number of images is frames times cycles.
Refere to detailed documentation to understand how the different timing modes work.
\item[cycles n]
Returns the number of cycles (e.g. number of triggers).
Note that the total number of images is frames times cycles.
Refere to detailed documentation to understand how the different timing modes work.
\item[probes] Returns the number of probes to accumulate for stroboscopic measurements.
Refere to detailed documentation to understand how the different timing modes work.
\item[measurements] Returns the number of repetitions of the acquisitions (non real time!).
Refere to detailed documentation to understand how the different timing modes work.
\item[dr] Returns the dynamic range n (in bits) of the data for a photon counting detector.
\item[flags s] Returns the flags set for your detector.
\item[help cmd] Returns the help for command cmd.
\item[lock] Returns if the detector is locked to a single PC.
\item[lastclient] Returns the last client which has connected to the detector.
\item[nmod n] Returns the number of modules which are read out. Will be replaced by ROI.
\item[maxmod] Returns the maximum number of modules (size) of the detector. Will be replaced by size.
\end{description}
\subsection{Postprocessing commands}
\begin{description}
\item[flatfield] Returns the flat field file name.
\item[ratecorr] Returns the dead time used for rate corrections.
\end{description}
\subsubsection{Angular conversion}
\begin{description}
\item[fineoff] Returns the fine offset used to convert channel number to angles
\item[samplex] Returns the sample displacement from the center of the diffractometerin the X-ray direction, to improve angular conversion (unused).
\item[sampley] Returns the sample displacement from the center of the diffractometer in the ortogonal direction, to improve angular conversion (unused)
\end{description}
\subsection{Acquisition}
See SLS Detectors Documentation for a detailed description of the acquisition flow.
\begin{description}
\item[positions] Returns the number of positions n and their value.
\item[startscript] Returns the script to be executed at the beginning of each measurement.
\item[startscriptpar] Returns the parameter to be passed to the start script
\item[stopscript] Returns the script to be executed at the end of each measurement.
\item[stopscriptpar] Returns the parameter to be passed to the stop script.
\item[scriptbefore] Returns the script to be executed before each acquisition.
\item[scriptbeforepar] Returns the parameter to be passed to the script before.
\item[scriptafter] Returns the script to be executed after each acquisition.
\item[scriptafterpar] Returns the parameter to be passed to the script after.
\item[headerbefore] Returns the script to be executed to acquire the header of the acquisition.
\item[headerbeforepar] Returns the parameter to be passed to the header before.
\item[headerafter] Returns the script to be executed to append to the header of the acquisition.
\item[headerafterpar] Returns the parameter to be passed to the header after.
\item[scan0scripts] Returns the script to execute at scan 0 level.
\item[scan0par] Returns a parameter to be passed to the scan 0 level script.
\item[scan0prec] Returns the number of decimal digits for the scan0 level parameter in the file name (default is 0).
\item[scan0steps] Returns the number of scan 0 level steps n and their value.
\item[scan0range] Same as scan0steps.
\item[scan1script] Returns the script to execute at scan 1 level.
\item[scan1par] Returns a parameter to be passed to the scan 1 level script.
\item[scan1prec] Returns the number of decimal digits for the scan1 level parameter in the file name (default is 0).
\item[scan1steps] Returns the number of scan 0 level steps n and their value.
\item[scan1range] Same as scan1steps.
\end{description}
\subsection{Debug}
Commands to be used to retrieve informations about the detector version or perform tests.
\subsubsection{Version}
\begin{description}
\item[moduleversion[:i]] Returns the version of the module firmware.
\item[detectornumber] Returns the serial number of the module (normally the MAC address).
\item[modulenumber[:i]] Returns the serial number of the module i.
\item[detectorversion] Returns the version of the controller firmware.
\item[softwareversion] Returns the version of the software running on the detector.
\item[thisversion] Returns the version of the control software which is being used.
\item[detectorsvnversion] Returns the SVN version of the software on the detector.
\end{description}
\subsubsection{Tests}
\begin{description}
\item[digitest[:i]] Makes a digital test of module i. Afterwards the detector must be reconfigured for the acquisition (settings, threshold, exptime, dr, frames etc.). Returns 0 if succeeded, otherwise an error mask.
\item[bustest] Makes a digital test of the communication between CPU and FPGA. Returns 0 if succeeded, otherwise the number of errors.
%\item[digibittest] GOTTHARD?!?!??!
%\item[acqtest] GOTTHARD?!?!??!
%\item[test] GOTTHARD?!?!??!
\end{description}
\subsection{Advanced commands}
\subsubsection{Calibration}
This operations should be performed only rarely to configure the detector
\begin{description}
\item[encallog] returns whether the logging for energy calibration is enabled.
\item[angcallog] returns whether the logging for angular calibration is enabled.
\end{description}
\subsubsection{Acquisition commands}
It is normally reccomended to use \verb=sls\_detector\_acquire [j-]=, which takes care of everything
\begin{description}
\item[acquire] Same as \verb=sls\_detector\_acquire=
\item[data] Gets, saves and processes all data stored on the detector, if any.
\item[frame] Gets, saves and processes one frame stored on the detector, if any in a Firt-In/First-Out mode.
\item[status] Returns the detector status - can be: running, error, transmitting, finished, waiting or idle
\item[online] Returns whether the detector is in online or offline mode.
\item[checkonline] Returns whether the detector is in online or offline mode.
\item[readctr i fname] GOTTHARD related - reads counter in detector to file fname, restarts acquisition if i=1
%\item[resetctr i] GOTTHARD- ADVANCED- resets counter in detector, restarts acquisition if i=1
\item[exptimel] Returns the exposure time left for the current frame.
\item[periodl] Returns the period left for the current frame.
\item[delayl] Returns the delay after trigger left for the current frame.
\item[gatesl] Returns the number of gates left for the current frame.
\item[framesl] Returns the number of frames left for the current cycle.
\item[cyclesl] Returns the number of cycles left for the current acquisition.
\item[now] Returns the current timestamp of the detector clock.
\item[timestamp] Returns the timestamp of the acquisitions in a First-In/First-Out mode i.e. every time it is called it returns the timestamp of the first acquisition start of readout. The FIFO is reset everytime the acquisition is started.
\end{description}
\subsubsection{Configuration}
Advanced commands to configure the detector system. Should be left to the configuration file
\begin{description}
\item[type] Returns the types of detector controlelrs in the system.
\item[hostname] Returns the hostnames or IP addresses for the detector
\item[d:extsig:i] Returns the usage of the external IO signal i of the controller d.
\item[master] Returns the master of the acquisition in a multicontroller detector. -1 is none.
\item[sync] Returns the synchronization mode of the various controller within a detector structure.
\item[trimdir] Same ad settingsdir.
\item[settingsdir] Returns the path of the drectory where the trim/settings files are stored.
\item[caldir] Returns the path of the drectory where the calibration files are stored.
\item[trimen n e1 e2 ...en] Unused. Returns the list of energies for which trimfiles exist.
\item[port] Returns the port used by the sockets to control the detector.
\item[stopport]Returns the port used by the sockets to stop/get the status of the detector.
%\item[add s] Avoid using it. Adds the controller s to the detector structure.
%\item[remove i] Avoid using it. Removes the controller in position i from the detector structure.
\item[id[:i]] returns the id of the detector structure. i is the detector position in a multi detector system
\item[free] Avoid using it. Frees the shared memory.
\end{description}
\subsubsection{Receiver - GOTTHARD only}
\begin{description}
%\item[receiverip] Returns receiver ip.
%\item[receivermac]Returns the receiver mac.
%\item[servermac] Returns the server mac.
%\item[dataport] Returns the communication port to the receiver.
\item[detectormac] returns the mac of the detector udp interface to mac (if configurable). Should be left to the configuration file.
\item[rx\_tcpport] returns the communication port between client and receiver. Should be left to the configuration file.
\item[rx\_udpport] returns the communication port between detector and receiver. Should be left to the configuration file.
\item[rx\_hostname] returns the hostname (or IP address) of the receiver for the TCP/IP interface with the client.
\item[rx\_udpip] returns the IP address of the receiver for the UDP interface with the detector.
\item[r\_online b] Returns whether the receiver in online (1) or offline (0) mode.
\item[r\_checkonline] Returns whether the receiver in online (1) or offline (0) mode.
\item[framescaught] Returns the number of frames received.
\item[frameindex] Returns the index of the last frame received.
\item[r\_lock] Returns whether the reciever is locked (1) or unlocked (0).
\item[r\_lastclient] Returns the IP of the last client which connected to the receiver.
%\item[receiver s ] starts/stops the receiver to listen to detector packets. - can be start or stop
\end{description}
\subsubsection{Postprocessing}
Some advanced commands to configure data postprocessing.
\begin{description}
\item[ffdir] Returns the directory where the flat field files are stored.
\item[darkimage fname] GOTTHARD- ADVANCED- Returns the dark image file for the detector.
\item[gainimage fname] GOTTHARD- ADVANCED- Returns gain image file for the detector.
\item[badchannels fname] Returns bad channel file to fname.
\item[threaded b] Returns whether the data are written to disk in parallel with the acquisition (1) or after the acquistion (0).
\end{description}
\textbf{Angular conversion}
\begin{description}
\item[globaloff] Returns the offset of the beamline i.e. angular position of channel 0 when angular encoder at 0.
\item[angconv] Returns the file used for the coefficients for angular conversion.
\item[binsize] Returns the size of the angular bins for angular coversion.
\item[angdir] Returns the angular direction of the detector (1 means channel number in the same direction as the angular encoder, -1 different direction).
\item[d:moveflag] Related to a single controller d. Returns 1 if the detector modules move with the angular encoder, 0 if they are static (useful for multidetector systems).
\end{description}
\subsection{Detector settings}
Advanced settings changing the analog or digital performance of the acquisition. Use them only if you are sure of what you are doing!
\begin{description}
\item[vthreshold] Returns the DAC value of the detector threshold to n.
\item[vcalibration] Returns the DAC value of the calibration pulse amplitude to n.
\item[vtrimbit] Returns the DAC value defining the trimbits LSB size to n.
\item[vpreamp] Returns the DAC value of the preamp feedback to n.
\item[vshaper1] Returns the DAC value of the shaper1 feedback to n.
\item[vshaper2] Returns the DAC value of the shaper2 feedback to n.
\item[vhighvoltage] CHIPTEST BOARD ONLY - Returns the DAC value of the high voltage to n.
\item[vapower] CHIPTEST BOARD ONLY - Returns the DAC value of the analog voltage to n.
\item[vddpower] CHIPTEST BOARD ONLY - Returns the DAC value of the analog voltage to n.
\item[vshpower] CHIPTEST BOARD ONLY - Returns the comparator power supply in dac units (0-1024).
\item[viopower] CHIPTEST BOARD ONLY - Returns the FPGA I/O power supply in dac units (0-1024).
\item[vref\_ds] Returns vrefds
\item[vcascn\_pb] Returns vcascn\_pb
\item[vcascp\_pb] Returns vcascp\_pb
\item[vout\_cm] Returns vout\_cm
\item[vcasc\_out] Returns vcasc\_out
\item[vin\_cm] Returns vin\_cm
\item[vref\_comp] Returns vref\_comp
\item[ib\_test\_c] Returns ib\_test\_c
\item[temp\_adc] Returns the temperature of the ADCs
\item[temp\_fpga] Returns the temperature of the FPGA.
\item[reg a] Write to register of address a the data d
\item[clkdivider] Returns the clock divider for the readout.
\item[setlength] Returns the length of the set/reset signals in the acquisition.
\item[waitstates] Returns the wait states for CPU/FPGA communication.
\item[totdivider] Returns the tot clock divider.
\item[totdutycycle] Returns the tot duty cycle.
\item[setup] Dumps all settings to file (config, parameters, trimbits etc.).
\item[trimbits fn] Dumps the trimbits to the file files fn.snxxx
\end{description}
\section{Usage}
\subsection{Mandatory setup}
First, your detector should always be configured for each PC that you might want to use for controlling the detector.
To do that:
\begin{verbatim}
sls_detector_put config mydetector.config
\end{verbatim}
Refere to sample configuration files to produce the appropiate one for your detector.
\subsection{Standard acquisition}
You will then need to setup the detector threshold and settings, the exposure time, the number of real time frames and eventually how many real time frames should be acquired:
\begin{verbatim}
sls_detector_put settings standard
sls_detector_put threshold 6000
sls_detector_put exptime 1.
sls_detector_put frames 10
\end{verbatim}
In this case 10 consecutive 1s frames will be acquired.
You need to setup where the files will be written to
\begin{verbatim}
sls_detector_put outdir /scratch
sls_detector_put fname run
sls_detector_put index 0
\end{verbatim}
this way your files will al be named /scratch/run\_fj\_i.dat where j goes between 0 and 9 and is relative to the frame number, i starts from 0 and is automatically incremented. The next acquistion it will be 1.
To acquire simply type
\begin{verbatim}
sls_detector_acquire
\end{verbatim}
You can poll the detector status using
\begin{verbatim}
sls_detector_get status
\end{verbatim}
\subsection{Data processing}
Flat field and rate corrections can be applied direcly by simply selecting:
\begin{verbatim}
sls_detector_put flatield myflatfield.raw
sls_detector_put ratecorr -1
\end{verbatim}
\end{document}

View File

@ -0,0 +1,59 @@
DESTDIR?=../docs
#manual-api manual-calwiz manual-client manual-gui manual-main
TEX=latex
MAINTEXS= slsDetectorGuiHowTo.tex
#TEXS=
DVIS = $(MAINTEXS:.tex=.dvi)
PSS = $(MAINTEXS:.tex=.ps)
PDFS = $(MAINTEXS:.tex=.pdf)
#TARGETS=$(join $(DESTDIR)/, $(notdir $(MAINTEXS:.tex=.pdf)))
#destdir?!?!?
DVIS = $(MAINTEXS:.tex=.dvi)
PSS = $(MAINTEXS:.tex=.ps)
PDFS = $(MAINTEXS:.tex=.pdf)
HTMLS = $(MAINTEXS:%.tex=%)
#destdir?!?!?
all: $(PDFS) $(HTMLS)
echo $(PWD)
echo $(PDFS)
echo $(HTMLS)
pdf: $(PDFS)
html: $(HTMLS)
$(HTMLS): $(TEXS) $(MAINTEXS)
latex $@.tex
latex2html -split 4 $@.tex
%.dvi : %.tex $(TEXS)
latex $<
latex $<
%.ps : %.dvi
dvips -o $@ $<
%.pdf : %.ps
ps2pdf $< $@
clean:
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(HTMLS)

View File

@ -0,0 +1,59 @@
The slsDetectorGUI is based on Qt4 with Qwt libraries.
-Qt4.6 installation:
Download the opend source version:
ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.6.2.tar.gz
To install:
gunzip qt-everywhere-opensource-src-4.6.2.tar.gz
tar xvf qt-everywhere-opensource-src-4.6.2.tar
./configure
make
make install
By default Qt4 will be installed int /usr/local/Trolltech/Qt-4.6.2/
Edit your .bashrc:
export QTDIR=/usr/local/Trolltech/Qt-4.6.2
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
If your system also have Qt3 installed, make sure that QTDIR, PATH and LD_LIBRARY_PATH point to Qt4 before installing Qwt (and of course compiling and running the GUI).
- Qwt5.2 installation
Download the sources:
svn co https://qwt.svn.sourceforge.net/svnroot/qwt/branches/qwt-5.2
To install:
cd qwt-5.2
qmake
make
make install
By default Qwt will be installed in /usr/local/qwt-5.2.3-svn/
Edit your .bashrc:
export QWTDIR=/usr/local/qwt-5.2.3-svn/
export LD_LIBRARY_PATH=$QWTDIR/lib:$LD_LIBRARY_PATH
- The calibration wizards are based on the cern root software
Download the sources
svn co https://root.cern.ch/svn/root/trunk root
To install:
cd root
./configure --enable-qt
make
make install
edit your .bashrc:
export ROOTSYS=/usr/local/root
export PATH=$ROOTSYS/bin:$PATH
export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH
You can also download the binaries, assuming that your linuc and gcc versions match:
http://root.cern.ch/drupal/content/production-version-534

View File

@ -0,0 +1,737 @@
%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 60 27 781 568
%%HiResBoundingBox: 60.900000 27.600000 781.000000 567.700000
%.....................................
%%Creator: GPL Ghostscript 870 (epswrite)
%%CreationDate: 2012/12/06 13:02:37
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
%%EndComments
%%BeginProlog
% This copyright applies to everything between here and the %%EndProlog:
% Copyright (C) 2009 Artifex Software, Inc. All rights reserved.
%%BeginResource: procset GS_epswrite_2_0_1001 1.001 0
/GS_epswrite_2_0_1001 80 dict dup begin
/PageSize 2 array def/setpagesize{ PageSize aload pop 3 index eq exch
4 index eq and{ pop pop pop}{ PageSize dup 1
5 -1 roll put 0 4 -1 roll put dup null eq {false} {dup where} ifelse{ exch get exec}
{ pop/setpagedevice where
{ pop 1 dict dup /PageSize PageSize put setpagedevice}
{ /setpage where{ pop PageSize aload pop pageparams 3 {exch pop} repeat
setpage}if}ifelse}ifelse}ifelse} bind def
/!{bind def}bind def/#{load def}!/N/counttomark #
/rG{3{3 -1 roll 255 div}repeat setrgbcolor}!/G{255 div setgray}!/K{0 G}!
/r6{dup 3 -1 roll rG}!/r5{dup 3 1 roll rG}!/r3{dup rG}!
/w/setlinewidth #/J/setlinecap #
/j/setlinejoin #/M/setmiterlimit #/d/setdash #/i/setflat #
/m/moveto #/l/lineto #/c/rcurveto #
/p{N 2 idiv{N -2 roll rlineto}repeat}!
/P{N 0 gt{N -2 roll moveto p}if}!
/h{p closepath}!/H{P closepath}!
/lx{0 rlineto}!/ly{0 exch rlineto}!/v{0 0 6 2 roll c}!/y{2 copy c}!
/re{4 -2 roll m exch dup lx exch ly neg lx h}!
/^{3 index neg 3 index neg}!
/f{P fill}!/f*{P eofill}!/s{H stroke}!/S{P stroke}!
/q/gsave #/Q/grestore #/rf{re fill}!
/Y{P clip newpath}!/Y*{P eoclip newpath}!/rY{re Y}!
/|={pop exch 4 1 roll 1 array astore cvx 3 array astore cvx exch 1 index def exec}!
/|{exch string readstring |=}!
/+{dup type/nametype eq{2 index 7 add -3 bitshift 2 index mul}if}!
/@/currentfile #/${+ @ |}!
/B{{2 copy string{readstring pop}aload pop 4 array astore cvx
3 1 roll}repeat pop pop true}!
/Ix{[1 0 0 1 11 -2 roll exch neg exch neg]exch}!
/,{true exch Ix imagemask}!/If{false exch Ix imagemask}!/I{exch Ix image}!
/Ic{exch Ix false 3 colorimage}!
/F{/Columns counttomark 3 add -2 roll/Rows exch/K -1/BlackIs1 true>>
/CCITTFaxDecode filter}!/FX{<</EndOfBlock false F}!
/X{/ASCII85Decode filter}!/@X{@ X}!/&2{2 index 2 index}!
/@F{@ &2<<F}!/@C{@X &2 FX}!
/$X{+ @X |}!/&4{4 index 4 index}!/$F{+ @ &4<<F |}!/$C{+ @X &4 FX |}!
/IC{3 1 roll 10 dict begin 1{/ImageType/Interpolate/Decode/DataSource
/ImageMatrix/BitsPerComponent/Height/Width}{exch def}forall
currentdict end image}!
/~{@ read {pop} if}!
end def
%%EndResource
/pagesave null def
%%EndProlog
%%Page: 1 1
%%BeginPageSetup
GS_epswrite_2_0_1001 begin
/pagesave save store 197 dict begin
0.1 0.1 scale
%%EndPageSetup
gsave mark
Q q
609.602 276.398 7200 5400 re
Y
255 G
609.602 276.398 7200 5400 re
f
Q q
609.602 276.398 7200 5400 re
Y
21.6 w
8 M
1 j
K
2682 1943.2 4677.6 1704 S
Q q
609.602 276.398 7200 5400 re
Y
0.24 i
K
7288.09 3733 -4.45 0 13.13 59.31 3.98 0 P
-0.55 -5.7 -0.82 -10.42 -0.82 -14.16 c
0 -10.69 3.42 -19.38 10.25 -26.09 c
6.84 -6.71 15.76 -10.06 26.78 -10.06 c
10.23 0 18.01 3.15 23.32 9.45 c
5.31 6.3 7.97 13.57 7.97 21.79 c
0 5.32 -1.21 10.18 -3.63 14.56 c
-3.67 6.5 -13.46 17.93 -29.39 34.3 c
-7.73 7.83 -12.68 13.66 -14.87 17.5 c
-3.59 6.34 -5.39 13 -5.39 19.97 c
0 11.12 4.14 20.63 12.41 28.54 c
8.27 7.91 18.89 11.89 31.85 11.89 c
4.37 0 8.51 -0.43 12.41 -1.29 c
2.42 -0.47 6.83 -2.03 13.23 -4.69 c
4.53 -1.8 7.03 -2.77 7.5 -2.93 c
1.09 -0.23 2.3 -0.35 3.63 -0.35 c
2.26 0 4.21 0.59 5.86 1.76 c
1.64 1.17 3.55 3.67 5.74 7.5 c
4.47 0 -12.19 -53.2 -3.98 0 p
0.31 4.75 0.47 8.59 0.47 11.52 c
0 9.58 -3.12 17.42 -9.37 23.52 c
-6.25 6.1 -14.49 9.15 -24.73 9.15 c
-8.12 0 -14.73 -2.41 -19.8 -7.2 c
-5.08 -4.79 -7.62 -10.34 -7.62 -16.62 c
0 -5.5 1.62 -10.75 4.87 -15.74 c
3.25 -4.99 10.72 -13.13 22.41 -24.41 c
11.7 -11.28 19.26 -20.08 22.71 -26.41 c
3.44 -6.33 5.16 -13.07 5.16 -20.22 c
0 -8.1 -2.14 -15.94 -6.41 -23.52 c
-4.26 -7.59 -10.37 -13.46 -18.35 -17.62 c
-7.97 -4.16 -16.69 -6.25 -26.14 -6.25 c
-4.69 0 -9.07 0.43 -13.13 1.29 c
-4.06 0.86 -10.55 2.97 -19.46 6.33 c
-3.05 1.17 -5.59 1.76 -7.62 1.76 c
-4.61 0 -8.21 -3.12 -10.79 -9.37 c
h
f
Q q
609.602 276.398 7200 5400 re
Y
9.6 w
8 M
1 j
K
1437.6 5345.2 1704 -4677.6 S
131072 M
1 J
1508.4 5276.8 -67.2 67.2 -12 -96 S
Q q
609.602 276.398 7200 5400 re
Y
255 G
2904 2021.2 -225.6 -81.6 81.6 -225.6 225.6 81.6 f*
9.6 w
8 M
1 J
K
2904 2021.2 -225.6 -81.6 81.6 -225.6 225.6 81.6 H
S
Q q
609.602 276.398 7200 5400 re
Y
0.24 i
K
5019.7 2957 -37.97 0 -25.43 77.23 P
-0.35 -0.14 -0.7 -0.23 -1.06 -0.23 c
-5.6 0 -11.34 0.66 -17.22 1.98 c
-13.71 -48.27 p
-1.8 -6.28 -2.7 -11.57 -2.7 -15.89 c
0 -3.29 1.13 -5.88 3.4 -7.77 c
1.72 -1.41 6.41 -2.43 14.06 -3.06 c
-1.05 -4 -61.52 0 1.29 4 p
5.77 0.23 9.67 0.82 11.7 1.76 c
3.2 1.33 5.54 3.13 7.02 5.41 c
2.5 3.68 5.11 10.18 7.84 19.51 c
27.74 96.23 p
1.87 6.43 2.81 11.4 2.81 14.93 c
0 3.6 -1.46 6.66 -4.39 9.16 c
-2.84 2.43 -6.87 3.64 -12.1 3.64 c
-0.16 0 -0.32 0 -0.48 0 c
1.41 4.36 51.73 0 p
17.32 0 29.81 -3.3 37.46 -9.88 c
7.64 -6.58 11.48 -15.24 11.48 -25.97 c
0 -10.26 -3.92 -19.64 -11.74 -28.14 c
-7.82 -8.5 -18.54 -13.89 -32.16 -16.16 c
15.47 -46.64 p
3.75 -11.44 7.5 -18.88 11.25 -22.33 c
3.75 -3.45 9.8 -5.41 18.16 -5.87 c
h
4958.77 3107.03 -18.76 -64.96 P
5 -0.71 9.46 -1.07 13.37 -1.07 c
13.44 0 24.07 3.79 31.89 11.38 c
7.81 7.59 11.73 17.02 11.73 28.31 c
0 8.82 -2.45 15.57 -7.34 20.26 c
-4.89 4.69 -12.21 7.05 -21.98 7.05 c
-2.5 0 -5.47 -0.33 -8.91 -0.97 c
h
f
Q q
609.602 276.398 7200 5400 re
Y
K
5024 2895 113 73 @C
,
4'$<Oc\F!fVqXN:n(uq"h>?(PNr+'>o\I3hqg3hLhm`!]qsE5-rsS4Sg[G.?]799upA99Qp[-`0
g])3#6BAatqiKjQ^>9-V=WR7MrK6O*gUDBRrSHGdG2KcWhqRk^DscELp><=UrO["&gUjqE]A%f3
IG8VNgO"Eg^VegohS]'@[^BMnK3GObaVo'lh>=Si)L2ks3,2HF#+e*!BJh!<0S+o~>
Q q
609.602 276.398 7200 5400 re
Y
31.2 w
8 M
1 j
239 41 26 rG
1568.4 5010.4 484.8 -1332 S
Q q
609.602 276.398 7200 5400 re
Y
4.8 w
8 M
1 J
1 j
K
2037.6 3739.6 93.6 33.6 S
Q q
609.602 276.398 7200 5400 re
Y
4.8 w
8 M
1 J
1 j
K
1586.4 4970.8 93.6 33.6 S
Q q
609.602 276.398 7200 5400 re
Y
4.8 w
8 M
1 J
1 j
K
1629.6 4858 91.2 33.6 S
Q q
609.602 276.398 7200 5400 re
Y
4.8 w
8 M
1 J
1 j
K
1670.4 4745.2 93.6 33.6 S
Q q
609.602 276.398 7200 5400 re
Y
4.8 w
8 M
1 J
1 j
K
1711.2 4632.4 93.6 33.6 S
Q q
609.602 276.398 7200 5400 re
Y
4.8 w
8 M
1 J
1 j
K
1752 4519.6 93.6 33.6 S
Q q
609.602 276.398 7200 5400 re
Y
4.8 w
8 M
1 J
1 j
K
1792.8 4406.8 93.6 33.6 S
Q q
609.602 276.398 7200 5400 re
Y
4.8 w
8 M
1 J
1 j
K
1833.6 4294 93.6 33.6 S
Q q
609.602 276.398 7200 5400 re
Y
4.8 w
8 M
1 J
1 j
K
1874.4 4181.2 93.6 33.6 S
Q q
609.602 276.398 7200 5400 re
Y
4.8 w
8 M
1 J
1 j
K
1915.2 4068.4 93.6 36 S
Q q
609.602 276.398 7200 5400 re
Y
K
1467 4909 59 96 /3M
$C
.`IS0Ld:4A+ZMLg2b5Xe2bCSVVX&>nrEH+JX*X)]e(4P'rjokZs7O.ms*rYps8W-!s8W-!n(iKn
s',K;qgYg*I=C)=lg!BU^Uh!\mZkAp<n?)29#Cs;@0I'>Ka]@`:]~>
,
Q q
609.602 276.398 7200 5400 re
Y
K
1535 4791 40 94 /6P
$C
3#[6B$6[/g[I&JDs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!YOcIICQ9GW*Zc@D*Zbh&~>
,
Q q
609.602 276.398 7200 5400 re
Y
K
1579 4671 67 94 /3W
$C
49Y]=^$X\Mm#4SRMN6>9Df*+)D=-(cgUD(omG#*fhX0(,Dqha>G43%drOq*4hXA)Fn)&Wns5or]
s7Wqq];o`!F_u*7<n@a+@)4?6X&c?):t:7($4MVZ~>
,
Q q
609.602 276.398 7200 5400 re
Y
K
1733 4221 63 118 /6Z
$C
3$]Vg*>.d`$pB@=_sR0dG+5_-2fJ-Ah=p=:]D^XTs6fo2s*+@TpA`tJn,DeMJ+nH)s)7knrVoWu
-6"lS,sd@p&lh[ks!3:nSN;8t<ioPU~>
,
Q q
609.602 276.398 7200 5400 re
Y
K
1595 4489 111 15 /4G
$C
1GVp?XPj?p@0]L`l)(*LBrD"2rmOSk[*r'EC)B6i(f1~>
,
Q q
609.602 276.398 7200 5400 re
Y
K
1775 3949 4G ,
Q q
609.602 276.398 7200 5400 re
Y
K
1715 3711 6P ,
1769 3711 3W ,
1847 3709 58 94 /7N
$C
+pGa;p[>kFqsWEkqtK!^rV,cqIJ`L1J(st[pA_W#^[;&>qg[B"gm['t\%_jr\)I4%_si)4pYW^Bg]~>
,
1917 3709 59 96 /4R
$C
0G>U]W&^M[6Ni#O)ho=k@G?P'4*L#Gh7Ime]7/SNDg1%3mDsi=W#4IqDM-mQcu%/7-9;DRJd8(j
e'`QV\l\R.:]A%Ws7QD!s'OWtrjT*-[_As;Xo0bmFgdX;Bj43I9%Z`Q0U7Gj_Li1('E~>
,
Q q
609.602 276.398 7200 5400 re
Y
21.6 w
8 M
1 j
67 72 170 rG
4162.8 3647.2 3180 0 S
131072 M
1 J
4280.4 3704.8 -117.6 -60 117.6 -57.6 S
Q q
609.602 276.398 7200 5400 re
Y
7.2 w
8 M
1 J
1 j
K
5648.4 3035.2 m
-108 105.6 -177.6 340.8 -177.6 600 c
S
131072 M
5569.2 3071.2 81.6 -36 -19.2 84 S
Q q
609.602 276.398 7200 5400 re
Y
0.2 i
K
5677.63 3404.81 -23.16 -92.63 P
14.39 1 26.13 5.38 35.21 13.11 c
9.08 7.74 15.41 18.73 18.96 32.96 c
3.54 14.16 2.74 25.11 -2.39 32.85 c
-5.14 7.74 -14.68 12.3 -28.62 13.7 c
h
5629.52 3312.18 23.16 92.63 P
-14.73 -1.4 -26.63 -5.96 -35.71 -13.7 c
-9.08 -7.74 -15.39 -18.69 -18.93 -32.85 c
-3.56 -14.24 -2.72 -25.19 2.51 -32.85 c
5.23 -7.66 14.89 -12.07 28.98 -13.23 c
h
5709.23 3437 -1.29 -5.16 P
-9.65 -0.16 -16.33 -1.58 -20.05 -4.27 c
-3.72 -2.69 -6.52 -7.79 -8.4 -15.31 c
-0.32 -1.27 p
22.07 -0.79 38.18 -5.79 48.33 -15.04 c
10.15 -9.25 13.27 -21.71 9.34 -37.41 c
-3.69 -14.76 -12.99 -26.82 -27.91 -36.18 c
-14.92 -9.36 -33.59 -14.82 -56.01 -16.37 c
-0.64 -2.56 p
-1.8 -7.2 -1.4 -12.18 1.19 -14.93 c
2.59 -2.75 8.44 -4.2 17.54 -4.36 c
-1.29 -5.16 -72.3 0 ^ p
9.34 0.15 16 1.64 19.98 4.47 c
3.99 2.83 6.92 8 8.8 15.51 c
0.46 1.86 p
-21.72 1.55 -37.72 7.01 -48 16.38 c
-10.28 9.36 -13.57 21.42 -9.88 36.18 c
3.91 15.62 13.27 28.06 28.09 37.35 c
14.82 9.29 33.5 14.31 56.04 15.1 c
0.32 1.27 p
1.9 7.6 1.66 12.72 -0.73 15.37 c
-2.39 2.65 -8.44 4.05 -18.17 4.21 c
1.29 5.16 h
f
Q q
609.602 276.398 7200 5400 re
Y
K
5720 3217 113 73 @C
,
4'$<Oc\F!fVqXN:n(uq"h>?(PNr+'>o\I3hqg3hLhm`!]qsE5-rsS4Sg[G.?]799upA99Qp[-`0
g])3#6BAatqiKjQ^>9-V=WR7MrK6O*gUDBRrSHGdG2KcWhqRk^DscELp><=UrO["&gUjqE]A%f3
IG8VNgO"Eg^VegohS]'@[^BMnK3GObaVo'lh>=Si)L2ks3,2HF#+e*!BJh!<0S+o~>
Q q
609.602 276.398 7200 5400 re
Y
9.6 w
8 M
1 j
67 72 170 rG
1862.4 5062 1094.4 -3009.6 S
131072 M
1 J
1933.2 4993.6 -69.6 67.2 -9.6 -96 S
2890.8 2116 67.2 -64.8 12 93.6 S
Q q
609.602 276.398 7200 5400 re
Y
0.24 i
K
2399.77 4012 -2.62 0 1.41 4 50.7 0 P
21.47 0 37.38 -2.48 47.72 -7.4 c
10.34 -4.93 18.6 -12.68 24.77 -23.27 c
6.16 -10.59 9.25 -21.95 9.25 -34.06 c
0 -10.4 -1.81 -20.5 -5.36 -30.31 c
-3.55 -9.81 -7.57 -17.66 -12.06 -23.57 c
-4.49 -5.9 -11.38 -12.41 -20.67 -19.52 c
-9.29 -7.12 -19.36 -12.37 -30.21 -15.77 c
-10.85 -3.4 -24.4 -5.1 -40.64 -5.1 c
-67.21 0 1.53 4 p
6.2 0.16 10.36 0.71 12.48 1.65 c
3.14 1.34 5.45 3.14 6.94 5.42 c
2.28 3.3 4.83 9.93 7.65 19.9 c
28.25 96.56 p
2.2 7.61 3.3 13.58 3.3 17.9 c
0 3.06 -1.04 5.42 -3.1 7.07 c
-2.06 1.65 -6.11 2.5 -12.13 2.5 c
h
2439.02 4007.5 -34.18 -118.95 P
-2.56 -8.91 -3.84 -14.41 -3.84 -16.52 c
0 -1.25 0.41 -2.46 1.22 -3.63 c
0.82 -1.17 1.92 -1.95 3.32 -2.34 c
2.01 -0.7 5.27 -1.05 9.77 -1.05 c
12.17 0 23.46 1.27 33.89 3.81 c
10.42 2.54 18.97 6.31 25.64 11.31 c
9.46 7.27 17.01 17.27 22.67 30 c
5.66 12.73 8.5 27.23 8.5 43.48 c
0 18.36 -4.36 32.01 -13.04 40.96 c
-8.68 8.95 -21.36 13.45 -38.02 13.45 c
-4.11 0 -9.42 -0.19 -15.93 -0.5 c
h
f
Q q
609.602 276.398 7200 5400 re
Y
K
2530 3795 113 73 @C
,
4'$<Oc\F!fVqXN:n(uq"h>?(PNr+'>o\I3hqg3hLhm`!]qsE5-rsS4Sg[G.?]799upA99Qp[-`0
g])3#6BAatqiKjQ^>9-V=WR7MrK6O*gUDBRrSHGdG2KcWhqRk^DscELp><=UrO["&gUjqE]A%f3
IG8VNgO"Eg^VegohS]'@[^BMnK3GObaVo'lh>=Si)L2ks3,2HF#+e*!BJh!<0S+o~>
Q q
609.602 276.398 7200 5400 re
Y
7.2 w
8 M
1 J
1 j
0 168 170 rG
1870.8 4295.2 5460 -660 S
Q q
609.602 276.398 7200 5400 re
Y
7.2 w
8 M
1 J
1 j
K
5146.8 3906.4 m
-21.6 -45.6 -36 -144 -36 -254.4 c
S
131072 M
5074.8 3731.2 38.4 -81.6 40.8 79.2 S
Q q
609.602 276.398 7200 5400 re
Y
0.2 i
K
4816.16 3816.27 m
0.62 16.52 -0.95 28.4 -4.68 35.64 c
-3.74 7.24 -10.06 10.87 -18.96 10.87 c
-9.61 0 -18.31 -4.41 -26.1 -13.21 c
-7.79 -8.81 -13.57 -20.77 -17.35 -35.88 c
-4.09 -16.37 -4.58 -28.87 -1.47 -37.52 c
3.11 -8.65 9.71 -12.98 19.79 -12.98 c
9.14 0 17.27 3.77 24.39 11.33 c
7.12 7.55 15.25 21.47 24.38 41.75 c
h
4840.49 3866.7 22.38 0 -18.12 -35.93 P
-3.21 -6.27 -6.61 -12.37 -10.2 -18.32 c
-3.6 -5.95 -7.32 -11.62 -11.17 -17.02 c
0.91 -6.97 2.46 -12.19 4.64 -15.68 c
2.18 -3.48 4.98 -5.22 8.42 -5.22 c
2.58 0 5 1.02 7.27 3.07 c
2.27 2.04 4.07 4.79 5.4 8.24 c
4.57 0 -0.64 -2.57 p
-2.22 -8.87 -5.12 -15.47 -8.7 -19.79 c
-3.58 -4.32 -7.91 -6.48 -12.99 -6.48 c
-5.39 0 -9.12 2.1 -11.2 6.3 c
-2.08 4.2 -3.08 12.22 -3.01 24.05 c
-9 -10.67 -17.78 -18.39 -26.36 -23.18 c
-8.58 -4.79 -17.87 -7.18 -27.87 -7.18 c
-15.23 0 -26.56 5.4 -33.98 16.2 c
-7.42 10.8 -9.06 24.46 -4.93 40.99 c
3.72 14.89 12.18 27.91 25.35 39.07 c
13.18 11.15 26.88 16.74 41.1 16.74 c
11.17 0 19.46 -3.3 24.89 -9.88 c
5.43 -6.57 7.94 -16.44 7.54 -29.59 c
h
f
Q q
609.602 276.398 7200 5400 re
Y
K
4849 3697 113 73 @C
,
4'$<Oc\F!fVqXN:n(uq"h>?(PNr+'>o\I3hqg3hLhm`!]qsE5-rsS4Sg[G.?]799upA99Qp[-`0
g])3#6BAatqiKjQ^>9-V=WR7MrK6O*gUDBRrSHGdG2KcWhqRk^DscELp><=UrO["&gUjqE]A%f3
IG8VNgO"Eg^VegohS]'@[^BMnK3GObaVo'lh>=Si)L2ks3,2HF#+e*!BJh!<0S+o~>
4941 3664 73 137 @C
,
4<u*f,mYLrOaK3Ep)DXmmCqEF[qW?\EGp'Xn%Wf/qtK"As0r$;rP.b"mJh,)Du5%]J(su"rnmGL
pA_W%\,F)@s/..K/jBR$-jZ)78Qus).0';oAI(>=rBL7aC=Fr1~>
Q q
609.602 276.398 7200 5400 re
Y
0.24 i
239 41 26 rG
2073.62 4856 40.51 7.05 -15.27 -52.85 P
6.81 12.42 12.6 21.76 17.38 28.01 c
7.44 9.69 14.68 16.72 21.72 21.09 c
4.15 2.5 8.49 3.75 13.03 3.75 c
3.91 0 7.16 -1.25 9.75 -3.75 c
2.59 -2.5 3.88 -5.7 3.88 -9.61 c
0 -3.83 -0.9 -8.83 -2.7 -15 c
-8.34 -29.77 p
12.76 23.83 24.85 40.55 36.28 50.16 c
6.34 5.31 12.6 7.97 18.79 7.97 c
3.6 0 6.55 -1.23 8.86 -3.69 c
2.31 -2.46 3.49 -6.27 3.49 -11.43 c
0 -4.53 -0.72 -9.34 -2.15 -14.41 c
-13.11 -45.59 p
-2.86 -9.92 -4.29 -15.43 -4.29 -16.52 c
0 -1.09 0.35 -2.03 1.05 -2.81 c
0.47 -0.55 1.09 -0.82 1.88 -0.82 c
0.78 0 2.15 0.74 4.1 2.23 c
4.45 3.44 8.63 7.97 12.54 13.59 c
3.87 -2.46 p
-1.95 -3.12 -5.41 -7.42 -10.37 -12.89 c
-4.96 -5.47 -9.2 -9.18 -12.71 -11.13 c
-3.52 -1.95 -6.76 -2.93 -9.73 -2.93 c
-2.73 0 -5.02 0.94 -6.86 2.82 c
-1.84 1.88 -2.75 4.19 -2.75 6.93 c
0 3.76 1.59 11.32 4.77 22.67 c
10.57 37.71 p
2.4 8.69 3.68 13.51 3.84 14.45 c
0.23 1.48 0.35 2.93 0.35 4.34 c
0 1.96 -0.44 3.48 -1.29 4.58 c
-0.94 1.1 -1.99 1.64 -3.16 1.64 c
-3.28 0 -6.75 -1.68 -10.42 -5.05 c
-10.77 -9.95 -20.83 -23.89 -30.2 -41.82 c
-6.17 -11.83 -11.94 -26.98 -17.32 -45.46 c
-17.68 0 20.02 71.07 p
2.18 7.68 3.28 12.8 3.28 15.39 c
0 2.11 -0.43 3.68 -1.29 4.7 c
-0.86 1.02 -1.91 1.53 -3.16 1.53 c
-2.58 0 -5.31 -0.94 -8.2 -2.82 c
-4.68 -3.05 -10.71 -9.59 -18.08 -19.62 c
-7.37 -10.02 -13.09 -19.62 -17.15 -28.78 c
-1.95 -4.31 -6.59 -18.13 -13.93 -41.47 c
-17.32 0 21.72 76.12 2.82 9.87 p
0.55 1.49 0.82 2.59 0.82 3.29 c
0 1.72 -0.79 3.27 -2.35 4.64 c
-1.57 1.37 -3.56 2.07 -5.99 2.07 c
-1.02 0 -3.84 -0.55 -8.45 -1.66 c
h
f
2246.13 4817 60.7 0 -4.8 -16 ^ H
f
Q q
609.602 276.398 7200 5400 re
Y
239 41 26 rG
2311 4755 72 145 @C
,
-"DNLirKAj3clB'FSARQr=C\BKH&D(2lHCAqtnN$hS9*js8W-!s8W-!s8W-!s8W-!s8W-!s8W-!
s8IB`^[Ua^pP)$h_qt-C^$kE:hZ!9DpV4K;p\4[d~>
2379 4757 123 167 @C
,
1BVZ:,ldJ/2AKZ$.D_r"-tkJH0WdM(:O<#4pTOVss8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!
s8W-!s8W-!qYL6dn)(P1]%Z4$NrHq&g0M,Q2=*03"rFLOQXfE,m<6,2f5%e3$\l0"E5LZE0-C5o
s8W-!s8W-!p&Fmbbh%IT6iJ,J%hAo#K>YOaiSa4p~>
Q q
609.602 276.398 7200 5400 re
Y
239 41 26 rG
2558 4757 191 111 @C
,
1]qcK3%+lYs8:@b`0`Ft@BTl$UeHD;fIKW<_Q\YYX4(+<XYeT.s**";li7"bs8W-!s8W-!s8W-!
s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!fD>OGDYe)EL:b2059Z\D+g?-V
D-Q;C<Z:\[D/-u@Bm(=qCGTC$Be[uT_[=9hfa"6^(HST9*'6k^]><39*MCnD9gRKXE77X,K*iST
)M<bU@7,b\@7,YQ(f562'TrWM~>
2754 4754 109 114 @C
,
+^p3Y%&b:f5iDqR3'kCkLh7[T!u6Rs+DudKOC?L1dVb7jS(#sQ2bC]*DO(3bFnKm*?%$(+=8Md.
f(B"@DdWP5oY:F`s4@;NqZ">1f3A:Tm[*\)])MBRrmLc2CO5;aY.h$7Fkp=RBl.^`FKMBV.h+";
-t/dM(aWS+-t3lJ@6oSU-nnJ.$ksF1_u~>
2874 4754 117 170 @C
,
-")F/jBOT1Jd2Md*&p7%K](eo%\+OE%MOJm%\,S!F@/aicld6m"sbt-#V\[[#W)u<TS$Eo9i?C&
03r@!0Dap_f3_nb9E4\bp&D5qs8T;&s8W,us8W,us8Vuns*t'`^\@bHl[O?[Y5A*#p=F`Dhed56
mB*e#f%=)ACbW:76l-qQbl^0=<t$]"iJ#/WO?da,QmX!Us8W-!s8W-!s8@HH^Xc*r>^io%GW\)N
*Zbh&%gRlFJ,~>
2986 4754 125 110 @C
,
+JD=CjK(/TKH)s:i9A.4*$%"\*$%"\i:d_O*B8D#Lh9N8#TJlJ]`\e\'RC58iAX_gIrE\O[)Z8:
VsS]shO"9Bs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8Vr!s8&jDX[9mYJrq0h
S./qh2*_,V~>
3114 4757 59 167 @C
,
49khI_cdH_0Wf*A[K!Z7s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!
s8Ke5lg$\;U&)UaiSa4pG^+Hq4<>Ob~>
3180 4754 97 114 @C
,
+JA:)$6Xo9",%[S6,I^a3)6#*FQqD!k_!:RLh_b(J[u+N'6JkK'C!1n"Q#`6H@O@]?Cn:be,G]g
WpOJJFoK/Ps8T;&p]':b%&7,-]o[@is*t$Ms18'9rnV_+?#A-Ch/.#*D(B=)>A72R>7!Y$'!Pu!
R:;kg@7(A=:glYO/d=Y[&-~>
Q q
609.602 276.398 7200 5400 re
Y
67 72 170 rG
4337 3434 117 170 @C
,
,b^&m!tkkK:dEtAJdrHI*$FHt;;<?)'o*&;h#\&&$,$Q4R!N[FiA[[`If"Q.pAOa[hqrAPmJl)@
qu?WprVccrs8Duts8W,bs8Vrq?gIabp"0.jFoP*M[G"hi1q("h%<<?,@4oG*fJ&Y&(S^Hn]3VSk
CUMm`E7\NA\7'?niJ#/Qaaj;=s8W-!s8W-!s8U^Nlg*`,Zp.YT4<>OS%gRlB_o'=Lhu~>
4465 3434 97 114 @C
,
+JA:)$6Xo9",%[S6,I^a3)6#*FQqD!k_!:RLh_b(J[u+N'6JkK'C!1n"Q#`6H@O@]?Cn:be,G]g
WpOJJFoK/Ps8T;&p]':b%&7,-]o[@is*t$Ms18'9rnV_+?#A-Ch/.#*D(B=)>A72R>7!Y$'!Pu!
R:;kg@7(A=:glYO/d=Y[&-~>
4571 3435 103 113 @C
,
.`.<f_%7`*JgU[0+Q3NWT[TfXK0dtt%6`N/T^QUD]RrVi\c`J`2sq5pS"pn=F;fH8o^7fTpNh&$
\ps`es8V!Vs*oOeg])3,Dr5KB_gT8VDh]?PL*'jn_r6Bg%u(UL*t1=M4q'Ul4rE5In9@&X*Y1,p
#X3n*p$)M6?iU0&s4+=ODuSR8^U1/Pd^GFKYgTbm:r/S)<JXK%Ka&5F;CEEG;@Ge~>
4670 3437 191 111 @C
,
1]qcK3%+lYs8:@b`0`Ft@BTl$UeHD;fIKW<_Q\YYX4(+<XYeT.s**";li7"bs8W-!s8W-!s8W-!
s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!fD>OGDYe)EL:b2059Z\D+g?-V
D-Q;C<Z:\[D/-u@Bm(=qCGTC$Be[uT_[=9hfa"6^(HST9*'6k^]><39*MCnD9gRKXE77X,K*iST
)M<bU@7,b\@7,YQ(f562'TrWM~>
Q q
609.602 276.398 7200 5400 re
Y
0.24 i
K
2492.14 1813 -30.2 -24.5 P
4.76 0.86 9.17 1.29 13.23 1.29 c
3.9 0 7.51 -0.23 10.83 -0.7 c
3.32 -0.47 10.42 -1.93 21.3 -4.39 c
10.89 -2.46 20.39 -3.69 28.51 -3.69 c
8.66 0 16.02 1.54 22.07 4.6 c
6.05 3.06 11.92 8.18 17.62 15.34 c
3.86 -1.9 p
-8.04 -11.68 -17.52 -20.11 -28.45 -25.29 c
-10.93 -5.17 -22.52 -7.76 -34.77 -7.76 c
-6.79 0 -16.08 1.34 -27.86 4 c
-18.03 4 -30.63 6 -37.81 6 c
-2.73 0 -4.96 -0.2 -6.68 -0.59 c
-1.71 -0.39 -4.29 -1.33 -7.73 -2.82 c
-2.69 3.18 48.05 38.12 p
-14.91 2.04 -26.2 8.59 -33.89 19.65 c
-7.69 11.06 -11.53 22.86 -11.53 35.41 c
0 17.18 5.18 34.94 15.53 53.29 c
10.35 18.35 23.59 32.57 39.73 42.64 c
16.13 10.08 31.97 15.12 47.52 15.12 c
11.56 0 21.43 -2.37 29.59 -7.08 c
8.16 -4.71 14.47 -11.56 18.93 -20.55 c
4.45 -8.99 6.72 -18.2 6.72 -27.62 c
0 -18.06 -5.12 -36.35 -15.35 -54.87 c
-10.23 -18.53 -22.93 -32.56 -38.11 -42.1 c
-15.18 -9.54 -31.32 -14.46 -48.41 -14.78 c
h
2535.55 1973 m
-7.81 0 -15.44 -1.97 -22.9 -5.89 c
-7.46 -3.91 -14.86 -10.32 -22.2 -19.21 c
-7.34 -8.89 -13.94 -20.54 -19.8 -34.93 c
-7.11 -17.71 -10.66 -34.43 -10.66 -50.16 c
0 -11.23 2.85 -21.17 8.55 -29.82 c
5.7 -8.66 14.45 -12.98 26.24 -12.98 c
7.03 0 13.98 1.78 20.85 5.34 c
6.87 3.55 13.98 9.61 21.32 18.14 c
9.37 10.91 17.22 24.79 23.54 41.63 c
6.32 16.84 9.5 32.49 9.5 46.96 c
0 10.67 -2.86 20.16 -8.56 28.46 c
-5.7 8.3 -14.33 12.47 -25.89 12.47 c
h
f
cleartomark end end pagesave restore
showpage
%%PageTrailer
%%Trailer
%%Pages: 1

View File

@ -0,0 +1,37 @@
%\begin{figure}[!h]
%\centering
%\includegraphics[width=0.98\textwidth]{AngConv}
%\caption{Schematics of the scattering geometry in the diffraction plane. A Mythen II module is shown. $R_m$ is the distance from the module sensor plane (orthogonal to the diffraction plane) to the sample position $S$; $D_m$ the distance from the center of pixel $j=0$ to point $Q$, counted positively as the arrow on the module plane goes (\emph{i.e.}, oppositely to the direction of increasing $j$); $\Phi_m$ is the angle of the module plane normal with the beam direction, positive counterclockwise. $\alpha_{jm}$ is the angular position of the $j$-th pixel center with respect to the beam direction, positive counterclockwise.}
%\label{acon}
%\end{figure}
Mythen II modules are composed by 1280 pixels, each having width p=0.05~mm, and numbered with j=0,..,1279.
Angles are counted counterclockwise from the beam direction. For the m-th module, the angle $\alpha_{jm}$ of its j-th pixel center
can be determined using the three geometric parameters $R_m$~[mm], $\Phi_m$~[deg], $D_m$~[mm], as in \fref{acon}.
The detector group uses instead the 3 parameters center $c_m$~[\ ], offset $o_m$~[deg], conversion $k_m$~[\ ].
The law with the 3 geometric parameter is
\begin{equation}
\alpha_{jm}=\Phi_m-\lrb{\DSF{180}{\pi}}\arctan\lrb{\DSF{D_m-pj}{R_m}}
\end{equation}
The corresponding law using DG's parameters is
\begin{equation}
\alpha_{jm}=o_m+\lrb{\DSF{180}{\pi}}c_mk_m+\lrb{\DSF{180}{\pi}}\arctan\lrs{\lrb{j-c_m}k_m}
\end{equation}
One can convert the two forms by equating separately the term out of the arctan and the argument of arctan for two different values of j.
It results
\begin{eqnarray}
c_m&=&\DSF{D_m}{p};\\
k_m&=&\DSF{p}{R_m};\\
o_m&=&\Phi_m-\DSF{180}{\pi}\DSF{D_m}{R_m}.
\end{eqnarray}
Conversely,
\begin{eqnarray}
\Phi_m&=&o_m+\DSF{180}{\pi}c_mk_m;\\
R_m&=&\DSF{p}{k_m};\\
D_m&=&c_m p.
\end{eqnarray}

Binary file not shown.

View File

@ -0,0 +1,51 @@
DESTDIR?=../docs
#manual-api manual-calwiz manual-client manual-gui manual-main
TEX=latex
MAINTEXS= slsDetectors-FAQ.tex slsDetectorInstall.tex
TEXS=slsDetector-softFAQ.tex singlePhotonCounting-FAQ.tex angConv-FAQ.tex generalDet-FAQ.tex
DVIS = $(MAINTEXS:.tex=.dvi)
PSS = $(MAINTEXS:.tex=.ps)
PDFS = $(MAINTEXS:.tex=.pdf)
HTMLS = $(MAINTEXS:%.tex=%)
#destdir?!?!?
all: $(PDFS) $(HTMLS)
echo $(PWD)
echo $(PDFS)
echo $(HTMLS)
pdf: $(PDFS)
html: $(HTMLS)
$(HTMLS): $(TEXS) $(MAINTEXS)
latex $@.tex
latex2html -split 4 $@.tex
%.dvi : %.tex $(TEXS)
latex $<
latex $<
%.ps : %.dvi
dvips -o $@ $<
%.pdf : %.ps
ps2pdf $< $@
clean:
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(HTMLS)

View File

@ -0,0 +1,875 @@
\subsection{Introduction}
\subsubsection{Notation}
[I use symbol $\TT$ for the diffraction angle $2\theta$]
\subsubsection{Observables}
The physical observable of interest in any scattering experiment is [1-3] the differential cross section
\[
\DSF{\DD{}\bf{\sigma}}{\DD{}\Omega}
\]
as a function of direction $\Omega$.
To measure that directly we should operate with zero-width point detectors, with instant measurement and unit incident intensity.
Practically
the quantity we can actually measure - putting a detector in a position covering a certain
solid angle for a certain time with a certain incident intensity - is
\[
{I_0}\Delta t \Delta\Omega\DSF{\DD{}\bf{\sigma}}{\DD{}\Omega}
\]
If $\Delta t$, $\Delta\Omega$ are small and known and $I_0$ is separately monitored,
we can (have to) normalize the observations by simply dividing them out.
Specifically for the powder diffraction field, historically, this is not usually done because
- as it is normally true with anode sources and point detectors and usual procedures -
the counting times $\Delta t$, the solid angle width $\Delta\Omega\propto \Delta \TT$
and the incident intensity $I_0$ are considered
constant and therefore go into some 'global scaling' constant that is usually considered arbitrary.
However, as we have more sophisticated acquisition methods,
we may need revert to the original approach and consider the
counts divided by time and angular width as the real observable.
\subsection{Basic binning}\label{sec:11}
\begin{itemize}
\item[1.\ ]{
We have several patterns, say $P$. Each $k$-th pattern, for $k=1,\ldots,P$, is
constituted by $N_k$ angular intervals in the diffraction angle $2\theta\equiv\TT$:
\[
b_{k,j}=\lrs{\TT_{k,j}^{-},\TT_{k,j}^{+}},\qquad j=1,\ldots,N_k
\]
of center
\[
\hat{b}_{k,j}=\DSF{\TT_{k,j}^{+}+\TT_{k,j}^{-}}{2}
\]
and width
\[
\lrv{b_{k,j}}=\TT_{k,j}^{+}-\TT_{k,j}^{-}
\]
To each interval is associated a counting $C_{k,j}$, an efficiency correction factor $e_{k,j}$, a
monitor $m_{k,j}$ (ionization chamber times acquisition time). All 'bad' intervals have been already flagged down and discarded.
Efficiency corrections and monitors are supposed to be normalized to a suitable value.
Note that intervals $b_{k,j}$ might have multiple overlaps and might not cover an compact angular
range. }
%
\item[2.\ ]{Following Mighell's statistics[6] and normal scaling procedures, we first
transform those numbers into associated intensities, intensity rates and relevant s.d.:
\[
I_{k,j}=\DSF{e_{k,j}}{m_{k,j}}\lrb{C_{k,j}+\min\lrb{1,C_{k,j}}}
\]
\[
\sigma_{I_{k,j}}=\DSF{e_{k,j}}{m_{k,j}}\sqrt{\lrb{C_{k,j}+1}}
\]
\[
r_{k,j}=\DSF{I_{k,j}}{\lrv{b_{k,j}}}=\DSF{e_{k,j}}{m_{k,j}\lrv{b_{k,j}}}\lrb{C_{k,j}+\min\lrb{1,C_{k,j}}}
\]
\[
\sigma_{r_{k,j}}=\DSF{\sigma_{I_{k,j}}}{\lrv{b_{k,j}}}=\DSF{e_{k,j}}{\lrv{b_{k,j}}m_{k,j}}\sqrt{\lrb{C_{k,j}+1}}
\]
}
\item[3.\ ]{
We set up the final binned grid,
composed of $M$ binning intervals
\[
B_\ell=[\TT_0+(\ell-1)B, \TT_0+\ell B],\qquad \ell=1,\ldots,M
\]
all contiguous and each having the same width \[\lrv{B_\ell}=B\] and each centered in
\[\hat{B}_\ell=\TT_0+(\ell-1/2)B,\]
covering completely the angular range between $\TT_0$ and $\TT_{max}=\TT_0+MB$.
}
\item[4.\ ]{
For bin $\ell$, we consider only and all the experimental intervals
\[
b_{k,j}\qquad\text{such\ that}\qquad \lrv{ b_{k,j}\cap B_\ell } > 0.
\]
More restrictively, one may require to consider only and all the experimental intervals
\[
b_{k,j}\qquad\text{such\ that}\qquad \hat{b}_{k,j}\in B_\ell .
\]
}
\item[5.\ ]{
In order to estimate the rate in each $\ell$-th bin,
we use all above selected rate estimates concerning bin $B_\ell$ and we get
a better one with the weighted average method. \\
In the weighted average method, we suppose to have a number $N_E$ of estimates $O_n$
of the same observable $O$,
each one with a known s.d. $\sigma_{O_n}$ and each (optionally) repeated with a frequency
$\nu_n$.
Then
\[
\langle O\rangle =\DSF{
\mathop{\sum}_{n=1}^{N_E}\nu_n
O_n\sigma_{O_n}^{-2}
}{
\mathop{\sum}_{n=1}^{N_E}\nu_n
\sigma_{O_n}^{-2}
}
\]
%
Clearly the place of the frequencies in our case can be taken by coefficients
\[
\DSF{\lrv{ b_{k,j}\cap B_\ell }}{B}
\]
that weigh the $k,j$-th estimate by its relative extension within bin $B_\ell$.
}
\item[6.\ ]{
Now
we can simply accumulate registers
\[
X_\ell=\mathop{\sum_{k,j}}_{ \lrv{ b_{k,j}\cap B_\ell } > 0}
\DSF{\lrv{ b_{k,j}\cap B_\ell }}{B}\ r_{k,j}\ \lrb{\sigma_{r_{k,j}}}^{-2}
\]
and
\[
Y_\ell=\mathop{\sum_{k,j}}_{ \lrv{ b_{k,j}\cap B_\ell } > 0}
\DSF{\lrv{ b_{k,j}\cap B_\ell }}{B}\ \lrb{\sigma_{r_{k,j}}}^{-2}
\]
so that we can extract an intensity rate estimate (counts per unit diffraction angle and per unit time at constant incident intensity) as
\[
R_\ell=\DSF{X_\ell}{Y_\ell};
\]
\[
\sigma_{R_\ell}=\DSF{1}{\sqrt{Y_\ell}}.
\]
Now optionally we can transforms rates in intensities (multiplying
both $R_\ell$ and $\sigma_{R_\ell}$ by $B$).
We can use any other scaling factor $K$ as we wish instead of $B$.
The best cosmetic scaling is the one where
\[
\mathop{\sum}_{\ell=1}^M\DSF{KR_\ell}{K^2\sigma_{R_\ell}^2}=
\DSF{1}{K}
\mathop{\sum}_{\ell=1}^M\DSF{R_\ell}{\sigma_{R_\ell}^2}=M
\]
as if the intensities were simply counts.
Therefore $K$ is given by
\[
K=\DSF{
1
}{
M
}\mathop{\sum}_{\ell=1}^M\DSF{R_\ell}{\sigma_{R_\ell}^2}
\]
In output then we give 3-column files
with columns
\[
\hat{B}_\ell, \quad KR_\ell, \quad K\sigma_{R_\ell}
\]
}
\end{itemize}
\subsubsection{Special nasty cases}
Here we explore some special cases to see the robustness
of the method.
1) If no experimental observation contributes to bin $B_\ell$ according to one of the criteria
above, then we shall find $X_\ell=0$ and especially $Y_\ell=0$. The latter condition is
valid as an exclusion condition
(meaning that we discard that point and we do not perform further operations on it,
neither do we output it).
2) if only one experimental observation - call it interval $b$, dropping indices - contributes
to bin $B_\ell$,
then we have
\[
X_\ell=\DSF{\lrv{ b\cap B_\ell }}{B}\
\DSF{e(C+1)}{m|b|}\
\lrb{
\DSF{|b|m}{e\sqrt{C+1}}
}^{2}
=\DSF{\lrv{ b\cap B_\ell }}{B}\DSF{|b|m}{e}
\]
\[
Y_\ell=\DSF{\lrv{ b\cap B_\ell }}{B}\
\lrb{
\DSF{|b|m}{e\sqrt{C+1}}
}^{2}
=\DSF{\lrv{ b\cap B_\ell }}{B}\DSF{|b|^2m^2}{e^2(C+1)}
\]
and so
\[
R_\ell=\DSF{X_\ell}{Y_\ell}=\DSF{e(C+1)}{m|b|}
\]
that is the experimental rate as in pixel $b$;
\[
\sigma_{R_\ell}=\DSF{1}{\sqrt{Y_\ell}}=
\sqrt{\DSF{B}{\lrv{ b\cap B_\ell }}}
%
\DSF{e\sqrt{(C+1)}}{|b|m}
\]
that is the same s.d. that can be calculated directly for $b$, augmented by factor
\[
\sqrt{\DSF{B}{\lrv{ b\cap B_\ell }}}
\]
that takes into account the extrapolation error.
\subsection{Advanced binning}\label{sec:2}
There are more advanced (and more complex) methods that take more carefully into account the real position of the centers $\hat{b}_{j,k}$ w.r.t. $\hat{B}_\ell$.
If we find out that it is the case we may develop them too.
\subsection{Poisson and normal statistics for diffraction}
The normal situation for diffraction data
is that the observed signal is a photon count.
Therefore it follows a Poisson distribution.
If we have a count value $C_0$ that follows a Poisson distribution,
we can assume immediately that the average is equal to $C_0$ and the s.d. is $\sqrt{C_0}$.
I.e., repeated experiments would give values $n$
distributed according to the normalized distribution
\[
P(n)=\DSF{C_0^n\EE^{-C_0}
}{
n!}
\]
This obeys
\[
\mathop{\sum}_{n=0}^{+\infty}
P(n)=1\ ;
\]
\[
\langle n\rangle=\mathop{\sum}_{n=0}^{+\infty}
nP(n)=C_0\ ;
\]
\[
\langle n^2\rangle=\mathop{\sum}_{n=0}^{+\infty}
n^2 P(n)=C_0^2+C_0\ ;
\]
The standard deviation comes then to
\[
\sigma_{C_0}=\sqrt{\langle n^2\rangle-\langle n\rangle^2}=\sqrt{C_0}
\]
When the data have to be analyzed, one must compare observations with a model
which gives calculated values of the observations in dependence of a certain set of
parameters. The best values of the parameters (the target of investigation)
are the one that maximize the likelihood function [4,5]. The likelihood function for
Poisson variates is pretty difficult to use; furthermore, even simple data manipulations
are not straightforward with Poisson variates (see \sref{sec:3}). The common choice is to approximate
Poisson variates with normal variates, and then use the much easier formalism
of normal distribution to a) do basic data manipulations and b) fit data with model.
To the latter task, in fact, the likelihood function is maximized simply by minimizing
the usual weighted-$\chi^2$[4] :
\[
\chi^2 = \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{\lrb{F_j-O_j}^2
}{
\sigma_j^2
}
\]
where $O_j$ are the experimentally observed values, $F_j$ the calculated model values,
$\sigma_j$ the s.d.s of the observations.
Substituting directly the counts (and derived s.d.s) for the observations in the former :
\[
\chi_{(0)}^2 = \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{\lrb{F_j-C_j}^2
}{
C_j
}
\]
is the most common way. It is \emph{slightly} wrong to do so, however [6],
the error being large only when the counts are low.
There is also a divergence for zero counts.
In fact, a slightly modified form [6] exists, reading
\[
\chi_{(1)}^2 = \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{\lrb{F_j-\lrb{C_j+\min\lrb{1,C_j}}}^2
}{
C_j+1
}
\]
Minimizing this form of $\chi^2$ is equivalent - to an exceptionally good approximation [6]-
to maximizing the proper Poisson-likelihood.
\subsection{Average vs. weighted average}
\subsubsection{Simple average}
Suppose we have $N_{\mathrm{obs}}$ Poisson-variate experimental evaluations
$C_j,\quad j=1\ldots N_{\mathrm{obs}}$,
of the same quantity $x$.
There are different ways to obtain from all $N_{\mathrm{obs}}$ data values a single estimate of the observable which is better than
any of them. The most straightforward and the best is the simple average
\[
x=\langle x\rangle=\DSF{1}{ N_{\mathrm{obs}}}
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}C_j\ .
\]
As the sum of Poisson variates is a Poisson variate, the standard deviation
\[
\sigma_x=\sqrt{\langle x^2\rangle-\langle x\rangle^2}=\sqrt{
\DSF{1}{ N_{\mathrm{obs}}}
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}C_j^2-\lrb{
\DSF{1}{ N_{\mathrm{obs}}}
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}C_j
}
}
\]
can be evaluated more comfortably as
\[
\sigma_x=\DSF{1}{ N_{\mathrm{obs}}}\sqrt{ \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}C_j }
=\sqrt{\DSF{\langle x\rangle}{N_{\mathrm{obs}}}}
\]
\subsubsection{Zero-skipping average}
In some cases, in order to avoid possible singularities,
values $C_j=0$ are skipped. Then if $N_{\mathrm{obs}}^*$ is the number of non-zero data points,
we can evaluate the 'zero-skipping' average as
\[
x=\langle x\rangle^*=\DSF{1}{ N_{\mathrm{obs}}^*}
\mathop{\sum}_ {\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
C_j=\DSF{1}{ N_{\mathrm{obs}}^*}
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}C_j = \DSF{N_{\mathrm{obs}}}{N_{\mathrm{obs}}^*}\langle x\rangle
\]
The standard deviation is then
\[
\sigma_{x^*}= \DSF{N_{\mathrm{obs}}}{N_{\mathrm{obs}}^*}\sigma_x = \sqrt{\DSF{N_{\mathrm{obs}}}{N_{\mathrm{obs}}^*}}
\sqrt{\DSF{\langle x\rangle}{N_{\mathrm{obs}}^*}}=\sqrt{\DSF{\langle x\rangle^*}{N_{\mathrm{obs}}^*}}
\]
Note that the s.d. is evaluated exactly as if the non-zero $C_j$ were the only observations,
whilst the average is overestimated by the fraction of zero-counting events.
\subsubsection{Weighted average: definition and relationship with $\chi^2$}
A weighted average is the result of the special case of a data fitting to a model function which is a constant.
It is easy to see that minimizing w.r.t $x$
\[
\chi^2 = \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{\lrb{x-O_j}^2
}{
\sigma_j^2
}
\]
yields
\[
x= \langle x \rangle_{\!\mathrm{w}}=\DSF{
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{O_j
}{
\sigma_j^2
}
}{
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{1
}{
\sigma_j^2
}
}
\]
The good-faith s.d. (square-root of twice the inverse of the second derivative of $\chi^2$ at the minimum)
is then
\[
\sigma_{\langle x \rangle_{\!\mathrm{w}}} = \DSF{
1
}{\sqrt{
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{1
}{
\sigma_j^2
}
}}
\]
I use the term 'good-faith' to indicate the case when it is really appropriate to use a constant as a model functions,
i.e. when the observations are truly different observations of the same observable.
When this is not the case but we do not know what to do better we can at least increase the s.d.
In fact, there is a correction factor for the s.d., given - in this case - by
\[
\mathsf{GoF}=
\sqrt{
\DSF{
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{O_j^2
}{
\sigma_j^2
}
-\DSF{
\lrs{
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{O_j
}{
\sigma_j^2
}
}^2
}{ \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{1
}{
\sigma_j^2
} }
}{
N_{\mathrm{obs}}-1
}
}
\]
so that
\[
{\sigma}_{\langle x \rangle_{\!\mathrm{w}}}^{\mathrm{corrected}} = \mathsf{GoF}\ \sigma_{\langle x \rangle_{\!\mathrm{w}}}
\]
Specializing now to the two cases above,
\subsubsection{Straight Poisson (zero-skipping) weighted average}
When $O_j=C_j$ and $\sigma_j^2=C_j$
\[
\langle x \rangle_{\!\mathrm{w(1)}}=\DSF{
{N_{\mathrm{obs}}}
}{
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{1
}{
C_j
}
}
\]
Here we need to eliminate the singularity when $C_j=0$. In order to do so, we skip data points which are zero.
Then if $N_{\mathrm{obs}}^*$ is the number of non-zero data points,
\[
\langle x \rangle_{\!\mathrm{w(1)}}=\DSF{
{N_{\mathrm{obs}}^*}
}{
\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\DSF{1
}{
C_j
}
}
\]
\[
\sigma_{\langle x \rangle_{\!\mathrm{w(1)}}} = \DSF{
1
}{\sqrt{
\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\DSF{1
}{
C_j
}
}}=\sqrt{\DSF{\langle x \rangle_{\!\mathrm{w(1)}}}{
N_{\mathrm{obs}}^*
}}
\]
\[
\mathsf{GoF}_{(1)}=
\sqrt{
\DSF{
\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\!\!\!\!C_j
%
-\DSF{
\lrs{
N_{\mathrm{obs}}^*
}^2
}{ \mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\DSF{1
}{
C_j
} }
}{
N_{\mathrm{obs}}^*-1
}
}
=\sqrt{
\DSF{N_{\mathrm{obs}}^*}{N_{\mathrm{obs}}^*-1}
\lrb{
\langle x\rangle^*-\langle x \rangle_{\!\mathrm{w(1)}}
}
}
\]
where $\langle x\rangle^*$ is the simple average of the non-zero data points; and of course
\[
{\sigma}_{\langle x \rangle_{\!\mathrm{w(1)}}}^{\mathrm{corrected}} = \mathsf{GoF}_{(1)}\ \sigma_{\langle x \rangle_{\!\mathrm{w(1)}}}
\]
\subsubsection{Mighell-Poisson weighted average}
When $O_j=C_j+\min\lrb{1,C_j}$ and $\sigma_j^2=C_j+1$
\[
\langle x \rangle_{\!\mathrm{w(2)}}=\DSF{
{N_{\mathrm{obs}}^*}
}{
\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\DSF{1
}{
C_j+1
}
}
\]
\[
\sigma_{\langle x \rangle_{\!\mathrm{w(2)}}} = \DSF{
1
}{\sqrt{
\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\DSF{1
}{
C_j+1
}
}}=\sqrt{\DSF{\langle x \rangle_{\!\mathrm{w(2)}}}{
N_{\mathrm{obs}}^*
}}
\]
\[
\mathsf{GoF}_{(2)}=
\sqrt{
\DSF{
\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\!\!\!\!C_j+N_{\mathrm{obs}}^*
%
-\DSF{
\lrs{
N_{\mathrm{obs}}^*
}^2
}{ \mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\DSF{1
}{
C_j+1
} }
}{
N_{\mathrm{obs}}^*-1
}
}
=\sqrt{
\DSF{N_{\mathrm{obs}}^*}{N_{\mathrm{obs}}^*-1}
\lrb{
\langle x\rangle^*-\langle x \rangle_{\!\mathrm{w(2)}}+1
}
}
\]
where $\langle x\rangle^*$ is the simple average of the non-zero data points; and of course
\[
{\sigma}_{\langle x \rangle_{\!\mathrm{w(2)}}}^{\mathrm{corrected}} = \mathsf{GoF}_{(2)}\ \sigma_{\langle x \rangle_{\!\mathrm{w(2)}}}
\]
\subsubsection{Comparison}
We have seen four different ways to take an average -
two simple averages (the second skipping zero values)
and two weighted averages (using straight Poisson and Poisson-Mighell [6] $\chi^2$ formulations).
We know that the simple average (not skipping zeros) is the best possible result. However,
there are inconveniences with it. If for instance we need to scale our data before averaging, then the
simple average is no more usable (it will give the correct average but a bad estimate of the s.d.) .
In any case, the passage to normal statistics (using Mighell's correction) needs to be done before or later.
Therefore a comparison is due in order to ascertain
how wrong can it be using the different methods.
We have to give a measure of what is negligible first.
The relative error is a measure of the smallest relative variation of an estimate $x$ that is \emph{not} negligible:
\[
\epsilon_x = \DSF{\sigma_x}{x}
\]
We shall then consider negligible
(w.r.t. $x$) terms whose relative magnitude is $O(\epsilon_x^2)$.
As the s.d. of $x$ is $\propto\epsilon_x$, we may not discard terms $O(\epsilon_x^2)$ on the s.d.;
there instead we may neglect terms $O(\epsilon_x^3)$.
\subsubsection{Analytical comparison of averages}
First we give an analytical comparison between simple average and Mighell-Poisson weighted average
for $N_{\mathrm{obs}}=2$.
If the two events are $C_1$ and $C_2$, then
\[
\langle x \rangle=\DSF{C_1+C_2}{2}; \qquad \sigma_x=\DSF{\sqrt{C_1+C_2}}{2}
\]
For the M-P weighted average,
\[
\langle x \rangle_{\mathrm{w(2)}}=\DSF{2(C_1+1)(C_2+1)}{C_1+C_2+2}; \qquad
\sigma_{\langle x \rangle_{\mathrm{w(2)}}}=\sqrt{\DSF{(C_1+1)(C_2+1)}{C_1+C_2+2}}
\]
Now, supposing that the common 'true' value of $C_1,C_2$ is $\lambda$,
we use the Poisson distribution to compare the expectation values of the two results. The expectation value of the simple average is
\[
E\lrb{\langle x \rangle} = \mathop{\sum}_{m,n=0}^{+\infty}
\DSF{n+m}{2}P(n)P(m)=\mathop{\sum}_{m=0}^{+\infty}
\DSF{m}{2}\DSF{\lambda^m\EE^{-\lambda}}{m!}
+\mathop{\sum}_{n=0}^{+\infty}
\DSF{n}{2}\DSF{\lambda^n\EE^{-\lambda}}{n!}
=\lambda
\]
As expected, the simple average gives the true value.
For its variance,
\[
E\lrb{\sigma_x^2} = \mathop{\sum}_{m,n=0}^{+\infty}
\DSF{n+m}{4}P(n)P(m)=\DSF{
\lambda}{2};\qquad E\lrb{\sigma_x} =\sqrt{\DSF{\lambda}{2}}
\]
In order to evaluate the difference with the M-P weighted average, we rewrite the latter as
\[
\langle x \rangle_{\mathrm{w(2)}}=\langle x \rangle + 1 -\DSF{(C_1-C_2)^2}{4(\langle x \rangle+1)}
\]
and calculate the expectation value of the last term:
\[
E\lrb{\DSF{(C_1-C_2)^2}{4(\langle x \rangle+1)}} =
\mathop{\sum}_{m,n=0}^{+\infty}
\DSF{(n-m)^2}{2(n+m+2) }P(n)P(m)=\DSF{\EE^{-2\lambda}}{2}
\mathop{\sum}_{m,n=0}^{+\infty}
\DSF{(n-m)^2}{(n+m+2) }\DSF{\lambda^{n+m}}{n!m!}
\]
Rearranging the sums with $s=n+m$, $s=0\ldots +\infty$; $n-m=s-2k$, $k=0\ldots s$,
we get
\[
E\lrb{\DSF{(C_1-C_2)^2}{4(\langle x \rangle+1)}} =
\DSF{\EE^{-2\lambda}}{2}
\mathop{\sum}_{s=0}^{+\infty}
\mathop{\sum}_{k=0}^{s}
\DSF{(s-2k)^2(s+1)}{(s+2)! }{\lambda^{s}}
\binom{s}{k}=\DSF{1}{2}-\DSF{1}{2\lambda}+\DSF{1-\EE^{-2\lambda}}{4\lambda^2}
%{n!m!}
\]
So, the relative difference between averages is
\[
\DSF{E\lrb{\langle x \rangle_{\mathrm{w(2)}}-\langle x \rangle}}{E\lrb{\langle x \rangle}}=
\DSF{1}{2\lambda}+\DSF{1}{2\lambda^2}-\DSF{1-\EE^{-2\lambda}}{4\lambda^3}
\]
The relative error on $\langle x \rangle$ is
\[
\epsilon = \DSF{\sigma_x}{\langle x \rangle} =
\DSF{\lambda^{1/2}}{\sqrt{2} \lambda}=\DSF{1}{\sqrt{2\lambda}}
\]
therefore
\[
\DSF{E\lrb{\langle x \rangle_{\mathrm{w(2)}}-\langle x \rangle}}{E\lrb{\langle x \rangle}}=
O(\epsilon^2)
\]
Therefore, the expectation value of the error (relative) involved in taking
the M-P weighted average instead of the simple average is negligible.
\subsubsection{Numerical comparison of averages}
In the next table numerical results are displayed. An exact random-Poisson generator has been used to generate Poisson deviates of given average value
$\lambda$, with $\lambda=1,10,100,\ldots,1000000$. For each value $\lambda$
$N=10^8$ deviates have been generated. Then averages have been taken for each value $\lambda$ and compared with the true value.
For each value $\lambda$ - in order to have a scale for comparison -
we evaluate the expected absolute s.d. of averages as $\xi_\lambda=\sqrt{\lambda/N}$, and the relative s.d. of averages as $\epsilon_\lambda=\sqrt{\lambda/N}/\lambda=1/\sqrt{N\lambda}$. Then - for each averaging method - we evaluate the error $E_\lambda$ (average minus $\lambda$),
the relative error $e_\lambda=E_\lambda/\lambda$, and finally the comparison criterion $e_\lambda/\epsilon_\lambda$ (bold). The comparison criterion is expected to be close to 1 in absolute value. Values much larger than one mean that we are introducing a systematic error.
\footnotesize
\begin{tabular}{l|llll}
\footnotesize
% # trials N = 100000000
\ &&&&\ \\
& \multicolumn{4}{l}{$\lambda =$ 1. ; $\xi_\lambda = $0.0001 ; $\epsilon_\lambda$ = 0.0001}\\
& ${\langle x \rangle_{\!\mathrm{w(1)}}}$ & ${\langle x \rangle_{\!\mathrm{w(2)}}}$ & $\langle x \rangle^*$ & $\langle x \rangle$\\
Averages & 1.303772380383934 & 0.9999155361216990 & 1.581941754994651 & 0.9999283300000000 \\
$E_\lambda$ & 0.3037723803839338 & -0.8446387830096658E-04 & 0.5819417549946508 & -0.7166999999996815E-04\\
$e_\lambda$ & 0.3037723803839338 & -0.8446387830096658E-04 & 0.5819417549946508 & -0.7166999999996815E-04\\
$e_\lambda/\epsilon_\lambda$ &{\textbf{ 3037.723803839338 }}&{\textbf{ -0.8446387830096658 }}&{\textbf{ 5819.417549946508 }}&{\textbf{ -0.7166999999996815 }} \\
\ &&&&\ \\
& \multicolumn{4}{l}{$\lambda =$ 10.000000000000002 ; $\xi_\lambda = $0.00031622776601683794 ; $\epsilon_\lambda$ = 0.00003162277660168379}\\
& ${\langle x \rangle_{\!\mathrm{w(1)}}}$ & ${\langle x \rangle_{\!\mathrm{w(2)}}}$ & $\langle x \rangle^*$ & $\langle x \rangle$\\
Averages & 8.848248847530357 & 10.00025732384808 & 10.00052232372917 & 10.00006800000000 \\
$E_\lambda$ & -1.151751152469645 & 0.2573238480785278E-03 & 0.5223237291644978E-03 & 0.6799999999884676E-04\\
$e_\lambda$ & -0.1151751152469645 & 0.2573238480785278E-04 & 0.5223237291644977E-04 & 0.6799999999884675E-05\\
$e_\lambda/\epsilon_\lambda$ &{\textbf{ -3642.156939527943 }}&{\textbf{ 0.8137294562072904 }}&{\textbf{ 1.651732660112730 }}&{\textbf{ 0.2150348808878029 }} \\
\ &&&&\ \\
& \multicolumn{4}{l}{$\lambda =$ 100.00000000000004 ; $\xi_\lambda = $0.0010000000000000002 ; $\epsilon_\lambda$ = 0.000009999999999999997}\\
& ${\langle x \rangle_{\!\mathrm{w(1)}}}$ & ${\langle x \rangle_{\!\mathrm{w(2)}}}$ & $\langle x \rangle^*$ & $\langle x \rangle$\\
Averages & 98.98978896904168 & 100.0001037814804 & 100.0002153600000 & 100.0002153600000 \\
$E_\lambda$ & -1.010211030958359 & 0.1037814803765968E-03 & 0.2153599999559219E-03 & 0.2153599999559219E-03\\
$e_\lambda$ & -0.1010211030958359E-01 & 0.1037814803765968E-05 & 0.2153599999559218E-05 & 0.2153599999559218E-05\\
$e_\lambda/\epsilon_\lambda$ &{\textbf{ -1010.211030958359 }}&{\textbf{ 0.1037814803765968 }}&{\textbf{ 0.2153599999559219 }}&{\textbf{ 0.2153599999559219 }} \\
\ &&&&\ \\
& \multicolumn{4}{l}{$\lambda =$ 1000.0000000000007 ; $\xi_\lambda = $0.0031622776601683803 ; $\epsilon_\lambda$ = 0.000003162277660168378}\\
& ${\langle x \rangle_{\!\mathrm{w(1)}}}$ & ${\langle x \rangle_{\!\mathrm{w(2)}}}$ & $\langle x \rangle^*$ & $\langle x \rangle$\\
Averages & 999.0029754507847 & 1000.003978305674 & 1000.003836760000 & 1000.003836760000 \\
$E_\lambda$ & -0.9970245492160075 & 0.3978305673513205E-02 & 0.3836759999330752E-02 & 0.3836759999330752E-02\\
$e_\lambda$ & -0.9970245492160069E-03 & 0.3978305673513202E-05 & 0.3836759999330750E-05 & 0.3836759999330750E-05\\
$e_\lambda/\epsilon_\lambda$ &{\textbf{ -315.2868458625229 }}&{\textbf{ 1.258050715667192 }}&{\textbf{ 1.213290043331128 }}&{\textbf{ 1.213290043331128 }} \\
\ &&&&\ \\
& \multicolumn{4}{l}{$\lambda =$ 10000.00000000001 ; $\xi_\lambda = $0.010000000000000005 ; $\epsilon_\lambda$ = 9.999999999999995E-7}\\
& ${\langle x \rangle_{\!\mathrm{w(1)}}}$ & ${\langle x \rangle_{\!\mathrm{w(2)}}}$ & $\langle x \rangle^*$ & $\langle x \rangle$\\
Averages & 9998.995728116572 & 9999.995828163173 & 9999.995919900000 & 9999.995919900000 \\
$E_\lambda$ & -1.004271883437468 & -0.4171836835666909E-02 &-0.4080100008650334E-02 &-0.4080100008650334E-02\\
$e_\lambda$ & -0.1004271883437467E-03 & -0.4171836835666905E-06 & -0.4080100008650330E-06 &-0.4080100008650330E-06\\
$e_\lambda/\epsilon_\lambda$ &{\textbf{ -100.4271883437468 }}&{\textbf{ -0.4171836835666907 }}&{\textbf{ -0.4080100008650331 }}&{\textbf{ -0.4080100008650331 }} \\
\ &&&&\ \\
& \multicolumn{4}{l}{$\lambda =$ 100000.0000000002 ; $\xi_\lambda = $0.031622776601683826 ; $\epsilon_\lambda$ = 3.162277660168376E-7}\\
& ${\langle x \rangle_{\!\mathrm{w(1)}}}$ & ${\langle x \rangle_{\!\mathrm{w(2)}}}$ & $\langle x \rangle^*$ & $\langle x \rangle$\\
Averages & 99999.01275394148 & 100000.0127639189 & 100000.0125627100 & 100000.0125627100 \\
$E_\lambda$ & -0.9872460587212117 & 0.1276391866849735E-01 & 0.1256270980229601E-01 & 0.1256270980229601E-01\\
$e_\lambda$ & -0.9872460587212097E-05 & 0.1276391866849733E-06 & 0.1256270980229599E-06 & 0.1256270980229599E-06\\
$e_\lambda/\epsilon_\lambda$ &{\textbf{ -31.21946156583365 }}&{\textbf{ 0.4036305486159527 }}&{\textbf{ 0.3972677655897895 }}&{\textbf{ 0.3972677655897895 }} \\
\ &&&&\ \\
& \multicolumn{4}{l}{$\lambda =$ 1000000.0000000013 ; $\xi_\lambda = $0.10000000000000006 ; $\epsilon_\lambda$ = 9.999999999999993E-8}\\
& ${\langle x \rangle_{\!\mathrm{w(1)}}}$ & ${\langle x \rangle_{\!\mathrm{w(2)}}}$ & $\langle x \rangle^*$ & $\langle x \rangle$\\
Averages & 999999.1188353101 & 1000000.118835812 & 1000000.118809340 & 1000000.118809340 \\
$E_\lambda$ & -0.8811646911781281 & 0.1188358106883243 & 0.1188093387754634 & 0.1188093387754634 \\
$e_\lambda$ & -0.8811646911781270E-06 & 0.1188358106883241E-06 & 0.1188093387754633E-06 & 0.1188093387754633E-06\\
$e_\lambda/\epsilon_\lambda$ &{\textbf{ -8.811646911781276 }}&{\textbf{ 1.188358106883242 }}&{\textbf{ 1.188093387754633 }}&{\textbf{ 1.188093387754633}} \\
\end{tabular}
\normalsize
As it is visible from the table:
\begin{itemize}
\item[1.\quad]{${\langle x \rangle_{\!\mathrm{w(1)}}}\ :$ the weighted average using straight Poisson statistics is consistenty bad at all values of $\lambda$, that means at all counting levels;}
\item[2.\quad]{${\langle x \rangle^*}\ $: the normal average skipping zero count data is bad for $\lambda<100$, that means at low counting levels (of course at higher counting levels zeroes are not happening);}
\item[3.\quad]{${\langle x \rangle}\ \text{and}\ {\langle x \rangle_{\!\mathrm{w(2)}}}$: the normal average including zero count data and the Mighell-Poisson weighted average
are consistently and equivalently good at all counting levels.}
\end{itemize}
Therefore there is no bias when using the Mighell-Poisson weighted method to average data w.r.t. the usual average. The former, however,
has already accomplished the passage to normal statistics, therefore all operations on data that are not simple averaging can be done in
the framework of normal statistics, where everything is known and clear. In the next section, on the opposite, it is shown that
even simple operations as scaling data lead to the necessity of abandoning Poisson statistics in order to estimate correctly the standard deviations.
\subsection{Scaling Poisson variates}\label{sec:3}
If we have a count value $C_0$ that follows a Poisson distribution,
we can assume immediately that the average is $C_0$ and the s.d. is $\sqrt{C_0}$.
I.e., repeated experiments would give values $n$
distributed according to the normalized distribution
\[
P(n)=\DSF{C_0^n\EE^{-C_0}
}{
n!}
\]
This obeys
\[
\mathop{\sum}_{n=0}^{+\infty}
P(n)=1\ ;
\]
\[
\langle n\rangle=\mathop{\sum}_{n=0}^{+\infty}
nP(n)=C_0\ ;
\]
\[
\langle n^2\rangle=\mathop{\sum}_{n=0}^{+\infty}
n^2 P(n)=C_0^2+C_0\ ;
\]
\[
\sigma_{C_0}=\sqrt{\langle n^2\rangle-\langle n\rangle^2}=\sqrt{C_0}
\]
Suppose now that
our observable is
\[
X_0=\eta_0 C_0
\]
where $\eta_0$ is a known error-free scaling factor.
The distribution of $X$ is
\[
P'(X)=P(X/\eta_0)=P(n)\qquad\Biggl|\Biggr.\qquad \frac{X}{\eta_0}\equiv n\in\mathbb{Z}
%=\left.\DSF{(X_0/\eta_0)^{X/\eta_0}\EE^{-X_0/\eta_0}}{(X/\eta_0)!}\right|_{\frac{X}{\eta_0}\in\mathbb{Z}}
\]
and now,
\[
\mathop{\sum}_{n=0}^{+\infty}
P(n)=1\ ;
\]
\[
\langle X\rangle=\mathop{\sum}_{n=0}^{+\infty}
\eta_0 nP(n)=\eta_0 C_0=X_0\ ;
\]
\[
\langle X^2\rangle=\mathop{\sum}_{n=0}^{+\infty}
\eta_0^2 n^2 P(n)=\eta_0^2(C_0^2+C_0)=X_0^2+\eta_0 X_0\ ;
\]
\[
\sigma_X=\sqrt{\langle X^2\rangle-\langle X\rangle^2}=\sqrt{\eta_0 X_0}=\eta_0\sqrt{C_0}=\sqrt{\eta_0}\sqrt{X_0}
\]
Now it is no more valid that $\sigma_X=\sqrt{\langle X\rangle}=\sqrt{X_0}$, instead
\[
\sigma_X=\sqrt{\eta_0}\sqrt{X_0}=\eta_0\sqrt{C_0}=\eta_0\sigma_{C_0}
\]
that is the characteristic relationship for a normal-variate distribution.
Moreover, assume now that the scaling factor is not exctly known
but instead it is a normal-variate itself with average $\eta_0$, s.d.
$\sigma_{\eta_0}$, and distribution
\[
\widehat{P}(\eta)=\DSF{
\EE^{
-\frac{1}{2}
\lrb{
\frac{\eta-\eta_0}{\sigma_{\eta_0}}
}^2
}
}{
\sigma_{\eta_0}\sqrt{2\pi}
}
\]
Then,
\[
\int_{-\infty}^{+\infty}\DD{\eta}\mathop{\sum}_{n=0}^{+\infty}
P(n)\widehat{P}(\eta)=1\ ;
\]
\[
\langle X\rangle=\int_{-\infty}^{+\infty}\DD{\eta}\mathop{\sum}_{n=0}^{+\infty}
\widehat{P}(\eta)\eta nP(n)=
\mathop{\sum}_{n=0}^{+\infty}
nP(n)
\int_{-\infty}^{+\infty}\DD{\eta} \widehat{P}(\eta)\eta
=
\eta_0 C_0=X_0\ ;
\]
\[
\langle X^2\rangle=\int_{-\infty}^{+\infty}\DD{\eta}\mathop{\sum}_{n=0}^{+\infty}
\widehat{P}(\eta)\eta^2 n^2 P(n)=
\int_{-\infty}^{+\infty}\DD{\eta}\widehat{P}(\eta)\eta^2
\mathop{\sum}_{n=0}^{+\infty}
n^2 P(n)
=
(\eta_0^2+\sigma_{\eta_0}^2)(C_0^2+C_0)\ ;
\]
\[
\DSF{\sigma_X}{\langle X\rangle}=\DSF{\sqrt{\langle X^2\rangle-\langle X\rangle^2}}{\langle X\rangle}
=\DSF{\sqrt{
\eta_0^2 C_0+\sigma_{\eta_0}^2C_0^2+\sigma_{\eta_0}^2 C_0
}}{\eta_0C_0}=
\sqrt{
\lrb{\DSF{ \sigma_{C_0}}{C_0}}^2
+\lrb{\DSF{\sigma_{\eta_0}}{\eta_0}}^2+\lrb{\DSF{\sigma_{\eta_0}}{\eta_0}\DSF{\sigma_{C_0}}{C_0}}^2
}\approx\sqrt{
\lrb{\DSF{ \sigma_{C_0}}{C_0}}^2
+\lrb{\DSF{\sigma_{\eta_0}}{\eta_0}}^2
}
%=\sqrt{\eta_0^2\sigma_{C_0}^2}
\]
where in the last we discard, as usual, the 4th order in the relative errors. Both the exact and approximated forms
are exactly the same as if both distributions were to be normal.
\subsection*{Bibliography}
[1] - B. E. Warren, {\textit{"X-Ray Diffraction"}} (Dover:1990)
[2] - A. Guinier, {\textit{"X-Ray Diffraction In Crystals, Imperfect Crystals, and Amorphous Bodies"}} (Dover:1994)
[3] - G. L. Squires, {\textit{"Introduction to the Theory of Thermal Neutron Scattering"}} (Dover:1997)
[4] - G. E. P. Box, G. C. Tiao, {\textit{"Bayesian inference in statistical analysis"}} (Wiley, NY: 1996)
[5] - E. Prince, P. T. Boggs, {\textit{"International Tables for Crystallography"}} Vol. C, ch.~8.1, pp.~678-688 (First online edition : 2006)
[6] - K. J. Mighell, {\textit{Astrophys. J.}} {\textbf{518}} (1999) p. 380--393

View File

@ -0,0 +1,954 @@
\section{How is the channel number coverted into angle?}\label{sec:angcal}
%\begin{figure}[!h]
%\centering
%\includegraphics[width=0.98\textwidth]{AngConv}
%\caption{Schematics of the scattering geometry in the diffraction plane. A Mythen II module is shown. $R_m$ is the distance from the module sensor plane (orthogonal to the diffraction plane) to the sample position $S$; $D_m$ the distance from the center of pixel $j=0$ to point $Q$, counted positively as the arrow on the module plane goes (\emph{i.e.}, oppositely to the direction of increasing $j$); $\Phi_m$ is the angle of the module plane normal with the beam direction, positive counterclockwise. $\alpha_{jm}$ is the angular position of the $j$-th pixel center with respect to the beam direction, positive counterclockwise.}
%\label{acon}
%\end{figure}
Mythen II modules are composed by 1280 pixels, each having width p=0.05~mm, and numbered with j=0,..,1279.
Angles are counted counterclockwise from the beam direction. For the m-th module, the angle $\alpha_{jm}$ of its j-th pixel center
can be determined using the three geometric parameters $R_m$~[mm], $\Phi_m$~[deg], $D_m$~[mm], as in \fref{acon}.
The detector group uses instead the 3 parameters center $c_m$~[\ ], offset $o_m$~[deg], conversion $k_m$~[\ ].
The law with the 3 geometric parameter is
\begin{equation}
\alpha_{jm}=\Phi_m-\lrb{\DSF{180}{\pi}}\arctan\lrb{\DSF{D_m-pj}{R_m}}
\end{equation}
The corresponding law using DG's parameters is
\begin{equation}
\alpha_{jm}=o_m+\lrb{\DSF{180}{\pi}}c_mk_m+\lrb{\DSF{180}{\pi}}\arctan\lrs{\lrb{j-c_m}k_m}
\end{equation}
One can convert the two forms by equating separately the term out of the arctan and the argument of arctan for two different values of j.
It results
\begin{eqnarray}
c_m&=&\DSF{D_m}{p};\\
k_m&=&\DSF{p}{R_m};\\
o_m&=&\Phi_m-\DSF{180}{\pi}\DSF{D_m}{R_m}.
\end{eqnarray}
Conversely,
\begin{eqnarray}
\Phi_m&=&o_m+\DSF{180}{\pi}c_mk_m;\\
R_m&=&\DSF{p}{k_m};\\
D_m&=&c_m p.
\end{eqnarray}
\section{How are different positions merged together?}\label{sec:merging}
\subsection{Introduction}
\subsubsection{Notation}
[I use symbol $\TT$ for the diffraction angle $2\theta$]
\subsubsection{Observables}
The physical observable of interest in any scattering experiment is [1-3] the differential cross section
\[
\DSF{\DD{}\bf{\sigma}}{\DD{}\Omega}
\]
as a function of direction $\Omega$.
To measure that directly we should operate with zero-width point detectors, with instant measurement and unit incident intensity.
Practically
the quantity we can actually measure - putting a detector in a position covering a certain
solid angle for a certain time with a certain incident intensity - is
\[
{I_0}\Delta t \Delta\Omega\DSF{\DD{}\bf{\sigma}}{\DD{}\Omega}
\]
If $\Delta t$, $\Delta\Omega$ are small and known and $I_0$ is separately monitored,
we can (have to) normalize the observations by simply dividing them out.
Specifically for the powder diffraction field, historically, this is not usually done because
- as it is normally true with anode sources and point detectors and usual procedures -
the counting times $\Delta t$, the solid angle width $\Delta\Omega\propto \Delta \TT$
and the incident intensity $I_0$ are considered
constant and therefore go into some 'global scaling' constant that is usually considered arbitrary.
However, as we have more sophisticated acquisition methods,
we may need revert to the original approach and consider the
counts divided by time and angular width as the real observable.
\subsection{Basic binning}\label{sec:11}
\begin{itemize}
\item[1.\ ]{
We have several patterns, say $P$. Each $k$-th pattern, for $k=1,\ldots,P$, is
constituted by $N_k$ angular intervals in the diffraction angle $2\theta\equiv\TT$:
\[
b_{k,j}=\lrs{\TT_{k,j}^{-},\TT_{k,j}^{+}},\qquad j=1,\ldots,N_k
\]
of center
\[
\hat{b}_{k,j}=\DSF{\TT_{k,j}^{+}+\TT_{k,j}^{-}}{2}
\]
and width
\[
\lrv{b_{k,j}}=\TT_{k,j}^{+}-\TT_{k,j}^{-}
\]
To each interval is associated a counting $C_{k,j}$, an efficiency correction factor $e_{k,j}$, a
monitor $m_{k,j}$ (ionization chamber times acquisition time). All 'bad' intervals have been already flagged down and discarded.
Efficiency corrections and monitors are supposed to be normalized to a suitable value.
Note that intervals $b_{k,j}$ might have multiple overlaps and might not cover an compact angular
range. }
%
\item[2.\ ]{Following Mighell's statistics[6] and normal scaling procedures, we first
transform those numbers into associated intensities, intensity rates and relevant s.d.:
\[
I_{k,j}=\DSF{e_{k,j}}{m_{k,j}}\lrb{C_{k,j}+\min\lrb{1,C_{k,j}}}
\]
\[
\sigma_{I_{k,j}}=\DSF{e_{k,j}}{m_{k,j}}\sqrt{\lrb{C_{k,j}+1}}
\]
\[
r_{k,j}=\DSF{I_{k,j}}{\lrv{b_{k,j}}}=\DSF{e_{k,j}}{m_{k,j}\lrv{b_{k,j}}}\lrb{C_{k,j}+\min\lrb{1,C_{k,j}}}
\]
\[
\sigma_{r_{k,j}}=\DSF{\sigma_{I_{k,j}}}{\lrv{b_{k,j}}}=\DSF{e_{k,j}}{\lrv{b_{k,j}}m_{k,j}}\sqrt{\lrb{C_{k,j}+1}}
\]
}
\item[3.\ ]{
We set up the final binned grid,
composed of $M$ binning intervals
\[
B_\ell=[\TT_0+(\ell-1)B, \TT_0+\ell B],\qquad \ell=1,\ldots,M
\]
all contiguous and each having the same width \[\lrv{B_\ell}=B\] and each centered in
\[\hat{B}_\ell=\TT_0+(\ell-1/2)B,\]
covering completely the angular range between $\TT_0$ and $\TT_{max}=\TT_0+MB$.
}
\item[4.\ ]{
For bin $\ell$, we consider only and all the experimental intervals
\[
b_{k,j}\qquad\text{such\ that}\qquad \lrv{ b_{k,j}\cap B_\ell } > 0.
\]
More restrictively, one may require to consider only and all the experimental intervals
\[
b_{k,j}\qquad\text{such\ that}\qquad \hat{b}_{k,j}\in B_\ell .
\]
}
\item[5.\ ]{
In order to estimate the rate in each $\ell$-th bin,
we use all above selected rate estimates concerning bin $B_\ell$ and we get
a better one with the weighted average method. \\
In the weighted average method, we suppose to have a number $N_E$ of estimates $O_n$
of the same observable $O$,
each one with a known s.d. $\sigma_{O_n}$ and each (optionally) repeated with a frequency
$\nu_n$.
Then
\[
\langle O\rangle =\DSF{
\mathop{\sum}_{n=1}^{N_E}\nu_n
O_n\sigma_{O_n}^{-2}
}{
\mathop{\sum}_{n=1}^{N_E}\nu_n
\sigma_{O_n}^{-2}
}
\]
%
Clearly the place of the frequencies in our case can be taken by coefficients
\[
\DSF{\lrv{ b_{k,j}\cap B_\ell }}{B}
\]
that weigh the $k,j$-th estimate by its relative extension within bin $B_\ell$.
}
\item[6.\ ]{
Now
we can simply accumulate registers
\[
X_\ell=\mathop{\sum_{k,j}}_{ \lrv{ b_{k,j}\cap B_\ell } > 0}
\DSF{\lrv{ b_{k,j}\cap B_\ell }}{B}\ r_{k,j}\ \lrb{\sigma_{r_{k,j}}}^{-2}
\]
and
\[
Y_\ell=\mathop{\sum_{k,j}}_{ \lrv{ b_{k,j}\cap B_\ell } > 0}
\DSF{\lrv{ b_{k,j}\cap B_\ell }}{B}\ \lrb{\sigma_{r_{k,j}}}^{-2}
\]
so that we can extract an intensity rate estimate (counts per unit diffraction angle and per unit time at constant incident intensity) as
\[
R_\ell=\DSF{X_\ell}{Y_\ell};
\]
\[
\sigma_{R_\ell}=\DSF{1}{\sqrt{Y_\ell}}.
\]
Now optionally we can transforms rates in intensities (multiplying
both $R_\ell$ and $\sigma_{R_\ell}$ by $B$).
We can use any other scaling factor $K$ as we wish instead of $B$.
The best cosmetic scaling is the one where
\[
\mathop{\sum}_{\ell=1}^M\DSF{KR_\ell}{K^2\sigma_{R_\ell}^2}=
\DSF{1}{K}
\mathop{\sum}_{\ell=1}^M\DSF{R_\ell}{\sigma_{R_\ell}^2}=M
\]
as if the intensities were simply counts.
Therefore $K$ is given by
\[
K=\DSF{
1
}{
M
}\mathop{\sum}_{\ell=1}^M\DSF{R_\ell}{\sigma_{R_\ell}^2}
\]
In output then we give 3-column files
with columns
\[
\hat{B}_\ell, \quad KR_\ell, \quad K\sigma_{R_\ell}
\]
}
\end{itemize}
\subsubsection{Special nasty cases}
Here we explore some special cases to see the robustness
of the method.
1) If no experimental observation contributes to bin $B_\ell$ according to one of the criteria
above, then we shall find $X_\ell=0$ and especially $Y_\ell=0$. The latter condition is
valid as an exclusion condition
(meaning that we discard that point and we do not perform further operations on it,
neither do we output it).
2) if only one experimental observation - call it interval $b$, dropping indices - contributes
to bin $B_\ell$,
then we have
\[
X_\ell=\DSF{\lrv{ b\cap B_\ell }}{B}\
\DSF{e(C+1)}{m|b|}\
\lrb{
\DSF{|b|m}{e\sqrt{C+1}}
}^{2}
=\DSF{\lrv{ b\cap B_\ell }}{B}\DSF{|b|m}{e}
\]
\[
Y_\ell=\DSF{\lrv{ b\cap B_\ell }}{B}\
\lrb{
\DSF{|b|m}{e\sqrt{C+1}}
}^{2}
=\DSF{\lrv{ b\cap B_\ell }}{B}\DSF{|b|^2m^2}{e^2(C+1)}
\]
and so
\[
R_\ell=\DSF{X_\ell}{Y_\ell}=\DSF{e(C+1)}{m|b|}
\]
that is the experimental rate as in pixel $b$;
\[
\sigma_{R_\ell}=\DSF{1}{\sqrt{Y_\ell}}=
\sqrt{\DSF{B}{\lrv{ b\cap B_\ell }}}
%
\DSF{e\sqrt{(C+1)}}{|b|m}
\]
that is the same s.d. that can be calculated directly for $b$, augmented by factor
\[
\sqrt{\DSF{B}{\lrv{ b\cap B_\ell }}}
\]
that takes into account the extrapolation error.
\subsection{Advanced binning}\label{sec:2}
There are more advanced (and more complex) methods that take more carefully into account the real position of the centers $\hat{b}_{j,k}$ w.r.t. $\hat{B}_\ell$.
If we find out that it is the case we may develop them too.
\subsection{Poisson and normal statistics for diffraction}
The normal situation for diffraction data
is that the observed signal is a photon count.
Therefore it follows a Poisson distribution.
If we have a count value $C_0$ that follows a Poisson distribution,
we can assume immediately that the average is equal to $C_0$ and the s.d. is $\sqrt{C_0}$.
I.e., repeated experiments would give values $n$
distributed according to the normalized distribution
\[
P(n)=\DSF{C_0^n\EE^{-C_0}
}{
n!}
\]
This obeys
\[
\mathop{\sum}_{n=0}^{+\infty}
P(n)=1\ ;
\]
\[
\langle n\rangle=\mathop{\sum}_{n=0}^{+\infty}
nP(n)=C_0\ ;
\]
\[
\langle n^2\rangle=\mathop{\sum}_{n=0}^{+\infty}
n^2 P(n)=C_0^2+C_0\ ;
\]
The standard deviation comes then to
\[
\sigma_{C_0}=\sqrt{\langle n^2\rangle-\langle n\rangle^2}=\sqrt{C_0}
\]
When the data have to be analyzed, one must compare observations with a model
which gives calculated values of the observations in dependence of a certain set of
parameters. The best values of the parameters (the target of investigation)
are the one that maximize the likelihood function [4,5]. The likelihood function for
Poisson variates is pretty difficult to use; furthermore, even simple data manipulations
are not straightforward with Poisson variates (see \sref{sec:3}). The common choice is to approximate
Poisson variates with normal variates, and then use the much easier formalism
of normal distribution to a) do basic data manipulations and b) fit data with model.
To the latter task, in fact, the likelihood function is maximized simply by minimizing
the usual weighted-$\chi^2$[4] :
\[
\chi^2 = \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{\lrb{F_j-O_j}^2
}{
\sigma_j^2
}
\]
where $O_j$ are the experimentally observed values, $F_j$ the calculated model values,
$\sigma_j$ the s.d.s of the observations.
Substituting directly the counts (and derived s.d.s) for the observations in the former :
\[
\chi_{(0)}^2 = \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{\lrb{F_j-C_j}^2
}{
C_j
}
\]
is the most common way. It is \emph{slightly} wrong to do so, however [6],
the error being large only when the counts are low.
There is also a divergence for zero counts.
In fact, a slightly modified form [6] exists, reading
\[
\chi_{(1)}^2 = \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{\lrb{F_j-\lrb{C_j+\min\lrb{1,C_j}}}^2
}{
C_j+1
}
\]
Minimizing this form of $\chi^2$ is equivalent - to an exceptionally good approximation [6]-
to maximizing the proper Poisson-likelihood.
\subsection{Average vs. weighted average}
\subsubsection{Simple average}
Suppose we have $N_{\mathrm{obs}}$ Poisson-variate experimental evaluations
$C_j,\quad j=1\ldots N_{\mathrm{obs}}$,
of the same quantity $x$.
There are different ways to obtain from all $N_{\mathrm{obs}}$ data values a single estimate of the observable which is better than
any of them. The most straightforward and the best is the simple average
\[
x=\langle x\rangle=\DSF{1}{ N_{\mathrm{obs}}}
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}C_j\ .
\]
As the sum of Poisson variates is a Poisson variate, the standard deviation
\[
\sigma_x=\sqrt{\langle x^2\rangle-\langle x\rangle^2}=\sqrt{
\DSF{1}{ N_{\mathrm{obs}}}
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}C_j^2-\lrb{
\DSF{1}{ N_{\mathrm{obs}}}
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}C_j
}
}
\]
can be evaluated more comfortably as
\[
\sigma_x=\DSF{1}{ N_{\mathrm{obs}}}\sqrt{ \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}C_j }
=\sqrt{\DSF{\langle x\rangle}{N_{\mathrm{obs}}}}
\]
\subsubsection{Zero-skipping average}
In some cases, in order to avoid possible singularities,
values $C_j=0$ are skipped. Then if $N_{\mathrm{obs}}^*$ is the number of non-zero data points,
we can evaluate the 'zero-skipping' average as
\[
x=\langle x\rangle^*=\DSF{1}{ N_{\mathrm{obs}}^*}
\mathop{\sum}_ {\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
C_j=\DSF{1}{ N_{\mathrm{obs}}^*}
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}C_j = \DSF{N_{\mathrm{obs}}}{N_{\mathrm{obs}}^*}\langle x\rangle
\]
The standard deviation is then
\[
\sigma_{x^*}= \DSF{N_{\mathrm{obs}}}{N_{\mathrm{obs}}^*}\sigma_x = \sqrt{\DSF{N_{\mathrm{obs}}}{N_{\mathrm{obs}}^*}}
\sqrt{\DSF{\langle x\rangle}{N_{\mathrm{obs}}^*}}=\sqrt{\DSF{\langle x\rangle^*}{N_{\mathrm{obs}}^*}}
\]
Note that the s.d. is evaluated exactly as if the non-zero $C_j$ were the only observations,
whilst the average is overestimated by the fraction of zero-counting events.
\subsubsection{Weighted average: definition and relationship with $\chi^2$}
A weighted average is the result of the special case of a data fitting to a model function which is a constant.
It is easy to see that minimizing w.r.t $x$
\[
\chi^2 = \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{\lrb{x-O_j}^2
}{
\sigma_j^2
}
\]
yields
\[
x= \langle x \rangle_{\!\mathrm{w}}=\DSF{
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{O_j
}{
\sigma_j^2
}
}{
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{1
}{
\sigma_j^2
}
}
\]
The good-faith s.d. (square-root of twice the inverse of the second derivative of $\chi^2$ at the minimum)
is then
\[
\sigma_{\langle x \rangle_{\!\mathrm{w}}} = \DSF{
1
}{\sqrt{
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{1
}{
\sigma_j^2
}
}}
\]
I use the term 'good-faith' to indicate the case when it is really appropriate to use a constant as a model functions,
i.e. when the observations are truly different observations of the same observable.
When this is not the case but we do not know what to do better we can at least increase the s.d.
In fact, there is a correction factor for the s.d., given - in this case - by
\[
\mathsf{GoF}=
\sqrt{
\DSF{
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{O_j^2
}{
\sigma_j^2
}
-\DSF{
\lrs{
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{O_j
}{
\sigma_j^2
}
}^2
}{ \mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{1
}{
\sigma_j^2
} }
}{
N_{\mathrm{obs}}-1
}
}
\]
so that
\[
{\sigma}_{\langle x \rangle_{\!\mathrm{w}}}^{\mathrm{corrected}} = \mathsf{GoF}\ \sigma_{\langle x \rangle_{\!\mathrm{w}}}
\]
Specializing now to the two cases above,
\subsubsection{Straight Poisson (zero-skipping) weighted average}
When $O_j=C_j$ and $\sigma_j^2=C_j$
\[
\langle x \rangle_{\!\mathrm{w(1)}}=\DSF{
{N_{\mathrm{obs}}}
}{
\mathop{\sum}_{j=1}^{N_{\mathrm{obs}}}
\DSF{1
}{
C_j
}
}
\]
Here we need to eliminate the singularity when $C_j=0$. In order to do so, we skip data points which are zero.
Then if $N_{\mathrm{obs}}^*$ is the number of non-zero data points,
\[
\langle x \rangle_{\!\mathrm{w(1)}}=\DSF{
{N_{\mathrm{obs}}^*}
}{
\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\DSF{1
}{
C_j
}
}
\]
\[
\sigma_{\langle x \rangle_{\!\mathrm{w(1)}}} = \DSF{
1
}{\sqrt{
\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\DSF{1
}{
C_j
}
}}=\sqrt{\DSF{\langle x \rangle_{\!\mathrm{w(1)}}}{
N_{\mathrm{obs}}^*
}}
\]
\[
\mathsf{GoF}_{(1)}=
\sqrt{
\DSF{
\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\!\!\!\!C_j
%
-\DSF{
\lrs{
N_{\mathrm{obs}}^*
}^2
}{ \mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\DSF{1
}{
C_j
} }
}{
N_{\mathrm{obs}}^*-1
}
}
=\sqrt{
\DSF{N_{\mathrm{obs}}^*}{N_{\mathrm{obs}}^*-1}
\lrb{
\langle x\rangle^*-\langle x \rangle_{\!\mathrm{w(1)}}
}
}
\]
where $\langle x\rangle^*$ is the simple average of the non-zero data points; and of course
\[
{\sigma}_{\langle x \rangle_{\!\mathrm{w(1)}}}^{\mathrm{corrected}} = \mathsf{GoF}_{(1)}\ \sigma_{\langle x \rangle_{\!\mathrm{w(1)}}}
\]
\subsubsection{Mighell-Poisson weighted average}
When $O_j=C_j+\min\lrb{1,C_j}$ and $\sigma_j^2=C_j+1$
\[
\langle x \rangle_{\!\mathrm{w(2)}}=\DSF{
{N_{\mathrm{obs}}^*}
}{
\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\DSF{1
}{
C_j+1
}
}
\]
\[
\sigma_{\langle x \rangle_{\!\mathrm{w(2)}}} = \DSF{
1
}{\sqrt{
\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\DSF{1
}{
C_j+1
}
}}=\sqrt{\DSF{\langle x \rangle_{\!\mathrm{w(2)}}}{
N_{\mathrm{obs}}^*
}}
\]
\[
\mathsf{GoF}_{(2)}=
\sqrt{
\DSF{
\mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\!\!\!\!C_j+N_{\mathrm{obs}}^*
%
-\DSF{
\lrs{
N_{\mathrm{obs}}^*
}^2
}{ \mathop{\sum}_{\stackrel{1\leqslant j\leqslant N_{\mathrm{obs}}}{{C_j>0}}}
\DSF{1
}{
C_j+1
} }
}{
N_{\mathrm{obs}}^*-1
}
}
=\sqrt{
\DSF{N_{\mathrm{obs}}^*}{N_{\mathrm{obs}}^*-1}
\lrb{
\langle x\rangle^*-\langle x \rangle_{\!\mathrm{w(2)}}+1
}
}
\]
where $\langle x\rangle^*$ is the simple average of the non-zero data points; and of course
\[
{\sigma}_{\langle x \rangle_{\!\mathrm{w(2)}}}^{\mathrm{corrected}} = \mathsf{GoF}_{(2)}\ \sigma_{\langle x \rangle_{\!\mathrm{w(2)}}}
\]
\subsubsection{Comparison}
We have seen four different ways to take an average -
two simple averages (the second skipping zero values)
and two weighted averages (using straight Poisson and Poisson-Mighell [6] $\chi^2$ formulations).
We know that the simple average (not skipping zeros) is the best possible result. However,
there are inconveniences with it. If for instance we need to scale our data before averaging, then the
simple average is no more usable (it will give the correct average but a bad estimate of the s.d.) .
In any case, the passage to normal statistics (using Mighell's correction) needs to be done before or later.
Therefore a comparison is due in order to ascertain
how wrong can it be using the different methods.
We have to give a measure of what is negligible first.
The relative error is a measure of the smallest relative variation of an estimate $x$ that is \emph{not} negligible:
\[
\epsilon_x = \DSF{\sigma_x}{x}
\]
We shall then consider negligible
(w.r.t. $x$) terms whose relative magnitude is $O(\epsilon_x^2)$.
As the s.d. of $x$ is $\propto\epsilon_x$, we may not discard terms $O(\epsilon_x^2)$ on the s.d.;
there instead we may neglect terms $O(\epsilon_x^3)$.
\subsubsection{Analytical comparison of averages}
First we give an analytical comparison between simple average and Mighell-Poisson weighted average
for $N_{\mathrm{obs}}=2$.
If the two events are $C_1$ and $C_2$, then
\[
\langle x \rangle=\DSF{C_1+C_2}{2}; \qquad \sigma_x=\DSF{\sqrt{C_1+C_2}}{2}
\]
For the M-P weighted average,
\[
\langle x \rangle_{\mathrm{w(2)}}=\DSF{2(C_1+1)(C_2+1)}{C_1+C_2+2}; \qquad
\sigma_{\langle x \rangle_{\mathrm{w(2)}}}=\sqrt{\DSF{(C_1+1)(C_2+1)}{C_1+C_2+2}}
\]
Now, supposing that the common 'true' value of $C_1,C_2$ is $\lambda$,
we use the Poisson distribution to compare the expectation values of the two results. The expectation value of the simple average is
\[
E\lrb{\langle x \rangle} = \mathop{\sum}_{m,n=0}^{+\infty}
\DSF{n+m}{2}P(n)P(m)=\mathop{\sum}_{m=0}^{+\infty}
\DSF{m}{2}\DSF{\lambda^m\EE^{-\lambda}}{m!}
+\mathop{\sum}_{n=0}^{+\infty}
\DSF{n}{2}\DSF{\lambda^n\EE^{-\lambda}}{n!}
=\lambda
\]
As expected, the simple average gives the true value.
For its variance,
\[
E\lrb{\sigma_x^2} = \mathop{\sum}_{m,n=0}^{+\infty}
\DSF{n+m}{4}P(n)P(m)=\DSF{
\lambda}{2};\qquad E\lrb{\sigma_x} =\sqrt{\DSF{\lambda}{2}}
\]
In order to evaluate the difference with the M-P weighted average, we rewrite the latter as
\[
\langle x \rangle_{\mathrm{w(2)}}=\langle x \rangle + 1 -\DSF{(C_1-C_2)^2}{4(\langle x \rangle+1)}
\]
and calculate the expectation value of the last term:
\[
E\lrb{\DSF{(C_1-C_2)^2}{4(\langle x \rangle+1)}} =
\mathop{\sum}_{m,n=0}^{+\infty}
\DSF{(n-m)^2}{2(n+m+2) }P(n)P(m)=\DSF{\EE^{-2\lambda}}{2}
\mathop{\sum}_{m,n=0}^{+\infty}
\DSF{(n-m)^2}{(n+m+2) }\DSF{\lambda^{n+m}}{n!m!}
\]
Rearranging the sums with $s=n+m$, $s=0\ldots +\infty$; $n-m=s-2k$, $k=0\ldots s$,
we get
\[
E\lrb{\DSF{(C_1-C_2)^2}{4(\langle x \rangle+1)}} =
\DSF{\EE^{-2\lambda}}{2}
\mathop{\sum}_{s=0}^{+\infty}
\mathop{\sum}_{k=0}^{s}
\DSF{(s-2k)^2(s+1)}{(s+2)! }{\lambda^{s}}
\binom{s}{k}=\DSF{1}{2}-\DSF{1}{2\lambda}+\DSF{1-\EE^{-2\lambda}}{4\lambda^2}
%{n!m!}
\]
So, the relative difference between averages is
\[
\DSF{E\lrb{\langle x \rangle_{\mathrm{w(2)}}-\langle x \rangle}}{E\lrb{\langle x \rangle}}=
\DSF{1}{2\lambda}+\DSF{1}{2\lambda^2}-\DSF{1-\EE^{-2\lambda}}{4\lambda^3}
\]
The relative error on $\langle x \rangle$ is
\[
\epsilon = \DSF{\sigma_x}{\langle x \rangle} =
\DSF{\lambda^{1/2}}{\sqrt{2} \lambda}=\DSF{1}{\sqrt{2\lambda}}
\]
therefore
\[
\DSF{E\lrb{\langle x \rangle_{\mathrm{w(2)}}-\langle x \rangle}}{E\lrb{\langle x \rangle}}=
O(\epsilon^2)
\]
Therefore, the expectation value of the error (relative) involved in taking
the M-P weighted average instead of the simple average is negligible.
\subsubsection{Numerical comparison of averages}
In the next table numerical results are displayed. An exact random-Poisson generator has been used to generate Poisson deviates of given average value
$\lambda$, with $\lambda=1,10,100,\ldots,1000000$. For each value $\lambda$
$N=10^8$ deviates have been generated. Then averages have been taken for each value $\lambda$ and compared with the true value.
For each value $\lambda$ - in order to have a scale for comparison -
we evaluate the expected absolute s.d. of averages as $\xi_\lambda=\sqrt{\lambda/N}$, and the relative s.d. of averages as $\epsilon_\lambda=\sqrt{\lambda/N}/\lambda=1/\sqrt{N\lambda}$. Then - for each averaging method - we evaluate the error $E_\lambda$ (average minus $\lambda$),
the relative error $e_\lambda=E_\lambda/\lambda$, and finally the comparison criterion $e_\lambda/\epsilon_\lambda$ (bold). The comparison criterion is expected to be close to 1 in absolute value. Values much larger than one mean that we are introducing a systematic error.
\footnotesize
\begin{tabular}{l|llll}
\footnotesize
% # trials N = 100000000
\ &&&&\ \\
& \multicolumn{4}{l}{$\lambda =$ 1. ; $\xi_\lambda = $0.0001 ; $\epsilon_\lambda$ = 0.0001}\\
& ${\langle x \rangle_{\!\mathrm{w(1)}}}$ & ${\langle x \rangle_{\!\mathrm{w(2)}}}$ & $\langle x \rangle^*$ & $\langle x \rangle$\\
Averages & 1.303772380383934 & 0.9999155361216990 & 1.581941754994651 & 0.9999283300000000 \\
$E_\lambda$ & 0.3037723803839338 & -0.8446387830096658E-04 & 0.5819417549946508 & -0.7166999999996815E-04\\
$e_\lambda$ & 0.3037723803839338 & -0.8446387830096658E-04 & 0.5819417549946508 & -0.7166999999996815E-04\\
$e_\lambda/\epsilon_\lambda$ &{\textbf{ 3037.723803839338 }}&{\textbf{ -0.8446387830096658 }}&{\textbf{ 5819.417549946508 }}&{\textbf{ -0.7166999999996815 }} \\
\ &&&&\ \\
& \multicolumn{4}{l}{$\lambda =$ 10.000000000000002 ; $\xi_\lambda = $0.00031622776601683794 ; $\epsilon_\lambda$ = 0.00003162277660168379}\\
& ${\langle x \rangle_{\!\mathrm{w(1)}}}$ & ${\langle x \rangle_{\!\mathrm{w(2)}}}$ & $\langle x \rangle^*$ & $\langle x \rangle$\\
Averages & 8.848248847530357 & 10.00025732384808 & 10.00052232372917 & 10.00006800000000 \\
$E_\lambda$ & -1.151751152469645 & 0.2573238480785278E-03 & 0.5223237291644978E-03 & 0.6799999999884676E-04\\
$e_\lambda$ & -0.1151751152469645 & 0.2573238480785278E-04 & 0.5223237291644977E-04 & 0.6799999999884675E-05\\
$e_\lambda/\epsilon_\lambda$ &{\textbf{ -3642.156939527943 }}&{\textbf{ 0.8137294562072904 }}&{\textbf{ 1.651732660112730 }}&{\textbf{ 0.2150348808878029 }} \\
\ &&&&\ \\
& \multicolumn{4}{l}{$\lambda =$ 100.00000000000004 ; $\xi_\lambda = $0.0010000000000000002 ; $\epsilon_\lambda$ = 0.000009999999999999997}\\
& ${\langle x \rangle_{\!\mathrm{w(1)}}}$ & ${\langle x \rangle_{\!\mathrm{w(2)}}}$ & $\langle x \rangle^*$ & $\langle x \rangle$\\
Averages & 98.98978896904168 & 100.0001037814804 & 100.0002153600000 & 100.0002153600000 \\
$E_\lambda$ & -1.010211030958359 & 0.1037814803765968E-03 & 0.2153599999559219E-03 & 0.2153599999559219E-03\\
$e_\lambda$ & -0.1010211030958359E-01 & 0.1037814803765968E-05 & 0.2153599999559218E-05 & 0.2153599999559218E-05\\
$e_\lambda/\epsilon_\lambda$ &{\textbf{ -1010.211030958359 }}&{\textbf{ 0.1037814803765968 }}&{\textbf{ 0.2153599999559219 }}&{\textbf{ 0.2153599999559219 }} \\
\ &&&&\ \\
& \multicolumn{4}{l}{$\lambda =$ 1000.0000000000007 ; $\xi_\lambda = $0.0031622776601683803 ; $\epsilon_\lambda$ = 0.000003162277660168378}\\
& ${\langle x \rangle_{\!\mathrm{w(1)}}}$ & ${\langle x \rangle_{\!\mathrm{w(2)}}}$ & $\langle x \rangle^*$ & $\langle x \rangle$\\
Averages & 999.0029754507847 & 1000.003978305674 & 1000.003836760000 & 1000.003836760000 \\
$E_\lambda$ & -0.9970245492160075 & 0.3978305673513205E-02 & 0.3836759999330752E-02 & 0.3836759999330752E-02\\
$e_\lambda$ & -0.9970245492160069E-03 & 0.3978305673513202E-05 & 0.3836759999330750E-05 & 0.3836759999330750E-05\\
$e_\lambda/\epsilon_\lambda$ &{\textbf{ -315.2868458625229 }}&{\textbf{ 1.258050715667192 }}&{\textbf{ 1.213290043331128 }}&{\textbf{ 1.213290043331128 }} \\
\ &&&&\ \\
& \multicolumn{4}{l}{$\lambda =$ 10000.00000000001 ; $\xi_\lambda = $0.010000000000000005 ; $\epsilon_\lambda$ = 9.999999999999995E-7}\\
& ${\langle x \rangle_{\!\mathrm{w(1)}}}$ & ${\langle x \rangle_{\!\mathrm{w(2)}}}$ & $\langle x \rangle^*$ & $\langle x \rangle$\\
Averages & 9998.995728116572 & 9999.995828163173 & 9999.995919900000 & 9999.995919900000 \\
$E_\lambda$ & -1.004271883437468 & -0.4171836835666909E-02 &-0.4080100008650334E-02 &-0.4080100008650334E-02\\
$e_\lambda$ & -0.1004271883437467E-03 & -0.4171836835666905E-06 & -0.4080100008650330E-06 &-0.4080100008650330E-06\\
$e_\lambda/\epsilon_\lambda$ &{\textbf{ -100.4271883437468 }}&{\textbf{ -0.4171836835666907 }}&{\textbf{ -0.4080100008650331 }}&{\textbf{ -0.4080100008650331 }} \\
\ &&&&\ \\
& \multicolumn{4}{l}{$\lambda =$ 100000.0000000002 ; $\xi_\lambda = $0.031622776601683826 ; $\epsilon_\lambda$ = 3.162277660168376E-7}\\
& ${\langle x \rangle_{\!\mathrm{w(1)}}}$ & ${\langle x \rangle_{\!\mathrm{w(2)}}}$ & $\langle x \rangle^*$ & $\langle x \rangle$\\
Averages & 99999.01275394148 & 100000.0127639189 & 100000.0125627100 & 100000.0125627100 \\
$E_\lambda$ & -0.9872460587212117 & 0.1276391866849735E-01 & 0.1256270980229601E-01 & 0.1256270980229601E-01\\
$e_\lambda$ & -0.9872460587212097E-05 & 0.1276391866849733E-06 & 0.1256270980229599E-06 & 0.1256270980229599E-06\\
$e_\lambda/\epsilon_\lambda$ &{\textbf{ -31.21946156583365 }}&{\textbf{ 0.4036305486159527 }}&{\textbf{ 0.3972677655897895 }}&{\textbf{ 0.3972677655897895 }} \\
\ &&&&\ \\
& \multicolumn{4}{l}{$\lambda =$ 1000000.0000000013 ; $\xi_\lambda = $0.10000000000000006 ; $\epsilon_\lambda$ = 9.999999999999993E-8}\\
& ${\langle x \rangle_{\!\mathrm{w(1)}}}$ & ${\langle x \rangle_{\!\mathrm{w(2)}}}$ & $\langle x \rangle^*$ & $\langle x \rangle$\\
Averages & 999999.1188353101 & 1000000.118835812 & 1000000.118809340 & 1000000.118809340 \\
$E_\lambda$ & -0.8811646911781281 & 0.1188358106883243 & 0.1188093387754634 & 0.1188093387754634 \\
$e_\lambda$ & -0.8811646911781270E-06 & 0.1188358106883241E-06 & 0.1188093387754633E-06 & 0.1188093387754633E-06\\
$e_\lambda/\epsilon_\lambda$ &{\textbf{ -8.811646911781276 }}&{\textbf{ 1.188358106883242 }}&{\textbf{ 1.188093387754633 }}&{\textbf{ 1.188093387754633}} \\
\end{tabular}
\normalsize
As it is visible from the table:
\begin{itemize}
\item[1.\quad]{${\langle x \rangle_{\!\mathrm{w(1)}}}\ :$ the weighted average using straight Poisson statistics is consistenty bad at all values of $\lambda$, that means at all counting levels;}
\item[2.\quad]{${\langle x \rangle^*}\ $: the normal average skipping zero count data is bad for $\lambda<100$, that means at low counting levels (of course at higher counting levels zeroes are not happening);}
\item[3.\quad]{${\langle x \rangle}\ \text{and}\ {\langle x \rangle_{\!\mathrm{w(2)}}}$: the normal average including zero count data and the Mighell-Poisson weighted average
are consistently and equivalently good at all counting levels.}
\end{itemize}
Therefore there is no bias when using the Mighell-Poisson weighted method to average data w.r.t. the usual average. The former, however,
has already accomplished the passage to normal statistics, therefore all operations on data that are not simple averaging can be done in
the framework of normal statistics, where everything is known and clear. In the next section, on the opposite, it is shown that
even simple operations as scaling data lead to the necessity of abandoning Poisson statistics in order to estimate correctly the standard deviations.
\subsection{Scaling Poisson variates}\label{sec:3}
If we have a count value $C_0$ that follows a Poisson distribution,
we can assume immediately that the average is $C_0$ and the s.d. is $\sqrt{C_0}$.
I.e., repeated experiments would give values $n$
distributed according to the normalized distribution
\[
P(n)=\DSF{C_0^n\EE^{-C_0}
}{
n!}
\]
This obeys
\[
\mathop{\sum}_{n=0}^{+\infty}
P(n)=1\ ;
\]
\[
\langle n\rangle=\mathop{\sum}_{n=0}^{+\infty}
nP(n)=C_0\ ;
\]
\[
\langle n^2\rangle=\mathop{\sum}_{n=0}^{+\infty}
n^2 P(n)=C_0^2+C_0\ ;
\]
\[
\sigma_{C_0}=\sqrt{\langle n^2\rangle-\langle n\rangle^2}=\sqrt{C_0}
\]
Suppose now that
our observable is
\[
X_0=\eta_0 C_0
\]
where $\eta_0$ is a known error-free scaling factor.
The distribution of $X$ is
\[
P'(X)=P(X/\eta_0)=P(n)\qquad\Biggl|\Biggr.\qquad \frac{X}{\eta_0}\equiv n\in\mathbb{Z}
%=\left.\DSF{(X_0/\eta_0)^{X/\eta_0}\EE^{-X_0/\eta_0}}{(X/\eta_0)!}\right|_{\frac{X}{\eta_0}\in\mathbb{Z}}
\]
and now,
\[
\mathop{\sum}_{n=0}^{+\infty}
P(n)=1\ ;
\]
\[
\langle X\rangle=\mathop{\sum}_{n=0}^{+\infty}
\eta_0 nP(n)=\eta_0 C_0=X_0\ ;
\]
\[
\langle X^2\rangle=\mathop{\sum}_{n=0}^{+\infty}
\eta_0^2 n^2 P(n)=\eta_0^2(C_0^2+C_0)=X_0^2+\eta_0 X_0\ ;
\]
\[
\sigma_X=\sqrt{\langle X^2\rangle-\langle X\rangle^2}=\sqrt{\eta_0 X_0}=\eta_0\sqrt{C_0}=\sqrt{\eta_0}\sqrt{X_0}
\]
Now it is no more valid that $\sigma_X=\sqrt{\langle X\rangle}=\sqrt{X_0}$, instead
\[
\sigma_X=\sqrt{\eta_0}\sqrt{X_0}=\eta_0\sqrt{C_0}=\eta_0\sigma_{C_0}
\]
that is the characteristic relationship for a normal-variate distribution.
Moreover, assume now that the scaling factor is not exctly known
but instead it is a normal-variate itself with average $\eta_0$, s.d.
$\sigma_{\eta_0}$, and distribution
\[
\widehat{P}(\eta)=\DSF{
\EE^{
-\frac{1}{2}
\lrb{
\frac{\eta-\eta_0}{\sigma_{\eta_0}}
}^2
}
}{
\sigma_{\eta_0}\sqrt{2\pi}
}
\]
Then,
\[
\int_{-\infty}^{+\infty}\DD{\eta}\mathop{\sum}_{n=0}^{+\infty}
P(n)\widehat{P}(\eta)=1\ ;
\]
\[
\langle X\rangle=\int_{-\infty}^{+\infty}\DD{\eta}\mathop{\sum}_{n=0}^{+\infty}
\widehat{P}(\eta)\eta nP(n)=
\mathop{\sum}_{n=0}^{+\infty}
nP(n)
\int_{-\infty}^{+\infty}\DD{\eta} \widehat{P}(\eta)\eta
=
\eta_0 C_0=X_0\ ;
\]
\[
\langle X^2\rangle=\int_{-\infty}^{+\infty}\DD{\eta}\mathop{\sum}_{n=0}^{+\infty}
\widehat{P}(\eta)\eta^2 n^2 P(n)=
\int_{-\infty}^{+\infty}\DD{\eta}\widehat{P}(\eta)\eta^2
\mathop{\sum}_{n=0}^{+\infty}
n^2 P(n)
=
(\eta_0^2+\sigma_{\eta_0}^2)(C_0^2+C_0)\ ;
\]
\[
\DSF{\sigma_X}{\langle X\rangle}=\DSF{\sqrt{\langle X^2\rangle-\langle X\rangle^2}}{\langle X\rangle}
=\DSF{\sqrt{
\eta_0^2 C_0+\sigma_{\eta_0}^2C_0^2+\sigma_{\eta_0}^2 C_0
}}{\eta_0C_0}=
\sqrt{
\lrb{\DSF{ \sigma_{C_0}}{C_0}}^2
+\lrb{\DSF{\sigma_{\eta_0}}{\eta_0}}^2+\lrb{\DSF{\sigma_{\eta_0}}{\eta_0}\DSF{\sigma_{C_0}}{C_0}}^2
}\approx\sqrt{
\lrb{\DSF{ \sigma_{C_0}}{C_0}}^2
+\lrb{\DSF{\sigma_{\eta_0}}{\eta_0}}^2
}
%=\sqrt{\eta_0^2\sigma_{C_0}^2}
\]
where in the last we discard, as usual, the 4th order in the relative errors. Both the exact and approximated forms
are exactly the same as if both distributions were to be normal.
\subsection*{Bibliography}
[1] - B. E. Warren, {\textit{"X-Ray Diffraction"}} (Dover:1990)
[2] - A. Guinier, {\textit{"X-Ray Diffraction In Crystals, Imperfect Crystals, and Amorphous Bodies"}} (Dover:1994)
[3] - G. L. Squires, {\textit{"Introduction to the Theory of Thermal Neutron Scattering"}} (Dover:1997)
[4] - G. E. P. Box, G. C. Tiao, {\textit{"Bayesian inference in statistical analysis"}} (Wiley, NY: 1996)
[5] - E. Prince, P. T. Boggs, {\textit{"International Tables for Crystallography"}} Vol. C, ch.~8.1, pp.~678-688 (First online edition : 2006)
[6] - K. J. Mighell, {\textit{Astrophys. J.}} {\textbf{518}} (1999) p. 380--393
\section{Why can't I properly merge different positions?}
From my experience, when data don't merge properly after flat-file corrections there are mainly two reasons:
\begin{itemize}
\item FLUORESCENCE. We ahve already discussed about it and normally it shouws up as differences between individual channels or groups of channels i.e. the patterns don't match in several places.
This does not seem the case, in my opinion (but do you know exactly what's inside Aspirin?)
\item Background scattering from the air. When you move the detector the walls of the housing make a different shadow on the modules and at small angles if you have no beamstopper it could even be backscattering from the housing hit by the beam in the different positions. The only way of improving it is to properly place the beamstopper and to avoid air scattering before the sample e.g. by using a "nose" from the end of your flight tube to very close to the sample.
Of course the problem is stronger at lower energies (more air scattering) and normally with the detector positioned at low angles (scattering from the housing, shadowing of the "forward" scattered beam).
When you see this problem you could try to take data e.g. at 20-25 degrees instead of 5-10 degrees and see if it's still there.
It could also be that the geometry of your housing with the flat window and shorter path inside the housing amplifies the problem, so that you should take special care of it with respect to the SLS where we have just a feww cm before entering the housing and then half a meter inside it.
\item Your sample changes over time e.g. in case of radiation damage and long exposure times (usually several seconds).
\end{itemize}

View File

@ -0,0 +1,8 @@
Various issues concerning calibration, dynamic gain switching, data handling data processing etc.
\section{(Dynamic) Gain Switching}
\section{Pedestals}
\section{Energy calibration}
\section{Data processing}

View File

@ -0,0 +1,405 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
0 32 #c6b797
0 33 #eff8ff
0 34 #dccba6
0 35 #404040
0 36 #808080
0 37 #c0c0c0
0 38 #e0e0e0
0 39 #8e8f8e
0 40 #aaaaaa
0 41 #555555
0 42 #8e8e8e
0 43 #d7d7d7
0 44 #aeaeae
0 45 #bebebe
0 46 #515151
0 47 #e7e3e7
0 48 #000049
0 49 #797979
0 50 #303430
0 51 #414141
0 52 #c7b696
0 53 #414541
0 54 #9c0000
0 55 #8c8c8c
0 56 #424242
0 57 #8c8c8c
0 58 #424242
0 59 #8c8c8c
0 60 #424242
0 61 #8c8c8c
0 62 #424242
0 63 #8c8c8c
0 64 #424242
0 65 #8c8c8c
0 66 #424242
# Monitor, keyboard and mouse
# Drawn by Ernst Pisch
6 1425 5881 4650 9450
6 1438 8169 3334 9442
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1867.039 8263.686 1844 8253 1865 8289 1892 8259
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1969.039 8323.686 1946 8313 1967 8349 1994 8319
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2024.146 8363.697 2001 8353 2021 8389 2049 8358
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2080.522 8395.348 2057 8385 2079 8421 2106 8392
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2135.039 8429.686 2112 8419 2133 8455 2160 8425
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2186.039 8462.686 2163 8452 2184 8488 2211 8458
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2427.039 8597.686 2404 8587 2425 8623 2452 8593
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2381.606 8564.296 2358 8554 2380 8590 2407 8560
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2333.039 8540.686 2310 8530 2331 8566 2358 8536
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2276.599 8507.359 2253 8497 2274 8533 2302 8503
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2926.039 8889.686 2903 8879 2924 8915 2951 8885
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2878.039 8859.686 2855 8849 2876 8885 2903 8855
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2830.039 8832.686 2807 8822 2828 8858 2855 8828
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2782.039 8805.686 2759 8795 2780 8831 2807 8801
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2713.030 8757.762 2690 8747 2710 8783 2738 8753
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2661.154 8727.618 2638 8717 2659 8753 2686 8722
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2606.833 8694.500 2584 8683 2605 8720 2632 8690
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2555.944 8669.741 2533 8659 2554 8695 2581 8666
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2507.945 8643.437 2485 8632 2506 8669 2533 8638
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2408.159 8989.569 2385 8979 2407 9015 2433 8984
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2354.522 8961.348 2331 8951 2353 8987 2380 8958
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2297.154 8929.618 2274 8919 2295 8955 2322 8924
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2231.039 8889.686 2208 8879 2229 8915 2256 8885
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1740.607 8606.296 1717 8596 1739 8632 1766 8602
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1674.599 8561.359 1651 8551 1672 8587 1700 8557
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1608.039 8525.686 1585 8515 1606 8551 1633 8521
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2790.833 8995.500 2768 8984 2789 9021 2816 8991
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2727.944 8958.741 2705 8948 2726 8984 2753 8955
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2655.607 8913.296 2632 8903 2654 8939 2681 8909
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2751.946 8917.437 2729 8906 2750 8943 2777 8912
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2817.944 8958.741 2795 8948 2816 8984 2843 8955
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2692.039 8877.686 2669 8867 2690 8903 2717 8873
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2598.039 9094.686 2575 9084 2596 9120 2623 9090
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2538.039 9061.686 2515 9051 2536 9087 2563 9057
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2487.154 9028.618 2464 9018 2485 9054 2512 9023
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2589.154 9028.618 2566 9018 2587 9054 2614 9023
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2845.039 9223.686 2822 9213 2843 9249 2870 9219
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2779.039 9190.686 2756 9180 2777 9216 2804 9186
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2709.045 9151.639 2686 9141 2708 9177 2734 9147
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 3002.030 9163.762 2979 9153 2999 9189 3027 9159
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 3053.039 9118.686 3030 9108 3051 9144 3078 9114
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2887.039 9184.686 2864 9174 2885 9210 2912 9180
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2938.039 9133.686 2915 9123 2936 9159 2963 9129
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2993.039 9088.686 2970 9078 2991 9114 3018 9084
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2821.039 9151.686 2798 9141 2819 9177 2846 9147
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2875.039 9109.686 2852 9099 2873 9135 2900 9105
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2926.039 9058.686 2903 9048 2924 9084 2951 9054
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2757.607 9112.296 2734 9102 2756 9138 2783 9108
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2815.039 9076.686 2792 9066 2813 9102 2840 9072
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2869.039 9031.686 2846 9021 2867 9057 2894 9027
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2391.039 8913.686 2368 8903 2389 8939 2416 8909
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2330.606 8877.296 2307 8867 2329 8903 2356 8873
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2264.599 8835.359 2241 8825 2262 8861 2290 8831
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2201.039 8790.686 2178 8780 2199 8816 2226 8786
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2141.039 8757.686 2118 8747 2139 8783 2166 8753
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2075.039 8724.686 2052 8714 2073 8750 2100 8720
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2014.711 8688.232 1991 8678 2013 8714 2040 8683
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1951.506 8655.118 1928 8644 1949 8681 1977 8650
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1884.944 8621.741 1862 8611 1883 8647 1910 8618
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1822.039 8579.686 1799 8569 1820 8605 1847 8575
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1752.607 8540.296 1729 8530 1751 8566 1778 8536
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1687.030 8495.762 1664 8485 1684 8521 1712 8491
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1735.030 8447.762 1712 8437 1732 8473 1760 8443
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1798.154 8399.618 1775 8389 1796 8425 1823 8394
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1731.154 8366.618 1708 8356 1729 8392 1756 8361
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2439.039 8874.686 2416 8864 2437 8900 2464 8870
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2484.039 8826.686 2461 8816 2482 8852 2509 8822
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1801.039 8492.686 1778 8482 1799 8518 1826 8488
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1858.039 8537.686 1835 8527 1856 8563 1883 8533
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1915.039 8573.686 1892 8563 1913 8599 1940 8569
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1981.039 8612.686 1958 8602 1979 8638 2006 8608
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2043.945 8643.437 2021 8632 2042 8669 2069 8638
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2104.411 8682.120 2081 8671 2103 8708 2130 8678
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2159.154 8715.618 2136 8705 2157 8741 2184 8710
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2222.039 8751.686 2199 8741 2220 8777 2247 8747
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2285.039 8787.686 2262 8777 2283 8813 2310 8783
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2357.045 8823.639 2334 8813 2356 8849 2382 8819
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2405.606 8790.296 2382 8780 2404 8816 2431 8786
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2342.606 8751.296 2319 8741 2341 8777 2368 8747
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2269.944 8708.741 2247 8698 2268 8734 2295 8705
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2209.944 8669.741 2187 8659 2208 8695 2235 8666
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2146.945 8631.437 2124 8620 2145 8657 2172 8626
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2092.606 8594.296 2069 8584 2091 8620 2118 8590
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2026.607 8558.296 2003 8548 2025 8584 2052 8554
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1966.045 8519.639 1943 8509 1965 8545 1991 8515
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1909.039 8486.686 1886 8476 1907 8512 1934 8482
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1855.039 8450.686 1832 8440 1853 8476 1880 8446
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2532.039 8787.686 2509 8777 2530 8813 2557 8783
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2460.039 8751.686 2437 8741 2458 8777 2485 8747
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2393.711 8715.232 2370 8705 2392 8741 2419 8710
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2324.595 8677.002 2302 8666 2322 8702 2349 8671
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2258.039 8636.686 2235 8626 2256 8662 2283 8632
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2198.039 8597.686 2175 8587 2196 8623 2223 8593
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2141.039 8555.686 2118 8545 2139 8581 2166 8551
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2080.606 8528.296 2057 8518 2079 8554 2106 8524
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 2026.607 8489.296 2003 8479 2025 8515 2052 8485
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1963.599 8453.359 1940 8443 1961 8479 1989 8449
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1906.039 8417.686 1883 8407 1904 8443 1931 8413
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1849.154 8375.618 1826 8365 1847 8401 1874 8370
5 1 0 1 -1 44 100 0 -1 0.000 0 1 0 0 1791.711 8339.232 1768 8329 1790 8365 1817 8334
2 1 0 1 -1 44 100 0 20 0.000 0 0 -1 0 0 3
2913 9428 3265 9139 3271 9207
2 3 0 2 -1 44 100 0 -1 0.000 0 0 -1 0 0 5
2900 9428 3311 9099 3307 9018 2904 9356 2900 9428
2 1 0 2 -1 44 100 0 -1 0.000 0 0 -1 0 0 5
2904 9433 1455 8593 1447 8525 1871 8191 3311 9018
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 2
2904 9365 1447 8525
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
1519 8521 2413 9035 2630 8819
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
1820 8271 1871 8304 1916 8268
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
1925 8334 2178 8494 2217 8452
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2226 8515 2428 8635 2482 8593
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2467 8657 2710 8792 2750 8759
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2657 9171 2900 9307 3117 9117
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2738 8819 2927 8927 2970 8888
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2602 8927 2792 9035 2873 8955
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2413 9035 2602 9144 2657 9090
3 0 0 1 -1 44 100 0 -1 0.000 0 0 0 4
1582 8461 1588 8488 1615 8488 1688 8421
0.000 1.000 1.000 0.000
3 0 0 1 -1 44 100 0 -1 0.000 0 0 0 4
2428 8924 2433 8951 2461 8951 2533 8885
0.000 1.000 1.000 0.000
3 0 0 1 -1 44 100 0 -1 0.000 0 0 0 4
2882 9249 2888 9276 2915 9276 2987 9210
0.000 1.000 1.000 0.000
3 0 0 1 -1 44 100 0 -1 0.000 0 0 0 8
1796 8623 1790 8642 1796 8666 2145 8864 2175 8867 2190 8855
2190 8837 2178 8822
0.000 1.000 1.000 1.000 1.000 1.000 1.000 0.000
-6
6 3469 8710 3875 9063
3 1 0 2 -1 44 100 0 -1 0.000 0 0 0 17
3663 8774 3613 8769 3560 8778 3518 8810 3482 8859 3474 8904
3474 8959 3500 8986 3560 8999 3636 9004 3668 8986 3690 8940
3731 8909 3762 8873 3776 8832 3744 8796 3699 8783
1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
1.000
3 0 0 2 -1 44 100 0 -1 0.000 0 0 0 15
3496 8986 3546 9035 3613 9045 3681 9035 3735 8999 3762 8955
3794 8923 3848 8886 3866 8868 3866 8814 3848 8774 3807 8751
3767 8733 3708 8729 3668 8765
0.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
1.000 1.000 1.000 1.000 1.000 1.000 0.000
-6
2 1 0 2 -1 44 100 0 -1 0.000 0 0 -1 0 0 2
3180 8132 3171 7139
2 1 0 2 -1 44 100 0 -1 0.000 0 0 -1 0 0 2
3424 6905 2151 6183
2 1 0 2 -1 44 100 0 -1 0.000 0 0 -1 0 0 2
2042 7826 2052 6264
2 1 0 2 -1 44 100 0 -1 0.000 0 0 -1 0 0 2
3316 8575 3307 6986
2 1 0 2 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
3316 8566 3433 8503 3424 6914
2 1 0 2 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2999 6156 3613 5903 3812 6011
2 1 0 2 -1 44 100 0 -1 0.000 0 0 -1 0 0 6
4354 6264 4345 6336 4607 6489 4625 7419 3613 7970 3586 8033
2 1 0 2 -1 44 100 0 -1 0.000 0 0 -1 0 0 4
4607 6498 3632 6968 3632 7004 3596 7040
2 1 0 2 -1 44 100 0 -1 0.000 0 0 -1 0 0 2
3604 7031 3604 8016
2 1 0 2 -1 44 100 0 -1 0.000 0 0 -1 0 0 2
4463 7519 4453 7681
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 4
3135 8335 3135 8268 3063 8236 3063 8304
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 4
3013 8277 3018 8259 3022 8259 3027 8282
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2178 7727 2241 7780 2241 7826
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2361 7970 2361 7985 2373 7985
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2409 7997 2409 8012 2421 8012
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2455 8028 2455 8042 2467 8042
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2497 8055 2497 8069 2509 8069
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2542 8081 2542 8096 2554 8096
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2587 8108 2587 8124 2599 8124
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2630 8136 2630 8151 2642 8151
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2681 8163 2681 8178 2693 8178
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2726 8184 2726 8199 2738 8199
2 1 0 1 -1 44 100 0 -1 0.000 0 0 -1 0 0 3
2777 8211 2777 8226 2789 8226
3 2 0 2 -1 44 100 0 -1 0.000 0 0 0 10
2042 6264 2169 6173 2404 6128 2674 6128 3027 6156 3324 6156
3505 6146 3659 6083 3767 6020 3866 5984
0.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000
-1.000 0.000
3 2 0 2 -1 44 100 0 -1 0.000 0 0 0 8
3307 6986 3415 6923 3541 6851 3632 6760 3722 6634 3821 6544
4020 6435 4345 6264
0.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 0.000
3 2 0 2 -1 44 100 0 -1 0.000 0 0 0 3
4345 6264 4101 6083 3848 5984
0.000 -1.000 0.000
3 2 0 2 -1 44 100 0 -1 0.000 0 0 0 3
3316 6995 2593 6634 2042 6255
0.000 -1.000 0.000
3 2 0 2 -1 44 100 0 -1 0.000 0 0 0 7
3316 8566 3108 8467 3081 8413 2620 8178 2304 7979 2169 7925
2033 7817
0.000 -1.000 -1.000 -1.000 -1.000 -1.000 0.000
3 2 0 2 -1 44 100 0 -1 0.000 0 0 0 3
3207 7149 2620 6877 2169 6553
0.000 -1.000 0.000
3 2 0 2 -1 44 100 0 -1 0.000 0 0 0 3
2232 7591 2196 7049 2223 6607
0.000 -1.000 0.000
3 2 0 2 -1 44 100 0 -1 0.000 0 0 0 3
3171 8124 2611 7853 2232 7582
0.000 -1.000 0.000
3 2 0 2 -1 44 100 0 -1 0.000 0 0 0 6
4471 7681 3713 8124 3668 8178 3604 8304 3523 8431 3424 8503
0.000 -1.000 -1.000 -1.000 -1.000 0.000
3 2 0 2 -1 44 100 0 -1 0.000 0 0 0 8
2476 8124 2512 8368 2729 8521 2999 8602 3324 8602 3632 8503
3812 8358 3866 8142
0.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 0.000
3 2 0 2 -1 44 100 0 -1 0.000 0 0 0 6
2476 8304 2630 8521 2972 8647 3352 8638 3668 8530 3839 8341
0.000 -1.000 -1.000 -1.000 -1.000 0.000
3 2 0 1 -1 44 100 0 -1 0.000 0 0 0 3
3189 8385 2602 8096 2205 7844
0.000 -1.000 0.000
-6
6 4650 6675 6900 8025
2 3 0 1 0 7 100 0 20 0.000 0 0 7 0 0 11
5314 7103 5314 6725 4700 7339 5314 7953 5314 7575 6212 7575
6212 7953 6826 7339 6212 6725 6212 7103 5314 7103
-6
# Primergy server
# Drawn by Ernst Pisch
6 6900 6000 9339 8775
5 1 0 2 -1 7 100 0 -1 0.000 0 1 0 0 7222.214 7565.500 7139 7530 7139 7601 7209 7655
5 1 0 2 -1 7 100 0 -1 0.000 0 1 0 0 7404.500 7595.500 7320 7560 7320 7631 7390 7686
5 1 0 2 -1 7 100 0 -1 0.000 0 1 0 0 7583.035 7625.500 7500 7590 7500 7661 7571 7715
5 1 0 0 -1 7 100 0 -1 0.000 0 1 0 0 7765.303 7644.500 7681 7609 7681 7680 7752 7735
5 1 0 2 -1 7 100 0 -1 0.000 0 1 0 0 7224.400 7765.000 7139 7730 7139 7800 7209 7856
5 1 0 2 -1 7 100 0 -1 0.000 0 1 0 0 7223.107 7976.000 7139 7941 7139 8011 7209 8066
5 1 0 2 -1 7 100 0 -1 0.000 0 1 0 0 7223.107 8187.000 7139 8152 7139 8222 7209 8277
5 1 0 2 -1 7 100 0 -1 0.000 0 1 0 0 7405.400 7795.000 7320 7760 7320 7830 7390 7886
5 1 0 2 -1 7 100 0 -1 0.000 0 1 0 0 7584.303 7825.500 7500 7790 7500 7861 7571 7916
5 1 0 2 -1 7 100 0 -1 0.000 0 1 0 0 7766.190 7855.000 7681 7820 7681 7890 7752 7946
5 1 0 2 -1 7 100 0 -1 0.000 0 1 0 0 7405.400 8006.000 7320 7971 7320 8041 7390 8097
5 1 0 2 -1 7 100 0 -1 0.000 0 1 0 0 7404.107 8217.000 7320 8182 7320 8252 7390 8307
5 1 0 2 -1 7 100 0 -1 0.000 0 1 0 0 7583.915 8036.000 7500 8001 7500 8071 7571 8126
5 1 0 2 -1 7 100 0 -1 0.000 0 1 0 0 7584.303 8247.500 7500 8212 7500 8283 7571 8338
5 1 0 2 -1 7 100 0 -1 0.000 0 1 0 0 7765.303 8066.500 7681 8031 7681 8102 7752 8157
5 1 0 2 -1 7 100 0 -1 0.000 0 1 0 0 7764.915 8277.000 7681 8242 7681 8312 7752 8367
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7169 7595 70 80 7169 7595 7239 7676
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7350 7625 70 80 7350 7625 7420 7706
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7530 7655 70 80 7530 7655 7601 7736
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7712 7675 70 80 7712 7675 7782 7755
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7169 7795 70 80 7169 7795 7239 7876
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7169 8006 70 80 7169 8006 7239 8087
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7169 8217 70 80 7169 8217 7239 8297
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7350 7825 70 80 7350 7825 7420 7906
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7530 7856 70 80 7530 7856 7601 7936
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7712 7886 70 80 7712 7886 7782 7966
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7350 8036 70 80 7350 8036 7420 8117
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7350 8247 70 80 7350 8247 7420 8328
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7530 8066 70 80 7530 8066 7601 8147
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7530 8277 70 80 7530 8277 7601 8358
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7712 8097 70 80 7712 8097 7782 8177
1 1 0 2 -1 7 100 0 -1 0.000 1 6.1959 7712 8307 70 80 7712 8307 7782 8388
1 3 0 1 0 7 100 0 -1 0.000 1 0.0000 7014 7515 30 30 7014 7515 7043 7545
2 3 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 6
7968 8716 9318 7912 9318 6118 7968 6480 7968 8037 7968 8716
2 3 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 5
7963 6395 6933 6330 8424 6023 9323 6043 7963 6395
2 3 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 5
7968 6465 9318 6103 9323 6043 7963 6395 7968 6465
2 3 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 5
7947 7550 7862 7601 7852 6455 7937 6410 7947 7550
2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3
7847 8750 7917 8695 7917 7565
2 3 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 5
6908 6339 6913 7450 6958 7445 6953 6335 6908 6339
2 3 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 6
7014 6440 7149 6450 7144 6515 7014 6505 7014 6465 7014 6440
2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2
7857 6440 6958 6364
2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2
7827 6445 7827 7474
2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3
7842 7540 7847 7606 7862 7606
2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2
7832 7535 7857 7535
2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2
7968 8721 7917 8705
2 1 0 2 0 0 100 0 -1 0.000 0 0 -1 0 0 5
6953 7435 6958 8555 7836 8746 7827 7535 7822 7545
3 2 0 2 0 7 100 0 -1 0.000 0 0 0 5
6968 7370 7235 7424 7435 7450 7701 7474 7857 7479
0.000 -1.000 -1.000 -1.000 0.000
3 2 0 2 0 7 100 0 -1 0.000 0 0 0 5
6963 7419 7184 7470 7400 7505 7601 7525 7836 7535
0.000 -1.000 -1.000 -1.000 0.000
3 2 0 2 0 7 100 0 -1 0.000 0 0 0 8
8068 8665 8168 8665 8258 8650 8299 8625 8324 8605 8313 8570
8284 8555 8243 8555
0.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 0.000
3 2 0 2 0 7 100 0 -1 0.000 0 0 0 7
7987 8716 8088 8726 8193 8726 8269 8711 8319 8675 8329 8630
8324 8595
0.000 -1.000 -1.000 -1.000 -1.000 -1.000 0.000
3 2 0 2 0 7 100 0 -1 0.000 0 0 0 7
8971 8128 9062 8143 9127 8143 9192 8138 9263 8122 9283 8092
9278 8022
0.000 -1.000 -1.000 -1.000 -1.000 -1.000 0.000
3 2 0 2 0 7 100 0 -1 0.000 0 0 0 8
9017 8098 9117 8098 9207 8083 9248 8057 9273 8037 9263 8002
9233 7987 9192 7987
0.000 -1.000 -1.000 -1.000 -1.000 -1.000 -1.000 0.000
4 0 0 100 0 0 4 6.1959 4 58 215 7028 6776 Primergy\001
-6
6 2550 9525 3900 11775
2 3 0 1 0 7 100 0 20 0.000 0 0 7 0 0 11
2978 11111 2600 11111 3214 11725 3828 11111 3450 11111 3450 10213
3828 10213 3214 9599 2600 10213 2978 10213 2978 11111
-6
6 6375 9150 8038 13125
3 5 0 1 0 7 100 0 20 0.000 0 0 0 12
6801 10427 7383 9173 7965 10427 7615 10427 7615 12178 7383 12556
7092 12931 6453 12931 6453 11678 6976 11678 7150 11429 7150 10427
0.000 0.000 0.000 0.000 1.000 1.000 1.000 0.000
0.000 1.000 1.000 0.000
-6
2 4 0 3 0 7 50 -1 -1 0.000 0 0 2 0 0 5
5925 13251 5925 11775 1575 11775 1575 13251 5925 13251
4 0 0 50 -1 0 35 0.0000 4 360 1800 2775 12675 Detector\001
4 0 0 50 -1 0 35 0.0000 4 360 990 7800 11100 Data\001
4 0 0 50 -1 0 35 0.0000 4 360 1035 7800 11700 UDP\001
4 0 0 50 -1 0 35 0.0000 4 360 1770 5025 6000 Controls\001
4 0 0 50 -1 0 35 0.0000 4 420 1545 5025 6525 TCP/IP\001
4 0 0 50 -1 0 35 0.0000 4 360 1770 675 10500 Controls\001
4 0 0 50 -1 0 35 0.0000 4 420 1545 825 11025 TCP/IP\001
4 0 0 50 -1 0 35 0.0000 4 360 2835 9600 7275 Data receiver\001
4 0 0 50 -1 0 35 0.0000 4 450 3930 -1950 7350 Control PC (client)\001

View File

@ -0,0 +1,10 @@
\section{In which X-ray energy range can I use the detector?}
General remarks about sensor efficiency and electronic noise
\section{What is the electronic noise?}\label{sec:noise}
\section{What limits the maximum frame rate?}

View File

@ -0,0 +1,101 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
0 32 #c9c9c9
0 33 #dfd8df
0 34 #636363
0 35 #cdcdcd
0 36 #6c6c6c
# Brace under
6 3975 6789 13050 7500
3 4 0 1 0 7 50 0 -1 0.000 0 0 0 7
4063 6806 4063 7142 8545 7142 8545 7479 8545 7142 13029 7142
13029 6806
0.000 1.000 1.000 0.000 1.000 1.000 0.000
-6
# Brace under
6 12975 6789 22050 7500
3 4 0 1 0 7 50 0 -1 0.000 0 0 0 7
13063 6806 13063 7142 17545 7142 17545 7479 17545 7142 22029 7142
22029 6806
0.000 1.000 1.000 0.000 1.000 1.000 0.000
-6
# Brace under
6 6675 7989 19275 8775
3 4 0 1 0 7 50 0 -1 0.000 0 0 0 7
6797 8008 6797 8379 13020 8379 13020 8752 13020 8379 19246 8379
19246 8008
0.000 1.000 1.000 0.000 1.000 1.000 0.000
-6
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
4050 3150 4050 6375
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
4650 3150 4650 6375
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 1 2
0 0 1.00 60.00 120.00
0 0 1.00 60.00 120.00
4050 6150 7050 6150
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 1 2
0 0 1.00 60.00 120.00
0 0 1.00 60.00 120.00
10050 6150 10650 6150
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
20400 4125 22050 4125
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
7650 3150 7650 6375
2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 4
4650 5550 4650 4725 6600 4725 6600 5550
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
10050 3150 10050 6375
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
11700 4125 13050 4125 13050 3300 13650 3300 13650 4125 14700 4125
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
13050 3150 13050 6375
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
13650 3150 13650 6375
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
7050 3150 7050 6375
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
10650 3150 10650 6375
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
4050 5550 4650 5550 4650 4725 6600 4725 6600 5550 7050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
7050 5550 7650 5550 7650 4725 9600 4725 9600 5550 10050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
10050 5550 10650 5550 10650 4725 12600 4725 12600 5550 13050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
13050 5550 13650 5550 13650 4725 15600 4725 15600 5550 16050 5550
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
16050 3150 16050 6375
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
14700 4125 16050 4125 16050 3300 16650 3300 16650 4125 17700 4125
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
16650 3150 16650 6375
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
16050 5550 16650 5550 16650 4725 18600 4725 18600 5550 19050 5550
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
19050 3150 19050 6375
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
17700 4125 19050 4125 19050 3300 19650 3300 19650 4125 20700 4125
2 1 3 1 0 7 50 0 -1 3.000 0 0 -1 0 0 2
19650 3150 19650 6375
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
19050 5550 19650 5550 19650 4725 21600 4725 21600 5550 22050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 18
5700 4125 6600 4125 6600 3300 6750 3300 6750 4125 6900 4125
6900 3300 6975 3300 6975 4125 7200 4125 7200 3300 7350 3300
7350 4125 7425 4125 7425 3300 7650 3300 7650 4125 8700 4125
4 0 0 50 0 0 30 0.0000 4 300 1140 5100 6600 Period\001
4 0 0 50 0 0 30 0.0000 4 405 2580 9450 6600 Exposure time\001
4 0 0 50 0 0 30 0.0000 4 300 3225 6975 7800 Number of frames\001
4 0 0 50 0 0 30 0.0000 4 300 3225 15975 7800 Number of frames\001
4 0 0 50 0 0 30 0.0000 4 405 3090 11325 9150 Number of cycles\001
4 0 0 50 0 0 16 0.0000 4 165 810 5325 4950 Readout\001
4 0 0 50 0 0 30 0.0000 4 300 2565 1050 4125 Detection time\001
4 0 0 50 0 0 30 0.0000 4 300 1785 1050 5550 Dead time\001

View File

@ -0,0 +1,125 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
0 32 #c9c9c9
0 33 #dfd8df
0 34 #636363
0 35 #cdcdcd
0 36 #6c6c6c
# Brace under
6 6675 7989 19275 8775
3 4 0 1 0 7 50 0 -1 0.000 0 0 0 7
6797 8008 6797 8379 13020 8379 13020 8752 13020 8379 19246 8379
19246 8008
0.000 1.000 1.000 0.000 1.000 1.000 0.000
-6
# Brace under
6 3525 6789 12600 7500
3 4 0 1 0 7 50 0 -1 0.000 0 0 0 7
3613 6806 3613 7142 8095 7142 8095 7479 8095 7142 12579 7142
12579 6806
0.000 1.000 1.000 0.000 1.000 1.000 0.000
-6
# Brace under
6 12600 6789 21675 7500
3 4 0 1 0 7 50 0 -1 0.000 0 0 0 7
12688 6806 12688 7142 17170 7142 17170 7479 17170 7142 21654 7142
21654 6806
0.000 1.000 1.000 0.000 1.000 1.000 0.000
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
20400 4125 22050 4125
2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 4
4650 5550 4650 4725 6600 4725 6600 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
3450 5550 4650 5550 4650 4725 6600 4725 6600 5550 7050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
7050 5550 7650 5550 7650 4725 9600 4725 9600 5550 10050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
10050 5550 10650 5550 10650 4725 12600 4725 12600 5550 13050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
13050 5550 13650 5550 13650 4725 15600 4725 15600 5550 16050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
16050 5550 16650 5550 16650 4725 18600 4725 18600 5550 19050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
19050 5550 19650 5550 19650 4725 21600 4725 21600 5550 22050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 18
5700 4125 6600 4125 6600 3300 6750 3300 6750 4125 6900 4125
6900 3300 6975 3300 6975 4125 7200 4125 7200 3300 7350 3300
7350 4125 7425 4125 7425 3300 7650 3300 7650 4125 8700 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 18
8700 4125 9600 4125 9600 3300 9750 3300 9750 4125 9900 4125
9900 3300 9975 3300 9975 4125 10200 4125 10200 3300 10350 3300
10350 4125 10425 4125 10425 3300 10650 3300 10650 4125 11700 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 18
11700 4125 12600 4125 12600 3300 12750 3300 12750 4125 12900 4125
12900 3300 12975 3300 12975 4125 13200 4125 13200 3300 13350 3300
13350 4125 13425 4125 13425 3300 13650 3300 13650 4125 14700 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 18
14700 4125 15600 4125 15600 3300 15750 3300 15750 4125 15900 4125
15900 3300 15975 3300 15975 4125 16200 4125 16200 3300 16350 3300
16350 4125 16425 4125 16425 3300 16650 3300 16650 4125 17700 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 18
17700 4125 18600 4125 18600 3300 18750 3300 18750 4125 18900 4125
18900 3300 18975 3300 18975 4125 19200 4125 19200 3300 19350 3300
19350 4125 19425 4125 19425 3300 19650 3300 19650 4125 20700 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 18
3450 4125 3600 4125 3600 3300 3750 3300 3750 4125 3900 4125
3900 3300 3975 3300 3975 4125 4200 4125 4200 3300 4350 3300
4350 4125 4425 4125 4425 3300 4650 3300 4650 4125 5700 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 34
3450 2700 3600 2700 3600 1875 3750 1875 3750 2700 3900 2700
3900 1875 3975 1875 3975 2700 4200 2700 4200 1875 4350 1875
4350 2700 4425 2700 4425 1875 4650 1875 4650 2700 4950 2700
4950 1875 5100 1875 5100 2700 5175 2700 5175 1875 5475 1875
5475 2700 5700 2700 5700 1875 5925 1875 5925 2700 6000 2700
6000 1875 6300 1875 6300 2700 6600 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 34
6450 2700 6600 2700 6600 1875 6750 1875 6750 2700 6900 2700
6900 1875 6975 1875 6975 2700 7200 2700 7200 1875 7350 1875
7350 2700 7425 2700 7425 1875 7650 1875 7650 2700 7950 2700
7950 1875 8100 1875 8100 2700 8175 2700 8175 1875 8475 1875
8475 2700 8700 2700 8700 1875 8925 1875 8925 2700 9000 2700
9000 1875 9300 1875 9300 2700 9600 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 34
9450 2700 9600 2700 9600 1875 9750 1875 9750 2700 9900 2700
9900 1875 9975 1875 9975 2700 10200 2700 10200 1875 10350 1875
10350 2700 10425 2700 10425 1875 10650 1875 10650 2700 10950 2700
10950 1875 11100 1875 11100 2700 11175 2700 11175 1875 11475 1875
11475 2700 11700 2700 11700 1875 11925 1875 11925 2700 12000 2700
12000 1875 12300 1875 12300 2700 12600 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 34
12450 2700 12600 2700 12600 1875 12750 1875 12750 2700 12900 2700
12900 1875 12975 1875 12975 2700 13200 2700 13200 1875 13350 1875
13350 2700 13425 2700 13425 1875 13650 1875 13650 2700 13950 2700
13950 1875 14100 1875 14100 2700 14175 2700 14175 1875 14475 1875
14475 2700 14700 2700 14700 1875 14925 1875 14925 2700 15000 2700
15000 1875 15300 1875 15300 2700 15600 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 34
15450 2700 15600 2700 15600 1875 15750 1875 15750 2700 15900 2700
15900 1875 15975 1875 15975 2700 16200 2700 16200 1875 16350 1875
16350 2700 16425 2700 16425 1875 16650 1875 16650 2700 16950 2700
16950 1875 17100 1875 17100 2700 17175 2700 17175 1875 17475 1875
17475 2700 17700 2700 17700 1875 17925 1875 17925 2700 18000 2700
18000 1875 18300 1875 18300 2700 18600 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 38
18450 2700 18600 2700 18600 1875 18750 1875 18750 2700 18900 2700
18900 1875 18975 1875 18975 2700 19200 2700 19200 1875 19350 1875
19350 2700 19425 2700 19425 1875 19650 1875 19650 2700 19950 2700
19950 1875 20100 1875 20100 2700 20175 2700 20175 1875 20475 1875
20475 2700 20700 2700 20700 1875 20925 1875 20925 2700 21000 2700
21000 1875 21300 1875 21300 2700 21600 2700 21600 1875 21900 1875
21900 2700 22050 2700
4 0 0 50 0 0 30 0.0000 4 300 3225 6975 7800 Number of frames\001
4 0 0 50 0 0 30 0.0000 4 300 3225 15975 7800 Number of frames\001
4 0 0 50 0 0 30 0.0000 4 405 3090 11325 9150 Number of cycles\001
4 0 0 50 0 0 16 0.0000 4 165 810 5325 4950 Readout\001
4 0 0 50 0 0 30 0.0000 4 300 2565 825 4125 Detection time\001
4 0 0 50 0 0 30 0.0000 4 300 1785 825 5550 Dead time\001
4 0 0 50 0 0 30 0.0000 4 405 2340 825 2700 External gate\001

View File

@ -0,0 +1,207 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: ro_trigger_acquisition.fig
%%Creator: fig2dev Version 3.2 Patchlevel 4
%%CreationDate: Thu Dec 13 15:40:52 2012
%%For: bergamaschi@pc8498 (Anna Bergamaschi)
%%BoundingBox: 0 0 910 265
%%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
/col32 {0.785 0.785 0.785 srgb} bind def
/col33 {0.871 0.844 0.871 srgb} bind def
/col34 {0.387 0.387 0.387 srgb} bind def
/col35 {0.801 0.801 0.801 srgb} bind def
/col36 {0.422 0.422 0.422 srgb} bind def
end
save
newpath 0 265 moveto 0 0 lineto 910 0 lineto 910 265 lineto closepath clip newpath
-49.5 376.3 translate
1 -1 scale
/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul srgb} bind def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
$F2psBegin
10 setmiterlimit
0 slj 0 slc
0.06000 0.06000 sc
%
% Fig objects follow
%
%
% here starts figure with depth 50
% Polyline
30.000 slw
[45 22 15 22] 0 sd
n 8100 3225 m
8100 5850 l gs col0 s gr [] 0 sd
% Polyline
[45 22 15 22] 0 sd
n 12150 3225 m
12150 5850 l gs col0 s gr [] 0 sd
% Polyline
7.500 slw
n 5850 2700 m 6600 2700 l 6600 1875 l 6675 1875 l 6675 2700 l
7950 2700 l gs col0 s gr
% Polyline
n 4050 4125 m
3525 4125 l gs col0 s gr
% Polyline
n 4725 5550 m
3525 5550 l gs col0 s gr
% Polyline
[60] 0 sd
n 5925 5550 m 5925 4725 l 7875 4725 l
7875 5550 l gs col0 s gr [] 0 sd
% Polyline
n 4725 5550 m 5925 5550 l 5925 4725 l 7875 4725 l 7875 5550 l
8325 5550 l gs col0 s gr
% Polyline
n 4050 4125 m 4050 4125 l 4050 3300 l 5925 3300 l 5925 4125 l
7875 4125 l gs col0 s gr
% Polyline
30.000 slw
[45 22 15 22] 0 sd
n 5925 3225 m
5925 5850 l gs col0 s gr [] 0 sd
% Polyline
7.500 slw
gs clippath
5940 5880 m 5940 5820 l 5788 5820 l 5908 5850 l 5788 5880 l cp
4035 5820 m 4035 5880 l 4187 5880 l 4067 5850 l 4187 5820 l cp
eoclip
n 4050 5850 m
5925 5850 l gs col0 s gr gr
% arrowhead
n 4187 5820 m 4067 5850 l 4187 5880 l col0 s
% arrowhead
n 5788 5880 m 5908 5850 l 5788 5820 l col0 s
% Polyline
n 3450 2700 m 4200 2700 l 4275 2700 l
6600 2700 l gs col0 s gr
% Polyline
n 7125 4125 m 8100 4125 l 8100 3300 l 8325 3300 l 8325 4125 l
11400 4125 l gs col0 s gr
% Polyline
30.000 slw
[45 22 15 22] 0 sd
n 4050 3225 m
4050 5850 l gs col0 s gr [] 0 sd
% Polyline
7.500 slw
n 7575 2700 m 8325 2700 l 8325 1875 l 8400 1875 l 8400 2700 l
11850 2700 l gs col0 s gr
% Polyline
n 8325 5550 m 8325 4725 l 10275 4725 l 10275 5550 l
12750 5550 l gs col0 s gr
% Polyline
n 11400 4125 m 12150 4125 l 12150 3300 l 13575 3300 l 13575 4125 l
15975 4125 l gs col0 s gr
% Polyline
n 11850 2700 m 13575 2700 l 13575 1875 l 13650 1875 l 13650 2700 l
15975 2700 l gs col0 s gr
% Polyline
n 12600 5550 m 13575 5550 l 13575 4725 l 15525 4725 l 15525 5550 l
15975 5550 l gs col0 s gr
% Polyline
gs clippath
12165 5880 m 12165 5820 l 12013 5820 l 12133 5850 l 12013 5880 l cp
8085 5820 m 8085 5880 l 8237 5880 l 8117 5850 l 8237 5820 l cp
eoclip
n 8100 5850 m
12150 5850 l gs col0 s gr gr
% arrowhead
n 8237 5820 m 8117 5850 l 8237 5880 l col0 s
% arrowhead
n 12013 5880 m 12133 5850 l 12013 5820 l col0 s
/Times-Roman ff 450.00 scf sf
825 4125 m
gs 1 -1 sc (Detection time) col0 sh gr
/Times-Roman ff 450.00 scf sf
825 5550 m
gs 1 -1 sc (Dead time) col0 sh gr
/Times-Roman ff 450.00 scf sf
825 2700 m
gs 1 -1 sc (External trigger) col0 sh gr
/Times-Roman ff 240.00 scf sf
6600 4950 m
gs 1 -1 sc (Readout) col0 sh gr
/Times-Roman ff 450.00 scf sf
3750 6150 m
gs 1 -1 sc (Exposure time) col0 sh gr
/Times-Roman ff 450.00 scf sf
8700 6150 m
gs 1 -1 sc (Period) col0 sh gr
% here ends figure;
$F2psEnd
rs
showpage

View File

@ -0,0 +1,64 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
0 32 #c9c9c9
0 33 #dfd8df
0 34 #636363
0 35 #cdcdcd
0 36 #6c6c6c
6 8025 3150 12225 5925
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
8100 3225 8100 5850
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
12150 3225 12150 5850
-6
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
5850 2700 6600 2700 6600 1875 6675 1875 6675 2700 7950 2700
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
4050 4125 3525 4125
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
4725 5550 3525 5550
2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 4
5925 5550 5925 4725 7875 4725 7875 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
4725 5550 5925 5550 5925 4725 7875 4725 7875 5550 8325 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
4050 4125 4050 4125 4050 3300 5925 3300 5925 4125 7875 4125
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
5925 3225 5925 5850
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
0 0 1.00 60.00 120.00
0 0 1.00 60.00 120.00
4050 5850 5925 5850
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
3450 2700 4200 2700 4275 2700 6600 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
7125 4125 8100 4125 8100 3300 8325 3300 8325 4125 11400 4125
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
4050 3225 4050 5850
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
7575 2700 8325 2700 8325 1875 8400 1875 8400 2700 11850 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
8325 5550 8325 4725 10275 4725 10275 5550 12750 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
11400 4125 12150 4125 12150 3300 13575 3300 13575 4125 15975 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
11850 2700 13575 2700 13575 1875 13650 1875 13650 2700 15975 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
12600 5550 13575 5550 13575 4725 15525 4725 15525 5550 15975 5550
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
0 0 1.00 60.00 120.00
0 0 1.00 60.00 120.00
8100 5850 12150 5850
4 0 0 50 0 0 30 0.0000 4 300 2565 825 4125 Detection time\001
4 0 0 50 0 0 30 0.0000 4 300 1785 825 5550 Dead time\001
4 0 0 50 0 0 30 0.0000 4 405 2760 825 2700 External trigger\001
4 0 0 50 0 0 16 0.0000 4 165 810 6600 4950 Readout\001
4 0 0 50 0 0 30 0.0000 4 405 2580 3750 6150 Exposure time\001
4 0 0 50 0 0 30 0.0000 4 300 1140 8700 6150 Period\001

View File

@ -0,0 +1,53 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
0 32 #c9c9c9
0 33 #dfd8df
0 34 #636363
0 35 #cdcdcd
0 36 #6c6c6c
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
5850 2700 6600 2700 6600 1875 6675 1875 6675 2700 7950 2700
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
4050 4125 3525 4125
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
4725 5550 3525 5550
2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 4
5925 5550 5925 4725 7875 4725 7875 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
4725 5550 5925 5550 5925 4725 7875 4725 7875 5550 8325 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
4050 4125 4050 4125 4050 3300 5925 3300 5925 4125 7875 4125
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
5925 3225 5925 5850
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
0 0 1.00 60.00 120.00
0 0 1.00 60.00 120.00
4050 5850 5925 5850
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 4
3450 2700 4200 2700 4275 2700 6600 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
7125 4125 7875 4125 7875 3300 8325 3300 8325 4125 10275 4125
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
4050 3225 4050 5850
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
7575 2700 8325 2700 8325 1875 8400 1875 8400 2700 10725 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
8325 5550 8325 4725 10275 4725 10275 5550 10725 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
9525 4125 10275 4125 10275 3300 11700 3300 11700 4125 14100 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
9975 2700 11700 2700 11700 1875 11775 1875 11775 2700 14100 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
10725 5550 11700 5550 11700 4725 13650 4725 13650 5550 14100 5550
4 0 0 50 0 0 30 0.0000 4 300 2565 825 4125 Detection time\001
4 0 0 50 0 0 30 0.0000 4 300 1785 825 5550 Dead time\001
4 0 0 50 0 0 30 0.0000 4 405 2760 825 2700 External trigger\001
4 0 0 50 0 0 16 0.0000 4 165 810 6600 4950 Readout\001
4 0 0 50 0 0 30 0.0000 4 405 2580 3750 6150 Exposure time\001

View File

@ -0,0 +1,125 @@
%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 0 0 567 550
%%Title: /afs/psi.ch/project/mythen/mythen_datasheet/article/thr_scan_expl.eps: c1
%%Creator: ROOT Version 5.17/02
%%CreationDate: Mon Oct 27 10:29:18 2008
%%EndComments
%%BeginProlog
80 dict begin
/s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def
/sw {stringwidth} def /r {rotate} def /rl {roll} def /R {repeat} def
/d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def
/c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def
/cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def
/box {m dup 0 exch d exch 0 d 0 exch neg d cl} def
/NC{systemdict begin initclip end}def/C{NC box clip newpath}def
/bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def
/mp {newpath /y exch def /x exch def} def
/side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def
/mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def
/mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def
/mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def
/m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def
/m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def
/m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def
/m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d
0 w3 neg d w3 neg 0 d cl s } def
/m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl fill gr} def
/m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl s gr} def
/m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2
sub m w w d s} def
/m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def
/m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def
/reencdict 24 dict def /ReEncode {reencdict begin /nco&na exch def
/nfnam exch def /basefontname exch def /basefontdict basefontname findfont def
/newfont basefontdict maxlength dict def basefontdict {exch dup /FID ne
{dup /Encoding eq {exch dup length array copy newfont 3 1 roll put} {exch
newfont 3 1 roll put} ifelse} {pop pop} ifelse } forall newfont
/FontName nfnam put nco&na aload pop nco&na length 2 idiv {newfont
/Encoding get 3 1 roll put} repeat nfnam newfont definefont pop end } def
/accvec [ 176 /agrave 181 /Agrave 190 /acircumflex 192 /Acircumflex
201 /adieresis 204 /Adieresis 209 /ccedilla 210 /Ccedilla 211 /eacute
212 /Eacute 213 /egrave 214 /Egrave 215 /ecircumflex 216 /Ecircumflex
217 /edieresis 218 /Edieresis 219 /icircumflex 220 /Icircumflex
221 /idieresis 222 /Idieresis 223 /ntilde 224 /Ntilde 226 /ocircumflex
228 /Ocircumflex 230 /Odieresis 231 /ucircumflex 236 /Ucircumflex
237 /udieresis 238 /Udieresis 239 /aring 240 /odieresis 242 /Aring 243 /ydieresis
244 /Ydieresis 246 /aacute 247 /Aacute 252 /ugrave 253 /Ugrave
127 /atilde 128 /Atilde 129 /oacute 130 /Oacute 131 /iacute
132 /Iacute 133 /igrave 134 /Igrave 135 /otilde 136 /Otilde
137 /uacute 138 /Uacute] def
/Times-Roman /Times-Roman accvec ReEncode
/Times-Italic /Times-Italic accvec ReEncode
/Times-Bold /Times-Bold accvec ReEncode
/Times-BoldItalic /Times-BoldItalic accvec ReEncode
/Helvetica /Helvetica accvec ReEncode
/Helvetica-Oblique /Helvetica-Oblique accvec ReEncode
/Helvetica-Bold /Helvetica-Bold accvec ReEncode
/Helvetica-BoldOblique /Helvetica-BoldOblique accvec ReEncode
/Courier /Courier accvec ReEncode
/Courier-Oblique /Courier-Oblique accvec ReEncode
/Courier-Bold /Courier-Bold accvec ReEncode
/Courier-BoldOblique /Courier-BoldOblique accvec ReEncode
/oshow {gsave [] 0 sd true charpath stroke gr} def
/stwn { /fs exch def /fn exch def /text exch def fn findfont fs sf
text sw pop xs add /xs exch def} def
/stwb { /fs exch def /fn exch def /nbas exch def /textf exch deftextf length /tlen exch def nbas tlen gt {/nbas tlendef} iffn findfont fs sf textf dup length nbas sub nbas getinterval sw
pop neg xs add /xs exch def} def
/accspe [ 65 /plusminus 66 /bar 67 /existential 68 /universal
69 /exclam 70 /numbersign 71 /greater 72 /question 73 /integral
74 /colon 75 /semicolon 76 /less 77 /bracketleft 78 /bracketright
79 /greaterequal 80 /braceleft 81 /braceright 82 /radical
83 /spade 84 /heart 85 /diamond 86 /club 87 /lessequal
88 /multiply 89 /percent 90 /infinity 48 /circlemultiply 49 /circleplus
50 /emptyset 51 /lozenge 52 /bullet 53 /arrowright 54 /arrowup
55 /arrowleft 56 /arrowdown 57 /arrowboth 48 /degree 44 /comma 43 /plus 45 /angle 42 /angleleft 47 /divide 61 /notequal 40 /equivalence 41 /second 97 /approxequal 98 /congruent 99 /perpendicular 100 /partialdiff 101 /florin 102 /intersection
103 /union 104 /propersuperset 105 /reflexsuperset 106 /notsubset 107 /propersubset 108 /reflexsubset 109 /element 110 /notelement 111 /gradient 112 /logicaland 113 /logicalor 114 /arrowdblboth 115 /arrowdblleft 116 /arrowdblup 117 /arrowdblright
118 /arrowdbldown 119 /ampersand 120 /omega1 121 /similar 122 /aleph ] def
/Symbol /Special accspe ReEncode
%%EndProlog
%%BeginSetup
%%EndSetup
newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 3 lw 1 1 1 c 2268 2199 0 0 bf black 1 1 1 c 1815 1761 339 319 bf black 1815 1761 339 319 bl 1 1 1 c 1815 1761 339 319 bf black 1815 1761 339 319 bl 9 lw 0.95 0.95 0.95 c black 348 1996 m 18
-9 d 18 -9 d 19 -9 d 18 -9 d 18 -9 d 18 -9 d 18 -9 d 18 -9 d 18 -9 d 19 -8 d 18 -9 d 18 -9 d 18 -9 d 18 -9 d 18 -9 d 18 -9 d 19 -9 d 18 -9 d 18 -9 d 18 -9 d 18 -9 d 18 -9 d 18 -9 d 19 -9 d 18 -8 d 18 -9 d 18 -9 d 18 -9 d 18 -9 d 19 -9 d 18 -9 d 18
-9 d 18 -9 d 18 -9 d 18 -9 d 18 -9 d 19 -9 d 18 -9 d 18 -8 d 18 -9 d 18 -9 d 18 -9 d 18 -9 d 19 -9 d 18 -9 d 18 -9 d 18 -9 d 18 -9 d 18 -9 d s 1237 1558 m 18 -9 d 19 -9 d 18 -10 d 18 -10 d 18 -10 d 18 -12 d 18 -12 d 18 -15 d 19 -17 d 18 -20 d 18
-24 d 18 -29 d 18 -35 d 18 -41 d 19 -48 d 18 -55 d 18 -61 d 18 -67 d 18 -72 d 18 -75 d 18 -76 d 19 -74 d 18 -72 d 18 -67 d 18 -61 d 18 -54 d 18 -46 d 18 -38 d 19 -32 d 18 -24 d 18 -19 d 18 -14 d 18 -10 d 18 -7 d 18 -5 d 19 -4 d 18 -2 d 18 -1 d 18
-1 d 18 X 18 -1 d 146 X s 2127 319 m 18 X s 3 lw 339 319 m 1815 X s 339 372 m -53 Y s 392 345 m -26 Y s 446 345 m -26 Y s 499 345 m -26 Y s 553 372 m -53 Y s 606 345 m -26 Y s 659 345 m -26 Y s 713 345 m -26 Y s 766 372 m -53 Y s 819 345 m -26 Y s
873 345 m -26 Y s 926 345 m -26 Y s 980 372 m -53 Y s 1033 345 m -26 Y s 1086 345 m -26 Y s 1140 345 m -26 Y s 1193 372 m -53 Y s 1246 345 m -26 Y s 1300 345 m -26 Y s 1353 345 m -26 Y s 1407 372 m -53 Y s 1460 345 m -26 Y s 1513 345 m -26 Y s 1567
345 m -26 Y s 1620 372 m -53 Y s 1673 345 m -26 Y s 1727 345 m -26 Y s 1780 345 m -26 Y s 1834 372 m -53 Y s 1887 345 m -26 Y s 1940 345 m -26 Y s 1994 345 m -26 Y s 2047 372 m -53 Y s 2047 372 m -53 Y s 2100 345 m -26 Y s 2154 345 m -26 Y s
gsave 2268 2199 0 0 C 316 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (0) show NC gr
gsave 2268 2199 0 0 C 527 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (2) show NC gr
gsave 2268 2199 0 0 C 741 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (4) show NC gr
gsave 2268 2199 0 0 C 954 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (6) show NC gr
gsave 2268 2199 0 0 C 1168 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (8) show NC gr
gsave 2268 2199 0 0 C 1359 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (10) show NC gr
gsave 2268 2199 0 0 C 1573 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (12) show NC gr
gsave 2268 2199 0 0 C 1786 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (14) show NC gr
gsave 2268 2199 0 0 C 2000 239 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (16) show NC gr 339 319 m 1761 Y s 393 319 m -54 X s 366 387 m -27 X s 366 456 m -27 X s 366 524 m -27 X s 393 592 m -54 X s 366 661 m -27 X s 366 729 m -27 X s 366
797 m -27 X s 393 865 m -54 X s 366 934 m -27 X s 366 1002 m -27 X s 366 1070 m -27 X s 393 1139 m -54 X s 366 1207 m -27 X s 366 1275 m -27 X s 366 1344 m -27 X s 393 1412 m -54 X s 366 1480 m -27 X s 366 1548 m -27 X s 366 1617 m -27 X s 393 1685
m -54 X s 366 1753 m -27 X s 366 1822 m -27 X s 366 1890 m -27 X s 393 1958 m -54 X s 393 1958 m -54 X s 366 2027 m -27 X s
gsave 2268 2199 0 0 C 285 282 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (0) show NC gr
gsave 2268 2199 0 0 C 145 556 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (2000) show NC gr
gsave 2268 2199 0 0 C 145 829 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (4000) show NC gr
gsave 2268 2199 0 0 C 145 1103 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (6000) show NC gr
gsave 2268 2199 0 0 C 145 1376 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (8000) show NC gr
gsave 2268 2199 0 0 C 100 1650 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (10000) show NC gr
gsave 2268 2199 0 0 C 100 1923 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (12000) show NC gr [ 4 8] 0 sd 6 lw 339 1370 m 1121 X s[ ] 0 sd 3 lw 0.95 0.95 0.95 c black 348 1685 m 889 X s 1237 1685 m 18 X 19 -1 d 18 X 18 -2 d 18 -1 d 18 -3 d 18
-5 d 18 -6 d 19 -10 d 18 -13 d 18 -19 d 18 -24 d 18 -32 d 18 -41 d 19 -49 d 18 -59 d 18 -69 d 18 -76 d 18 -84 d 18 -89 d 18 -92 d 19 -92 d 18 -89 d 18 -85 d 18 -78 d 18 -70 d 18 -61 d 18 -51 d 19 -42 d 18 -33 d 18 -26 d 18 -20 d 18 -14 d 18 -10 d
18 -7 d 19 -5 d 18 -3 d 18 -2 d 18 -1 d 18 -1 d 18 X 19 -1 d 127 X s 2127 319 m 18 X s[ 12 12] 0 sd 6 lw 339 1685 m 1281 X s 1620 1685 m -1366 Y s 1620 319 m 534 X s[ 4 8] 0 sd 977 319 m 1368 Y s
gsave 2268 2199 0 0 C 1695 333 t 0 r /Helvetica-Bold findfont 68.3734 sf 0 0 m (0) show NC gr
gsave 2268 2199 0 0 C 1630 362 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (E) show NC gr
gsave 2268 2199 0 0 C 1054 333 t 0 r /Helvetica-Bold findfont 68.3734 sf 0 0 m (t) show NC gr
gsave 2268 2199 0 0 C 989 362 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (E) show NC gr
gsave 2268 2199 0 0 C 439 1698 t 0 r /Helvetica-Bold findfont 68.3734 sf 0 0 m (0) show NC gr
gsave 2268 2199 0 0 C 370 1726 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (N) show NC gr [ ] 0 sd 1545 1480 m 43 X s 3 lw 1588 1499 m 32 -19 d -32 -18 d f 6 lw 1588 1499 m 32 -19 d -32 -18 d 37 Y cl s 3 lw 1545 1462 m -32 18 d 32 19 d f 6 lw
1545 1462 m -32 18 d 32 19 d -37 Y cl s
gsave 2268 2199 0 0 C 1501 1521 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (ENC) show NC gr 926 1403 m 250 Y s 3 lw 908 1653 m 18 32 d 18 -32 d f 6 lw 908 1653 m 18 32 d 18 -32 d -36 X cl s 3 lw 944 1403 m -18 -32 d -18 32 d f 6 lw 944 1403 m
-18 -32 d -18 32 d 36 X cl s
gsave 2268 2199 0 0 C 855 1467 t 0 r /Helvetica-Bold findfont 68.3734 sf 0 0 m (S) show NC gr
gsave 2268 2199 0 0 C 786 1496 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (N) show NC gr
gr gr
showpage
end
%%EOF

View File

@ -0,0 +1,88 @@
%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 0 0 567 550
%%Title: /afs/psi.ch/project/mythen/mythen_datasheet/article/thr_scan_fluo.eps: c1
%%Creator: ROOT Version 5.20/00
%%CreationDate: Wed Dec 10 17:16:38 2008
%%EndComments
%%BeginProlog
80 dict begin
/s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def
/sw {stringwidth} def /r {rotate} def /rl {roll} def /R {repeat} def
/d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def
/c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def
/cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def
/box {m dup 0 exch d exch 0 d 0 exch neg d cl} def
/NC{systemdict begin initclip end}def/C{NC box clip newpath}def
/bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def
/mp {newpath /y exch def /x exch def} def
/side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def
/mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def
/mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def
/mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def
/m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def
/m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def
/m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def
/m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d
0 w3 neg d w3 neg 0 d cl s } def
/m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl fill gr} def
/m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl s gr} def
/m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2
sub m w w d s} def
/m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def
/m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def
/reEncode {exch findfont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse } forall /Encoding exch def currentdict end dup /FontName get exch definefont pop } def [/Times-Bold /Times-Italic /Times-BoldItalic /Helvetica
/Helvetica-Oblique /Helvetica-Bold /Helvetica-BoldOblique /Courier /Courier-Oblique /Courier-Bold /Courier-BoldOblique /Times-Roman /AvantGarde-Book /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique /Bookman-Demi
/Bookman-DemiItalic /Bookman-Light /Bookman-LightItalic /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /NewCenturySchlbk-Roman /NewCenturySchlbk-Bold
/NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /Palatino-Bold /Palatino-BoldItalic /Palatino-Italic /Palatino-Roman ] {ISOLatin1Encoding reEncode } forall
/oshow {gsave [] 0 sd true charpath stroke gr} def
/stwn { /fs exch def /fn exch def /text exch def fn findfont fs sf
text sw pop xs add /xs exch def} def
/stwb { /fs exch def /fn exch def /nbas exch def /textf exch deftextf length /tlen exch def nbas tlen gt {/nbas tlendef} iffn findfont fs sf textf dup length nbas sub nbas getinterval sw
pop neg xs add /xs exch def} def
%%EndProlog
%%BeginSetup
%%EndSetup
newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 3 lw 1 1 1 c 2268 2199 0 0 bf black 1 1 1 c 1814 1761 345 330 bf black 1814 1761 345 330 bl 1 1 1 c 1814 1761 345 330 bf black 1814 1761 345 330 bl 9 lw 0.95 0.95 0.95 c black 354 1681 m 18
-4 d 18 -3 d 18 -3 d 18 -4 d 19 -3 d 18 -4 d 18 -3 d 18 -4 d 18 -3 d 18 -3 d 18 -4 d 19 -3 d 18 -4 d 18 -3 d 18 -4 d 18 -3 d 18 -3 d 18 -4 d 19 -3 d 18 -4 d 18 -3 d 18 -4 d 18 -3 d 18 -3 d 18 -4 d 19 -3 d 18 -4 d 18 -3 d 18 -4 d 18 -4 d 18 -4 d 19
-5 d 18 -8 d 18 -10 d 18 -14 d 18 -19 d 18 -24 d 18 -30 d 19 -33 d 18 -34 d 18 -32 d 18 -29 d 18 -24 d 18 -18 d 18 -13 d 19 -9 d 18 -6 d 18 -5 d 18 -3 d s 1243 1257 m 18 -3 d 18 -3 d 18 -3 d 19 -2 d 18 -3 d 18 -3 d 18 -4 d 18 -4 d 18 -7 d 18 -10 d
19 -18 d 18 -29 d 18 -43 d 18 -60 d 18 -79 d 18 -94 d 19 -104 d 18 -104 d 18 -97 d 18 -82 d 18 -63 d 18 -46 d 18 -29 d 19 -18 d 18 -10 d 18 -5 d 18 -2 d 18 -1 d 18 X 18 -1 d 345 X s 2132 330 m 18 X s 3 lw 345 330 m 1814 X s
gsave 2268 2199 0 0 C 1658 162 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (Energy \(keV\)) show NC gr 345 383 m -53 Y s 405 357 m -27 Y s 466 357 m -27 Y s 526 357 m -27 Y s 587 357 m -27 Y s 647 383 m -53 Y s 708 357 m -27 Y s 768 357 m -27
Y s 829 357 m -27 Y s 889 357 m -27 Y s 950 383 m -53 Y s 1010 357 m -27 Y s 1071 357 m -27 Y s 1131 357 m -27 Y s 1192 357 m -27 Y s 1252 383 m -53 Y s 1313 357 m -27 Y s 1373 357 m -27 Y s 1434 357 m -27 Y s 1494 357 m -27 Y s 1555 383 m -53 Y s
1615 357 m -27 Y s 1676 357 m -27 Y s 1736 357 m -27 Y s 1797 357 m -27 Y s 1857 383 m -53 Y s 1917 357 m -27 Y s 1978 357 m -27 Y s 2038 357 m -27 Y s 2099 357 m -27 Y s 2159 383 m -53 Y s
gsave 2268 2199 0 0 C 322 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (0) show NC gr
gsave 2268 2199 0 0 C 624 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (5) show NC gr
gsave 2268 2199 0 0 C 903 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (10) show NC gr
gsave 2268 2199 0 0 C 1205 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (15) show NC gr
gsave 2268 2199 0 0 C 1507 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (20) show NC gr
gsave 2268 2199 0 0 C 1809 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (25) show NC gr
gsave 2268 2199 0 0 C 2114 251 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (30) show NC gr 345 330 m 1761 Y s
gsave 2268 2199 0 0 C 105 1809 t 90 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (Counts) show NC gr 399 330 m -54 X s 372 374 m -27 X s 372 419 m -27 X s 372 463 m -27 X s 399 507 m -54 X s 372 551 m -27 X s 372 595 m -27 X s 372 639 m -27 X s
399 683 m -54 X s 372 727 m -27 X s 372 771 m -27 X s 372 815 m -27 X s 399 859 m -54 X s 372 903 m -27 X s 372 947 m -27 X s 372 991 m -27 X s 399 1035 m -54 X s 372 1079 m -27 X s 372 1123 m -27 X s 372 1167 m -27 X s 399 1211 m -54 X s 372 1255
m -27 X s 372 1299 m -27 X s 372 1343 m -27 X s 399 1387 m -54 X s 372 1431 m -27 X s 372 1475 m -27 X s 372 1519 m -27 X s 399 1563 m -54 X s 372 1607 m -27 X s 372 1651 m -27 X s 372 1695 m -27 X s 399 1739 m -54 X s 372 1783 m -27 X s 372 1827 m
-27 X s 372 1871 m -27 X s 399 1915 m -54 X s 372 1959 m -27 X s 372 2003 m -27 X s 372 2047 m -27 X s 399 2091 m -54 X s
gsave 2268 2199 0 0 C 291 293 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (0) show NC gr
gsave 2268 2199 0 0 C 151 470 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (2000) show NC gr
gsave 2268 2199 0 0 C 151 647 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (4000) show NC gr
gsave 2268 2199 0 0 C 151 823 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (6000) show NC gr
gsave 2268 2199 0 0 C 151 1000 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (8000) show NC gr
gsave 2268 2199 0 0 C 105 1174 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (10000) show NC gr
gsave 2268 2199 0 0 C 105 1350 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (12000) show NC gr
gsave 2268 2199 0 0 C 105 1527 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (14000) show NC gr
gsave 2268 2199 0 0 C 105 1704 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (16000) show NC gr
gsave 2268 2199 0 0 C 105 1880 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (18000) show NC gr
gsave 2268 2199 0 0 C 105 2054 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (20000) show NC gr [ 12 12] 0 sd 6 lw 1555 330 m 441 Y s 1071 330 m 1083 Y s[ 4 8] 0 sd 1313 330 m 916 Y s
gsave 2268 2199 0 0 C 1624 752 t 0 r /Helvetica-Bold findfont 68.3734 sf 0 0 m (0) show NC gr
gsave 2268 2199 0 0 C 1558 781 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (E) show NC gr
gsave 2268 2199 0 0 C 1140 1396 t 0 r /Helvetica-Bold findfont 68.3734 sf 0 0 m (f) show NC gr
gsave 2268 2199 0 0 C 1074 1424 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (E) show NC gr
gsave 2268 2199 0 0 C 1336 1262 t 0 r /Helvetica-Bold findfont 68.3734 sf 0 0 m (t) show NC gr
gsave 2268 2199 0 0 C 1271 1291 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (E) show NC gr [ ] 0 sd 1071 595 m 242 X s 1281 613 m 32 -18 d -32 -19 d s 1102 576 m -31 19 d 31 18 d s 1313 595 m 242 X s 1523 613 m 32 -18 d -32 -19 d s 1344 576 m
-31 19 d 31 18 d s
gsave 2268 2199 0 0 C 1159 613 t 0 r /Symbol findfont 102.56 sf 0 0 m (S) show NC gr
gsave 2268 2199 0 0 C 1402 613 t 0 r /Symbol findfont 102.56 sf 0 0 m (S) show NC gr
gr gr
showpage
end
%%EOF

View File

@ -0,0 +1,423 @@
%!PS-Adobe-2.0 EPSF-2.0
%%Title: trigger_acquisition.fig
%%Creator: fig2dev Version 3.2 Patchlevel 4
%%CreationDate: Thu Dec 13 15:12:53 2012
%%For: bergamaschi@pc8498 (Anna Bergamaschi)
%%BoundingBox: 0 0 1386 500
%%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
/col32 {0.785 0.785 0.785 srgb} bind def
/col33 {0.871 0.844 0.871 srgb} bind def
/col34 {0.387 0.387 0.387 srgb} bind def
/col35 {0.801 0.801 0.801 srgb} bind def
/col36 {0.422 0.422 0.422 srgb} bind def
end
save
newpath 0 500 moveto 0 0 lineto 1386 0 lineto 1386 500 lineto closepath clip newpath
-49.5 556.3 translate
1 -1 scale
/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul srgb} bind def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
$F2psBegin
10 setmiterlimit
0 slj 0 slc
0.06000 0.06000 sc
%
% Fig objects follow
%
%
% here starts figure with depth 50
% Polyline
2 slj
7.500 slw
n 8072 8008 m 8072 8009 l 8073 8010 l 8075 8012 l 8077 8016 l 8081 8021 l
8086 8028 l 8093 8037 l 8102 8047 l 8113 8059 l 8127 8071 l
8142 8085 l 8159 8099 l 8179 8114 l 8201 8129 l 8225 8144 l
8251 8159 l 8279 8173 l 8309 8187 l 8341 8200 l 8375 8213 l
8412 8225 l 8451 8236 l 8493 8246 l 8538 8256 l 8586 8264 l
8637 8273 l 8691 8281 l 8750 8288 l 8812 8294 l 8879 8301 l
8951 8307 l 9028 8312 l 9109 8317 l 9154 8320 l 9201 8322 l
9249 8325 l 9298 8327 l 9349 8330 l 9402 8332 l 9455 8334 l
9510 8336 l 9567 8338 l 9625 8340 l 9684 8342 l 9745 8344 l
9807 8346 l 9871 8348 l 9936 8350 l 10002 8352 l 10069 8354 l
10137 8356 l 10207 8357 l 10278 8359 l 10350 8361 l 10422 8363 l
10496 8364 l 10570 8366 l 10645 8368 l 10721 8369 l 10797 8371 l
10874 8373 l 10951 8374 l 11028 8376 l 11106 8377 l 11184 8379 l
11261 8381 l 11339 8382 l 11416 8384 l 11493 8386 l 11570 8387 l
11646 8389 l 11722 8390 l 11797 8392 l 11871 8394 l 11945 8395 l
12017 8397 l 12089 8399 l 12160 8401 l 12230 8402 l 12298 8404 l
12365 8406 l 12431 8408 l 12496 8410 l 12560 8412 l 12622 8414 l
12683 8416 l 12742 8418 l 12800 8420 l 12857 8422 l 12912 8424 l
12965 8426 l 13018 8429 l 13069 8431 l 13118 8433 l 13166 8436 l
13213 8439 l 13258 8441 l 13339 8446 l 13416 8452 l 13488 8458 l
13555 8464 l 13617 8471 l 13676 8478 l 13730 8486 l 13781 8494 l
13829 8503 l 13874 8513 l 13916 8523 l 13955 8534 l 13992 8546 l
14026 8559 l 14058 8572 l 14088 8586 l 14116 8600 l 14142 8615 l
14166 8630 l 14188 8645 l 14208 8660 l 14225 8675 l 14240 8688 l
14254 8701 l 14265 8713 l 14274 8723 l 14281 8732 l 14286 8739 l
14290 8744 l 14292 8748 l 14294 8750 l 14295 8751 l 14295 8752 l
14295 8751 l 14296 8750 l 14298 8748 l 14300 8744 l 14304 8739 l
14309 8732 l 14316 8723 l 14325 8713 l 14336 8701 l 14350 8688 l
14365 8675 l 14382 8660 l 14402 8645 l 14424 8630 l 14448 8615 l
14474 8600 l 14502 8586 l 14532 8572 l 14564 8559 l 14599 8546 l
14635 8534 l 14675 8523 l 14716 8513 l 14761 8503 l 14809 8494 l
14860 8486 l 14914 8478 l 14973 8471 l 15036 8464 l 15103 8458 l
15175 8452 l 15251 8446 l 15333 8441 l 15378 8439 l 15425 8436 l
15473 8433 l 15522 8431 l 15573 8429 l 15625 8426 l 15679 8424 l
15734 8422 l 15791 8420 l 15849 8418 l 15908 8416 l 15969 8414 l
16031 8412 l 16095 8410 l 16159 8408 l 16226 8406 l 16293 8404 l
16361 8402 l 16431 8401 l 16502 8399 l 16574 8397 l 16646 8395 l
16720 8394 l 16794 8392 l 16869 8390 l 16945 8389 l 17021 8387 l
17098 8386 l 17175 8384 l 17253 8382 l 17330 8381 l 17408 8379 l
17486 8377 l 17563 8376 l 17641 8374 l 17718 8373 l 17795 8371 l
17871 8369 l 17947 8368 l 18022 8366 l 18096 8364 l 18170 8363 l
18242 8361 l 18314 8359 l 18385 8357 l 18455 8356 l 18523 8354 l
18590 8352 l 18657 8350 l 18721 8348 l 18785 8346 l 18847 8344 l
18908 8342 l 18967 8340 l 19025 8338 l 19082 8336 l 19137 8334 l
19191 8332 l 19243 8330 l 19294 8327 l 19343 8325 l 19391 8322 l
19438 8320 l 19483 8317 l 19565 8312 l 19641 8307 l 19713 8301 l
19780 8294 l 19843 8288 l 19902 8281 l 19956 8273 l 20007 8264 l
20055 8256 l 20100 8246 l 20141 8236 l 20181 8225 l 20217 8213 l
20252 8200 l 20284 8187 l 20314 8173 l 20342 8159 l 20368 8144 l
20392 8129 l 20414 8114 l 20434 8099 l 20451 8085 l 20466 8071 l
20480 8059 l 20491 8047 l 20500 8037 l 20507 8028 l 20512 8021 l
20516 8016 l 20518 8012 l 20520 8010 l 20521 8009 l
20521 8008 l gs col0 s gr
% Polyline
n 4888 6806 m 4888 6807 l 4889 6808 l 4891 6812 l 4893 6816 l 4897 6823 l
4903 6832 l 4910 6842 l 4920 6854 l 4931 6867 l 4944 6882 l
4959 6897 l 4976 6912 l 4996 6928 l 5017 6943 l 5040 6957 l
5065 6971 l 5092 6985 l 5120 6997 l 5152 7009 l 5185 7020 l
5221 7030 l 5260 7039 l 5302 7047 l 5348 7055 l 5397 7062 l
5450 7069 l 5507 7075 l 5569 7081 l 5635 7086 l 5674 7089 l
5714 7092 l 5755 7094 l 5798 7097 l 5843 7099 l 5889 7102 l
5936 7104 l 5985 7106 l 6035 7108 l 6086 7110 l 6139 7113 l
6194 7115 l 6249 7117 l 6306 7119 l 6365 7121 l 6424 7122 l
6484 7124 l 6546 7126 l 6608 7128 l 6671 7130 l 6735 7132 l
6800 7133 l 6865 7135 l 6931 7137 l 6997 7139 l 7063 7140 l
7129 7142 l 7195 7144 l 7261 7145 l 7327 7147 l 7393 7149 l
7458 7151 l 7523 7152 l 7587 7154 l 7650 7156 l 7712 7158 l
7774 7160 l 7834 7162 l 7893 7164 l 7952 7165 l 8009 7167 l
8064 7169 l 8119 7172 l 8172 7174 l 8223 7176 l 8273 7178 l
8322 7180 l 8369 7183 l 8415 7185 l 8460 7187 l 8503 7190 l
8544 7193 l 8584 7195 l 8623 7198 l 8689 7203 l 8751 7209 l
8808 7215 l 8861 7222 l 8910 7229 l 8956 7237 l 8998 7246 l
9037 7255 l 9073 7265 l 9106 7276 l 9138 7287 l 9166 7300 l
9193 7313 l 9218 7327 l 9241 7342 l 9262 7357 l 9282 7372 l
9299 7388 l 9314 7403 l 9327 7417 l 9338 7431 l 9348 7443 l
9355 7453 l 9361 7462 l 9365 7469 l 9367 7473 l 9369 7477 l
9370 7478 l 9370 7479 l 9370 7478 l 9371 7477 l 9373 7473 l
9375 7469 l 9379 7462 l 9385 7453 l 9392 7443 l 9402 7431 l
9413 7417 l 9426 7403 l 9441 7388 l 9459 7372 l 9478 7357 l
9499 7342 l 9522 7327 l 9547 7313 l 9574 7300 l 9603 7287 l
9634 7276 l 9667 7265 l 9703 7255 l 9742 7246 l 9784 7237 l
9830 7229 l 9879 7222 l 9932 7215 l 9989 7209 l 10051 7203 l
10117 7198 l 10156 7195 l 10196 7193 l 10238 7190 l 10281 7187 l
10325 7185 l 10371 7183 l 10418 7180 l 10467 7178 l 10517 7176 l
10569 7174 l 10622 7172 l 10676 7169 l 10732 7167 l 10789 7165 l
10847 7164 l 10907 7162 l 10967 7160 l 11028 7158 l 11091 7156 l
11154 7154 l 11218 7152 l 11283 7151 l 11348 7149 l 11413 7147 l
11479 7145 l 11546 7144 l 11612 7142 l 11678 7140 l 11745 7139 l
11811 7137 l 11876 7135 l 11941 7133 l 12006 7132 l 12070 7130 l
12133 7128 l 12196 7126 l 12257 7124 l 12317 7122 l 12377 7121 l
12435 7119 l 12492 7117 l 12548 7115 l 12602 7113 l 12655 7110 l
12707 7108 l 12757 7106 l 12806 7104 l 12853 7102 l 12899 7099 l
12943 7097 l 12986 7094 l 13028 7092 l 13068 7089 l 13107 7086 l
13173 7081 l 13235 7075 l 13292 7069 l 13345 7062 l 13394 7055 l
13440 7047 l 13482 7039 l 13521 7030 l 13557 7020 l 13590 7009 l
13621 6997 l 13650 6985 l 13677 6971 l 13702 6957 l 13725 6943 l
13746 6928 l 13765 6912 l 13783 6897 l 13798 6882 l 13811 6867 l
13822 6854 l 13832 6842 l 13839 6832 l 13845 6823 l 13849 6816 l
13851 6812 l 13853 6808 l 13854 6807 l
13854 6806 l gs col0 s gr
% Polyline
0 slj
n 22125 4125 m
23775 4125 l gs col0 s gr
% Polyline
n 14775 5550 m 15375 5550 l 15375 4725 l 17325 4725 l 17325 5550 l
17775 5550 l gs col0 s gr
% Polyline
n 17775 5550 m 18375 5550 l 18375 4725 l 20325 4725 l 20325 5550 l
20775 5550 l gs col0 s gr
% Polyline
n 20775 5550 m 21375 5550 l 21375 4725 l 23325 4725 l 23325 5550 l
23775 5550 l gs col0 s gr
% Polyline
n 14175 4125 m 14925 4125 l 14925 3300 l 15375 3300 l 15375 4125 l
17325 4125 l gs col0 s gr
% Polyline
n 17175 4125 m 17925 4125 l 17925 3300 l 18375 3300 l 18375 4125 l
20325 4125 l gs col0 s gr
% Polyline
n 20175 4125 m 20925 4125 l 20925 3300 l 21375 3300 l 21375 4125 l
23325 4125 l gs col0 s gr
% Polyline
2 slj
n 14938 6806 m 14938 6807 l 14939 6808 l 14941 6812 l 14943 6816 l 14947 6823 l
14953 6832 l 14960 6842 l 14970 6854 l 14981 6867 l 14994 6882 l
15009 6897 l 15026 6912 l 15046 6928 l 15067 6943 l 15090 6957 l
15115 6971 l 15142 6985 l 15170 6997 l 15202 7009 l 15235 7020 l
15271 7030 l 15310 7039 l 15352 7047 l 15398 7055 l 15447 7062 l
15500 7069 l 15557 7075 l 15619 7081 l 15685 7086 l 15724 7089 l
15764 7092 l 15805 7094 l 15848 7097 l 15893 7099 l 15939 7102 l
15986 7104 l 16035 7106 l 16085 7108 l 16136 7110 l 16189 7113 l
16244 7115 l 16299 7117 l 16356 7119 l 16415 7121 l 16474 7122 l
16534 7124 l 16596 7126 l 16658 7128 l 16721 7130 l 16785 7132 l
16850 7133 l 16915 7135 l 16981 7137 l 17047 7139 l 17113 7140 l
17179 7142 l 17245 7144 l 17311 7145 l 17377 7147 l 17443 7149 l
17508 7151 l 17573 7152 l 17637 7154 l 17700 7156 l 17762 7158 l
17824 7160 l 17884 7162 l 17943 7164 l 18002 7165 l 18059 7167 l
18114 7169 l 18169 7172 l 18222 7174 l 18273 7176 l 18323 7178 l
18372 7180 l 18419 7183 l 18465 7185 l 18510 7187 l 18553 7190 l
18594 7193 l 18634 7195 l 18673 7198 l 18739 7203 l 18801 7209 l
18858 7215 l 18911 7222 l 18960 7229 l 19006 7237 l 19048 7246 l
19087 7255 l 19123 7265 l 19156 7276 l 19188 7287 l 19216 7300 l
19243 7313 l 19268 7327 l 19291 7342 l 19312 7357 l 19332 7372 l
19349 7388 l 19364 7403 l 19377 7417 l 19388 7431 l 19398 7443 l
19405 7453 l 19411 7462 l 19415 7469 l 19417 7473 l 19419 7477 l
19420 7478 l 19420 7479 l 19420 7478 l 19421 7477 l 19423 7473 l
19425 7469 l 19429 7462 l 19435 7453 l 19442 7443 l 19452 7431 l
19463 7417 l 19476 7403 l 19491 7388 l 19509 7372 l 19528 7357 l
19549 7342 l 19572 7327 l 19597 7313 l 19624 7300 l 19653 7287 l
19684 7276 l 19717 7265 l 19753 7255 l 19792 7246 l 19834 7237 l
19880 7229 l 19929 7222 l 19982 7215 l 20039 7209 l 20101 7203 l
20167 7198 l 20206 7195 l 20246 7193 l 20288 7190 l 20331 7187 l
20375 7185 l 20421 7183 l 20468 7180 l 20517 7178 l 20567 7176 l
20619 7174 l 20672 7172 l 20726 7169 l 20782 7167 l 20839 7165 l
20897 7164 l 20957 7162 l 21017 7160 l 21078 7158 l 21141 7156 l
21204 7154 l 21268 7152 l 21333 7151 l 21398 7149 l 21463 7147 l
21529 7145 l 21596 7144 l 21662 7142 l 21728 7140 l 21795 7139 l
21861 7137 l 21926 7135 l 21991 7133 l 22056 7132 l 22120 7130 l
22183 7128 l 22246 7126 l 22307 7124 l 22367 7122 l 22427 7121 l
22485 7119 l 22542 7117 l 22598 7115 l 22652 7113 l 22705 7110 l
22757 7108 l 22807 7106 l 22856 7104 l 22903 7102 l 22949 7099 l
22993 7097 l 23036 7094 l 23078 7092 l 23118 7089 l 23157 7086 l
23223 7081 l 23285 7075 l 23342 7069 l 23395 7062 l 23444 7055 l
23490 7047 l 23532 7039 l 23571 7030 l 23607 7020 l 23640 7009 l
23671 6997 l 23700 6985 l 23727 6971 l 23752 6957 l 23775 6943 l
23796 6928 l 23815 6912 l 23833 6897 l 23848 6882 l 23861 6867 l
23872 6854 l 23882 6842 l 23889 6832 l 23895 6823 l 23899 6816 l
23901 6812 l 23903 6808 l 23904 6807 l
23904 6806 l gs col0 s gr
% Polyline
0 slj
n 3450 2700 m 4200 2700 l 4200 1875 l 4275 1875 l 4275 2700 l
6600 2700 l gs col0 s gr
% Polyline
n 5850 2700 m 6600 2700 l 6600 1875 l 6675 1875 l 6675 2700 l
9000 2700 l gs col0 s gr
% Polyline
n 8925 2700 m 9675 2700 l 9675 1875 l 9750 1875 l 9750 2700 l
12075 2700 l gs col0 s gr
% Polyline
n 11925 2700 m 13650 2700 l 13650 1875 l 13725 1875 l 13725 2700 l
16050 2700 l gs col0 s gr
% Polyline
n 15750 2700 m 17475 2700 l 17475 1875 l 17550 1875 l 17550 2700 l
19875 2700 l gs col0 s gr
% Polyline
n 18375 2700 m 20100 2700 l 20100 1875 l 20175 1875 l 20175 2700 l
22500 2700 l gs col0 s gr
% Polyline
n 4725 4125 m
3525 4125 l gs col0 s gr
% Polyline
n 4725 5550 m
3525 5550 l gs col0 s gr
% Polyline
[60] 0 sd
n 5925 5550 m 5925 4725 l 7875 4725 l
7875 5550 l gs col0 s gr [] 0 sd
% Polyline
n 4725 5550 m 5925 5550 l 5925 4725 l 7875 4725 l 7875 5550 l
8325 5550 l gs col0 s gr
% Polyline
n 8325 5550 m 8925 5550 l 8925 4725 l 10875 4725 l 10875 5550 l
11325 5550 l gs col0 s gr
% Polyline
n 11325 5550 m 11925 5550 l 11925 4725 l 13875 4725 l 13875 5550 l
14325 5550 l gs col0 s gr
% Polyline
n 4725 4125 m 5475 4125 l 5475 3300 l 5925 3300 l 5925 4125 l
7875 4125 l gs col0 s gr
% Polyline
n 7725 4125 m 8475 4125 l 8475 3300 l 8925 3300 l 8925 4125 l
10875 4125 l gs col0 s gr
% Polyline
n 10725 4125 m 11475 4125 l 11475 3300 l 11925 3300 l 11925 4125 l
13875 4125 l gs col0 s gr
% Polyline
30.000 slw
[45 22 15 22] 0 sd
n 5475 3225 m
5475 5850 l gs col0 s gr [] 0 sd
% Polyline
[45 22 15 22] 0 sd
n 5925 3225 m
5925 5850 l gs col0 s gr [] 0 sd
% Polyline
[45 22 15 22] 0 sd
n 8475 3225 m
8475 5850 l gs col0 s gr [] 0 sd
% Polyline
[45 22 15 22] 0 sd
n 11475 3225 m
11475 5850 l gs col0 s gr [] 0 sd
% Polyline
7.500 slw
gs clippath
11490 5880 m 11490 5820 l 11338 5820 l 11458 5850 l 11338 5880 l cp
8460 5820 m 8460 5880 l 8612 5880 l 8492 5850 l 8612 5820 l cp
eoclip
n 8475 5850 m
11475 5850 l gs col0 s gr gr
% arrowhead
n 8612 5820 m 8492 5850 l 8612 5880 l col0 s
% arrowhead
n 11338 5880 m 11458 5850 l 11338 5820 l col0 s
% Polyline
gs clippath
5940 5880 m 5940 5820 l 5788 5820 l 5908 5850 l 5788 5880 l cp
5460 5820 m 5460 5880 l 5612 5880 l 5492 5850 l 5612 5820 l cp
eoclip
n 5475 5850 m
5925 5850 l gs col0 s gr gr
% arrowhead
n 5612 5820 m 5492 5850 l 5612 5880 l col0 s
% arrowhead
n 5788 5880 m 5908 5850 l 5788 5820 l col0 s
% Polyline
n 14175 5550 m
14850 5550 l gs col0 s gr
% Polyline
n 13650 4125 m
14550 4125 l gs col0 s gr
% Polyline
30.000 slw
[45 22 15 22] 0 sd
n 13650 1500 m
13650 4125 l gs col0 s gr [] 0 sd
% Polyline
[45 22 15 22] 0 sd
n 14925 1500 m
14925 4125 l gs col0 s gr [] 0 sd
% Polyline
7.500 slw
gs clippath
14940 1605 m 14940 1545 l 14788 1545 l 14908 1575 l 14788 1605 l cp
13635 1545 m 13635 1605 l 13787 1605 l 13667 1575 l 13787 1545 l cp
eoclip
n 13650 1575 m
14925 1575 l gs col0 s gr gr
% arrowhead
n 13787 1545 m 13667 1575 l 13787 1605 l col0 s
% arrowhead
n 14788 1605 m 14908 1575 l 14788 1545 l col0 s
/Times-Roman ff 450.00 scf sf
825 4125 m
gs 1 -1 sc (Detection time) col0 sh gr
/Times-Roman ff 450.00 scf sf
825 5550 m
gs 1 -1 sc (Dead time) col0 sh gr
/Times-Roman ff 450.00 scf sf
825 2700 m
gs 1 -1 sc (External trigger) col0 sh gr
/Times-Roman ff 450.00 scf sf
8250 7800 m
gs 1 -1 sc (Number of frames) col0 sh gr
/Times-Roman ff 450.00 scf sf
12600 9150 m
gs 1 -1 sc (Number of cycles) col0 sh gr
/Times-Roman ff 240.00 scf sf
6600 4950 m
gs 1 -1 sc (Readout) col0 sh gr
/Times-Roman ff 450.00 scf sf
4575 6225 m
gs 1 -1 sc (Exposure time) col0 sh gr
/Times-Roman ff 450.00 scf sf
9525 6225 m
gs 1 -1 sc (Period) col0 sh gr
/Times-Roman ff 450.00 scf sf
18075 7800 m
gs 1 -1 sc (Number of frames) col0 sh gr
/Times-Roman ff 450.00 scf sf
13125 1275 m
gs 1 -1 sc (Delay after trigger) col0 sh gr
% here ends figure;
$F2psEnd
rs
showpage

View File

@ -0,0 +1,119 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
0 32 #c9c9c9
0 33 #dfd8df
0 34 #636363
0 35 #cdcdcd
0 36 #6c6c6c
# Brace under
6 7950 7989 20550 8775
3 4 0 1 0 7 50 0 -1 0.000 0 0 0 7
8072 8008 8072 8379 14295 8379 14295 8752 14295 8379 20521 8379
20521 8008
0.000 1.000 1.000 0.000 1.000 1.000 0.000
-6
# Brace under
6 4800 6789 13875 7500
3 4 0 1 0 7 50 0 -1 0.000 0 0 0 7
4888 6806 4888 7142 9370 7142 9370 7479 9370 7142 13854 7142
13854 6806
0.000 1.000 1.000 0.000 1.000 1.000 0.000
-6
6 14175 3300 23775 5550
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
22125 4125 23775 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
14775 5550 15375 5550 15375 4725 17325 4725 17325 5550 17775 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
17775 5550 18375 5550 18375 4725 20325 4725 20325 5550 20775 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
20775 5550 21375 5550 21375 4725 23325 4725 23325 5550 23775 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
14175 4125 14925 4125 14925 3300 15375 3300 15375 4125 17325 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
17175 4125 17925 4125 17925 3300 18375 3300 18375 4125 20325 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
20175 4125 20925 4125 20925 3300 21375 3300 21375 4125 23325 4125
-6
# Brace under
6 14850 6789 23925 7500
3 4 0 1 0 7 50 0 -1 0.000 0 0 0 7
14938 6806 14938 7142 19420 7142 19420 7479 19420 7142 23904 7142
23904 6806
0.000 1.000 1.000 0.000 1.000 1.000 0.000
-6
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
3450 2700 4200 2700 4200 1875 4275 1875 4275 2700 6600 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
5850 2700 6600 2700 6600 1875 6675 1875 6675 2700 9000 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
8925 2700 9675 2700 9675 1875 9750 1875 9750 2700 12075 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
11925 2700 13650 2700 13650 1875 13725 1875 13725 2700 16050 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
15750 2700 17475 2700 17475 1875 17550 1875 17550 2700 19875 2700
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
18375 2700 20100 2700 20100 1875 20175 1875 20175 2700 22500 2700
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
4725 4125 3525 4125
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
4725 5550 3525 5550
2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 4
5925 5550 5925 4725 7875 4725 7875 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
4725 5550 5925 5550 5925 4725 7875 4725 7875 5550 8325 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
8325 5550 8925 5550 8925 4725 10875 4725 10875 5550 11325 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
11325 5550 11925 5550 11925 4725 13875 4725 13875 5550 14325 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
4725 4125 5475 4125 5475 3300 5925 3300 5925 4125 7875 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
7725 4125 8475 4125 8475 3300 8925 3300 8925 4125 10875 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
10725 4125 11475 4125 11475 3300 11925 3300 11925 4125 13875 4125
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
5475 3225 5475 5850
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
5925 3225 5925 5850
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
8475 3225 8475 5850
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
11475 3225 11475 5850
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
0 0 1.00 60.00 120.00
0 0 1.00 60.00 120.00
8475 5850 11475 5850
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
0 0 1.00 60.00 120.00
0 0 1.00 60.00 120.00
5475 5850 5925 5850
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
14175 5550 14850 5550
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
13650 4125 14550 4125
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
13650 1500 13650 4125
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
14925 1500 14925 4125
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
0 0 1.00 60.00 120.00
0 0 1.00 60.00 120.00
13650 1575 14925 1575
4 0 0 50 0 0 30 0.0000 4 300 2565 825 4125 Detection time\001
4 0 0 50 0 0 30 0.0000 4 300 1785 825 5550 Dead time\001
4 0 0 50 0 0 30 0.0000 4 405 2760 825 2700 External trigger\001
4 0 0 50 0 0 30 0.0000 4 300 3225 8250 7800 Number of frames\001
4 0 0 50 0 0 30 0.0000 4 405 3090 12600 9150 Number of cycles\001
4 0 0 50 0 0 16 0.0000 4 165 810 6600 4950 Readout\001
4 0 0 50 0 0 30 0.0000 4 405 2580 4575 6225 Exposure time\001
4 0 0 50 0 0 30 0.0000 4 300 1140 9525 6225 Period\001
4 0 0 50 0 0 30 0.0000 4 300 3225 18075 7800 Number of frames\001
4 0 0 50 0 0 30 0.0000 4 405 3120 13125 1275 Delay after trigger\001

View File

@ -0,0 +1,87 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
0 32 #c9c9c9
0 33 #dfd8df
0 34 #636363
0 35 #cdcdcd
0 36 #6c6c6c
# Brace under
6 6675 7989 19275 8775
3 4 0 1 0 7 50 0 -1 0.000 0 0 0 7
6797 8008 6797 8379 13020 8379 13020 8752 13020 8379 19246 8379
19246 8008
0.000 1.000 1.000 0.000 1.000 1.000 0.000
-6
# Brace under
6 3525 6789 12600 7500
3 4 0 1 0 7 50 0 -1 0.000 0 0 0 7
3613 6806 3613 7142 8095 7142 8095 7479 8095 7142 12579 7142
12579 6806
0.000 1.000 1.000 0.000 1.000 1.000 0.000
-6
# Brace under
6 12600 6789 21675 7500
3 4 0 1 0 7 50 0 -1 0.000 0 0 0 7
12688 6806 12688 7142 17170 7142 17170 7479 17170 7142 21654 7142
21654 6806
0.000 1.000 1.000 0.000 1.000 1.000 0.000
-6
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
20400 4125 22050 4125
2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 4
4650 5550 4650 4725 6600 4725 6600 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
3450 5550 4650 5550 4650 4725 6600 4725 6600 5550 7050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
7050 5550 7650 5550 7650 4725 9600 4725 9600 5550 10050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
10050 5550 10650 5550 10650 4725 12600 4725 12600 5550 13050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
13050 5550 13650 5550 13650 4725 15600 4725 15600 5550 16050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
16050 5550 16650 5550 16650 4725 18600 4725 18600 5550 19050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
19050 5550 19650 5550 19650 4725 21600 4725 21600 5550 22050 5550
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
3450 4125 4200 4125 4200 3300 4650 3300 4650 4125 6600 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
6450 4125 7200 4125 7200 3300 7650 3300 7650 4125 9600 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
9450 4125 10200 4125 10200 3300 10650 3300 10650 4125 12600 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
12450 4125 13200 4125 13200 3300 13650 3300 13650 4125 15600 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
15450 4125 16200 4125 16200 3300 16650 3300 16650 4125 18600 4125
2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 6
18450 4125 19200 4125 19200 3300 19650 3300 19650 4125 21600 4125
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
4200 3225 4200 5850
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
4650 3225 4650 5850
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
7200 3225 7200 5850
2 1 3 3 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
10200 3225 10200 5850
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
0 0 1.00 60.00 120.00
0 0 1.00 60.00 120.00
7200 5850 10200 5850
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
0 0 1.00 60.00 120.00
0 0 1.00 60.00 120.00
4200 5850 4650 5850
4 0 0 50 0 0 30 0.0000 4 300 3225 6975 7800 Number of frames\001
4 0 0 50 0 0 30 0.0000 4 300 3225 15975 7800 Number of frames\001
4 0 0 50 0 0 30 0.0000 4 405 3090 11325 9150 Number of cycles\001
4 0 0 50 0 0 16 0.0000 4 165 810 5325 4950 Readout\001
4 0 0 50 0 0 30 0.0000 4 300 2565 825 4125 Detection time\001
4 0 0 50 0 0 30 0.0000 4 300 1785 825 5550 Dead time\001
4 0 0 50 0 0 30 0.0000 4 405 2580 3300 6225 Exposure time\001
4 0 0 50 0 0 30 0.0000 4 300 1140 8250 6225 Period\001

View File

@ -0,0 +1,59 @@
The slsDetectorGUI is based on Qt4 with Qwt libraries.
-Qt4.6 installation:
Download the opend source version:
ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.6.2.tar.gz
To install:
gunzip qt-everywhere-opensource-src-4.6.2.tar.gz
tar xvf qt-everywhere-opensource-src-4.6.2.tar
./configure
make
make install
By default Qt4 will be installed int /usr/local/Trolltech/Qt-4.6.2/
Edit your .bashrc:
export QTDIR=/usr/local/Trolltech/Qt-4.6.2
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
If your system also have Qt3 installed, make sure that QTDIR, PATH and LD_LIBRARY_PATH point to Qt4 before installing Qwt (and of course compiling and running the GUI).
- Qwt5.2 installation
Download the sources:
svn co https://qwt.svn.sourceforge.net/svnroot/qwt/branches/qwt-5.2
To install:
cd qwt-5.2
qmake
make
make install
By default Qwt will be installed in /usr/local/qwt-5.2.3-svn/
Edit your .bashrc:
export QWTDIR=/usr/local/qwt-5.2.3-svn/
export LD_LIBRARY_PATH=$QWTDIR/lib:$LD_LIBRARY_PATH
- The calibration wizards are based on the cern root software
Download the sources
svn co https://root.cern.ch/svn/root/trunk root
To install:
cd root
./configure --enable-qt
make
make install
edit your .bashrc:
export ROOTSYS=/usr/local/root
export PATH=$ROOTSYS/bin:$PATH
export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH
You can also download the binaries, assuming that your linuc and gcc versions match:
http://root.cern.ch/drupal/content/production-version-534

View File

@ -0,0 +1,176 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
6 225 0 5775 4350
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
5700 4275 5700 450 300 450 300 4275 5700 4275
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
5550 1500 5550 750 525 750 525 1500 5550 1500
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
3375 1425 3375 825 2925 825 2925 1425 3375 1425
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
3900 1425 3900 825 3450 825 3450 1425 3900 1425
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
4425 1425 4425 825 3975 825 3975 1425 4425 1425
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
4950 1425 4950 825 4500 825 4500 1425 4950 1425
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
5475 1425 5475 825 5025 825 5025 1425 5475 1425
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
5550 3150 5550 2400 525 2400 525 3150 5550 3150
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
3375 3075 3375 2475 2925 2475 2925 3075 3375 3075
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
3900 3075 3900 2475 3450 2475 3450 3075 3900 3075
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
4425 3075 4425 2475 3975 2475 3975 3075 4425 3075
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
4950 3075 4950 2475 4500 2475 4500 3075 4950 3075
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
5475 3075 5475 2475 5025 2475 5025 3075 5475 3075
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
5550 3975 5550 3225 525 3225 525 3975 5550 3975
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
3375 3900 3375 3300 2925 3300 2925 3900 3375 3900
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
3900 3900 3900 3300 3450 3300 3450 3900 3900 3900
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
4425 3900 4425 3300 3975 3300 3975 3900 4425 3900
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
4950 3900 4950 3300 4500 3300 4500 3900 4950 3900
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
5475 3900 5475 3300 5025 3300 5025 3900 5475 3900
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
5550 2325 5550 1575 525 1575 525 2325 5550 2325
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
3375 2250 3375 1650 2925 1650 2925 2250 3375 2250
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
3900 2250 3900 1650 3450 1650 3450 2250 3900 2250
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
4425 2250 4425 1650 3975 1650 3975 2250 4425 2250
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
4950 2250 4950 1650 4500 1650 4500 2250 4950 2250
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
5475 2250 5475 1650 5025 1650 5025 2250 5475 2250
4 0 0 50 -1 0 25 0.0000 4 315 1770 600 300 [Detector 0]\001
4 0 0 50 -1 0 25 0.0000 4 255 1755 675 1275 Controller 0\001
4 0 0 50 -1 0 25 0.0000 4 255 1755 675 2100 Controller 1\001
4 0 0 50 -1 0 25 0.0000 4 255 1755 675 2925 Controller 2\001
4 0 0 50 -1 0 25 0.0000 4 255 1755 675 3750 Controller 3\001
-6
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
11400 4275 11400 450 6000 450 6000 4275 11400 4275
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
11250 1500 11250 750 6225 750 6225 1500 11250 1500
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
9075 1425 9075 825 8625 825 8625 1425 9075 1425
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
9600 1425 9600 825 9150 825 9150 1425 9600 1425
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
10125 1425 10125 825 9675 825 9675 1425 10125 1425
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
10650 1425 10650 825 10200 825 10200 1425 10650 1425
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
11175 1425 11175 825 10725 825 10725 1425 11175 1425
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
11250 3150 11250 2400 6225 2400 6225 3150 11250 3150
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
9075 3075 9075 2475 8625 2475 8625 3075 9075 3075
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
9600 3075 9600 2475 9150 2475 9150 3075 9600 3075
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
10125 3075 10125 2475 9675 2475 9675 3075 10125 3075
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
10650 3075 10650 2475 10200 2475 10200 3075 10650 3075
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
11175 3075 11175 2475 10725 2475 10725 3075 11175 3075
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
11250 3975 11250 3225 6225 3225 6225 3975 11250 3975
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
9075 3900 9075 3300 8625 3300 8625 3900 9075 3900
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
9600 3900 9600 3300 9150 3300 9150 3900 9600 3900
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
10125 3900 10125 3300 9675 3300 9675 3900 10125 3900
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
10650 3900 10650 3300 10200 3300 10200 3900 10650 3900
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
11175 3900 11175 3300 10725 3300 10725 3900 11175 3900
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
11250 2325 11250 1575 6225 1575 6225 2325 11250 2325
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
9075 2250 9075 1650 8625 1650 8625 2250 9075 2250
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
9600 2250 9600 1650 9150 1650 9150 2250 9600 2250
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
10125 2250 10125 1650 9675 1650 9675 2250 10125 2250
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
10650 2250 10650 1650 10200 1650 10200 2250 10650 2250
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
11175 2250 11175 1650 10725 1650 10725 2250 11175 2250
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
17100 4275 17100 450 11700 450 11700 4275 17100 4275
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
16950 1500 16950 750 11925 750 11925 1500 16950 1500
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
14775 1425 14775 825 14325 825 14325 1425 14775 1425
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
15300 1425 15300 825 14850 825 14850 1425 15300 1425
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
15825 1425 15825 825 15375 825 15375 1425 15825 1425
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
16350 1425 16350 825 15900 825 15900 1425 16350 1425
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
16875 1425 16875 825 16425 825 16425 1425 16875 1425
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
16950 3150 16950 2400 11925 2400 11925 3150 16950 3150
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
14775 3075 14775 2475 14325 2475 14325 3075 14775 3075
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
15300 3075 15300 2475 14850 2475 14850 3075 15300 3075
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
15825 3075 15825 2475 15375 2475 15375 3075 15825 3075
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
16350 3075 16350 2475 15900 2475 15900 3075 16350 3075
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
16875 3075 16875 2475 16425 2475 16425 3075 16875 3075
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
16950 3975 16950 3225 11925 3225 11925 3975 16950 3975
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
14775 3900 14775 3300 14325 3300 14325 3900 14775 3900
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
15300 3900 15300 3300 14850 3300 14850 3900 15300 3900
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
15825 3900 15825 3300 15375 3300 15375 3900 15825 3900
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
16350 3900 16350 3300 15900 3300 15900 3900 16350 3900
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
16875 3900 16875 3300 16425 3300 16425 3900 16875 3900
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
16950 2325 16950 1575 11925 1575 11925 2325 16950 2325
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
14775 2250 14775 1650 14325 1650 14325 2250 14775 2250
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
15300 2250 15300 1650 14850 1650 14850 2250 15300 2250
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
15825 2250 15825 1650 15375 1650 15375 2250 15825 2250
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
16350 2250 16350 1650 15900 1650 15900 2250 16350 2250
2 4 0 3 0 7 50 -1 -1 0.000 0 0 7 0 0 5
16875 2250 16875 1650 16425 1650 16425 2250 16875 2250
4 0 0 50 -1 0 25 0.0000 4 255 1755 6375 1275 Controller 0\001
4 0 0 50 -1 0 25 0.0000 4 255 1755 6375 2100 Controller 1\001
4 0 0 50 -1 0 25 0.0000 4 255 1755 6375 2925 Controller 2\001
4 0 0 50 -1 0 25 0.0000 4 255 1755 6375 3750 Controller 3\001
4 0 0 50 -1 0 25 0.0000 4 255 1755 12075 1275 Controller 0\001
4 0 0 50 -1 0 25 0.0000 4 255 1755 12075 2100 Controller 1\001
4 0 0 50 -1 0 25 0.0000 4 255 1755 12075 2925 Controller 2\001
4 0 0 50 -1 0 25 0.0000 4 255 1755 12075 3750 Controller 3\001
4 0 0 50 -1 0 25 0.0000 4 255 1530 6300 300 Detector 1\001
4 0 0 50 -1 0 25 0.0000 4 255 1530 12000 300 Detector 2\001

View File

@ -0,0 +1,246 @@
\section{Which detector settings should I choose?}
The choice of the operation settings is very important in order to obtain good quality data.
Normally the user can follow these rules:
\begin{enumerate}
\item If the X-ray energy is lower than 8~keV the \textit{High gain} setting should be used. Since it is a slow mode of operation it is necessary to take care that the maximum count rate is lower than 100~kcounts/s for all channels (use filters to reduce the beam intensisty).
\item For energies higher than 8~keV, the \textit{Standard} setting is normally fine if the count rate can be kept lower than 300~kcounts/s for all channels (use filters to reduce the beam intensisty).
\item In case a larger count rate is required in order to keep the acquisition time shorter, the \textit{Fast} setting must be selected. However the maximum count rate should never exceed 1~Mcounts/s for all channels.
\end{enumerate}
\subsection{MYTHEN}
\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{images/settings}
\end{center}
\caption{Plot indicating the reccomended choice of detector settings as a function of the X-ray energy and maximum count rate per channel..}\label{fig:settings}
\end{figure}
\section{How do I chose the comparator threshold?}
\begin{figure}[b!]
\begin{center}
\includegraphics[width=\textwidth]{images/thr_scan_expl}
\end{center}
\caption{Number of counts as a function of the threshold detected in an ideal case.}\label{fig:thrscan}
\end{figure}
\begin{figure}[t!]
\begin{center}
\includegraphics[width=\textwidth]{images/thr_scan_fluo}
\end{center}
\caption{Number of counts as a function of the threshold detected in presence of fluorescent radiation}\label{fig:thrscanfluo}
\end{figure}
Once selected the settings, the threshold should be selected.
Figure~\ref{fig:thrscan} shows the number of counts as a function of the threshold value in the ideal case of monoenergetix X-rays of energy $E_0$=10~keV.
For thresholds larger than the X-ray energy the detector should always count 0 and for lower thresholds it should always count all the photons. However the curve is smoothed around $E_0$ because of the electronic noise (ENC) and is not perfectly flat for lower energies because the photons absorbed in the region between two strips distribute their energy between them and it is not flully collected by a single channel (charge sharing).\\
In order to count once al X-rays the threshold should be set at half of the X-ray energy $E_t=E_0/2$: if the threshold would be higher some photons would not be counted, leading to a loss of efficiency, while if it would be lower some photons would be counted twice leading to a loss of spatial resolution.
Since the detector threshold can't be precisely set at the same value for all channels but there will always be some spread of the order of 200~eV (threshold dispersion) there will always be some fluctuations on the number of counts between channels, which however should be corrected by the flat field correction.
The choice of the threshold should also depend from considerations regarding the emission of fluorescent radiation from the sample.\\
Figure~\ref{fig:thrscanfluo} shows how the curve of the counts would look like for monochromatic X-rays of energy $E_0$ in presence of radiation of energy $E_f$ emitted by the sample. The curve would show a second step at $E_f$.
Since the fluorecence emission is not present in the flat field data, the difference of counts between the channels due to the fluorescent radiation cannot be corrected and the threshold $E_t$ should be set at an energy larger than $E_f$. This also helps to cut down the background.\\
The difference of counts between the channels will be particularly large if the threshold is set in some ``steep'' part of the curve i.e. close to $E_f$ or to $E_0$ (but in this case it would be corrected by the flat field, at cost of loss of efficiency).
Because of the presence of the electronic noise, $E_t$ should be at least 3~keV larger than $E_f$.
Here is a short list of rules to select the appropriate working threshold in order of importance (and eventually modify the X-ray energy):
\begin{enumerate}
\item List the fluorescent emission lines $E_f$ that you expect from your sample.
\item If there is no fluorescent emission ($E_f<E_0$) $E_t=E_0/2$
\item If there is fluorescent emission
\begin{enumerate}
\item $E_t>E_f+3$~keV
\item $E_t<E_0-3$~keV
\end{enumerate}
If the range where both requirements are satisfied is large, try to increase the distance of $E_t$ from $E_f$ up to 5~keV and then set $E_t$ as close as possible to the ideal value $E_t=E_0/2$
\item If it is not possible to satisfy the previous minimal requirements:
\begin{enumerate}
\item If you need high quality data and you can sacrifice detector efficiency (a lot!) $E_t>E_f+3$~keV
\item If you need fast measurments and you can sacrifice detector uniformity (difficult to say how much) and increase the background $E_t<E_f-3$~keV. Remember that $E_t$ is klimited by the electronic noise $E_t>4$~keV (3~keV for \textit{High gain} settings).
\item Consider to change $E_0$ to values lower than $E_f$ or at least 6-8~keV larger than $E_f$
\end{enumerate}
\end{enumerate}
\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{images/sample_with_fluorescence}
\end{center}
\caption{Example of data from a sample emitting fluorescent light and detector threshold set at a value close to the emission line. The background data cannot be properly flat field corrected.}\label{fig:samplefluo}
\end{figure}
\section{Why isn't my flat-field flat?}
The main reasons of a non flat flat-field can be:
\begin{itemize}
\item The scattering from the glass rod is not uniform over the angular range. In this case you should take the flat field dynamically i.e. scanning the detector in front of the cylinder with the small window, as we do at the SLS. In this case when you shift the detector, the shape of the illumination remains in the same angular position (and shifts in channel number). Of course it depends a lot on the energy and on the geometry of the flat field acquisition.
\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{images/bad_ff_col}
\end{center}
\caption{Example of a very bad flat field data set with highlights of some of the reasons which can cause the non-flat behavior.}\label{fig:badff}
\end{figure}
\item The entrance window for the X-rays is deformed (we also have this problem at the SLS). In this case when you move the detector the "mountain" moves with it in angle (And remains still in channel number). However this should correct without problems with the flat field correction, even in case of fluorescent emission. Should appear at all energies.
\begin{comment}
\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{images/ff_window}
\end{center}
\caption{Variations in the flat field due to a non unifor entrance window of the detector housing.}\label{fig:ffwin}
\end{figure}
\end{comment}
\item Differences of efficiency between the modules i.e. mainly bad energy calibration. You normally see really steps at the transition between modules. Sometimes you have some groups of strips withing a module that are not properly trimmed and look as smallish peaks or valleys in the flat field. When you move the detector, these steps or peaks move in angle and remain still in channel number.
These differences can slightly change as a function of the energy (probably more evident at lower energies) but should normally always be there for the same settings.
These differences get much worse in presence of fluorescent emission, but normally correct properly with flat field correction.
\end{itemize}
\begin{comment}
\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{images/ff_calibration}
\end{center}
\caption{Variations in the flat field due to a non precise energy calibration or trimming of the detector modules.}\label{fig:ffcal}
\end{figure}
\end{comment}
\subsection{Dynamic acquisition of the flat field}
\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{images/FFSetup}
\end{center}
\caption{Sketch of the experimental setup for a dynamic acquisition of the flat field.}\label{fig:ffsetup}
\end{figure}
\section{What happens when I trim the detector?}
General remarks about trimming.
\subsection{MYTHEN}
%\subsubsubsection{Trimming with noise} \label{sec:noisetrim}
\textbf{Trimming with noise} \label{sec:noisetrim}\\
The first step in the trimming procedure is to trim with noise (this is often sufficient). This has to be done for all the settings which are foreseen to be used (highgain, standard and fast).\\
The procedure for the noise trimming is as follows:
\begin{enumerate}
\item In the \textit{Initialization tab} click on the settings for which you want to trim (e.g. standard)
\item In the \textit{Initialization tab} click on the \textit{advanced} radio button to make the trimming accessible.
\item In the \textit{Acquisition tab} set the acquisition time to 100~ms, the repetion to 1 and the delay between frames to 0.
\item For noise trimming usually the default parameters $Vthreshold=7$, $Counts=500$, $Resolution=4$ work.\\
However, to verify the threshold setting it is best to make a threshold scan. To do this go to the \textit{Data} tab, in the Data display section select the 2D color and type advanced option. In the \textit{Acquisition} tab select your data directory. Set the number of positions to 0. Select Scan, Type threshold. Typical values for the range are 500 to 900 with a step size of 10. Then click on the start button to perform the threshold scan. After the threhold scan has finished an image similar to the one in~\ref{fig:thresholdscanuntrimmed} should be shown. Depending on the system the number of modules may vary. If the plot is similar to the one in~\ref{fig:thresholdscantrimmed} the noise trim files did already exist and have been loaded when selecting the settings. In this case you don't need to trim with noise again.\\
Set the parameter Vthreshold in the \textit{Trimming} box (\textit{Initialization tab}) 10-30 DAC units below the onset of the noise for the module with the lowest threshold offset. Since the modules have differences in the offset and gain the onset of the noise varies. \\
You can usually leave the remaining parameters unchanged (Counts/pixel=500; Resolution=4).
\item Select the directory where the noise trim files should be written and the filename, to wich will be attached the extension given by the module serial number (.snxxx). If you want the trimfiles to be loaded authomatically when the global settings are selected, select the default directory specified in the config file (or in the ``trimbits/beamline'' directory for the older software versions).
Click on \textit{Trim} to start the noise trimming process. After the trimming has finished look at the plot and the distribution of the trim bits. The distribution should be around 32$\pm$5 and should look gaussian. An example distribution is shown in figure~\ref{fig:trimdistribution} and an example plot in~\ref{fig:trimplot}. If the distribution is too much off center change the counts/pixel, if it is too narrow reduce the resolution (set it to 3), if it is too wide increase it (set it to 5). Make sure not too many channels have a trim value of 0 or 63.
\item Execute the treshold scan again to verify the trimming was done properly. A plot similar tho the one in figure~\ref{fig:thresholdscantrimmed} should appear.
\end{enumerate}
\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{images/noise_thresholdscanuntrimmed}
\end{center}
\caption{The untrimmed threshold scan.}\label{fig:thresholdscanuntrimmed}
\end{figure}
\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{images/trimbitdistribution}
\end{center}
\caption{The distribution of the trimbits.}\label{fig:trimdistribution}
\end{figure}
\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{images/trimbitplot}
\end{center}
\caption{The trimbits for all the channels.}\label{fig:trimplot}
\end{figure}
\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{images/noise_thresholdscantrimmed}
\end{center}
\caption{The trimmed threshold scan.}\label{fig:thresholdscantrimmed}
\end{figure}
\textbf{
%\subsubsubsection{
Improve the trimming using X-rays}\label{sec:improvetrimming}\\
The improvement of the trimming acquired with noise is not essential: at 12~keV an untrimmed module has a threshold dispersion which is about 1.4~keV and is already reduced to 200~eV at 12~keV by the noise trimming. At lower energies the noise trimming will be more effective, while the threshold dispesion will be still larger at higher energies. The trimming improvement reduces the threshold dispersion to 140~eV at 12~keV and is expected to be almost constant at all energies. For this reason it is suggested to perform the trimming improvement only when a small threshold dispersion is really important (e.g. to avoid flat field corrections or in presence of fluorescent lines close to the threshold value) and it will probably be not worthy at lower energies (i.e. threshold lower than 6~keV and X-ray energy lower than 12~keV).
The procedure for the trimming improvement is as follows:
\begin{enumerate}
\item Select the settings of the detector and load the noise trimming file
\item Set the threshold at half of the X-ray energy (better if the detector has already been calibrated in energy like explained in~\ref{sec:encal})
\item Illuminate the detector with a flat field. This is very important to obtain a good trimming.
\item Select the \textit{acquisition time} in the \textit{acquisition tab} so that there are at least 1000 counts/strip per frame (the more counts, the better trimming). Set the repetions to 1 and the delay between frames to 0.
\item Go to expert mode by clicking on \textit{advanced} in the \textit{initialization tab}, \textit{settings} box
\item In the trimming box select the directory where the noise trim files should be written and the filename, to wich will be attached the extension given by the module serial number (.snxxx).
\item Select the \textit{improve} method
\textit Start the trimming
\end{enumerate}
If the trimming is correctly performed and the illumination is flat enough, the same trimming can be used every time you will measure at this same energy.
The authomatic loading of energy-specific trim files is not yet implemented.
\section{In what consists the energy calibration of the detector?}\label{sec:encal}
General remarks about DAC to energy conversion
\subsection{MYTHEN}
Since the conversion between the threshold DAC units and energy depends on the gain and offset of the channels the energy calibration has to be done for all settings (high gain, standard and fast). For each setting follow this procedure:
\begin{itemize}
\item Select the setting in the \textit{Initialization} tab.
\item Enter in expert mode by clicking the \textit{Advanced} radiobutton in the \textit{Global settings} box in the \textit{Initialization} tab.
\item If the trimfiles are in the correct location and with the correct name, they should be loaded by default every time you select the corresponding settings in the \textit{global settings} box in the \textit{initialization} tab~\footnote{The default name of the calibrated trimfiles is \textsf{trimbits/beamline/}\textit{settings}\textsf{/noise.snxxx} where \textit{settings} is the chosen settings. You can change it in \textsf{src/qDetector.h} and then recompile the acquisition program as described in~\ref{sec:installation}.}.
If the trim files do not yet exist generate them as explained in section~\ref{sec:noisetrim}.
\item Execute a threshold scan of the detector with at least three different energies. The more monochromatic are the X-rays, the better the calibration will be (i.e. scattered X-rays are better than the fluorescent emission). \\
The scan should range from where all modules count 0 (estimate 850-20$\cdot$energy(keV) DAcu) and where all modules start having a lot of noise (usually 800 DACu) with a step of 1 or 2 DACu. The acquisition time should be chosen so that there are at least 1000 counts per strip on the plateau.
\item Open the file \textsf{root/CalAllModules.C} for editing. Change the value of the following global variables according to your needs:
\begin{itemize}
\item \textit{nmod} is the number of modules of your system.
\item \textit{nscan} is the number of different threshold scans you acquired.
\item \textit{en} is the array with the energies at which you acquired the scans, in keV.
\item \textit{een} is the array with the errors on the energies at which you acquired the scans, in keV. It is usually small, but can be some hundreds eV in case of dirty fluorescent samples.
\item \textit{fn} is the array containing the location and root file name of your data.
\item \textit{run} is the array containing the run index of your data.
\item \textit{startscan} is the array containing the threshold value at which you started the scans.
\item \textit{stopscan} is the array containing the threshold value at which you finished the scans.
\item \textit{stepscan} is the array containing the threshold step of the scans.
\item \textit{ave} is the array containing the average number of counts per strip on the plateau (it must not be too precise).
\item \textit{sn} is the array containing the list of the serial number of the modules to be calibrated. It is important that the list is in the right order, so that the optput calibration files have the extension .snxxx corresponding to the right module.
\item \textit{of} is the location and root file name of the calibration file. The directory should already exist and the extension .snxxx will be attached to the output file.
\end{itemize}
\item Launch \textsf{root}, which you should have already installed on your linux PC
\item Execute the following commands in order to load the macros needed for the calibration:
\begin{verbatim}
root$ .L root/NewMythenMacros.C++
root$ .L root/CalAllModules.C++
\end{verbatim}
You should get a lot of warnings, but no errors.
\item Execute the following command in order to run the calibration:
\begin{verbatim}
root$ EnCalModules()
root$
\end{verbatim}
Reading and analyzing the data takes some time, but, after a while, a canvas should open where the plots of the median of the counts of every module as a function of the threshold should be shown for each energy, fitted with a modified \textit{erf} function in order to find the inflextion point. The last plot of the canvas should represent the inflexion points as a function of the energies, and by fitting it with a straight line it is possible to calculate the offset and gain for each module i.e. calibrate it as a function of the energy. Please check that this automated fitting procedure succeeds. In case you see many fitting errors you should try to check wether the variable you edited in \textsf{root/CalAllModules.C} are all correct or try to edit the fitting procedures in the two root macro files (sorry!).
\item Copy the calibration file you obtained to \textsf{calibration}/\textit{settings}\textsf{.snxxx}~\footnote{The default name of the calibration file \textsf{calibration/}\textit{settings}\textsf{.snxxx} where \textit{settings} is the chosen settings. You can change it in \textsf{src/qDetector.h} and then recompile the acquisition program.} By doing this the correct threshold for each module will be calculated every time you change the \textit{threhsold energy} in the \textit{global settings} box in the \textit{initialization} tab, you have loaded some default settings and you are not in expert mode.
\end{itemize}
\section{Why should I change the dynamic range of the counters?}
\section{When should I enable rate correction}
\subsection{How can I choose the dead time?}

View File

@ -0,0 +1,398 @@
\section{Which programs can I use to control my detector?}
The complete software package is composed of several programs which can be installed (or locally compiled) depending on the needs:
\begin{itemize}
\item The \textbf{slsDetector shared and static libraries} which are necessary for all user interfaces. \\
The class slsDetectorUsers can be used as API from your acquisition software (see separate documentation).
\item The \textbf{command line interfaces (sls\_detector\_put, sls\_detector\_get, sls\_detector\_acquire, sls\_detector\_help)}, which are provided to communicate with the detectors using the command line and eventually to the data receiver
\item The \textbf{data receiver (slsReceiver)}, which can be run on a different machine, receives the data from the detector and interfaces to the control software via TCP/IP for defining e.g. the file name, output path and return status and progress of the acquisition
\item The \textbf{graphical user interface (slsDetectorGUI)} which provides a user friendly way of operating the detectors with online data preview
\item The \textbf{calibration wizards (energyCalibrationWizard, angularCalibrationWizard)} to analyze the data and produce the energy or angular calibration files
\end{itemize}
\section{How can I control many detectors in parallel or independently?}
For most users the detector will be composed by a single module. Therefore all configurations of the detector will refere to that single entity.
However, for some experiments it is necessary to concatenate the data from several detector controllers, and sometimes (e.g. MYTHEN) each controller can control many modules. This should be transparent to the user since most parameters will be identical for all controllers (e.g. exposure time, energy threshold etc.), except for the configurations specific to the controller (e.g. hardware configuration).\\
In principle it is possible to combine controllers of different type (e.g. MYTHEN, GOTTHARD, EIGER) but the user should then evaluate if it really makes sense to control such different systems in parallel.
In other cases, several SLS detectors will independently acquire data during the same experiment. In this case it will be necessary to be able to seperately control them.
The detectors can be controlled in parallel from several PCs (clients). However it is important the the configurations match on all of the them such that no conflict arise. Eventually a detector can be locked to a specific control PC, still different users interfaces (command line, GUI) can be used in parallel.
A sketch of a possible complex detector configuration is shown in figure~\ref{fig:multidet}
%\section{Detector indexes}
For this reason and index is assigned to each detector. If a single detector is used, as in most cases, the index will be omitted and defaults to 0.\\
To control the other detectors the index cannot be omitted!\\
An index will also be assigned to each controller within a detector. However the user normally will not need to address single controllers, except for the most advanced settings which can be left to configuration files.\\
Finally each module within a controller has an internal index. However in general it is not required that the user is aware of the system architecture and, if needed (rarely), the modules can simply be addressed sequentially starting from controller 0.
\begin{figure}
\caption{Scketch of a possible complex system architecture composed of several detector, each consisting in many controllers eventually controlling several modules.}\label{fig:multidet}
\includegraphics[width=\textwidth]{multi_detector}
\end{figure}
\subsection{Examples}
For MYTHEN, if one needs to control 6 modules, the system can either be composed by and MCS6 with 6 modules (1 detector, 1 controller, 6 modules), or by 6 MCS1 (1 detector, 6 controller, 1 module each). After apppropriate configuration of the system, the interface to the user will be the same for both systems.
For GOTTHARD, one module corresponds to one controller. A detector will have the smae number of controllers and modules.
For EIGER, one module consists in two controllers. Fo a multi-module system, the number of controllers will increase accordingly, but should be left to a configuration file.
You will need to configure more than one detector, only in case you want to operate several detectors independently.
\section{How can I configure the data receiver?}
For slower acquisitions, the detector will return the data to the control PC over TCP/IP (e.g. MYTHEN).
However, for faster frame rates (e.g. GOTTHARD, EIGER) the controllers will return the data to a data receiver i.e. a process specifically designed to receive the data from the controller over a GBit network and save them to disk. \\
The data receiver can run on any machine (e.g. a file server) accessible by both the control PC and the detector controller, as sketched in figure~\ref{fig:datareceiver}. A data receiver process must be configured for each controller. Normally, to avoid performance loss it is better if different data receivers run on different machines.
\begin{figure}
\caption{Scketch of the communication between the control PC, the detector and the data receiver.}\label{fig:datareceiver}
\includegraphics[width=\textwidth]{data_receiver}
\end{figure}
To setup the system, you should configure:
\begin{description}
\item[Client-Detector TCP/IP connection] i.e. for each controller hostname or IP address (\textit{hostname}) and communication port (\textit{port}, use default).
\item[Client-Receiver TCP/IP connection] i.e. hostname or IP address of the data receiver (\textit{rx\_hostname}) and communication port (textit{rx\_tcpport}, use default).
\item[Detector-Receiver UDP connection] i.e. for each controller IP address of the receiver network interface (\textit{rx\_udpip}) and communication port (\textit{rx\_udpport}) used for receiveing the data. By detfault the IP address of the TCP/IP receiver interface will be used also for the UDP conenction. Editing the UDP network interfaces and ports is useful if several controller are sending data to a single receiver (not reccomended to avoid performance loss).\\
A MAC (\textit{detectormac}) and IP address (\textit{detectorudpip}) should also be assigned to the controller network interface used for the UDP communication, but the default values can normally be used unless firewalls are defined between the detectors and the receiver.
\end{description}
All these configurations are normally left to the configuration file and should not be changed dynamically by the user.
After starting the data receiver process and correctly configuring the client and the detector, this architecture should be completely transparent for the user, except that the output file path must be properly configured from the client for the data receiver machine (easiest is that the disk is mounted for both machines in the same location).\\
The client will take care of communicating with the data receiver and the detector. A feedback about the progress of the acquisition and a preview of the data being acquired can also be obtained by the client from the data receiver.
\section{What are settings and calibration files for?} \label{sec:trimdir}
The analog characteristics of the detector have to be initialized in order to define the noise and the dynamic range which need to be used for the measurements. These parameters have a different meaning for analog or digital detectors, but in both cases some predefined voltage levels and current (we call them \textit{settings}) must be laoded to the detector. Moreover, there are some parameters that are custom to single detectors or modules (e.g. the trimbits). All these settings are stored in some settings file, which are organized in a \textit{settingsdir} with a definite architecture, where the software will look for the files to load to the detector whaen changing its settings.
In addition to that, in a single photon counting detector the threshold is set as a voltage level for the comparator, but for the user it is useful to have a direct conversion to the energy level. For this, after a proper calibration of the detector (see specific documentation) calibration file are generated in order to convert threshold in volts to keV. Also in this case the directory \textit{caldir} where the calibration files are stored must be defined ad organized with a proper architecture, suche that the software can find the calibration coefficients for settings the threshold.\\
Normally \textit{settingsdir} and \textit{caldir} can be the same, but have been left separate for flexibility.
The \textit{settingsdir} and \textit{caldir} should be properly configured for your detector either in a configuration file (for use with text clients, GUI or API) or dynamically (works only for the text clients).
In the following, the architecture of the \textit{settingsdir} and \textit{caldir} is described for the different detectors.
\subsection{MYTHEN}
For mythen, an example of \textit{settingsdir} and \textit{caldir} is given in the software package by the directory \verb=trimdir=.
Since these directories are customized by producing trimbit files and calibration for each detector, make sure not to overwrite yours every time you upgrade the software.
\textit{settingsdir} should contain three subdirectories \verb=standard=, \verb=fast= and \verb=highgain= containing respectively the trimfiles \verb=standard.trim=, \verb=fast.trim= and \verb=highgain.trim= which contain the correct voltage settings for the detector although all the individual channel thresholds set to 0. The original files contained in the package should be used, infact in case of error the detector would not recognize the correct settings.\\
The default trimbit files for each file will be stored in the directory according to the settings with the name \verb=noise.snxxx= where \verb=xxx= is the module serial number.\\
\textit{caldir} should contain three subdirectories \verb=standard=, \verb=fast= and \verb=highgain= containing respectively the trimfiles \verb=standard.cal=, \verb=fast.cal= and \verb=highgain.cal= which contain an average calibration of the modules for the diffrent settings. However this can different from the correct one for each individual module even of several kev and therefore it is very important to perform an energy calibration on a module basis.\\
The default calibration files for each file will be stored in the directory according to the settings with the name \verb=calibration.snxxx= where \verb=xxx= is the module serial number.
\subsection{GOTTHARD}
A \textit{settingsdir} should be configured, as the directory \verb=settings= in this software package.\\
It must contain the subdirectories \verb=dynamicgain=, \verb=gain1=, \verb=gain2=, \verb=gain3=, \verb=highgain=, \verb=lowgain=, \verb=mediumgain=, and \verb=veryhighgain= in order to properly configure the GOTTHARD detector using the various gain settings.
\section{How should a configuration file look like?}
A configuration file is a list of command necessary to properly configure your detector systems, with default valuee for some parameters and other settings that the users should normally not change dinamically.
For this reason most of the commands present in the configuration file cannot be modified when using the API.\\
The syntax of the configuration file is exactly the same as in the comman line interface, therefore you can refere to that documentation to edit the files.\\
The configuration files look different for the different detector types. Examples of configuration files can be found in the examples directory.
\section{What is the meaning of the file name?}
The final file name will be: \\
\textit{outdir/prefix}\verb=[_d=$d$\verb=][_S=\textit{v0}\verb=][_s=\textit{v1}\verb=][_p=\textit{p}\verb=][_f=\textit{f}\verb=]_=\textit{i}\verb=.=\textit{ext}\\
where: \\
\textit{outdir} is the output directory path;\\
\textit{prefix} is the chosen prefix for the file name;\\
\textit{d} is the detector index, in case of data receiver and more than one detector;\\
\textit{v0} is the scan0 variable with the desired precision, if scan0 is enabled;\\
\textit{v1} is the scan1 variable with the desired precision, if scan1 is enabled;\\
\textit{p} is the position index, if different positions are configured;\\
\textit{f} is the frame index of the first frame stored in the file, if many frames and cycles are configured;\\
\textit{i} is the file index;\\
\textit{ext} is the file extension e.g. \textit{.raw} for MYTHEN raw data, \textit{.dat} for MYTHEN processed data.
\section{Which is the sequence of the acquisition flow?}
The software gives the possibility to setup several loops, actions and scan utilities which are then handled during the acquisition.
The software will also take care to generate the file names and increment the indexes accordingly.\\
Figure~\ref{eq:acqflow} shows in which sequence the various scripts and loops are executed when calling the acquire command. The loops are drawn using the $\Updownarrow$ symbol, while the scripts using the $\Rightarrow$.
\begin{displaymath} \label{eq:acqflow}
%%%%%%%%%%%%%%%%%%%%%8
\textrm{\textbf{MEASUREMENTS}} \\
\left\Updownarrow \,
\begin{array}{l} \\
% \textrm{Measurement loop} \\
% \\
%%%%%%%%%%%%%%%%%%%%%7
% \left[
% \,
\begin{array}{l} %\\
\Rightarrow \, \textrm{Start script} \\
\\
%%%%%%%%%%%%%%%%%%%%%6
\textrm{\textbf{SCAN0}}
\left\Updownarrow
\,
\begin{array}{l} \\
\Rightarrow \, \textrm{Scan0 script} \\
% \textrm{Scan 0 level} \\
\\
%%%%%%%%%%%%%%%%%%%%%5
\textrm{\textbf{SCAN1}} \left\Updownarrow
\,
\begin{array}{l} \\
% \textrm{Scan 1 level} \\
% \\
%%%%%%%%%%%%%%%%%%%%%4
% \left[
% \,
\begin{array}{l} %\\
\Rightarrow \, \textrm{Scan1 script} \\
\Rightarrow \, \textrm{Script before} \\
\\
%%%%%%%%%%%%%%%%%%%%%3
% \left\Updownarrow \,
\begin{array}{l} \\
\textrm{\textbf{POSITIONS}} \left\Updownarrow \,
%%%%%%%%%%%%%%%%%%%%%2
\begin{array}{l} \\
\Rightarrow \, \textrm{Header before script} \\
\\
%%%%%%%%%%%%%%%%%%%%%1
\textrm{\textbf{CYCLES}} \left\Updownarrow \,
\begin{array}{l} \\
\\
%%%%%%%%%%%%%%%%%%%%%0
\textrm{\textbf{FRAMES}} \left\Updownarrow \right. \\
\\
%%%%%%%%%%%%%%%%%%%%%%%%%%0
\\
\end{array}
\right. \\
\\
%%%%%%%%%%%%%%%%%%%%%%%%%%1
\Rightarrow \, \textrm{Header after script}\\
\\
\end{array}
\right. \\
%%%%%%%%%%%%%%%%%%%%%%%%%%2
\\
\\
\\
\end{array}
% \right. I see the digitest works fine, and this is good news.
\\
% \\
%%%%%%%%%%%%%%%%%%%%%%%%%%3
\Rightarrow \, \textrm{Script after} \\
%\\
\end{array}
% \right. \\
\\
%%%%%%%%%%%%%%%%%%%%%%%%%%4
\\
\end{array}
\right. \\
\\
\\
%%%%%%%%%%%%%%%%%%%%%%%%5
\\
\end{array}
\right. \\
\\
%%%%%%%%%%%%%%%%%%%%%%%%6
\Rightarrow \, \textrm{Stop script} \\
\\
\end{array}
% \right. \\
% \\
%%%%%%%%%%%%%%%%%%%%%%%%7
\\
\end{array}
\right.
%%%%%%%%%%%%%%%%%%%%%%%%8
\end{displaymath}
If you prefere to handle the acquisition from your acquisition enviroment, simply leave al scripts and scans disabled and call the acquition from your acquisition enviroment. \\
Only the frames and cycles loops are defined in firmware and guarantee a precise timing of the acquisition which cannot replaced by any other method (you can synchronize to your beamline by hardware connection of the IO signals as described in~\ref{sec:timing}).
Hereafter a description of the meaning of the various loops:
\begin{description}
\item[Measurement loop] executes offline several times the entire sequence of the acquisition. At the end of each measurement the \textit{file index} is incremented.
\item[Scan 0 loop]
is a high level scan loop which can be used e.g to loop on an enviroment variable (temperature, humidity...) or even to change sample.\\
The list of steps or range of the \textit{scan0 variable} must be set as scan0steps or scan0range. For small steps of the scan variable, avoid overwriting of the files specifying all the necessary digits in the filename by properly setting the precision with scan0prec.
\item[Scan 1 loop]
is a low level scan loop which can be used e.g to loop on an enviroment variable (temperature, humidity...) or to move the sample in case of radiation damage.\\
The list of steps or range of the \textit{scan1 variable} must be set as scan1steps or scan1range. For small steps of the scan variable, avoid overwriting of the files specifying all the necessary digits in the filename by properly setting the precision with scan1prec.
\item[Position loop]
The detector is moved in the angular positions specified by the positions command.\\
The command for moving the detector should be defined as described in~\ref{sec:usersFunc}.\\
All data acquired during a position loop will be merged together, unless the number of positions is set to 0. In this case single frames will be converted to angle without merging.\\
Avoid using the position loop together with many frames/cycles.
\item[Cycles loop] is executed in real time and defines e.g. the number of triggers that will be accepted. The total number of images will be given by frames times cycles.
\item[Frames loop] is executed in real time and defines e.g. the images acquired per trigger. The total number of images will be given by frames times cycles.
\end{description}
Executing a script simply consists in a system call with the arguments specified below. The various scripts are executed only if they are enabled and different than \textit{none}. \\
The scripts must be executable and the capability of parsing the arguments passed by the acquition program is left to the user writing the scripts. some example scripts writte in awk can be found in the examples directory.\\
Hereafter a short description of how the scripts are called and with which options:
\begin{description}
\item[Start script]
is executed at the very beginning of the measurement and can be used e.g. to initialize all the devices needed for the acquisition or open the beamline valves. The script is executed as:\\
script nrun=i par=p\\
where i is the \textit{file index} and p is the \textit{start script parameter}.
\item[Scan0 script]
There are a few predefined scan modes i.e. \textit{threshold} changing the detector threshold in DAC units, \textit{energy} chaning the calibrated detector threshold in eV, \textit{trimbits} chaning the trimbits of the detector (advanced: do not use) and \textit{position} changing the detector position (if the motor movement is correctly setup as described in~\ref{sec:usersFunc}). Otherwise the scan0script is executed as:\\
script nrun=i fn=fn var=v par=p\\
where i is the \textit{file index}, fn is the \textit{file name}, v is the value of the \textit{scan0 variable} at the present step of the scan0 loop and p is the \textit{scan 0 script parameter}.
\item[Scan1 script]
There are a few predefined scan modes i.e. \textit{threshold} changing the detector threshold in DAC units, \textit{energy} chaning the calibrated detector threshold in eV, \textit{trimbits} chaning the trimbits of the detector (advanced: do not use) and \textit{position} changing the detector position (if the motor movement is correctly setup as described in~\ref{sec:usersFunc}). Otherwise the scan1script is executed as:\\
script nrun=i fn=fn var=v par=p\\
where i is the \textit{file index}, fn is the \textit{file name}, v is the value of the \textit{scan1 variable} at the present step of the scan1 loop and p is the \textit{scan 1 script parameter}.
\item[Script before]
is called just before the beginning of the data taking and can be used e.g. to open the shutter.
The script is executed as:\\
script nrun=i fn=fn par=p sv0=v0 sv1=v1 p0=p0 p1=p1 \\
where i is the \textit{file index}, fn is the \textit{file name}, p is the \textit{script before parameter}, v0 and v1 are the values of the \textit{scan0 and scan1 variables} at the present step of the scan loops and p0 and p1 are the \textit{scan0 and scan1 script parameters}.
\item[Header before script]
is called before every step of the data taking (i.e. for each position, but at the beginning of the frames train if several acquisition have been programmed in real time) and can e.g. be used to dump the exact settings of the detector and beamline to reproduce or analyze the data offline.
The script is executed as:\\
script nrun=i fn=fn par=p\\
where i is the \textit{file index}, fn is the \textit{file name}, and p is the \textit{header before parameter}.
\item[Header after script]
is called after every step of the data taking (i.e. for each position, but at the end of the frames train if several acquisition have been programmed in real time) and can e.g. be used to dump the exact settings of the detector and beamline to reproduce or analyze the data offline.
The script is executed as:\\
script nrun=i fn=fn par=p\\
where i is the \textit{file index}, fn is the \textit{file name}, and p is the \textit{header after parameter}.
\item[Script after]
is called just after the end of the data taking and can be used e.g. to close the shutter.
The script is executed as:\\
script nrun=i fn=fn par=p sv0=v0 sv1=v1 p0=p0 p1=p1 \\
where i is the \textit{file index}, fn is the \textit{file name}, p is the \textit{script after parameter}, v0 and v1 are the values of the \textit{scan0 and scan1 variables} at the present step of the scan loops and p0 and p1 are the \textit{scan0 and scan1 script parameters}.
\item[Stop script]
is executed at the very end of the measurement and can be used e.g. to switch off all devices. The script is executed as:\\
script nrun=i par=p\\
where i si the \textit{file index} and p is the \textit{stop script parameter}.
\end{description}
\section{How can I synchronize my detector with the experiment?}\label{sec:timing}
The timing of the detector is always defined by an active detection time followed by a dead time during which the detector is read out. This read out time as a fixed duration depending on the detector type and its configuration (e.g. dynamic range) which limits the maximum frame rate achievable.\\
In the following is a list of the main parameters involved in the acquisition timing:
\begin{description}
\item[Exposure time] is the time during which the detector is detecting X-rays for each image (ignored is the timing mode is \textit{gating}).
\item[Period] is the period of the images acquired. If it is shorter than the exposure time plus readout time, it will be ignored.
\item[Delay after trigger] can be set as a delay between the trigger signal and the start of the detection time.
\item[Number of gates] is used only in \textit{gating} mode and is the number of times that the gate is toggled before the detector is read out. Useful for stroboscopic measurements with gate period shorter than the minim acquisition period of the detector, otherwise can be left to 1.
\item[Number of frames] is the number of images to be acquired per cycle. Frames and cycles have the same meaning except in trigger mode, when frames means the number of images per trigger. The total number of images is frames time cycles.
\item[Number of cycles] is the number of times that the frames are acquired. Frames and cycles have the same meaning except in trigger mode, when cycles means the number of triggers that will be accepted. The total number of images is frames time cycles.
\item[Number of probes] is used in stoboscopic measurements when the period is longer than the minimum acquisition period, but shorter than the frame rate.\\
In this case the data can be summed in firmware. \\
Currently it is implemented for Mythen only. If probes is set to 0, works normallyreturning an image for each readout, otherwise set number of cycles to 1. The maximum number of probes that can be set is 3. The detector will return a number of image equal to the number of probes, where all frames are going to be accumulated. The total number of readouts is number of frames time probes and for probes=1 the detector will return one image where all frames have been summed, for probes=2 two images where every second frame has been summed (each image accumulates the number of frames), for probes=3 three images where every third image has been summed (each image accumulates the number of frames).\\
The returned images will always have 32~bit dynamic range, while the dynamic range if the detector defines the bit depth of the counters in rder to limit the readout time, if necessary.\\
The probes counter waorks also in trigger and gating modes.
\end{description}
\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{images/normal_acquisition.eps}
\end{center}
\caption{Auto timing: the detection time is defined by the exposure time and the period by period (if longer than exposure time plus readout time). The total number of images is frames (in the example 3) times cycles (in the example 2), and in this case there is no difference between the acquisition of the two.}\label{fig:autotiming}
\end{figure}
\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{images/gated_acquisition.eps}
\end{center}
\caption{Gating mode: the detector acquires for a number of gates define by the user (in this case 4) before being read out, independently on the timing of the gates. The detector remains insensitive during the readout time and then starts being active again. External gates given during the readout time are ignored. The total number of images is frames (in the example 3) times cycles (in the example 2), and in this case there is no difference between the acquisition of the two. The polarity of the external gate signal can be defined by the user through the \textit{external signal flag} (in the example active high).}\label{fig:gating}
\end{figure}
\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{images/trigger_acquisition.eps}
\end{center}
\caption{Trigger mode: the external trigger signal defines the start of the beginning of the acquisition, which starts after the delay set by the user. For each trigger, the number of frames is acquired (in the example 3) and all trigger signals ignored. The number of trigger accepted is given by the number of cycles (in the example 2). The polarity of the external trigger signal can be defined by the user through the \textit{external signal flag} (in the example rising edge).}\label{fig:trig}
\end{figure}
\begin{figure}
\begin{center}
\includegraphics[width=\textwidth]{images/ro_trigger_acquisition.eps}
\end{center}
\caption{Read Out Trigger mode: the external trigger signal defines the beginning of the readout. The exposure time works as a time out for the waiting time for the trigger signal. The number of trigger accepted is given by the number of cycles (in the example 3) and it does not make sense to program more than one frame. The polarity of the external trigger signal can be defined by the user through the \textit{external signal flag} (in the example rising edge).}\label{fig:trig}
\end{figure}
\section{How can several controllers be synchronized?} \label{sec:sync}
If you are not performing time resolved measurements, you will probably not need any synchronization of the controllers: they will be started sequentially by the software and their acquisition will have a jitter of a few ms. \\
In the case you need a precise synchronization, on the other hand, hardware connection is required between the controllers through the external IO signals. The external signals used for this synchronization should be configured as \textit{sync} with the \textit{extsig} command. \\
In this case a \textit{master} controller should be defined for the acquisition which will the send the synchronization signal to the other controllers, while the other controllers will use them as inputs.\\
The type of synchronization can be\textit{gating} or \textit{trigger} depending if the synchronization signal will gate the slave detectors or trigegr the beginning of the acquisition. There are no particular reasons to chose one or the other method, except if the user finds out that one is more stable than the other.\\
Normally the configuration of the synchronization is configured inside the configuration file and should not be changed dynamically by the user.\\
After the configuration, the synchronization of the controllers will be completely transparent for the user, who will simply have to setup the timing parameters of the detector as a whole.
\section{How can the detector movement and position and I0 readout be customized for my beamline?} \label{sec:usersFunc}
The easiest way to allow the software to perform all the necessary normalization and angular conversion steps, is enable it to move your detector and read the encoder position and the value of the ionization chamber.\\
These functions are defines as callbacks and can be redifined by registering your own functions. This is normally a good method if you use the API or are willing to write your main client program.\\
Otherwise the simpleast way is to edit the file\\
\verb=slsDetectorSoftware/usersFunctions/usersFunctions.cpp= \\
where the default functions performing these actions are implemented and modify them to interface with your beamline hardware. The functions are written in C and are very simple to implement for anyone with some programming knowledge.\\
A simple high-level solution in case you need to maintain the software for several beamlines and don't want to recompile for all of them is to call external scripts.

View File

@ -0,0 +1,522 @@
\documentclass{report}
\usepackage{amssymb}
\usepackage[dvips]{graphicx}
\usepackage{verbatim}
\begin{document}
\title{Mythen v3.0 manual}
\date{\today}
\maketitle
\chapter{Installation and upgrades}
The new MYTHEN software is intended to control the MCS mythen boards either by using a command line interface (text client) or by using with a graphical user interface (GUI).
Here you can find in brief the main things you need to know in order to start working with your detector.
\section{The software package}
The actual software for the Mythen II system (MCS1 to MCS24) runs on 32~bit Scientific Linux machines (SLC5 tested, gcc 4.1.2 but it should not be critical).
The complete software package is composed of several programs which can be instaleld (or locally compiled) depending on the needs:
\begin{itemize}
\item The \textbf{slsDetector shared and static libraries} which are necessary for all user interfaces and can be simply used for implementig custom detector drivers;
\item The \textbf{command line interface (slsDetectorClient) sls\_detector\_put, sls\_detector\_get, sls\_detector\_acquire} which is provided to communicate with the detectors;
\item A \textbf{virtual server mythenServer} which can be used to simulate the behavior of the detector for what concerns the communication in case the detector is not online or is in use.
\end{itemize}
\section{Requirements}
For installing the slsDetector shared and static libraries and the slsDetectorClient software, any Linux installation with a working gcc should be fine.\\
\begin{comment}
For installing the TSlsDetector shared and static libraries and the mythenGUI, working installations of Qt and Root should be present on the PC.\\
A Qt version equal or higher to 3.3 (but lower than Qt4) should be installed on the PC. It can be downloaded from \\
\verb|http://www.trolltech.com/developer/downloads/qt/index| and the enviroment variable \verb|QTDIR| should be set to its path.
Qt should be compiled with the options \verb|-thread -no-xft -qt-gif -no-exceptions| (check in \textsf{\$QTDIR/config.status}). this is normally the default on SLC machines.
Also a \textsf{root} version higher than 5.15 but lower than 5.22 \textbf{with Qt support enabled} should be installed (the binaries can be downloaded from \verb|http://root.cern.ch| or compile with the option \verb|--enable-qt|) and the system variable \verb|ROOTSYS| should be set to its path. \\
Remember to check the in file \$ROOTSYS/etc/system.rootrc or in your own custom .rootrc the following options are correctly defined:
\begin{verbatim}
# GUI specific settings
Gui.Backend: qt
Gui.Factory: qt
\end{verbatim}
Further details can be found in the root user's manual at \verb|http://root.cern.ch/root/doc/RootDoc.html| in chapter 1 (Introduction), 26 (ROOT/Qt integration interfaces) and 28 (Install and Build ROOT).\\
\verb|ROOTSYS|/bin and \verb|QTDIR|/bin should be added to the \verb|PATH|;\\
\verb|ROOTSYS|/lib and \verb|QTDIR|/lib should be added to the \verb|LD_LIBRARY_PATH|~\footnote{In some linux installation there might be configuration scripts e.g in the directory \texttt{/etc/profile.d/} and \texttt{/etc/ld.so.conf.d/} overwriting this variables, so check that the installations correspond. If you have already used other Qt or Root versions, it might be that the old libraries are loaded in cache. To delete the chache, remove the file \texttt{/etc/ld.so.cache} and run \texttt{.....} this is always a problem!!!!}.\\
As an example, we suggest to add the following lines to your \verb|.bashrc| or \verb|.profile| file (changing \verb|QTDIR| and \verb|ROOTSYS| accordingly):
\begin{verbatim}
export ROOTSYS=/local/root
export QTDIR=/local/qt
export PATH=$QTDIR/bin:$ROOTSYS/bin::$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$ROOTSYS/lib:$LD_LIBRARY_PATH
export MANPATH=$QTDIR/doc/man/usr/local/man:$MANPATH
\end{verbatim}
\end{comment}
\section{Compilation}
If you simply want to install the software in the working directory you can:
\begin{itemize}
\item \verb=make lib= compile slsDetector library
%\item \verb=make tlib= compile Root/Qt TSlsDetector library
\item \verb=make slsDetectorClient= compile slsDetectorClient package
%\item \verb=make mythenGUI= compile mythenGUI
%\item \verb=make all= compile slsDetector and TSlsDetector libraries, the mythenClient package and the mythenGUI
\item \verb=make all= compile slsDetector libraries, the slsDetectorClient package
\item \verb=make clean= remove object files and executables
\item \verb=make help= lists possible targets
\end{itemize}
To be able to run the slsDetectorClient commands, add their location to your path.
\section{Building}
To install the software you should first configure some enviroment variables by executing:
\begin{verbatim}
> source configure
\end{verbatim}
(NOT \verb=>./configure= otherwise the enviroment variables will not be available for the \verb=make= command).
This allows you to configure:
\begin{itemize}
%\item \textbf{QTDIR} i.e. the Qt installation directory. Ignore if you don't want to install the GUI, otherwise it should be defined in your \verb=.bashrc= and added to \verb=PATH= and \verb=LD_LIBRARY_PATH=
%\item \textbf{ROOTSYS} i.e. the Root installation directory. Ignore if you don't want to install the GUI, otherwise it should be defined in your \verb=.bashrc= and added to \verb=PATH= and \verb=LD_LIBRARY_PATH=
\item \textbf{INSTALLROOT} Directory where you want to install the software. Defaults to /usr/local/
\item \textbf{BINDIR} Directory where you want to install the binaries. Defaults to bin/
\item \textbf{INCDIR} Directory where you want to pute the header files. Defaults to include/slsdetector/
\item \textbf{LIBDIR} Directory where you want to install the libraries. Defaults to lib/
\item \textbf{DOCDIR} Directory where you want to copy the documentation. Defaults to share/doc/
\end{itemize}
To build you can:
\begin{itemize}
\item \verb=make install_lib= install detector library and include files"
%\item \verb=make install_tlib= install detector Root/Qt library and include files"
\item \verb=make install_client= install slsDetectorClient
%\item \verb=make install_gui= install mythenGUI
%\item \verb=make install= install library, include files, mythenClient and mythenGUI"
\item \verb=make install= install library, include files and mythenClient''
\item \verb=make install_libdoc= install library documentation
\item \verb=make install_clientdoc= install mythenClient documentation
%\item \verb=make install_guidoc= install mythenGUI documentation
\item \verb=make install_doc= install all documentation
\item \verb=make help= lists possible targets
\end{itemize}
\section{Detector upgrade}
The upgrade of the detector consists in both the upgrade of the communication software and of the firmware.\\
To upgrade the firmware you need either a working version of the Altera Quartus software or of the Quartus programmer, which can easly be downloade from \\
\verb=https://www.altera.com/download/programming/quartus2/pq2-index.jsp= \\
Normally installation of the software and of the driver for the USB-Blaster (provided together with the MYTHEN detector) are simpler under Windows.\\
Under Windows, the first time that you connect the USB-Blasterto one of your USB ports, you will be asked to install new hardware. Set the path to search
for the driver to: \verb=C:\altera\80sp1\qprogrammer\drivers\usb-blasterp= (where \verb=C:\altera\80sp1\qprogrammer\= is assumed to be ther path where your Quartus version is installed).\\
\begin{enumerate}
\item After starting the Quartus programmer, click on Hardware Setup and in the "Currently selected hardware" window select USB-Blaster.
\item In the Mode combo box select "Active Serial Programming".
\item Plug the end of your USB-Blaster WITH THE ADAPTER PROVIDED in the connector ASMI on the MCS board taking care that pin1 corresponds to the one indexed and with the rectangualr pad.
\item Click on add file and from select the programming file provided when the upgrade has been reccomended.
\item Check "Program/Configure" and "Verify".
\item Push the start button and wait until the programming process is finished (progress bar top left).
\item In case the programmer gives you error messages, check the polarity of your cable (pin1 corresponds) and that you have selected the correct programming connector.
\end{enumerate}
To upgrade the software on the detector board transfer the provided software by ftp to the MCS:
\begin{verbatim}
ftp mymcs.mydomain.com
username: root
password: pass
cd /mnt/flash/root
put mythenDetectorServer
quit
\end{verbatim}
If the /mnt/flash/root directory does not exist, create it before the transfer by telnetting to the MCS.\\
After pressing reset on the board, the board should reboot.\\
If the program does not correctly start either check by using the http interface that it is started by the inittab (check that the file \verb=/mnt/etc/inittab= ends with the line \verb=myid2:3:once:/mnt/flash/root/mythenDetectorServer= ). \\
Otherwise make the program executable by telnetting to the MCS and executing:
\verb=chmod a+xrw /mnt/flash/root/mythenDetectorServer=\\
After pressing reset on the board, the board should reboot and the acqusition program correctly start.
\section{The trimbits and calibration files} \label{sec:trimdir}
In order to be able to properly operate your detector you need a directory where the trimbit files (needed to set the detector settings and eventually equalize the individual channel thresholds) which in the following will be named \textit{trimdir} and a directory where the calibration files (needed to convert the threshold energy in DAC units) are stored which in the following will be named \textit{caldir}.
\textit{trimdir} and \textit{caldir} can even be the same directory, and an example of it is given in the software package by the example directory \verb=trimbits=. \\
Since these directories are customized by producing trimbit files and calibration for each detector, make sure not to overwrite yours every time you upgrade the software.
\textit{trimdir} should contain three subdirectories \verb=standard=, \verb=fast= and \verb=highgain= containing respectively the trimfiles \verb=standard.trim=, \verb=fast.trim= and \verb=highgain.trim= which contain the correct voltage settings for the detector although all the individual channel thresholds set to 0. The original files contained in the package should be used, infact in case of error the detector would not recognize the correct settings.\\
The default trimbit files for each file will be stored in the directory according to the settings with the name \verb=noise.snxxx= where \verb=xxx= is the module serial number.\\
\textit{caldir} should contain three subdirectories \verb=standard=, \verb=fast= and \verb=highgain= containing respectively the trimfiles \verb=standard.cal=, \verb=fast.cal= and \verb=highgain.cal= which contain an average calibration of the modules for the diffrent settings. However this can different from the correct one for each individual module even of several kev and therefore it is very important to perform an energy calibration on a module basis (see section~\ref{sec:encal}).\\
The default calibration files for each file will be stored in the directory according to the settings with the name \verb=calibration.snxxx= where \verb=xxx= is the module serial number.
\chapter{slsDetectorClient}
\section{Introduction}
This program is intended to control the MYTHEN detectors via command line interface.
To get all the possibilities of usage simply type:
\begin{description}
\item[sls\_detector\_acquire] to readout the detector at full speed
\item[sls\_detector\_put] to set detector parameters
\item[sls\_detector\_get] to retrieve detector parameters
\end{description}
There are different ways for communicationg with your detector(s).
\begin{itemize}
\item[multiDetector] is represented by a group of controllers which operate symultaneously with the same parameters. You can define several multiDetector systems and int this case you address them using different indexes. In this case the syntax will be \verb=sls\_detector\_cmd i-= where cmd can be acquire, put, get and i is the index of the multiDetector entity (if omitted defaults to 0 - standard usage). Normally it is handy to use the multiDetector structure also in case of single detectors. However in some cases one cannot avoid using the slsDetector structure for detailed configuration (e.g. meaning of external signals or other flags)
\item[slsDetector] is represented by a single controller. You can define several multiDetector systems and int this case you address them using different indexes. In this case the syntax will be \verb=sls\_detector\_cmd i:= where cmd can be acquire, put, get and i is the index of the slsDetector entity, which cannot be omitted. When creating the multiDetector structure, the indexes are automatically assigned to the detectors contained in it. You can retrieve the indexes relative to the slsDetector using: \verb=sls\_detector\_get hostname:pos, sls\_detector\_get id:pos= whic will return the hostname in position pos of your multiDetector structure (pos=0 in case of single detectors) and its index.
\end{itemize}
\section{Acquisition}
mythen\_acquire [id[-/:]]
the detector is started and the data are acquired, postprocessed and written to file according to the configuration
\section{Detector setup}
mythen\_put [id[:/-]]var arg
is used to configure the detector parameter var
e.g. mythen\_put 0:exptime 1 sets the exposure time to 1 s
\begin{description}
\item[help i] get help
\item[config fname] reads the configuration file specified and sets the values
\item[parameters fname] sets the detector parameters specified in the file
\item[setup rootname] reads the files specfied (and that could be created by get setup) and resets the complete detector configuration including flatfield corrections, badchannels, trimbits etc.
\item[hostname name] this is mandatory!!!! sets hostname (or IP adress)
\item[online b] b can be 0 or 1 and sets the detector in offline/online state. Must be used to restore communication if some socket called failed because the detector was not connected.
\item[status s] either start or stop
\item[caldir path] Sets path of the calibration files
\item[trimdir path] Sets path of the trim files
\item[outdir path] directory to which the files will be written by default
\item[fname name] filename to which the files will be written by default (to which file and position indexes will eventually be attached)
\item[index i] start index of the files (automatically incremented by the acquisition functions)
\item[nmod n] Sets number of detector modules
\item[extsig:i mode] Sets usage of the external digital signal i. mode can be: off, gate\_in\_active\_high, gate\_in\_active\_low, trigger\_in\_rising\_edge, trigger\_in\_falling\_edge, ro\_trigger\_in\_rising\_edge, ro\_trigger\_in\_falling\_edge, gate\_out\_active\_high, gate\_out\_active\_low, trigger\_out\_rising\_edge, trigger\_out\_falling\_edge, ro\_trigger\_out\_rising\_edge, ro\_trigger\_out\_falling\_edge
\item[timing] Sets the timing mode of the detector. Can be auto, gating (works only if at least one of the signals is configured as gate\_in), trigger (works only if at least one of the signals is configured as trigger\_in), ro\_trigger (works only if at least one of the signals is configured as ro\_trigger\_in), triggered\_gating (works only if one ofthe signals is configured as gate\_in and one as trigger\_in).
\item[settings sett] Sets detector settings. Can be: standard fast highgain (depending on trheshold energy and maximum count rate: please refere to manual for limit values!);
\item[threshold ev] Sets detector threshold in eV. Should be half of the beam energy. It is precise only if the detector is calibrated
\item[vthreshold dac] Sets detector threshold in DAC units. A very rough calibration is dac=800-10*keV
\item[exptime t] Sets the exposure time per frame (in s)
\item[period t] Sets the frames period (in s)
\item[delay t] Sets the delay after trigger (in s)
\item[gates n] Sets the number of gates per frame
\item[frames n] Sets the number of frames per cycle (e.g. after each trigger)
\item[cycles n] Sets the number of cycles (e.g. number of triggers)
\item[probes n] Sets the number of probes to accumulate (max 3)
\item[dr n] Sets the dynamic range - can be (1,) 4, 8,16 or 24 bits
\item[flags mode] Sets the readout flags - can be none or storeinram
\item[flatfield fname] Sets the flatfield file name - none disable flat field corrections
\item[ratecorr t] Sets the rate corrections with dead time t ns (0 unsets, -1 uses default dead time for chosen settings
\item[badchannels fname] Sets the badchannels file name - none disable bad channels corrections
\item[angconv fname] Sets the angular conversion file name
\item[globaloff o] sets the fixed angular offset of your encoder - should be almost constant!
\item[fineoff o] sets a possible angular offset of your setup - should be small but can be senseful to modify
\item[binsize s] sets the binning size of the angular conversion (otherwise defaults from the angualr conversion constants)
\item[angdir i] sets the angular direction of the detector (i can be 1 or -1 - by default 1, channel 0 is smaller angle)
\item[positions np (pos0 pos1...posnp)] Sets the number of positions at which the detector is moved during the acquisition and their values
\item[startscript script] sets a script to be executed at the beginning of the measurements (e.g. open shutter). \textit{none} unsets. Parameters will be parsed as \verb|script nrun=i par=spar| where i is the run number and spar is the value of startscriptpar.
\item[stopscript script] sets a script to be executed at the end of the measurement (e.g. close shutter). \textit{none} unsets. Parameters will be parsed as \verb|script nrun=i par=spar| where i is the run number and spar is the value of stopscriptpar.
\item[startscriptpar spar] sets a parameter passed to the start script as string with the syntax par=spar. Its meaning must be interpreted inside the script!
\item[stopscriptpar spar] sets a parameter passed to the start script as string with the syntax par=spar. Its meaning must be interpreted inside the script!
\item[scan0script script] Sets a scan script to be executed at higher level. Script can be none (unset), threshold (change threshold DAC values for all modules), energy (change energy threshold DAC values using calibration for each module), trimbits (change trimbits for all channels) or any script (e.g changing temperature or moving sample) which will be called with the syntax \verb| script nrun=i fn=fname var=val par=spar| where i is the file index, fname is the file name val is the current value of the scan variable and spar is the value of the scan parameter
\item[scan1script script] Sets a scan script to be executed at lower level. Script can be none (unset), threshold (change threshold DAC values for all modules), energy (change energy threshold DAC values using calibration for each module), trimbits (change trimbits for all channels) or any script (e.g changing temperature or moving sample) which will be called with the syntax \verb| script nrun=i fn=fname var=val par=spar| where i is the file index, fname is the file name val is the current value of the scan variable and spar is the value of the scan parameter
\item[scan0par spar] sets the scan parameter to be passed to scan0script as a string with syntax par=spar. Its meaning has to be interpreted insode the script!
\item[scan1par spar] sets the scan parameter to be passed to scan1script as a string with syntax par=spar. Its meaning has to be interpreted insode the script!
\item[scan0prec i] sets the precision of the scan variable in order to properly generate the file names for scan0
\item[scan1prec i] sets the precision of the scan variable in order to properly generate the file names for scan1
\item[scan0steps n (f0 f1..fn)] sets the steps for the scan0script. n is the number of steps and the following values are the step values.
\item[scan1steps n (f0 f1..fn)] sets the steps for the scan1script. n is the number of steps and the following values are the step values.
\item[scan0range mi ma st] generates the steps for the scan0script in the range mi to ma with step st (is mi smaller than ma specify a negative step)
\item[scan1range mi ma st] generates the steps for the scan1script in the range mi to ma with step st (is mi smaller than ma specify a negative step)
\item[scriptbefore script] sets the script to be executed before each acquisition (before all positions) with the syntax \verb|script nrun=i fn=fname par=spar sv0=svar0 sv1=svar1 p0=spar0 p1=spar1| where i is the file index, fname is the file name, sva0, svar1 are the current values of the scan variables 0 and 1, spar0, spar1 are tthe scan parameter 0 and 1. \textit{none} unsets.
\item[scriptafter script] sets the script to be executed after each acquisition (after all positions) with the syntax \verb|script nrun=i fn=fname par=spar sv0=svar0 sv1=svar1 p0=spar0 p1=spar1| where i is the file index, fname is the file name, sva0, svar1 are the current values of the scan variables 0 and 1, spar0, spar1 are tthe scan parameter 0 and 1. \textit{none} unsets.
\item[scriptbeforepar spar] sets the parameter to be passed to the script before witht he syntax par=spar
\item[scriptafterpar spar] sets the parameter to be passed to the script after witht he syntax par=spar
\item[headerbefore script] sets the script to be executed before each acquisition (after moving the detector) with the syntax \verb|script nrun=i fn=fname par=spar| where i is the run number, fname is the file name, spar is the header before parameter. The script is normally used to save a file header. \textit{none} unsets.
\item[headerafter script] sets the script to be executed after each acquisition (after each position) with the syntax \verb|script nrun=i fn=fname par=spar| where i is the run number, fname is the file name, spar is the header after parameter. The script is normally used to complete the file header. \textit{none} unsets.
\item[headerbeforepar spar] sets the parameter to be passed to the header before script with the syntax par=spar
\item[headerafterpar spar] sets the parameter to be passed to the header after script with the syntax par=spar
\end{description}
\section{Retrieving detector parameters (plus trimming and test modalities)}
mythen\_get [id[:/-]]var arg
is used to retrieve the detector parameter var
e.g. mythen\_get 0:exptime returns the exposure time in seconds
\begin{description}
\item[help] This help
\item[config fname] writes the configuration file
\item[parameters fname] writes the main detector parameters for the measuremen tin the file
\item[setup rootname] writes the complete detector setup (including configuration, trimbits, flat field coefficients, badchannels etc.) is a set of files for which the extension is automatically generated
\item[online] return whether the detector is in online (1) or offline (0) state.
\item[status] gets the detector status - can be: running, error, transmitting, finished, waiting or idle
\item[data] gets all data from the detector (if any) processes them and writes them to file according to the preferences already setup
\item[frame] gets a single frame from the detector (if any) processes it and writes it to file according to the preferences already setup
\item[hostname] Gets the detector hostname (or IP address)
\item[caldir] Gets path of the calibration files
\item[trimdir] Gets path of the trim files
\item[outdir] directory to which the files will be written by default
\item[fname] filename to which the files will be written by default (to which file and position indexes will eventually be attached)
\item[index] start index of the files (automatically incremented by the acquisition functions)
\item[nmod] Gets number of detector modules
\item[maxmod] Gets maximum number of detector modules
\item[extsig:i] Gets usage of the external digital signal i. The return value can be: off, gate\_in\_active\_high, gate\_in\_active\_low, trigger\_in\_rising\_edge, trigger\_in\_falling\_edge, ro\_trigger\_in\_rising\_edge, ro\_trigger\_in\_falling\_edge, gate\_out\_active\_high, gate\_out\_active\_low, trigger\_out\_rising\_edge, trigger\_out\_falling\_edge, ro\_trigger\_out\_rising\_edge, ro\_trigger\_out\_falling\_edge\item[timing] Sets the timing mode of the detector. Can be auto, gating (works only if at least one of the signals is configured as gate\_in), trigger (works only if at least one of the signals is configured as trigger\_in), ro\_trigger (works only if at least one of the signals is configured as ro\_trigger\_in), triggered\_gating (works only if one ofthe signals is configured as gate\_in and one as trigger\_in).
\item[modulenumber] Gets the module serial number
\item[moduleversion] Gets the module version
\item[detectornumber] Gets the detector number (MAC address)
\item[detectorversion] Gets the detector firmware version
\item[softwareversion] Gets the detector software version
\item[digitest:i] Makes a digital test of the detector module i. Returns 0 if it succeeds
\item[bustest] Makes a test of the detector bus. Returns 0 if it succeeds
\item[settings] Gets detector settings. Can be: standard fast highgain undefined
\item[threshold] Gets detector threshold in eV. It is precise only if the detector is calibrated
\item[vthreshold] Gets detector threshold in DAC units. A very rough calibration is dac=800-10*keV
\item[exptime] Gets the exposure time per frame (in s)
\item[period] Gets the frames period (in s)
\item[delay] Gets the delay after trigger (in s)
\item[gates] Gets the number of gates per frame
\item[frames] Gets the number of frames per cycle (e.g. after each trigger)
\item[cycles] Gets the number of cycles (e.g. number of triggers)
\item[probes] Gets the number of probes to accumulate (max 3)
\item[timestamp] Gets the internal time stamp of the nex frame acquired (i.e. during an acquisition, all timestamps of the frames are stored in a FIFO which can be read after the acquisition - returns -1 if the FIFO is empty)
\item[dr] Gets the dynamic range
\item[trim:mode fname] Trims the detector and writes the trimfile fname.snxxx. mode can be: noise beam improve fix offline - Check that the start conditions are OK!!!
\item[flatfield] fname returns whether the flat field corrections are enabled and if so writes the coefficients to the specified filename. If fname is none it is not written
\item[ratecorr] returns wether the rate corrections are enabled and what is the dead time used in ns
\item[badchannels fname] returns wether the bad channels corrections are enabled and if so writes the bad channels to the specified filename. If fname is none it is not written
\item[angconv fname] returns wether the angular conversion is enabled and if so writes the angular conversion coefficients to the specified filename. If fname is none, it is not written
\item[globaloff] returns the fixed angular offset of your encoder - should be almost constant!
\item[fineoff] returns a possible angualr offset of your setup - should be small but can be senseful to modify
\item[binsize] returns the binning size of the angular conversion
\item[angdir] gets the angular direction of the detector (can be 1 or -1 - by default 1, channel 0 is smaller angle)
\item[positions] returns the number of positions at which the detector is moved during the acquisition and their values
\item[startscript script] sets a script to be executed at the beginning of the measurements (e.g. open shutter). \textit{none} unsets. Parameters will be parsed as \verb|script nrun=i par=spar| where i is the run number and spar is the value of startscriptpar.
\item[stopscript] returns the script to be executed at the end of the measurement (e.g. close shutter). \textit{none} unsets. Parameters will be parsed as \verb|script nrun=i par=spar| where i is the run number and spar is the value of stopscriptpar.
\item[startscriptpar] returns the parameter passed to the start script as string with the syntax par=spar. Its meaning must be interpreted inside the script!
\item[stopscriptpar]returns the parameter passed to the start script as string with the syntax par=spar. Its meaning must be interpreted inside the script!
\item[scan0script] returns the scan script to be executed at higher level. Script can be none (unset), threshold (change threshold DAC values for all modules), energy (change energy threshold DAC values using calibration for each module), trimbits (change trimbits for all channels) or any script (e.g changing temperature or moving sample) which will be called with the syntax \verb| script nrun=i fn=fname var=val par=spar| where i is the file index, fname is the file name val is the current value of the scan variable and spar is the value of the scan parameter
\item[scan1script] returns the scan script to be executed at lower level. Script can be none (unset), threshold (change threshold DAC values for all modules), energy (change energy threshold DAC values using calibration for each module), trimbits (change trimbits for all channels) or any script (e.g changing temperature or moving sample) which will be called with the syntax \verb| script nrun=i fn=fname var=val par=spar| where i is the file index, fname is the file name val is the current value of the scan variable and spar is the value of the scan parameter
\item[scan0par] returns the scan parameter to be passed to scan0script as a string with syntax par=spar. Its meaning has to be interpreted insode the script!
\item[scan1par] returns the scan parameter to be passed to scan1script as a string with syntax par=spar. Its meaning has to be interpreted insode the script!
\item[scan0prec] returns the precision of the scan variable in order to properly generate the file names for scan0
\item[scan1prec] returns the precision of the scan variable in order to properly generate the file names for scan1
\item[scan0steps] returns the steps for the scan0script. n is the number of steps and the following values are the step values.
\item[scan1steps] returns the steps for the scan1script. n is the number of steps and the following values are the step values.
\item[scan0range] returns the steps for the scan0script. n is the number of steps and the following values are the step values.
\item[scan1range] returns the steps for the scan1script. n is the number of steps and the following values are the step values.
\item[scriptbefore] returns the script to be executed before each acquisition (before all positions) with the syntax \verb|script nrun=i fn=fname par=spar sv0=svar0 sv1=svar1 p0=spar0 p1=spar1| where i is the file index, fname is the file name, sva0, svar1 are the current values of the scan variables 0 and 1, spar0, spar1 are tthe scan parameter 0 and 1.
\item[scriptafter] returns the script to be executed after each acquisition (after all positions) with the syntax \verb|script nrun=i fn=fname par=spar sv0=svar0 sv1=svar1 p0=spar0 p1=spar1| where i is the file index, fname is the file name, sva0, svar1 are the current values of the scan variables 0 and 1, spar0, spar1 are tthe scan parameter 0 and 1.
\item[scriptbeforepar] returns the parameter to be passed to the script before witht he syntax par=spar
\item[scriptafterpar] returns the parameter to be passed to the script after witht he syntax par=spar
\item[headerbefore] returns the script to be executed before each acquisition (after moving the detector) with the syntax \verb|script nrun=i fn=fname par=spar| where i is the run number, fname is the file name, spar is the header before parameter. The script is normally used to save a file header.
\item[headerafter] returns the script to be executed after each acquisition (after each position) with the syntax \verb|script nrun=i fn=fname par=spar| where i is the run number, fname is the file name, spar is the header after parameter. The script is normally used to complete the file header.
\item[headerbeforepar] returns the parameter to be passed to the header before script with the syntax par=spar
\item[headerafterpar]returns the parameter to be passed to the header after script with the syntax par=spar
\end{description}
\section{Tips}
\subsubsection{Mandatory setup}
First of all you should setup the hostname and the detector size and dynamic range:
\begin{verbatim}
mythen_put hostname mcs1x00
mythen_get nmod
mythen_get dr
\end{verbatim}
You should also tell the program where to find the default trimbits files and calibration files:
\begin{verbatim}
mythen_put trimdir /scratch/trimbits
mythen_get caldir /scratch/calibration
\end{verbatim}
To chose the detector settings (e.g. standard):
\begin{verbatim}
mythen_put settings standard
\end{verbatim}
In case \verb=mythen_get settings= does not answer correctly, it most probably means that there is a problem in the architecture or setting of \textit{trimdir} and \textit{caldir} (see section~\ref{sec:trimdir}).
\subsubsection{Acquisition setup}
You need to setup where the files will be written to
\begin{verbatim}
mythen_put outdir /scratch
mythen_put fname run
mythen_put index 0
\end{verbatim}
this way your files will al be named /scracth/run\_i.dat where is starts from 0 and is automatically incremented.
You will then need to setup the detector threshold and settings, the exposure time, the number of real time frames and eventually how many real time frames should be acquired:
\begin{verbatim}
mythen_put settings standard
mythen_put threshold 6000
mythen_put exptime 1.
mythen_put frames 10
\end{verbatim}
In this case 10 consecutive 1s frames will be acquired.
External gating and triggering or more advanced acquisition modes are not explained here.
\subsubsection{Acquiring}
There are two ways of acquiring data.\\
The first is fully automatic and freezes the terminal until the acquisition is finished:
\begin{verbatim}
mythen_acquire 0
\end{verbatim}
This is particulary indicated for fast real time acquisitions.
If you want to acquire few long frames you can run:
\begin{verbatim}
mythen_put status start
\end{verbatim}
and the poll the detector status using
\begin{verbatim}
mythen_get status
\end{verbatim}
if the answer is either transmitting or finished, the data are ready to be downloaded from the detector.
This can be done using either:
\begin{verbatim}
mythen_get frame
\end{verbatim}
where a single data frame is downloaded or
\begin{verbatim}
mythen_get data
\end{verbatim}
where all data present on the detector are downloaded.
This is not indicated when many short real time frames should be acquired since the detector memory would be full before finishing the acquisition since the download time is so limited.
\subsubsection{Data processing}
Flat field and rate corrections can be applied direcly by simply selecting:
\begin{verbatim}
mythen_put flatield myflatfield.raw
mythen_put ratecorr -1
\end{verbatim}
Concerning the angular conversion, it is very reccomended that the users edit the file usersFunctions.cpp contained in the folder slsDetectorSoftware/usersFunctions.
In the file it is possible to modify the function used for calculating the angular conversion and the ones used for interfacing with the diffractometer equipment i.e. reading the encoder fo the detector position, the ionization chanmbers etc.
It is also possible to configure some scans/scripts to be executed during the acquisition. They will be normally called as system calls except for threshold, energy and trimbits scans.
\begin{comment}
\chapter{mythenGUI}
\section{Introduction}
To run the GUI just call:
\begin{verbatim}
bin/mythenGUI
\end{verbatim}
Possible arguments are:
\begin{description}
\item[help] This help
\item[-f myconf.txt] loads the configuration file to myconf.txt
\item[-id i] Sets the detector to id i (the default is i). Useful when more than one detector are operated in parallel.
\item[-offline] works in offline mode i.e. not connecting to the detector. Usefule e.g. to perform the energy calibration of the detector and possibly in the future to reprocess and visualize the data (not yet implemented).
\item[-size n] sets the size of the text to n (the default is n=10);
\item[-scale s] scales the size of the text and the root canvas by the scaling factor s (the default is s=1). It is useful when executing the program on a PC with low screen resolution (e.g. a laptop) and the window would then fall out of the screen.");
\end{description}
The configuration of the detector can either be set when startin the GUI using the configuration file or using the text client or even using the configuration tab of the GUI.
\section{Acquisition}
By pressing the start button in the measurement tab the data will be acquired, saved, corrected and plotted as specified.
The stop button stops the acquisition i.e. if there are data left to be saved processed etc. the program will not really stop until the offline processes are done.
Please don't be too nervous clicking on start and/or stop since this is one of the main causes of crashes (the program has been teste only for quiet users :-)).
\section{Other functions}
The text client and the GUI can be operated in parallel (althoug you should not change parameters or acquire data at the same data from the gui and the text client!) and the values displayed by the GUI should normally be the actual ones.
However this kind of parallel operation is at your own risk!
The main parameters are group in tabs according to their meaning. To enable some tabs you should enter the modes menu and select Advanced/configuration/Debug
Here is the general subject of the tabs:
\begin{description}
\item[Measurement] Main acquisition parameters that you may want to change often
\item[Data Output] Where to write the data, in which format and what to to with them
\item[Plot] What to plot and how (only partially implemented)
\item[Actions] Allows to configure scans and/or execute scripts at teh beginning or at the end of the measurement.
\item[Time resolved] Parameters for time resolved (real time) measurements
\item[Advanced] Must be activated with the modes menu button. Allows to set some advanced configuration which you don't want general users to change (e.g. data size, external signals, advanced acquisition speed)
\item[Trimming] Must be activated with the modes menu button. Allows to trim the detector and/or load specific trim files.
\item[Configuration] Must be activated with the modes menu button. Allows to configure the detector
\item[Debugging] Must be activated with the modes menu button. Allows to test the detectors functionality, acquire serial numbers etc.
\end{description}
Most of the parameters are explained through a tooltip which appers if you leave the mouse on the widget for a few seconds.
The configuration and/or the complete setup of the detector can be loaded and saved using the Utilities menu.
\subsection{Mandatory configuration}
Where to find some important parameters (should be set only once, then it should remain in memory):
\begin{description}
\item[Hostname] Configuration tab. Press enter to update.
\item[Trim dir] Configuration tab. Press enter to update.
\item[Cal dir] Configuration tab. Press enter to update.
\item[Number of modules] Configuration tab or Advanced tab
\item[Dynamic range] Advanced tab
\item[Output directory] Data Output tab.
\item[File name] Measurement tab.
\item[File index] Measurement tab (automatically incremented).
\end{description}
\subsection{Acquisition setup}
Where to find some important parameters (should be set only once, then it should remain in memory):
\begin{description}
\item[Settings] Measurement tab
\item[Threshold] Measurement tab
\item[Exposure time] Measurement tab
\item[Number of frames] Measurement tab for non time-resolved measurement, Time resolved tab for fast real time measurements. if you need some action between frame see Actions tab.
\end{description}
\chapter{Energy calibration} \label{sec:encal}
The energy calibration should be performed by illuminating the detector with monochromatic radiation at at least 2 (better 3-4) energies larger than 8~keV. The energy calibration should be performed after trimming and the trim files used should be properly copied in the trimbits directory and used as default.
The data can be acquired either with the mythenGUI (by using the calibration wizard or the threshold scan utility in the Action tab) or with the slsDetectorClient (by scanning the threshold using mythen\_put 0:vthreshold), but since the analysis needs the use of root, the GUI must be used to finalize the calibration.
In the mythenGUI menu Utilities/Calibration wizard it is possible to simply and automatically perform the energy calibration of the detector:
\begin{enumerate}
\item
Check the ``Detector online'' box in case you want to acquire the data, otherwise simply unclick it and you will be required to provide already acquired data and the details about the detector.\\
The first time, chose ``Start new calibration'' and chose the directory where you want to store the data you want to acquire. The calibration file names have a''.root'' extension. \\
The calibration should be perormed by acquiring always the same settings and with the same number of modules always connected in the same sequence. The clibration files, however, can be used for the modules also on different systems (i.e. different number of modules, readout board, etc.). A new calibration should be performed for different detector settings.
\item If the detector is online, the settings, the number of modules and their serial number will automatically be retrieved. If you selected the offline mode, you must provide the detector settings for the calibration that you want to perform and the serial numbers of the modules in the correct order (to do so, enter the 3 hexadecimal digits in the right sequence and press enter for each module - in case of error the list is editable).
\item Enter the energy of your beam (in keV!); \\
If you are in online mode, the acquisition time should be chosen such that there are at least 1000 counts per channel at an intemediate threshold; the range of the threshold scan should be between approx 800-15*keV and 800, better with a step of 1 but up to 5 can be fine in order to reduce the acquisition time: it is more important that each step has a sufficient statistics than that the threshold step is low! After pressing ``Next'', the detector starts acquiring and showing the histogram of the calibration. When it is finished simply press ``Finish'' to accept the data, ``Cancel'' to reject them.\\
In offline mode, you are required to enter the range and step of the calibration and to select the files (in the same sequence as the threshold values!). After pressing ``Next'' (enabled only if the number of steps is the same as the number of files), the histogram showing the threshold scan is drawn. Simply press ``Finish'' to accept the data, ``Cancel'' to reject them.
\item For the following calibration steps, check the ``Detector online'' box in case you want to acquire the data, otherwise simply unclick it and you will be required to provide already acquired data and the details about the detector.\\ Chose ``Add calibration step'' and select the file created prevously. The settings, number of modules and serial numbers of the modules and the energies at which the acquisition has been already performed should be displayed.
\item Add a new calibration step like in point 3. and iterate for all the energies at which you want to perform the calibration.
\item To generate the calibration files, chose ``Generate calibration files'' and select the file created prevously. The settings, number of modules and serial numbers of the modules and the energies at which the acquisition has been already performed should be displayed.
\item Chose the directory and the root of the calibrations files name. An extension corresponding to the serial number of the modules will be generated.
\item The calibration files for each module should be generated. For each energy you can set the start parameters of the fit and the fitting range (press enter after each change) so that the fitted curves nicely fit the data. The linear fit between energies and inflection points can also be checked.
\end{enumerate}
\end{comment}
\end{document}

View File

@ -1,35 +0,0 @@
\relax
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Installation and upgrades}{1}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}The software package}{1}}
\@writefile{toc}{\contentsline {section}{\numberline {1.2}Requirements}{2}}
\@writefile{toc}{\contentsline {section}{\numberline {1.3}Compilation}{3}}
\@writefile{toc}{\contentsline {section}{\numberline {1.4}Building}{3}}
\@writefile{toc}{\contentsline {section}{\numberline {1.5}Detector upgrade}{4}}
\@writefile{toc}{\contentsline {section}{\numberline {1.6}The trimbits and calibration files}{5}}
\newlabel{sec:trimdir}{{1.6}{5}}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}mythenClient}{7}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Introduction}{7}}
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Acquisition}{7}}
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Detector setup}{7}}
\@writefile{toc}{\contentsline {section}{\numberline {2.4}Retrieving detector parameters (plus trimming and test modalities)}{9}}
\@writefile{toc}{\contentsline {section}{\numberline {2.5}Tips}{12}}
\@writefile{toc}{\contentsline {subsubsection}{Mandatory setup}{12}}
\@writefile{toc}{\contentsline {subsubsection}{Acquisition setup}{12}}
\@writefile{toc}{\contentsline {subsubsection}{Acquiring}{13}}
\@writefile{toc}{\contentsline {subsubsection}{Data processing}{13}}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}mythenGUI}{14}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Introduction}{14}}
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Acquisition}{14}}
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Other functions}{15}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Mandatory configuration}{16}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Acquisition setup}{16}}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Energy calibration}{17}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\newlabel{sec:encal}{{4}{17}}

Binary file not shown.

View File

@ -1,252 +0,0 @@
This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) (format=latex 2010.7.20) 15 MAY 2012 16:50
entering extended mode
**manual.tex
(./manual.tex
LaTeX2e <2003/12/01>
Babel <v3.8d> and hyphenation patterns for american, french, german, ngerman, b
ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch, esperanto, e
stonian, finnish, greek, icelandic, irish, italian, latin, magyar, norsk, polis
h, portuges, romanian, russian, serbian, slovak, slovene, spanish, swedish, tur
kish, ukrainian, nohyphenation, loaded.
(/usr/share/texmf/tex/latex/base/report.cls
Document Class: report 2004/02/16 v1.4f Standard LaTeX document class
(/usr/share/texmf/tex/latex/base/size10.clo
File: size10.clo 2004/02/16 v1.4f Standard LaTeX file (size option)
)
\c@part=\count79
\c@chapter=\count80
\c@section=\count81
\c@subsection=\count82
\c@subsubsection=\count83
\c@paragraph=\count84
\c@subparagraph=\count85
\c@figure=\count86
\c@table=\count87
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(/usr/share/texmf/tex/latex/amsfonts/amssymb.sty
Package: amssymb 2002/01/22 v2.2d
(/usr/share/texmf/tex/latex/amsfonts/amsfonts.sty
Package: amsfonts 2001/10/25 v2.2f
\@emptytoks=\toks14
\symAMSa=\mathgroup4
\symAMSb=\mathgroup5
LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
(Font) U/euf/m/n --> U/euf/b/n on input line 132.
))
(/usr/share/texmf/tex/latex/graphics/graphicx.sty
Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/share/texmf/tex/latex/graphics/keyval.sty
Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
\KV@toks@=\toks15
)
(/usr/share/texmf/tex/latex/graphics/graphics.sty
Package: graphics 2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR)
(/usr/share/texmf/tex/latex/graphics/trig.sty
Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
)
(/usr/share/texmf/tex/latex/graphics/graphics.cfg
File: graphics.cfg 2005/02/03 v1.3 graphics configuration of teTeX/TeXLive
)
Package graphics Info: Driver file: dvips.def on input line 80.
(/usr/share/texmf/tex/latex/graphics/dvips.def
File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
))
\Gin@req@height=\dimen103
\Gin@req@width=\dimen104
)
(/usr/share/texmf/tex/latex/tools/verbatim.sty
Package: verbatim 2003/08/22 v1.5q LaTeX2e package for verbatim enhancements
\every@verbatim=\toks16
\verbatim@line=\toks17
\verbatim@in@stream=\read1
) (./manual.aux)
\openout1 = `manual.aux'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 5.
LaTeX Font Info: ... okay on input line 5.
LaTeX Font Info: Try loading font information for U+msa on input line 9.
(/usr/share/texmf/tex/latex/amsfonts/umsa.fd
File: umsa.fd 2002/01/19 v2.2g AMS font definitions
)
LaTeX Font Info: Try loading font information for U+msb on input line 9.
(/usr/share/texmf/tex/latex/amsfonts/umsb.fd
File: umsb.fd 2002/01/19 v2.2g AMS font definitions
)
LaTeX Warning: No \author given.
[1
]
Chapter 1.
LaTeX Font Info: Try loading font information for OMS+cmr on input line 24.
(/usr/share/texmf/tex/latex/base/omscmr.fd
File: omscmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
)
LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available
(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 24.
Overfull \hbox (22.57556pt too wide) in paragraph at lines 26--27
[]\OT1/cmr/m/n/10 The \OT1/cmr/bx/n/10 com-mand line in-ter-face (mythen-Client
) mythen[]put, mythen[]get,
[]
Underfull \hbox (badness 10000) in paragraph at lines 35--36
[]
[1
]
Underfull \hbox (badness 10000) in paragraph at lines 37--38
[]
Overfull \hbox (30.84581pt too wide) in paragraph at lines 39--42
\OT1/cmr/m/n/10 op-tions []\OT1/cmtt/m/n/10 -thread -no-xft -qt-gif -no-excepti
ons \OT1/cmr/m/n/10 (check in \OT1/cmss/m/n/10 $QT-DIR/config.status\OT1/cmr/m/
n/10 ).
[]
Overfull \hbox (39.57574pt too wide) in paragraph at lines 44--46
\OT1/cmr/bx/n/10 en-abled \OT1/cmr/m/n/10 should be in-stalled (the bi-na-ries
can be down-loaded from []\OT1/cmtt/m/n/10 http://root.cern.ch
[]
Overfull \hbox (111.77632pt too wide) in paragraph at lines 51--52
\OT1/cmr/m/n/10 Further de-tails can be found in the root user's man-ual at []\
OT1/cmtt/m/n/10 http://root.cern.ch/root/doc/RootDoc.html
[]
Underfull \hbox (badness 10000) in paragraph at lines 51--52
[]
Underfull \hbox (badness 10000) in paragraph at lines 53--55
[]
[2] [3]
Underfull \hbox (badness 10000) in paragraph at lines 114--115
[]
Overfull \hbox (1.49698pt too wide) in paragraph at lines 116--121
[]\OT1/cmtt/m/n/10 https://www.altera.com/download/programming/quartus2/pq2-ind
ex.jsp
[]
Underfull \hbox (badness 10000) in paragraph at lines 116--121
[]
[4]
Overfull \hbox (19.41537pt too wide) in paragraph at lines 152--154
\OT1/cmr/m/n/10 con-tain-ing re-spec-tively the trim-files []\OT1/cmtt/m/n/10 s
tandard.trim\OT1/cmr/m/n/10 , []\OT1/cmtt/m/n/10 fast.trim \OT1/cmr/m/n/10 and
[]\OT1/cmtt/m/n/10 highgain.trim
[]
Underfull \hbox (badness 10000) in paragraph at lines 152--154
[]
[5]
Overfull \hbox (3.66551pt too wide) in paragraph at lines 155--157
\OT1/cmr/m/n/10 con-tain-ing re-spec-tively the trim-files []\OT1/cmtt/m/n/10 s
tandard.cal\OT1/cmr/m/n/10 , []\OT1/cmtt/m/n/10 fast.cal \OT1/cmr/m/n/10 and []
\OT1/cmtt/m/n/10 highgain.cal
[]
[6]
Chapter 2.
[7
]
Overfull \hbox (44.06192pt too wide) in paragraph at lines 204--205
\OT1/cmr/m/n/10 gate[]in[]active[]high, gate[]in[]active[]low, trig-ger[]in[]ri
sing[]edge, trig-ger[]in[]falling[]edge,
[]
Overfull \hbox (81.31757pt too wide) in paragraph at lines 204--205
\OT1/cmr/m/n/10 ro[]trigger[]in[]rising[]edge, ro[]trigger[]in[]falling[]edge,
gate[]out[]active[]high, gate[]out[]active[]low,
[]
Overfull \hbox (1.5285pt too wide) in paragraph at lines 204--205
\OT1/cmr/m/n/10 trig-ger[]out[]rising[]edge, trig-ger[]out[]falling[]edge, ro[]
trigger[]out[]rising[]edge,
[]
[8] [9]
Overfull \hbox (76.34535pt too wide) in paragraph at lines 254--255
\OT1/cmr/m/n/10 ger[]in[]falling[]edge, ro[]trigger[]in[]rising[]edge, ro[]trig
ger[]in[]falling[]edge, gate[]out[]active[]high,
[]
Overfull \hbox (90.60646pt too wide) in paragraph at lines 254--255
\OT1/cmr/m/n/10 gate[]out[]active[]low, trig-ger[]out[]rising[]edge, trig-ger[]
out[]falling[]edge, ro[]trigger[]out[]rising[]edge,
[]
[10] [11] [12] [13]
Chapter 3.
[14
]
Overfull \hbox (46.58405pt too wide) in paragraph at lines 392--394
\OT1/cmr/m/n/10 able some tabs you should en-ter the modes menu and se-lect Ad-
vanced/configuration/Debug
[]
[15]
Overfull \hbox (7.02911pt too wide) in paragraph at lines 431--432
[]\OT1/cmr/m/n/10 Measurement tab for non time-resolved mea-sure-ment, Time
[]
[16]
Chapter 4.
[17
] [18] (./manual.aux) )
Here is how much of TeX's memory you used:
915 strings out of 94501
10518 string characters out of 1176789
56432 words of memory out of 1000000
4105 multiletter control sequences out of 10000+50000
13412 words of font info for 52 fonts, out of 500000 for 2000
580 hyphenation exceptions out of 1000
25i,8n,24p,620b,188s stack positions out of 1500i,500n,5000p,200000b,5000s
Output written on manual.dvi (19 pages, 44444 bytes).

Binary file not shown.

File diff suppressed because it is too large Load Diff