Compare commits

...

683 Commits
2.2.0 ... 3.0.0

Author SHA1 Message Date
9b7f9b1be1 Merge branch 'main-rc' into b3.0.0 2020-11-30 16:42:35 +01:00
26c829d766 Merge branch 'main-rc' into b2.3.4 2020-11-30 16:38:04 +01:00
3fde5c5b55 Merge branch 'main-rc' into b2.3.3 2020-11-30 16:36:24 +01:00
3e5f546ebe Merge branch 'main-rc' into b2.3.2 2020-11-30 16:26:44 +01:00
9833a7d330 Merge branch 'main-rc' into b2.3.1 2020-11-30 16:25:23 +01:00
8f9155e578 Merge branch 'main-rc' into b2.3.0 2020-11-30 16:23:50 +01:00
834794ad98 gotthard renamed binaries 2017-12-19 18:04:44 +01:00
bc8c706150 updated gotthard server binaries (3.0.0.6 was already used in 3.0.1) 2017-12-19 17:44:32 +01:00
e39bee0113 gotthard server bug fix, temp fail 2017-12-19 17:33:27 +01:00
a4dc00b252 gotthard server binary update 2017-12-19 17:08:28 +01:00
6438238b55 gotthard server bug fix, read temp 2017-12-19 17:06:45 +01:00
735b8ea206 Merge remote branch 'slsDetectorCalibration/3.0' into 3.0 2017-12-12 11:14:24 +01:00
56c504abbb Merge remote branch 'slsDetectorCalibration/2.3.4' into 2.3.4 2017-12-12 11:14:19 +01:00
4d6346e678 Merge remote branch 'slsDetectorCalibration/2.3.3' into 2.3.3 2017-12-12 11:14:15 +01:00
dc7e448759 Merge remote branch 'slsDetectorCalibration/2.3.2' into 2.3.2 2017-12-12 11:14:12 +01:00
e658cbacda Merge remote branch 'slsDetectorCalibration/2.3.1' into 2.3.1 2017-12-12 11:14:08 +01:00
1e6c6dea71 Merge remote branch 'slsDetectorCalibration/2.3' into 2.3 2017-12-12 11:14:05 +01:00
aab62fccc1 Merge remote branch 'slsDetectorGui/3.0' into 3.0 2017-12-04 16:48:09 +01:00
73ce4abd58 Merge remote branch 'slsReceiverSoftware/3.0' into 3.0 2017-12-04 16:48:08 +01:00
c12b137b79 Merge remote branch 'slsDetectorSoftware/3.0' into 3.0 2017-12-04 16:48:07 +01:00
befdcf7f36 Merge remote branch 'slsDetectorGui/2.3.4' into 2.3.4 2017-12-04 16:48:01 +01:00
02f5c472a8 Merge remote branch 'slsReceiverSoftware/2.3.4' into 2.3.4 2017-12-04 16:48:00 +01:00
75ed2cd2e4 Merge remote branch 'slsDetectorSoftware/2.3.4' into 2.3.4 2017-12-04 16:47:59 +01:00
3be045f9b6 Merge remote branch 'slsDetectorGui/2.3.3' into 2.3.3 2017-12-04 16:47:54 +01:00
8fae982802 Merge remote branch 'slsReceiverSoftware/2.3.3' into 2.3.3 2017-12-04 16:47:54 +01:00
128ec88b5f Merge remote branch 'slsDetectorSoftware/2.3.3' into 2.3.3 2017-12-04 16:47:52 +01:00
d5fc158330 Merge remote branch 'slsDetectorGui/2.3.2' into 2.3.2 2017-12-04 16:47:47 +01:00
864e6e4c81 Merge remote branch 'slsReceiverSoftware/2.3.2' into 2.3.2 2017-12-04 16:47:47 +01:00
343d96ff16 Merge remote branch 'slsDetectorSoftware/2.3.2' into 2.3.2 2017-12-04 16:47:46 +01:00
4142328437 Merge remote branch 'slsDetectorGui/2.3.1' into 2.3.1 2017-12-04 16:47:41 +01:00
6c797988c7 Merge remote branch 'slsReceiverSoftware/2.3.1' into 2.3.1 2017-12-04 16:47:41 +01:00
215c262981 Merge remote branch 'slsDetectorSoftware/2.3.1' into 2.3.1 2017-12-04 16:47:39 +01:00
081b809078 Merge remote branch 'slsDetectorGui/2.3' into 2.3 2017-12-04 16:47:35 +01:00
9263567cd8 Merge remote branch 'slsReceiverSoftware/2.3' into 2.3 2017-12-04 16:47:34 +01:00
58e90a85be Merge remote branch 'slsDetectorSoftware/2.3' into 2.3 2017-12-04 16:47:33 +01:00
f340eef4bc updated server hotfix binary 2017-11-16 12:29:09 +01:00
f192164e32 fixed setdac bug that comes rarely, moved serialize spi to 32bit 2017-11-16 12:27:58 +01:00
ea0c436fc8 updated binaries 2017-11-15 08:07:59 +01:00
dd1cf42a73 proper fix for settings, including dacs 2017-11-14 17:51:13 +01:00
18d5fd5a35 update binaries 2017-10-27 16:08:52 +02:00
aab56ea943 updated jungfrau server binary 2017-10-27 15:39:55 +02:00
045a7cfcb1 removed settings bug, highvoltage returning 60 when switched off 2017-10-27 15:38:07 +02:00
92f988ddc1 somewhere 2017-10-27 14:00:57 +02:00
5388b54eff updaterev 2017-10-18 15:52:08 +02:00
75b94e6614 fixed file write enable bug from the last patch 2017-10-18 12:29:46 +02:00
d30a839eff file writer class should be created only if file write enabled, x coord fixed to reflect hardcoded values as detector does not send this value yet 2017-10-10 16:54:50 +02:00
bcea5a99a1 1. bug fix: loading trimbits and gui complains of different trimbits and sets them all to zero. This is fixed. It just loads -1 to gui. 2. Advanced Tab made slightly better aligned 2017-09-15 09:36:44 +02:00
c37d3feae9 update revision 2017-09-01 13:59:18 +02:00
c086e9c19f allow for slow joiner in zmq 2017-09-01 13:58:00 +02:00
7099bc3286 removed users folder, redundant as user documentation in manual-api 2017-08-28 14:17:10 +02:00
35dcdd62c9 links to libraries in manual 2017-08-28 14:15:57 +02:00
84b0f9a91b updaterev 2017-08-28 12:05:48 +02:00
91fece87b2 updaterev 2017-08-28 12:05:42 +02:00
05c5ad711b solving the issue of deleting context by setting linger to 0 so that all open sockets are closed 2017-08-28 12:03:15 +02:00
ad4fdcfa1a eiger manual 2017-08-26 13:32:00 +02:00
2efe9cd40b Eiger manual 2017-08-26 09:01:56 +02:00
07594e0607 eiger manual 2017-08-25 16:14:53 +02:00
c4c063534e update user doc 2017-08-25 15:56:30 +02:00
705e1a762c updating user documentation 2017-08-25 15:46:42 +02:00
a8b41ca813 updating user documentation 2017-08-25 15:46:16 +02:00
0de9682e72 Merge branch '3.0' of git.psi.ch:sls_detectors_software/sls_detectors_package into 3.0 2017-08-25 15:45:37 +02:00
ce0aa98b3f updated users documentation 2017-08-25 15:42:56 +02:00
57fee3d5ef eiger manual 2017-08-25 14:24:42 +02:00
891e76af0a gotthard bug fix documented 2017-08-25 12:22:40 +02:00
67e92fdf68 Merge branch '3.0' into developer 2017-08-25 12:08:26 +02:00
13186e1ee2 modified examples 2017-08-25 12:08:14 +02:00
14f97cbc10 Merge branch '3.0' into developer 2017-08-24 18:42:32 +02:00
6d2072f198 removed unnecessary print in makefile for manual 2017-08-24 18:41:56 +02:00
a78bc86bca adc reader standalone for blackfin as well 2017-08-24 18:41:30 +02:00
5e11e0a7db added adc reader standalone 2017-08-24 18:40:52 +02:00
319d883880 modified user example in manual/manual-api and regenerated documentation 2017-08-24 16:47:27 +02:00
2d52058a55 Printing thread Ids created and exited, others (if others) are zmqs internal threading, moved all zmq socket type to publish subscriber type: (non blocking in send if no client) as per Aldos gui and probably faster, as only clients to receiver standard impl is aldos gui/slsDetectorGui/xiaoqiangs call back via detector class 2017-08-24 16:06:00 +02:00
e5c84fd11c external gui unused variables 2017-08-24 16:03:31 +02:00
598d163173 new gotthard server in bin 2017-08-24 16:02:51 +02:00
6f09a5abff Merge branch 'developer' into 3.0 2017-08-24 14:09:36 +02:00
fbb04f5ebe Merge branch 'externalgui' into developer 2017-08-23 19:06:59 +02:00
0bea688a83 changes for external gui 2017-08-23 19:06:40 +02:00
19d973f5d6 Merge branch '3.0' into externalgui 2017-08-23 18:26:46 +02:00
92d5143f81 Merge branch '3.0' into developer 2017-08-23 18:26:36 +02:00
6332025bbc frames caught in 9m was only looking at 1st receiver, now made to average 2017-08-23 18:26:25 +02:00
bdccddfe97 in between 2017-08-23 18:24:48 +02:00
a236a7a9aa Merge branch '3.0' into externalgui 2017-08-23 18:01:58 +02:00
72c4cbe871 Merge branch '3.0' into developer 2017-08-23 18:01:48 +02:00
7ffd9b87b8 bug fix:removed 0x prefix for dr 2017-08-23 18:01:34 +02:00
a657bac1b1 removed a print 2017-08-23 18:01:02 +02:00
f4e2b819d2 changes for external gui 2017-08-23 16:31:32 +02:00
634fbc748e compile libraries with -fPIC flag 2017-08-23 16:13:36 +02:00
8fde83499e Merge branch '3.0' into developer 2017-08-23 12:10:29 +02:00
5e90386fda manual 2017-08-23 12:09:42 +02:00
2116070f02 Merge branch '3.0' into externalgui 2017-08-23 10:11:57 +02:00
02c193118b Merge branch '3.0' into developer 2017-08-23 09:41:27 +02:00
33894509e6 Merge branch '3.0' into developer 2017-08-23 09:41:26 +02:00
b208acf4a0 moved doxy.config to here 2017-08-23 09:41:10 +02:00
02f4b5f546 manual-main fixed, detaildoc not, but for developers and in next release 2017-08-23 09:40:53 +02:00
b2513cad23 Merge branch '3.0' into developer 2017-08-22 19:43:49 +02:00
4f28df03ab trials 2017-08-22 19:43:26 +02:00
a7dab9a257 updating user documentation. another update required 2017-08-22 19:42:52 +02:00
ca756dbeee Merge branch '3.0' into developer 2017-08-22 19:40:47 +02:00
760ca98ee4 updating user documentation. another update required 2017-08-22 19:40:20 +02:00
960dc5c62f removing the print 2017-08-21 10:40:15 +02:00
03d9e1d182 check should be before and after the push or pull 2017-08-21 09:24:26 +02:00
25886044ab Merge branch '3.0' into developer 2017-08-21 09:21:41 +02:00
4dd7cafe32 Merge branch '3.0' into developer 2017-08-21 09:21:41 +02:00
f78a7b201b updated master file to reflect all files(not just eiger) 2017-08-18 18:35:55 +02:00
4e374eb2cd updaterev 2017-08-18 18:35:30 +02:00
5b80ef6d04 changes to release 2017-08-18 18:35:04 +02:00
cc5862533e changes for the statistic moved to listener 2017-08-18 17:57:31 +02:00
d58dd1d035 reset fifo statistic at measurement startup 2017-08-18 17:24:56 +02:00
3b497eca36 reset fifo statistic at measurement startup 2017-08-18 17:23:52 +02:00
f4a11533be removed prints 2017-08-18 17:02:09 +02:00
fe24c8fb86 changed check 2017-08-18 17:00:28 +02:00
608f292e4f moved statistics to listener 2017-08-18 16:50:19 +02:00
9868ca3eca Merge branch '3.0-rc' into developer 2017-08-18 16:13:51 +02:00
de3c62fea4 Merge branch '3.0-rc' into developer 2017-08-18 16:13:51 +02:00
4b6144c489 updated server binaries 2017-08-18 16:13:33 +02:00
4838d6c037 updated server binaries 2017-08-18 16:13:09 +02:00
ec4be4f2c0 bugfix: framesl was not conected, exptime default time is 10 us 2017-08-18 16:11:49 +02:00
e93f53f459 changes for min fifo level 2017-08-18 15:59:18 +02:00
efad86335f made fifo bound volatile 2017-08-18 15:29:15 +02:00
70c2165df4 check of fifo level before trying to push in successfully 2017-08-18 15:21:30 +02:00
c1ea73d21c some changes for release txt 2017-08-18 14:03:11 +02:00
181616fb67 Merge branch '3.0-rc' into developer 2017-08-17 17:24:30 +02:00
ed8e41a02c Merge branch '3.0-rc' into developer 2017-08-17 17:24:30 +02:00
37f881017a updating command line docu. 2017-08-17 17:24:20 +02:00
cda7814c21 timing put for delay and period 2017-08-17 17:23:13 +02:00
c87cb5d051 Merge branch '3.0-rc' into developer 2017-08-17 17:16:59 +02:00
70a55428bc removed 2 files in doxygen always generated 2017-08-17 17:16:41 +02:00
8c0b4ac216 Merge branch '3.0-rc' into developer 2017-08-17 17:13:40 +02:00
60292ca0f8 added to .gitignore 2017-08-17 17:13:30 +02:00
fecac2c4d2 Merge branch '3.0-rc' into developer 2017-08-17 17:10:52 +02:00
9167d113dc command line doc. done 2017-08-17 17:10:32 +02:00
04ebc85fcc command line doc. done 2017-08-17 17:09:59 +02:00
de5986e5dd Merge branch '3.0-rc' into developer 2017-08-17 17:09:05 +02:00
7cfc6a9fd9 Merge branch '3.0-rc' into developer 2017-08-17 17:09:04 +02:00
e0c29190a2 command line doc. done 2017-08-17 17:08:55 +02:00
ff7b6c5abe Merge branch '3.0-rc' of git.psi.ch:sls_detectors_software/sls_detector_software into 3.0-rc 2017-08-17 17:04:57 +02:00
269227b093 Merge branch '3.0-rc' into developer 2017-08-17 17:04:30 +02:00
355c0a8c11 command line docu. more coming up 2017-08-17 17:04:29 +02:00
be95de0963 Merge branch '3.0-rc' of git.psi.ch:sls_detectors_software/sls_detector_software into 3.0-rc 2017-08-17 17:04:27 +02:00
0dd6567ce4 changed some sections in the documentation 2017-08-17 17:04:07 +02:00
638a69ad23 Merge branch '3.0-rc' into developer 2017-08-17 17:02:43 +02:00
7115ac19b6 command line docu. more coming up 2017-08-17 17:02:42 +02:00
b20f994ac4 Merge branch '3.0-rc' into developer 2017-08-17 16:59:08 +02:00
4adf3e9385 command line docu. more coming up 2017-08-17 16:59:07 +02:00
ae13fbce72 changed some sections in the documentation 2017-08-17 16:57:06 +02:00
68840b4544 Merge branch '3.0-rc' into developer 2017-08-17 16:50:18 +02:00
e2af1de83f Merge branch '3.0-rc' of git.psi.ch:sls_detectors_software/sls_detectors_package into 3.0-rc 2017-08-17 16:49:54 +02:00
7156d2e7b3 updated client docu. more coming up 2017-08-17 16:49:48 +02:00
e2d451a400 Merge branch '3.0-rc' into developer 2017-08-17 16:46:49 +02:00
3189bd5359 command line docu. more coming up 2017-08-17 16:46:48 +02:00
c3fce9822f Merge branch '3.0-rc' into developer 2017-08-17 16:40:35 +02:00
ca02a8fd72 manual 2017-08-17 16:39:48 +02:00
3c3a5062bd Merge branch '3.0-rc' into developer 2017-08-17 16:25:05 +02:00
edfa8493d8 command line docu. more coming up 2017-08-17 16:25:04 +02:00
52223e61d4 Merge branch '3.0-rc' into developer 2017-08-17 16:25:02 +02:00
827ce17fac command line docu. more coming up 2017-08-17 16:25:01 +02:00
96700d42b4 Merge branch '3.0-rc' into developer 2017-08-17 14:34:24 +02:00
56e61de863 command line docu. more coming up 2017-08-17 14:34:09 +02:00
2932a954ab Merge branch '3.0-rc' into developer 2017-08-17 14:32:46 +02:00
de7bb0b979 command line docu. more coming up 2017-08-17 14:32:45 +02:00
6ef4aa9715 Merge branch '3.0-rc' into developer 2017-08-17 14:32:44 +02:00
e333eb15cd command line docu. more coming up 2017-08-17 14:32:43 +02:00
80c8ff9f20 Merge branch '3.0-rc' into developer 2017-08-17 14:17:16 +02:00
3da71c9274 command line docu. more coming up 2017-08-17 14:17:10 +02:00
3a887eb604 Merge branch '3.0-rc' into developer 2017-08-17 14:17:05 +02:00
c6549694a8 command line docu. more coming up 2017-08-17 14:16:54 +02:00
b9cd0054a9 Merge branch '3.0-rc' into developer 2017-08-17 13:56:09 +02:00
cf5137723d command line docu update. more coming 2017-08-17 13:56:00 +02:00
945a7ed10f Merge branch '3.0-rc' into developer 2017-08-17 13:55:52 +02:00
5ef0012518 command line docu update. more coming 2017-08-17 13:55:44 +02:00
94e3874545 docu for bug fix eiger serbver 2017-08-17 12:07:57 +02:00
722fb58010 bugfix:trimval gave first pixel value and not -1 if all are different 2017-08-17 12:04:54 +02:00
d63933b2de fixed 9m hv 2017-08-17 11:09:26 +02:00
c6c0819a5e Merge branch '3.0-rc' into developer 2017-08-16 19:06:24 +02:00
45681f86ce update client command doc 2017-08-16 19:06:17 +02:00
50c5c12523 Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detectors_package into developer 2017-08-16 19:05:42 +02:00
4f773120b2 Merge branch '3.0-rc' into developer 2017-08-16 19:05:36 +02:00
4ffefc99a2 Merge branch '3.0-rc' into developer 2017-08-16 19:05:28 +02:00
16fc44b3ab update client command doc 2017-08-16 19:05:17 +02:00
e8cfadaae3 Merge branch '3.0-rc' into developer 2017-08-16 18:46:19 +02:00
ac6720e27d appears double in the intro list 2017-08-16 18:46:10 +02:00
65c76e10be Merge branch '3.0-rc' into developer 2017-08-16 18:37:30 +02:00
ae7255953d compile error bug fix 2017-08-16 18:37:10 +02:00
0bbee8d91e Merge branch '3.0-rc' into developer 2017-08-16 18:21:01 +02:00
24d6d2c24a Merge branch '3.0-rc' of git.psi.ch:sls_detectors_software/sls_detectors_package into 3.0-rc 2017-08-16 18:18:48 +02:00
28e9605ab7 eiger documentation 2017-08-16 18:18:31 +02:00
6b28201f72 comments merged 2017-08-16 17:50:46 +02:00
ae49c04dcd added documentation to slsDetectorCommand.cpp 2017-08-16 17:29:04 +02:00
87abe15227 Merge branch '3.0-rc' into developer 2017-08-16 17:28:09 +02:00
5f90db723c increased default fifo depth for gotthard 2017-08-16 17:27:31 +02:00
2ab90ae2ed Merge branch 'faststreamer' into 3.0-rc 2017-08-16 17:25:25 +02:00
4b7970c191 Merge branch '3.0-rc' of git.psi.ch:sls_detectors_software/sls_detectors_package into 3.0-rc 2017-08-16 17:23:50 +02:00
3cf092d058 updating cmd line help 2017-08-16 17:23:37 +02:00
0be51b69fb Merge branch '3.0-rc' into developer 2017-08-16 17:12:40 +02:00
57537a350f updating cmd line help; other detectors other than eiger will complain cannot set timer 14 (subexptime) when setting receiver 2017-08-16 17:12:23 +02:00
2b030abf0d sync eiger manual 2017-08-16 16:32:53 +02:00
e8217b0867 do not complain when setting timers 2017-08-16 16:26:57 +02:00
83bb7c99ea removed gotthard server binary..was for developer branch 2017-08-16 16:05:53 +02:00
24d0d776b7 new gotthard server binary 2017-08-16 16:04:47 +02:00
f4b01bc18b rst to sw1 for all 2017-08-16 16:03:57 +02:00
509d81ba7d Merge branch '3.0-rc' into developer 2017-08-16 11:50:26 +02:00
eaed8bab08 Merge branch '3.0-rc' into developer 2017-08-16 11:50:13 +02:00
3c59b3b8dd updated command line doc 2017-08-16 11:50:01 +02:00
2935722b98 updated command line doc 2017-08-16 11:49:55 +02:00
af5f61bd95 updated command line doc 2017-08-16 11:13:40 +02:00
8bc039c95f updated command line doc 2017-08-16 11:13:32 +02:00
b0b3701fcf moved the output dir of slsdetectorClientDocs 2017-08-16 11:11:26 +02:00
c489aeb9dc moved the output dir of slsdetectorClientDocs 2017-08-16 11:11:13 +02:00
db983c5439 moved the output dir of slsdetectorClientDocs 2017-08-16 11:10:56 +02:00
ca6fff9648 Merge branch '3.0-rc' into developer 2017-08-16 11:04:28 +02:00
5de120f7e7 more changes to client docu. more coming up. removed slsDetectorClientDocs from here 2017-08-16 11:03:22 +02:00
c21f7f371a more changes to client docu. more coming up 2017-08-16 10:42:27 +02:00
03cc80dc3c more changes to client docu. more coming up 2017-08-16 10:36:25 +02:00
413a944e70 fixed problem with datastream help 2017-08-16 10:11:39 +02:00
25ece55d7f more changes to client docu. more coming up 2017-08-16 10:09:27 +02:00
4d493504e3 Merge branch '3.0-rc' into developer 2017-08-15 18:42:51 +02:00
bb917b70f3 more changes to client docu. more coming up 2017-08-15 18:42:41 +02:00
c0d0ebb104 Merge branch '3.0-rc' into developer 2017-08-15 18:31:12 +02:00
f8060ef757 more changes to client docu. more coming up 2017-08-15 18:29:07 +02:00
193139f06f Merge branch '3.0-rc' into developer 2017-08-15 18:08:01 +02:00
f92a6e58d3 Merge branch '3.0-rc' into developer 2017-08-15 18:07:17 +02:00
8e1a841b42 in between command line documentation 2017-08-15 18:06:45 +02:00
6a2c0ac86d added command line documentation in release.txt 2017-08-15 18:06:20 +02:00
9bb8a94c55 updated README 2017-08-15 14:14:47 +02:00
f8bb6a04a9 so that the first image shows 2017-08-15 14:10:43 +02:00
1e7932f09c switched back to 200ms 2017-08-15 14:00:34 +02:00
02b6228856 updated eiger server 2017-08-15 13:59:03 +02:00
bcf5e1fc0b updated server binary 2017-08-14 15:07:36 +02:00
3fb92aa9dd changes done 2017-08-14 13:33:24 +02:00
77d688e508 changes done 2017-08-14 13:33:11 +02:00
1ec3a69e29 print memory allocated properly 2017-08-14 10:49:08 +02:00
aca3b4ca1b Merge branch '3.0-rc' into developer 2017-08-10 19:09:58 +02:00
0c6fcc1186 cannot put for get busy 2017-08-10 19:09:46 +02:00
92ae104f39 Merge branch '3.0-rc' into developer 2017-08-10 18:46:42 +02:00
ae6884949b Merge branch '3.0-rc' into developer 2017-08-10 18:46:42 +02:00
1a313e4d5d moved receiver start to status start and to startandreadall (acquire), parallelized status start, moved prepare and clean up to multi level and called by start and stop receiver for gotthard, moench and propix 2017-08-10 18:46:21 +02:00
e8d83a085f moved receiver start to status start and to startandreadall (acquire), parallelized status start, moved prepare and clean up to multi level and called by start and stop receiver for gotthard, moench and propix 2017-08-10 18:46:10 +02:00
c724756b5f included subexptime in metadata for hdf5 2017-08-10 17:33:32 +02:00
ad3e3ce255 sending and writing subexptime in the receiver files, adding 0x in front of all numbers printed in command line which is hexa 2017-08-10 17:25:28 +02:00
f084efd263 sending and writing subexptime in the receiver files, adding 0x in front of all numbers printed in command line which is hexa 2017-08-10 17:25:18 +02:00
af079f3168 posisibility to read adnd write registers in the front end board for eiger 2017-08-10 14:49:02 +02:00
11943c4b5c merge insignificant conflicts 2017-08-10 11:19:36 +02:00
389f356a3a high voltage reflects the master only, if 2 masters reflects -1 2017-08-10 11:09:44 +02:00
0219d09067 sub frame number for eiger in master ascii file, instead of exposure length 2017-08-10 11:07:56 +02:00
df11f41416 reworked version 2017-08-10 10:04:00 +02:00
97330b65ca to handle frame number 0s from firmware 2017-08-09 18:47:55 +02:00
eed951016b frame number 0 from firmware in eiger is dealt with 2017-08-09 18:13:23 +02:00
39847c5db6 esrf bug, shut down socket, but being processed and object deleted, fixed 2017-08-09 17:25:23 +02:00
12592c1206 updaterev 2017-08-09 17:24:43 +02:00
cb90c3722d esrf bug, shut down socket, but being processed and object deleted, fixed 2017-08-09 17:24:34 +02:00
851914f0ae manuals 2017-08-08 20:04:28 +02:00
e85973ec8b manuals 2017-08-08 19:48:32 +02:00
7a30ab25bd Merge branch '3.0-rc' into developer 2017-08-08 19:16:10 +02:00
5a45f15c7f fixed the frameindex bug (always 0) 2017-08-08 19:15:57 +02:00
558e5e2e9a added busy command, converted get frames etc to an integer output 2017-08-08 19:15:20 +02:00
82d21b6971 changes to release.txt to include busy command and the frameindex bugfix 2017-08-08 19:13:22 +02:00
ccc60dacf4 updated release.txt and the cmk.sh help script 2017-08-08 16:24:33 +02:00
517dfdf523 Merge branch '3.0-rc' into developer 2017-08-08 14:59:07 +02:00
43ba40ec4c updaterev 2017-08-08 14:51:47 +02:00
557d190236 changes for rest implementation 2017-08-08 14:51:32 +02:00
5c6a99afca changes for rest implementation 2017-08-08 14:51:00 +02:00
c98c5e469b added warning in makefile 2017-08-08 07:06:43 +02:00
d827ccc115 backported changes implemented in 2.3.2.rest 2017-08-08 06:55:52 +02:00
a40d18f8b2 last packet even if many padded packets in between should be written (from carryoverflag) 2017-08-07 19:58:48 +02:00
0cd18a3b7a more comments 2017-08-07 10:39:29 +02:00
ebe01104e7 Merge branch '3.0-rc' of git.psi.ch:sls_detectors_software/sls_detectors_package into 3.0-rc 2017-08-07 10:31:17 +02:00
6b8b6b4b3d no need of quotes for gitall.sh 2017-08-07 10:31:11 +02:00
31026576f4 delete cache before (re-)running cmake 2017-08-07 09:54:03 +02:00
2c58bc6a5c included numbe of compiler threads 2017-08-04 19:12:44 +02:00
3ed2bcf3fa added cmk.sh to build cmake files and compile 2017-08-04 18:54:22 +02:00
8f1e8b1196 cmake withotu hdf5 2017-08-04 15:40:44 +02:00
c0d6958e37 no changE 2017-08-04 15:40:21 +02:00
d2d2959237 Merge branch '3.0-rc' into developer 2017-08-04 14:21:31 +02:00
c31ee2d76f allowing -1 in gui for spinbox 2017-08-04 14:20:51 +02:00
dc318d3f47 updaterev 2017-08-04 14:20:33 +02:00
429bf7f13d updaterev 2017-08-04 14:20:21 +02:00
96ce9ed7c1 if timer gives -1 in multi, it should not multiply answer with 1e-9 to get in seconds in slsdetectorocmmand 2017-08-04 14:09:56 +02:00
41288302f4 fixed resolution for exptime, period and delay in server 2017-08-04 14:01:17 +02:00
039092f292 bug fix: changes for the multipurpose reg in configuremac 2017-08-04 11:21:32 +02:00
fbee70818a 25 um server using a config.txt file 2017-08-03 14:16:18 +02:00
5027f66d77 changed usleep 2017-07-28 12:20:54 +02:00
f5773de068 changes for single images with index 0 not realized as caught and therefore no virtual file created, fixed 2017-07-28 12:16:07 +02:00
88b6fabb0d bug did not give error when switching to hdf5 2017-07-28 11:54:22 +02:00
37dd32f1b0 version 2017-07-28 11:30:21 +02:00
5713cd6092 addin usleep to reduce cpu 2017-07-28 11:28:03 +02:00
3174bd1c85 addin usleep to reduce cpu 2017-07-28 11:27:35 +02:00
eb4da5ff0c removed print of elapsed time 2017-07-28 10:19:33 +02:00
98d5758ba1 Merge branch 'developer' into 3.0-rc 2017-07-27 14:40:50 +02:00
c49c07b34a Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detectors_package into developer 2017-07-27 14:40:25 +02:00
058fcd8aba Merge branch 'cmakefix' into developer 2017-07-27 14:40:17 +02:00
699cce713b Merge branch 'cmakefix' into 3.0-rc 2017-07-27 14:40:01 +02:00
a88aa53d82 comment to compile statically 2017-07-27 14:39:00 +02:00
7fa13a5d5d compatible with cmake 2.8.8 2017-07-27 14:28:14 +02:00
56b420d68b manual 2017-07-27 14:20:46 +02:00
efd49ae92a removing individual hdf5 path from cmakelists 2017-07-27 13:55:23 +02:00
71204172df simplify hdf5 linking 2017-07-27 12:51:10 +02:00
6cb387e3a8 tab->space reformat 2017-07-27 12:45:27 +02:00
05b32ce26c find hdf5 cxx component 2017-07-27 12:44:21 +02:00
b920e52218 default no for hdf5 and rest 2017-07-27 12:31:12 +02:00
f07816a0d1 hdf5 works now, but needs fixes 2017-07-27 12:08:51 +02:00
c7d4582efa versioning 2017-07-27 12:08:28 +02:00
77dc4d3d77 solved some warnings 2017-07-27 12:08:12 +02:00
1d073b6897 sort of works, but needs simpler fix 2017-07-27 12:07:44 +02:00
56aaaf2e07 changes for the cmake 2017-07-27 10:18:07 +02:00
e360077e09 changes for the cmake 2017-07-27 10:17:55 +02:00
0fcf768772 basename for hdf5 fixes 2017-07-27 09:31:14 +02:00
a5f3de61a9 should be able to compile in pcmoench as l_msdetect 2017-07-26 15:09:29 +02:00
915fd41bf6 should be able to compile in pcmoench as l_msdetect 2017-07-26 15:09:24 +02:00
497f5289e6 new eiger server in serverbins 2017-07-26 11:37:23 +02:00
8a8e76e839 added usleep to remove the 100%cpu, removed a insignificant printout 2017-07-26 11:36:31 +02:00
086beea501 nothing really 2017-07-26 11:35:56 +02:00
1a522c6696 removed ui include files as they are generated anyway for every make 2017-07-26 11:14:17 +02:00
91f8987b6c removed ui include files as they are generated anyway for every make 2017-07-26 11:12:56 +02:00
5771a3c722 includes in gui 2017-07-25 13:56:27 +02:00
9d8faae375 fixed front end board temp 2017-07-25 13:55:27 +02:00
2ddf4117d0 from package to compile receiver library as well 2017-07-25 12:25:24 +02:00
68cbb63355 adding the form include files back into git 2017-07-25 12:15:58 +02:00
7df21e1790 updated server bins 2017-07-13 14:45:10 +02:00
c25239a398 updaterev 2017-07-13 14:44:52 +02:00
04165a9da8 rest implementation, index issues 2017-07-13 14:44:34 +02:00
0bacb903ea rest implementation, index issues 2017-07-13 14:44:03 +02:00
a1fd34ebb6 for users ensured proper destructors, and ctrl c should kill it 2017-07-13 12:18:45 +02:00
126ad92ed8 can set zmqport from receiver 2017-07-13 12:18:19 +02:00
e3667f6827 can set zmqport from receiver 2017-07-13 12:18:07 +02:00
39560969f4 can set zmqport from receiver, ensured proper destructors, and ctrl c should kill it 2017-07-13 12:17:49 +02:00
f1a77c4146 resolved issue with source not being looked at for compiling 2017-07-11 13:27:27 +02:00
68b1959a85 excluding detector server directories in makefile 2017-07-11 11:16:37 +02:00
931a5840e8 changes to gotthard server to include write adc, and also changes to fix the dma=dma+1 2017-07-11 10:54:21 +02:00
f430152f61 moved common git evaluation variables to the common folder 2017-07-10 11:22:56 +02:00
e0b886e2cc moved the versioning files back to include 2017-07-10 11:22:32 +02:00
ef9fd77850 some more changes to make file for automatic versioning, but changes to cpp file does not affect make, need to include that 2017-07-10 11:20:50 +02:00
672c42a20e some more changes to make file for automatic versioning 2017-07-10 11:20:26 +02:00
dbce25fdea some more changes to make file for automatic versioning 2017-07-10 11:20:15 +02:00
a583f3d6e2 some more changes to make file for automatic versioning 2017-07-10 11:18:41 +02:00
cf0ef68cda fixed adc and num dacs for jungfrau in gui 2017-07-06 18:34:00 +02:00
be6925c504 fixed temperature for jungfrau in server, also for negative values 2017-07-06 16:07:01 +02:00
14bba171e7 conflict gitversion 2017-07-03 17:45:06 +02:00
1e50bc4cc0 conflict git 2017-07-03 17:44:52 +02:00
374b07a126 merge developer 2017-07-03 17:42:06 +02:00
460a44a9b1 made updatereceiver to actually update client in parameters that it can 2017-07-03 17:37:31 +02:00
f944d7cae4 made updatereceiver to actually update client in parameters that it can 2017-07-03 17:37:24 +02:00
b4309a9f60 changed jungfrau temperature conversion but binary to follow 2017-07-03 14:45:44 +02:00
539ab79e99 changed jungfrau temperature conversion 2017-07-03 14:45:29 +02:00
99dad79572 Somewhere 2017-07-03 13:46:06 +02:00
26f9b1ccbd Somewhere 2017-07-03 13:45:45 +02:00
da4ffb235c ensuring set detector type is the first call 2017-07-03 13:32:10 +02:00
b03e35a8d6 sorted receiver client interface, more consistent 2017-07-03 13:31:17 +02:00
f8c04a6a51 sorted the receiver client interface, more manageable 2017-06-30 18:17:33 +02:00
7033d43e61 changed makefile to find libraries 2017-06-30 12:21:48 +02:00
bd9f19f6c7 changed the makefile a bit to find libraries 2017-06-30 12:20:42 +02:00
a4c07ba9a0 added black background for reciever to see gray font better 2017-06-30 12:19:27 +02:00
4b9a8c1dad makefiles and versioning update complete 2017-06-29 17:10:28 +02:00
b05e9c194a makefiles and versioning update complete 2017-06-29 17:10:10 +02:00
c01931e5a6 makefiles and versioning update complete 2017-06-29 17:09:46 +02:00
7afbd8f0f0 makefiles and versioning update complete 2017-06-29 17:09:34 +02:00
b6eb4cbb61 testing changes 2017-06-29 10:18:51 +02:00
21e1fcf693 trying with gui makefile changes 2017-06-29 09:27:26 +02:00
cfff7969e3 changes for Makefile dependencies 2017-06-28 18:52:43 +02:00
6bfbb075c8 ensuring fiel permissions 2017-06-28 18:18:30 +02:00
1a74ceca3e ensuring file permissions 2017-06-28 18:16:55 +02:00
7990dd6f77 fixed makefile and included correct versioning while compiling 2017-06-28 18:13:47 +02:00
f4857355b6 fixed new header for eiger 2017-06-28 16:53:01 +02:00
81d68bebc6 Merge branch 'developer' into eigerheaderchange 2017-06-28 11:30:46 +02:00
8992d51787 correct binary jungfrau 2017-06-28 11:26:35 +02:00
e79827384a included update git versionign in each server, removing the main one 2017-06-28 11:24:30 +02:00
4905f49108 added updateversion into makefile while compiling 2017-06-28 11:23:19 +02:00
073d30bf61 added updateversion into makefile while compiling 2017-06-28 11:21:10 +02:00
3515951bb8 added updateversion into makefile while compiling 2017-06-28 11:18:55 +02:00
fde7ddf832 added updateversion into makefile while compiling 2017-06-28 11:00:21 +02:00
7a8d0b8dad added updateversion into makefile while compiling 2017-06-28 10:57:39 +02:00
56645a48af added updateversion into makefile while compiling 2017-06-28 10:54:27 +02:00
a7d3006cda added updateversion into makefile while compiling 2017-06-28 10:48:03 +02:00
c2624daa9a uncommented a print 2017-06-28 10:27:40 +02:00
2126e2a723 added updategit 2017-06-28 10:24:49 +02:00
c2980b3c44 changes for setting threshold without trimbits for eiger 2017-06-28 10:24:07 +02:00
ca358e4d17 changes to the eiger and jungfrau server regarding getnumberofchans etc a typo bug resulting in could not allocate 2017-06-27 17:46:32 +02:00
22796d0d27 updaterev 2017-06-27 17:43:19 +02:00
e6f1a90ed7 changes 2017-06-27 14:57:43 +02:00
6a80bc5b54 new feature, set threshold without uploading trimbits 2017-06-27 13:00:38 +02:00
5dd2f273fc eigerserver changes, need to include martins changes 2017-06-27 10:22:55 +02:00
1ed4407c11 parallelizing adcs and dacs 2017-06-23 17:26:46 +02:00
f7e4dbc99e getadc must specify -1 for imod, as imod in multi might be default 0 2017-06-23 17:26:33 +02:00
57ae305c7d parallelized enabledatastreaming 2017-06-22 16:59:41 +02:00
5d75d8371b unnecessary printout 2017-06-22 16:59:18 +02:00
bbbd4731d7 ensuring acquire, p receiver start and the gui enables and disables data streaming accordingly. those with api will have to know what they want before acquiring 2017-06-22 16:44:29 +02:00
df01ca7e4b ensuring acquire, p receiver start and the gui enables and disables data streaming accordingly. those with api will have to know what they want before acquiring 2017-06-22 16:44:13 +02:00
931e750d65 fixed gui starting up without the config file 2017-06-22 15:26:00 +02:00
697fc5b85e updaterev 2017-06-22 14:36:22 +02:00
cd86c708dc updaterev 2017-06-22 14:36:02 +02:00
cffdf7fede updaterev 2017-06-22 14:33:24 +02:00
c05b89a77d updating exe 2017-06-22 14:32:52 +02:00
f66950d312 fixed the 9m master server having to be rebooted for hv to work 2017-06-22 14:32:24 +02:00
98cb8de478 when using userReceiver with many instances of the receiver in one program, the index will keep increasing, hence need to adjust zmq port and det index in file name 2017-06-22 12:27:17 +02:00
1dc774d229 comments 2017-06-21 17:08:47 +02:00
1c7ff1dd8c adding printouts , resetting an image size for each listen image, if last image is not complete, it should be checked with rc==0 and not if itis transmitting, else it doesnt send last incomplete image 2017-06-21 17:07:45 +02:00
fe73e09aa4 removing unnecessary printouts, ensuring lost packets are 0xff 2017-06-21 17:05:47 +02:00
b2caec384f removing receiver print config from gui 2017-06-21 17:03:41 +02:00
1c221d5844 insignificant uncommented gui in makefile 2017-06-20 12:47:25 +02:00
8b3864969c updated server exe 2017-06-20 12:45:13 +02:00
cbd1570a8c fixed gui getting stuck (wrong datathreadmask more than 64 bits cuz of 72 sockets), gotthard detector receiver updated 2017-06-20 12:43:28 +02:00
df71899244 fixed gui getting stuck (wrong datathreadmask more than 64 bits cuz of 72 sockets), gotthard detector server udpated 2017-06-20 12:40:28 +02:00
48f853aa1a fixed gui getting stuck (wrong datathreadmask more than 64 bits cuz of 72 sockets) 2017-06-20 12:38:59 +02:00
e2e25f6e62 changed API for setting network parameter to remove memory leak, fixed lock issues in streaming print outs to gui, deleted return from threadpool in the right place 2017-06-19 14:29:45 +02:00
68bbea17d1 removed fifo buffer size print out (fifo buffer size removed earlier) 2017-06-19 14:20:17 +02:00
2ec1e08081 changed API for setting network parameter to remove memory leak, fixed lock issues in streaming print outs to gui 2017-06-19 14:19:30 +02:00
3007694b77 bug (from eiger_newheader) with imagesize of fifo different from actual image size 2017-06-16 13:53:27 +02:00
c2af014dad new server 2017-06-14 12:07:58 +02:00
a46a8cc686 updaterev 2017-06-14 11:41:11 +02:00
9ab2c1eb1f new server 2017-06-14 11:40:35 +02:00
84d07a3e0c updaterev 2017-06-14 11:39:07 +02:00
8d6ceccf87 updaterev 2017-06-14 11:38:28 +02:00
5176ad521f merged with annas, removed a <<< head merge conflict 2017-06-14 11:36:44 +02:00
feb1ef4ea5 Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detector_software into developer 2017-06-14 11:28:24 +02:00
00e742e0e0 took out also the ADC and serialspi 2017-06-14 11:28:16 +02:00
a95dbd2215 made some functions common 2017-06-14 10:43:15 +02:00
cbbdd8eeab Merged to developer 2017-06-13 15:30:33 +02:00
8caab4e562 Modicfications for chiptestboard and moench03 module 2017-06-13 15:28:45 +02:00
1537bb3298 more detail in printf 2017-06-13 12:59:26 +02:00
cb7b8713cf fixed the precision problem in converting double to long long int (0.0000325 *1E9), cant find another example 2017-06-13 12:58:56 +02:00
3d8903b2da updaterev 2017-06-12 18:54:58 +02:00
7f01ccc83f updaterev 2017-06-12 18:53:42 +02:00
e1eba8dec3 new servers 2017-06-12 18:53:18 +02:00
3fbbeea434 update rev 2017-06-12 18:51:52 +02:00
47e5504203 updaterev 2017-06-12 18:50:55 +02:00
d41abc2b1c added new jungfraustructure, wiht common detector tcp interface 2017-06-12 18:50:18 +02:00
b46da37932 new server for change in cleanup of servers 2017-06-12 18:39:06 +02:00
d862f10d5c Merge branch 'developer' into jungfrau_cleanup 2017-06-12 18:30:56 +02:00
74ca3fcc9a jungfrau server works 2017-06-12 18:27:59 +02:00
73c97f1381 solved many bugs, but cannot get data in eiger 2017-06-09 16:05:40 +02:00
f516d24089 solved many bugs, but cannot get data in eiger 2017-06-09 16:05:22 +02:00
132a9bbfe9 solved many bugs, but cannot get data in eiger 2017-06-09 16:02:58 +02:00
e10bf9d897 done, but need to compile 2017-06-09 11:42:32 +02:00
c755a8974c done, but need to compile 2017-06-09 11:42:25 +02:00
0254ff0281 cleaning up of servers 2017-06-02 19:29:34 +02:00
2465eafff0 somewhere in between 2017-05-30 19:00:11 +02:00
5481e19709 manual 2017-05-30 16:40:47 +02:00
5dbfbdb82b improved readNextFrame for moench 10G streaming; implemented many photons finder 2017-05-30 12:21:48 +02:00
f74710998d mannnnyyyy changes to jungfrau serverin structure, also to eiger structure a bit 2017-05-26 18:14:44 +02:00
db75f1c81e manual, rate corr 2017-05-26 17:47:08 +02:00
046ac97a9b now need to move it to a new server 2017-05-24 17:42:33 +02:00
b8f0dd5f38 cleaned most of it, just need confirmation from carlos 2017-05-24 17:33:03 +02:00
0ea61a1e3f somewhere 2017-05-24 11:05:37 +02:00
c012f2cda3 change for eiger 10g to work 2017-05-23 10:09:35 +02:00
978af1009e somewhere in between cleaning up 2017-05-22 14:53:15 +02:00
39a985cbba modifying registers_m.h wrt Carlos firmware document, modified detector initialization in firmware_funcs.c and related files 2017-05-19 18:27:11 +02:00
06d60c981d memset of the entire memory in the beginning, cuz mpc2012 shows leak at runtime 2017-05-19 13:45:15 +02:00
0e2d0f07e8 getting hostname from ip (for all, cuz hostname can have dots too 2017-05-19 10:21:33 +02:00
e8e9e12302 changes to header old and new, still memory leak for jungfrau 2017-05-19 10:16:16 +02:00
781fea0a96 fifo fill level included 2017-05-18 16:01:35 +02:00
4aa73c607f print loss 2017-05-18 13:59:40 +02:00
a276b6b7f5 fixed bug rx_hostname being hostname or ip in zmqsockt, and num packets correctly reflects num good frames 2017-05-18 10:53:29 +02:00
ea875a14f9 fixed bug when rx_hostname was an ip and using zmqsocket 2017-05-17 15:58:12 +02:00
cb008bb700 removed unnecessary functions in listener and dataprocessor and ensure processedin measurement is not same saas processed frames in acqustion 2017-05-17 15:37:51 +02:00
4633c142a8 hdf5 by default disabled in makefile 2017-05-16 14:49:37 +02:00
001d6415bf removing thread prioritization for writer, streamer and tcp threads 2017-05-16 14:45:48 +02:00
a182ca3660 jungfrau end column fixed 2017-05-16 11:18:36 +02:00
bd363b2c93 jungfrau finally works with new header 2017-05-15 17:02:37 +02:00
205a3780d5 changes for jungfrau new header 2017-05-15 15:00:04 +02:00
5e82b50a00 to not include hdf5 if no is given in Makefile.include 2017-05-12 15:29:34 +02:00
476f3162af including hardcoded xcord from software 2017-05-12 14:50:20 +02:00
b7291dffb9 hdf5 basic works 2017-05-12 14:33:01 +02:00
15424149cd removed leak from postprocessing, moved delete task to earlier in threadpool and deleting threadpool 2017-05-12 10:32:16 +02:00
f53770a2fc some changes to remove possible warnings 2017-05-11 14:41:07 +02:00
0e9cf558b4 Modified JUNGFRAU_MODULE_ID to match the detector type definition that is tx. with the new header. 2017-05-10 16:47:10 +02:00
95bf19a417 deleting socket and insignificant changes 2017-05-08 15:08:59 +02:00
8471765e30 insignificant 2017-05-08 14:48:29 +02:00
6d7fb07a4c fixing the standard header pointers for it to work 2017-05-08 12:33:31 +02:00
1e8c7bd637 not necessary to check file name 2017-05-08 12:33:00 +02:00
a1fc93b398 changes including warnings and zmq 2017-05-04 17:52:58 +02:00
0722ef3125 changes including warnings and zmq 2017-05-04 17:52:47 +02:00
49b4ae2f56 changed zmq method, and resolved warnings and from esrf 2017-05-03 17:57:56 +02:00
e2d1d58acf Alejandro changes from ESRF 2017-05-02 08:36:36 +02:00
44339d3b89 c_Str() not access global variables from thread 2017-05-02 08:25:45 +02:00
404bb4a653 changed -lpthread to -pthread 2017-05-02 08:15:11 +02:00
066550d38c zmq changes for no dummy data end 2017-05-01 14:02:13 +02:00
020eaded36 Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detector_software into developer 2017-05-01 13:11:16 +02:00
445da80df8 resolved warnings, also from esrf: todo: include changes in zmq 2017-05-01 13:11:10 +02:00
f937b8ca5d Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detector_software into developer 2017-05-01 12:21:07 +02:00
7901b6f463 Modified "calcChecksum" function in jungfrauDetectorServer/firmware_funcs.c to compute properly the new IP header checksum for a new application header of 48 bytes. 2017-05-01 12:14:06 +02:00
e9f6dcf479 strtok is not thread safe..used to set receiver udp ip etc to detector, fixed 2017-05-01 10:24:16 +02:00
264485c8ff changed all -lpthread to -pthread 2017-05-01 09:53:37 +02:00
3525bb3f9f changed all -lpthread to -pthread 2017-05-01 09:44:33 +02:00
78d1504d66 changed all -lpthread to -pthread 2017-05-01 09:39:19 +02:00
c6cb499758 added the jungfrau binary 2017-04-28 13:41:08 +02:00
bc57ea5725 added the binary 2017-04-28 11:31:12 +02:00
27f752ff9e removed wrong edits in merging (not reflected in git browser, weird); changing server names anyway 2017-04-28 11:30:09 +02:00
b9275646ad crazy amount of changes, both necessary and unnecessary;need to narrow down the real change later 2017-04-27 14:05:04 +02:00
9e2f2697c7 crazy amount of changes, both necessary and unnecessary;need to narrow down the real change later 2017-04-27 13:58:25 +02:00
b6b0df62b6 updaterev 2017-04-20 08:26:29 +02:00
0ba537e479 removed headersize compile error 2017-04-20 08:26:16 +02:00
75ddf535dc updaterev 2017-04-19 17:59:53 +02:00
b1de501bef updaterev 2017-04-19 17:59:46 +02:00
0f3a63f101 changed zmq default port starting at 40001 to be able to view in wireshark and removed headersize for warning 2017-04-19 17:42:38 +02:00
3b4b2d707f changes without ostringstream done 2017-04-19 10:17:39 +02:00
f405aa1733 split zmq_msg_t so its not reused 2017-04-19 10:17:30 +02:00
df0fdb7ecb changes without ostringstream done 2017-04-19 10:16:45 +02:00
91b7a87557 just started changin frm ostringstream 2017-04-18 15:32:01 +02:00
9468b9ca1e updaterev 2017-04-11 13:39:59 +02:00
d7982e178e updaterev 2017-04-11 13:39:53 +02:00
9cf5714a5b removing warnings shown from esrf debian 2017-04-11 13:39:35 +02:00
0c9ac8911a removing warnings shown from esrf debian 2017-04-11 13:39:28 +02:00
4730c8c0a9 updaterev 2017-04-11 13:31:49 +02:00
43efb8acfd removing warnings shown from esrf debian 2017-04-11 13:31:32 +02:00
6ecca8fcb0 updaterev 2017-04-11 09:03:26 +02:00
17cb63a57f updaterev 2017-04-11 09:03:19 +02:00
4f83fcb001 updaterev 2017-04-11 09:02:10 +02:00
ab94af6d29 removed verbose etc 2017-04-07 15:08:40 +02:00
7c725cc69b .c_str() must not access global variables from thread 2017-04-07 14:57:19 +02:00
f0198d2d2e alejandro's changes from ESRF 2017-04-07 14:50:17 +02:00
5ddccbdee4 changed all -lpthread to -pthread 2017-04-07 14:28:00 +02:00
8fb39b8c7e changed all -lpthread to -pthread 2017-04-07 14:27:27 +02:00
bd5293f4b1 changed all -lpthread to -pthread 2017-04-07 14:26:09 +02:00
b91180f5b2 changed all -lpthread to -pthread 2017-04-07 14:26:03 +02:00
7c3b5065a5 changed all -lpthread to -pthread 2017-04-07 14:25:09 +02:00
9aef802bea changed all -lpthread to -pthread 2017-04-07 14:24:49 +02:00
f7d85231f2 solved warnings except sscanf for uint64_t 2017-04-07 14:12:21 +02:00
5b3a911e8d solved warnings except sscanf for uint64_t 2017-04-07 14:11:34 +02:00
65f5e1c1ab strtok is not thread safe..used to set receiver udp ip etc to detector, fixed 2017-04-06 15:04:33 +02:00
b401a6c33b in between stage 2017-04-04 11:20:38 +02:00
faefcc4799 Merge branch '2.3' into developer 2017-03-29 11:25:28 +02:00
1afb9e3e48 manual 2017-03-29 11:23:44 +02:00
09d3372cc0 manual 2017-03-29 10:11:16 +02:00
671587c029 manual 2017-03-29 10:09:52 +02:00
fb0b0b96ec need to automize parameter passing 2017-03-24 16:58:17 +01:00
72d89fefc3 modified release 2017-03-24 16:58:00 +01:00
a11313fe96 removed copies 2017-03-24 15:15:30 +01:00
aba3a67b80 Merge branch '2.3' into developer 2017-03-24 14:20:38 +01:00
cacb4c9d93 updaterev 2017-03-24 13:42:11 +01:00
86490226ed removing the return value usage in start acquisition callback, callbacks will be called if registered, and we will write files if file write enabled 2017-03-24 13:41:56 +01:00
eb203c93b2 removing the return value usage in start acquisition callback, callbacks will be called if registered, and we will write files if file write enabled 2017-03-24 13:41:30 +01:00
2bb8fa596a from the merge of 2.3 2017-03-24 12:22:49 +01:00
bb52676f50 merged from 2.3 without udpstandard 2017-03-24 10:34:31 +01:00
536f8937cb merging 2017-03-24 09:10:09 +01:00
e8b14f8c8a done 2017-03-24 08:26:10 +01:00
aca09bcd4e done 2017-03-24 08:25:50 +01:00
fdb4fa28db retrying 2017-03-24 08:22:50 +01:00
93362963e2 removed changes for test 2017-03-24 08:12:38 +01:00
33a7375c72 changes to test 2017-03-24 08:12:10 +01:00
97bad0fcb9 changes 2017-03-24 08:06:09 +01:00
059711af37 retrying a test 2017-03-24 07:59:36 +01:00
f0c5106764 trying a test 2017-03-24 07:59:14 +01:00
4182615aa9 trying a test 2017-03-24 07:58:27 +01:00
ff2c42e921 Merge branch '2.3' into developer 2017-03-23 15:38:48 +01:00
44be9829d4 removed anna from support as she prefered it 2017-03-23 15:38:24 +01:00
e450f5ec6a updaterev 2017-03-23 15:17:34 +01:00
70a7217353 changed the header size to a better number 2017-03-23 15:17:21 +01:00
7dfb1b7192 added a release text 2017-03-23 15:17:03 +01:00
da8d535dae updaterev 2017-03-23 14:09:01 +01:00
404be013a2 changes to new callback arguments without filepointer 2017-03-23 14:08:43 +01:00
6d4c0d0d46 modified users for new callback argument without filepointer 2017-03-23 14:07:56 +01:00
54371bc6be updaterev 2017-03-23 13:48:18 +01:00
5c230e2ac5 updaterev 2017-03-23 13:48:12 +01:00
0814f6369d udpaterev 2017-03-23 13:46:16 +01:00
9e658e7947 udpaterev 2017-03-23 13:46:02 +01:00
bf57be309f updated server 2017-03-23 13:44:44 +01:00
6f34dddb5a changed the file header size t0 1kb and changed its description in the header 2017-03-23 13:41:37 +01:00
c47f2f3449 solved the gui 4 bit bug where no data was displayed: due to byterperchannel being int and a 0 2017-03-23 13:31:22 +01:00
5dcacaae2a frame and packet counters for the delay was buggy, not looking at lsb and msb, fixed 2017-03-23 12:38:19 +01:00
b9eb3d5a52 somewere stuck with virtual template overloading 2017-03-23 11:56:17 +01:00
78078f4ef3 esrf suggestion for volatile in multithread threadpool 2017-03-23 11:55:56 +01:00
ea66f2d12f manual 2017-03-20 14:51:18 +01:00
de16c2a7f1 manual 2017-03-20 12:42:28 +01:00
aae4e3f993 removed unnessary printout 2017-03-20 11:22:35 +01:00
911ff49238 changes for merges from 2.3 incl standard packet header 2017-03-20 11:22:07 +01:00
6731c39ce2 Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detectors_package into developer 2017-03-20 10:48:54 +01:00
81eade8ede Merge branch '2.3' into developer 2017-03-20 10:48:38 +01:00
78958c7699 updaterev 2017-03-20 09:30:15 +01:00
575c9617c7 fixed gui for new header 2017-03-20 09:28:15 +01:00
1ab80b0517 updaterev 2017-03-20 09:28:02 +01:00
4b388f56b2 fixed gui for new header 2017-03-20 09:27:38 +01:00
fb91ba25f3 uncomment gui. insignificant 2017-03-20 09:26:13 +01:00
4d5506a0a8 manual 2017-03-15 15:52:19 +01:00
1413244617 update rev 2017-03-15 15:02:28 +01:00
dc77b07c92 update rev 2017-03-15 15:02:22 +01:00
9f68fc6f3b fixed call backs with new standard header 2017-03-15 15:00:25 +01:00
47a769e677 modified users receiver to have all objects defined in one 2017-03-15 15:00:01 +01:00
ecaa8e45a4 some changes to the command help 2017-03-15 14:52:19 +01:00
36e92c194d changes for callback to work 2017-03-14 08:23:47 +01:00
4a8f2b5a69 Merge branch '2.3-rc' of git.psi.ch:sls_detectors_software/sls_detectors_package into 2.3-rc 2017-03-14 08:22:29 +01:00
22e0332833 changes to callback 2017-03-14 08:21:27 +01:00
53be854efd including subframe number 2017-03-13 11:33:06 +01:00
0a1aaec708 resolved the recovering from receiver start error , but still does not acknowledge error in gui 2017-03-10 13:24:00 +01:00
cad8ffc0c6 resolved the recovering from receiver start error , but still does not acknowledge error in gui 2017-03-10 13:07:33 +01:00
8ebbfbb84b incl. prev commit: Included file overwrite, format and changed the functonality of filewrite enable and file path 2017-03-10 12:21:19 +01:00
2ef44ec70b somewhere 2017-03-10 10:51:47 +01:00
978b54dff9 somewhere 2017-03-10 10:51:37 +01:00
300b014f73 somewhere 2017-03-10 10:51:28 +01:00
1e94ec0c6a fixed short gotthard 2017-03-09 13:28:03 +01:00
86018684c9 made it work for gotthard 2017-03-09 11:40:48 +01:00
300bf85dae uncommented extra comments 2017-03-09 11:40:26 +01:00
1cbbf9409f manual 2017-03-09 09:23:57 +01:00
0ff79b7d5a manual 2017-03-09 09:21:50 +01:00
0dccd78567 not yet gotthard 2017-03-08 14:37:00 +01:00
0e4c7a9494 adjusted for jungfrau 2017-03-07 14:59:38 +01:00
679e747b5c Merge branch '2.3-rc' into developer 2017-03-07 07:30:40 +01:00
b16757e8d1 adapt eiger noise 2017-03-06 12:18:32 +01:00
daaf13d99c manual with new calibration scheme 2017-03-03 16:45:25 +01:00
6c3165b31a manual with new calibration scheme 2017-03-03 16:42:03 +01:00
e86e9361b6 removed std:: to make round compile 2017-03-03 16:00:22 +01:00
50f8366bc2 small changes for jungfrau, but also for the gui 2017-03-03 15:57:48 +01:00
f3bf331b5f solved bug of decoding data with distorted image 2017-03-03 13:48:47 +01:00
73ec3903bf added data structures for mythen3.01 and adcsar2 for jctb 2017-03-03 13:10:14 +01:00
85cc0d8184 Merge branch 'developer' into hdf5 2017-03-03 10:09:44 +01:00
7e00d9f395 Merge branch 'developer' into hdf5 2017-03-03 10:06:34 +01:00
bd7f3567f8 Merge branch 'developer' into hdf5 2017-03-03 09:33:53 +01:00
bd0f72c60e removed std:: in front of round, else compile error 2017-03-03 09:12:19 +01:00
2505369c08 updaterev 2017-03-03 09:07:46 +01:00
ab4572f544 updaterev 2017-03-03 09:07:36 +01:00
80fb0a99a8 Merge branch '2.3-rc' into hdf5 2017-03-03 09:06:49 +01:00
bdff083402 Merge branch '2.3-rc' into hdf5 2017-03-03 09:05:40 +01:00
053e05628f callback 2017-03-03 08:50:55 +01:00
d8b0a13ee2 changed to have only one virtual file with bunch id, subfnum and data datasets all linked in master file 2017-03-03 08:39:53 +01:00
537260879a created virtual datasets for bunchid and subframenumber 2017-03-02 11:43:11 +01:00
a7309be567 created links to virtual files in master file 2017-03-01 08:44:43 +01:00
829ba49c1c moving subframenumber into a 32 bit number, also in stremer, changing json header to mention 4 bit and version number 2017-02-28 15:30:53 +01:00
fa6d18e9b2 moving subframenumber into a 32 bit number 2017-02-28 15:29:53 +01:00
fd42fad045 Added sebastians python script for interpolation - final debug version 2017-02-28 15:13:58 +01:00
447c5bb8fe gui works 2017-02-28 13:42:56 +01:00
475f0692a0 Merge branch '2.3-rc' of git.psi.ch:sls_detectors_software/sls_detector_software into 2.3-rc 2017-02-28 13:42:16 +01:00
2024eb5d6e gui works 2017-02-28 13:14:18 +01:00
cf8b53adff gui works 2017-02-28 13:14:06 +01:00
3aac30b8ee added zmqasocket 2017-02-27 16:06:58 +01:00
62de278f24 bug fix: loading trimbit file should not care about settings 2017-02-27 16:05:27 +01:00
3b07afe3fc in the process of streamer 2017-02-27 15:38:46 +01:00
d90db50a60 Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detector_software into developer 2017-02-23 12:05:55 +01:00
f12df80c5b some changes for chiptest board and mythen server now compiles 2017-02-23 12:05:34 +01:00
936dfea8a7 works so far, no gui yet 2017-02-22 12:01:00 +01:00
9e9c109898 adding cmath and std:round interp 2017-02-22 11:31:01 +01:00
9e21583331 virtual, master all works, still to do rewriting file in an acquisition 2017-02-21 15:13:59 +01:00
19460a03f5 sending position id and num detectors in x and y dir 2017-02-21 15:13:27 +01:00
72c2fbee9c manual eiger 2017-02-21 09:20:16 +01:00
2cd38fefcd master hdf5 does not work, but so far good 2017-02-16 12:48:15 +01:00
549e346ad4 Merge branch '2.3-rc' into hdf5 2017-02-10 11:56:37 +01:00
111f8beab3 updaterev 2017-02-10 11:51:29 +01:00
4c351ba686 updated server with version variables 2017-02-10 11:51:05 +01:00
a1f00518b8 updaterev 2017-02-10 11:50:24 +01:00
3d2264fa56 updaterev 2017-02-10 11:50:13 +01:00
3e9476cca2 updaterev 2017-02-10 11:49:58 +01:00
54f92fb26c changed namings 2017-02-10 10:41:01 +01:00
b260d08225 somewhere 2017-02-10 10:08:00 +01:00
c89f6e649c fnum wrong, need to add file features 2017-02-07 08:52:27 +01:00
5287441a65 removed warning 2017-02-07 08:52:05 +01:00
9b3f4a3a66 commonFiles/error_defs.h 2017-02-03 14:34:05 +01:00
1decd2dd89 Merge branch '2.3-rc' into hdf5 2017-02-03 14:30:09 +01:00
490e756622 added the servers 2017-02-03 12:31:33 +01:00
87ce1ed736 moved tau to settings file, removed gain and offset, setting threshold loads settings file, setting threshold only sets client variable 2017-02-03 12:29:44 +01:00
0896704de7 moved tau to settings file, removed gain and offset, setting threshold loads settings file, setting threshold only sets client variable 2017-02-03 12:29:33 +01:00
d95aaa2089 somewhere in between.. next step include generalData pointer in listerner and dataprocessor calss in constructor and a setter 2017-01-31 08:42:16 +01:00
01d54a7a4c Complete rewrite of receiver, with new changes 2017-01-27 15:40:36 +01:00
70a7d83175 somewhere 2017-01-18 15:22:05 +01:00
f6927ad1bf in between 2017-01-17 10:56:01 +01:00
bd31ac1d52 changes to variable name 2017-01-17 10:55:43 +01:00
b16d087fd1 Merge branch '2.2-rc' into hdf5 2017-01-06 15:17:40 +01:00
3563f0deec Merge branch '2.2-rc' into developer 2017-01-06 15:17:14 +01:00
adb5ab5ed1 chunked upto 1000 and new dataset every 10000 2017-01-03 12:11:55 +01:00
abb5bfb6e4 creating new datasets every 10,000 images in same file 2017-01-03 08:57:59 +01:00
987aeda6fb sorted out problem with CPU read out 2016-12-22 17:24:53 +01:00
d847a289a4 changed progress prints, file naming etc 2016-12-21 10:53:56 +01:00
66c488b79a working so far 2016-12-20 14:13:00 +01:00
aa99d289c3 added library path in makefile.include so that you dont have to do ld_library_path 2016-12-19 18:04:59 +01:00
bb9208f8ee some changes to the group 2016-12-19 16:58:08 +01:00
3eea80a121 compiles after merging 2016-12-19 13:50:25 +01:00
68b13a0ecd merged to developer 2016-12-19 12:26:53 +01:00
12cd3d07a2 some changes for jctb 2016-12-19 12:05:59 +01:00
ebf44704b2 merged error defs 2016-12-19 11:39:14 +01:00
d555bc6e75 fixwed the printing of errors but not error message 2016-12-19 11:33:16 +01:00
b5f7dc29af Merge branch '2.2-rc' into hdf5 2016-12-16 15:00:22 +01:00
b403aa20a6 Merge branch '2.2-rc' into hdf5 2016-12-16 14:51:08 +01:00
33092b6d85 Merge branch '9m_rest' into developer 2016-12-15 14:34:05 +01:00
aaab8d697a Merge branch '9m_rest' into hdf5 2016-12-15 14:33:38 +01:00
8b8d8449f2 Merge branch 'developer' into hdf5 2016-12-15 14:05:29 +01:00
545c5530e3 added moenchT1 data structure 2016-12-15 13:58:55 +01:00
ae48a0e251 made some groups and force closing 2016-12-15 09:26:25 +01:00
62ba3838ef included c++ lib 2016-12-14 18:19:40 +01:00
cdcb413241 removed hdf5 c, only c++ 2016-12-14 18:19:29 +01:00
f8b34a16dd converted to c++ 2016-12-14 18:15:47 +01:00
a971d87008 Merge branch '2.2-rc' into hdf5 2016-12-13 13:23:06 +01:00
aba3319427 moving towards c++ api 2016-12-12 14:24:39 +01:00
d3200dc76f moving towards c++ api 2016-12-12 14:24:24 +01:00
e7621a6cd0 moving towards c++ api 2016-12-12 14:24:11 +01:00
d6793a0802 Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detector_calibration into developer 2016-12-05 16:01:00 +01:00
37ba8f9a71 added moench03 T CPU data structure 2016-12-05 16:00:34 +01:00
cb879c61ca changes for new chipterboard -now works with reduced dynamic range and analog/digital readout 2016-11-09 11:36:59 +01:00
672 changed files with 71797 additions and 43979 deletions

9
.gitignore vendored
View File

@ -1,17 +1,10 @@
.cproject .cproject
.project .project
bin/ bin/
calibrationWizards/
slsDetectorGui/
slsDetectorSoftware/
slsReceiverSoftware/
slsDetectorCalibration/
slsImageReconstruction/
.settings .settings
JCTBGui/
*.aux *.aux
*.log *.log
*.out *.out
*.toc *.toc
build build
tests docs/

View File

@ -1,21 +1,32 @@
cmake_minimum_required(VERSION 2.8) cmake_minimum_required(VERSION 2.8)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
set (REST OFF)
set (CALIBRATE OFF)
option (USE_HDF5 "HDF5 File format" OFF)
find_package(Qt4) find_package(Qt4)
find_package(Qwt 6) find_package(Qwt 6)
find_package(CBF) find_package(CBF)
find_package(Doxygen) find_package(Doxygen)
if (USE_HDF5)
find_package(HDF5 1.10 COMPONENTS CXX)
endif (USE_HDF5)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
add_subdirectory(slsDetectorSoftware) add_subdirectory(slsDetectorSoftware)
add_subdirectory(slsReceiverSoftware) add_subdirectory(slsReceiverSoftware)
add_subdirectory(slsImageReconstruction)
if (QT4_FOUND AND QWT_FOUND) if (QT4_FOUND AND QWT_FOUND)
add_subdirectory(slsDetectorGui) add_subdirectory(slsDetectorGui)
endif() endif()
if (DEFINED ENV{ROOTSYS})
find_package(ROOT) if (CALIBRATE)
if (ROOT_FOUND) if (DEFINED ENV{ROOTSYS})
add_subdirectory(calibrationWizards) find_package(ROOT)
if (ROOT_FOUND)
add_subdirectory(calibrationWizards)
endif()
endif() endif()
endif() endif(CALIBRATE)

View File

@ -5,10 +5,11 @@ include Makefile.include
INSTALLROOT ?= $(PWD) INSTALLROOT ?= $(PWD)
BINDIR ?= $(INSTALLROOT)/bin BINDIR ?= $(INSTALLROOT)/bin
DOCDIR ?= $(INSTALLROOT)/docs DOCDIR ?= $(INSTALLROOT)/manual/docs
LIBDIR ?= $(INSTALLROOT)/bin LIBDIR ?= $(INSTALLROOT)/bin
INCDIR ?= $(INSTALLROOT)/include INCDIR ?= $(INSTALLROOT)/include
DETAILDOC ?= $(INSTALLROOT)/docs
WD = $(shell pwd) WD = $(shell pwd)
LIBRARYDIR = $(WD)/slsDetectorSoftware LIBRARYDIR = $(WD)/slsDetectorSoftware
LIBRARYRXRDIR = $(WD)/slsReceiverSoftware LIBRARYRXRDIR = $(WD)/slsReceiverSoftware
@ -19,6 +20,8 @@ CALWIZDIR = $(WD)/calibrationWizards
MANDIR = $(WD)/manual MANDIR = $(WD)/manual
CALIBDIR = $(WD)/slsDetectorCalibration CALIBDIR = $(WD)/slsDetectorCalibration
TABSPACE := "\t"
INCLUDES=-I. -I$(LIBRARYDIR)/commonFiles -I$(LIBRARYDIR)/slsDetector -I$(LIBRARYDIR)/usersFunctions -I$(LIBRARYDIR)/multiSlsDetector -I$(LIBRARYDIR)/slsDetectorUtils -I$(LIBRARYDIR)/slsDetectorCommand -I$(LIBRARYDIR)/slsDetectorAnalysis -I$(LIBRARYDIR)/slsReceiverInterface -I$(LIBRARYRXRDIR)/include -I$(LIBRARYDIR)/threadFiles -I$(ASM) INCLUDES=-I. -I$(LIBRARYDIR)/commonFiles -I$(LIBRARYDIR)/slsDetector -I$(LIBRARYDIR)/usersFunctions -I$(LIBRARYDIR)/multiSlsDetector -I$(LIBRARYDIR)/slsDetectorUtils -I$(LIBRARYDIR)/slsDetectorCommand -I$(LIBRARYDIR)/slsDetectorAnalysis -I$(LIBRARYDIR)/slsReceiverInterface -I$(LIBRARYRXRDIR)/include -I$(LIBRARYDIR)/threadFiles -I$(ASM)
@ -27,14 +30,15 @@ INCLUDESRXR += -I. -I$(LIBRARYRXRDIR)/include -I$(CALIBDIR) -I$(ASM)
$(info ) $(info )
$(info #######################################) $(info #######################################)
$(info # Compiling slsDetectorsPackage #) $(info # In slsDetectorsPackage Makefile #)
$(info #######################################) $(info #######################################)
$(info ) $(info )
.PHONY: all nonstatic static lib libreceiver textclient receiver gui stextclient sreceiver .PHONY: all nonstatic static lib libreceiver textclient receiver gui stextclient sreceiver
all: lib textclient receiver gui #all: lib textclient receiver gui
all: textclient receiver gui
nonstatic: lib libreceiver textclient receiver gui nonstatic: lib libreceiver textclient receiver gui
@ -42,39 +46,61 @@ static: lib libreceiver stextclient sreceiver gui
lib: lib:
cd $(LIBRARYDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(LIBDIR)' INCLUDES='$(INCLUDES)' cd $(LIBRARYDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(LIBDIR)' LIBRARYDIR='$(LIBRARYDIR)' LIBS='$(LDFLAGDET)' INCLUDES='$(INCLUDES)' LIBDIR='$(LIBDIR)'
libreceiver: libreceiver:
cd $(LIBRARYRXRDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(LIBDIR)' INCLUDES='$(INCLUDESRXR)' cd $(LIBRARYRXRDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(LIBDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' LIBDIR='$(LIBDIR)'
stextclient: slsDetectorClient_static stextclient: slsDetectorClient_static
slsDetectorClient: textclient slsDetectorClient: textclient
slsDetectorClient_static: lib slsDetectorClient_static: #lib
cd $(CLIENTDIR) && $(MAKE) static_clients FLAGS='$(FLAGS)' LIBS='$(LDFLAGDET)' DESTDIR='$(BINDIR)' LIBDIR='$(LIBDIR)' INCLUDES='$(INCLUDES)' cd $(CLIENTDIR) && $(MAKE) static_clients FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBRARYDIR='$(LIBRARYDIR)' LIBS='$(LDFLAGDET)' INCLUDES='$(INCLUDES)' LIBDIR='$(LIBDIR)'
@echo ""
textclient: lib @echo "#######################################"
cd $(CLIENTDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBDIR='$(LIBDIR)' LIBS='$(LDFLAGDET)' INCLUDES='$(INCLUDES)' @echo "# Back in slsDetectorPackage Makefile #"
@echo "#######################################"
@echo ""
textclient: #lib
cd $(CLIENTDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBRARYDIR='$(LIBRARYDIR)' LIBS='$(LDFLAGDET)' INCLUDES='$(INCLUDES)' LIBDIR='$(LIBDIR)'
@echo ""
@echo "#######################################"
@echo "# Back in slsDetectorPackage Makefile #"
@echo "#######################################"
@echo ""
slsReceiver: receiver slsReceiver: receiver
slsReceiver_static: receiver slsReceiver_static: receiver
receiver: libreceiver receiver: #libreceiver
cd $(RECEIVERDIR) && $(MAKE) receiver FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBDIR='$(LIBDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' # cd $(RECEIVERDIR) && $(MAKE) receiver FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' LIBDIR='$(LIBDIR)'
cd $(RECEIVERDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' LIBDIR='$(LIBDIR)'
sreceiver: libreceiver @echo ""
cd $(RECEIVERDIR) && $(MAKE) static_receiver FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBDIR='$(LIBDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' @echo "#######################################"
@echo "# Back in slsDetectorPackage Makefile #"
@echo "#######################################"
@echo ""
slsDetectorGUI: lib
cd $(GUIDIR) && $(MAKE) DESTDIR='$(BINDIR)' LIBDIR='$(LIBDIR)' INCLUDES='$(INCLUDES)' LDFLAGDET='-L$(LIBDIR) -lSlsDetector' sreceiver: #libreceiver
cd $(RECEIVERDIR) && $(MAKE) static_receiver FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' LIBDIR='$(LIBDIR)'
@echo ""
@echo "#######################################"
@echo "# Back in slsDetectorPackage Makefile #"
@echo "#######################################"
@echo ""
slsDetectorGUI: #lib
cd $(GUIDIR) && $(MAKE) DESTDIR='$(BINDIR)' LIBRARYDIR='$(LIBRARYDIR)' INCLUDES='$(INCLUDES)' LDFLAGDET='$(LDFLAGDETONLY)' LIBDIR='$(LIBDIR)'
@echo ""
@echo "#######################################"
@echo "# Back in slsDetectorPackage Makefile #"
@echo "#######################################"
@echo ""
calWiz: calWiz:
cd $(CALWIZDIR) && $(MAKE) DESTDIR=$(BINDIR) #FLAGS=$(FLAGS) LDFLAGDET=$(LDFLAGDET) INCLUDES=$(INCLUDES) cd $(CALWIZDIR) && $(MAKE) DESTDIR=$(BINDIR) #FLAGS=$(FLAGS) LDFLAGDET=$(LDFLAGDET) INCLUDES=$(INCLUDES)
@ -91,6 +117,26 @@ htmldoc:
make doc make doc
$(shell test -d $(DOCDIR) || mkdir -p $(DOCDIR)) $(shell test -d $(DOCDIR) || mkdir -p $(DOCDIR))
cd manual && make html DESTDIR=$(DOCDIR) cd manual && make html DESTDIR=$(DOCDIR)
detaildoc: createdocs docspdf docshtml removedocs
createdocs: $(LIBRARYDIR)/doxy.config
doxygen $(LIBRARYDIR)/doxy.config
docspdf:
cd slsDetectorPackageDocs/latex && make
$(shell test -d $(DETAILDOC) || mkdir -p $(DETAILDOC))
$(shell test -d $(DETAILDOC)/pdf || mkdir -p $(DETAILDOC)/pdf)
mv slsDetectorPackageDocs/latex/refman.pdf $(DETAILDOC)/pdf/slsDetectorPackageDocs.pdf
docshtml:
$(shell test -d $(DETAILDOC) || mkdir -p $(DETAILDOC))
$(shell test -d $(DETAILDOC)/html || mkdir -p $(DETAILDOC)/html)
$(shell test -d $(DETAILDOC)/html/slsDetectorPackageDocs && rm -r $(DETAILDOC)/html/slsDetectorPackageDocs)
mv slsDetectorPackageDocs/html $(DETAILDOC)/html/slsDetectorPackageDocs
removedocs:
rm -rf slsDetectorPackageDocs;
clean: clean:
@ -103,7 +149,8 @@ clean:
cd $(CALWIZDIR) && $(MAKE) clean cd $(CALWIZDIR) && $(MAKE) clean
cd manual && $(MAKE) clean cd manual && $(MAKE) clean
cd $(DOCDIR) && rm -rf * cd $(DOCDIR) && rm -rf *
rm -rf slsDetectorPackageDocs;
rm -rf $(DETAILDOC)
#install_lib: #install_lib:

View File

@ -5,9 +5,10 @@
CC = g++ CC = g++
CXX = $(CC) CXX = $(CC)
ASM=$(shell echo "/lib/modules/`uname -r`/build/include") ASM=$(shell echo "/lib/modules/`uname -r`/build/include")
LDFLAGDET = -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsDetector -L/usr/lib64/ -lpthread LDFLAGDETONLY = -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsDetector
LDFLAGRXR = -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsReceiver -L/usr/lib64/ -lpthread LDFLAGDET = -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsDetector -L/usr/lib64/ -pthread
FLAGS= -Wall #-DEIGER_DEBUG2 -DEIGER_DEBUG -DEIGER_DEBUG3 #-DFIFO_DEBUG LDFLAGRXR = -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsReceiver -L/usr/lib64/ -pthread
FLAGS= -Wall -pthread #-DEIGER_DEBUG2
# -DVERBOSE # -DVERBOSE
# Setting up the verbose flags # Setting up the verbose flags
@ -18,6 +19,20 @@ ifeq ($(DEBUG),2)
FLAGS = -Wall -DVERYVERBOSE FLAGS = -Wall -DVERYVERBOSE
endif endif
##############################################################
# HDF5 specific. Set this to yes, if you want to compile
# HDF5 code: in this case, you need HDF5 libraries
##############################################################
HDF5 = no
HDF5_DIR = /opt/hdf5v1.10.0
ifeq ($(HDF5),yes)
LDFLAGRXR = -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsReceiver -L$(HDF5_DIR)/lib -Wl,-rpath=$(HDF5_DIR)/lib -lhdf5 -lhdf5_cpp -lsz -lz -DHDF5C -L/usr/lib64/ -pthread
INCLUDESRXR = -I$(HDF5_DIR)/include
endif
############################################################## ##############################################################
# EigerSLS specific. Set this to yes, if you want to compile # EigerSLS specific. Set this to yes, if you want to compile
# EigerSLS code: in this case, you need also POCO and JsonBox # EigerSLS code: in this case, you need also POCO and JsonBox
@ -26,17 +41,14 @@ endif
REST = no REST = no
#POCODIR = /afs/psi.ch/user/s/sala/public/poco-slp_5.7-32bit
#JSONBOXDIR = /afs/psi.ch/user/s/sala/public/JsonBox-slp_5.7-32bit
POCODIR = /afs/psi.ch/user/s/sala/public/poco-slp_6.4-64bit
JSONBOXDIR = /afs/psi.ch/user/s/sala/public/JsonBox-slp_6.4-64bit
#POCODIR = /home/sala/Programs/poco-ubuntu_13.10-64bit
#JSONBOXDIR = /home/sala/Programs/JsonBox-ubuntu_13.10-64bit
RESTFLAGS = -L$(POCODIR)/lib -Wl,-rpath=$(POCODIR)/lib -L$(JSONBOXDIR) -Wl,-rpath=$(JSONBOXDIR)/lib -lPocoNet -lPocoFoundation -lJsonBox POCODIR = /afs/psi.ch/user/s/sala/public/poco
JSONBOXDIR = /opt/JsonBox-0.5
RESTFLAGS = -L$(POCODIR)/lib -Wl,-rpath=$(POCODIR)/lib -L$(JSONBOXDIR) -Wl,-rpath=$(JSONBOXDIR) -lPocoNet -lPocoFoundation -lJsonBox
ifeq ($(REST),yes) ifeq ($(REST),yes)
LDFLAGRXR = -L$(LIBDIR) -lSlsReceiver $(RESTFLAGS) -DREST LDFLAGRXR = -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsReceiver $(RESTFLAGS) -DREST
INCLUDESRXR = $(EIGERFLAGS) -I$(POCODIR)/include -I$(JSONBOXDIR)/include INCLUDESRXR = $(EIGERFLAGS) -I$(POCODIR)/include -I$(JSONBOXDIR)/include
endif endif
@ -55,6 +67,11 @@ ifeq ($(ROOTSLS),yes)
endif endif
define colorecho
@tput setaf 6
@echo $1
@tput sgr0
endef

View File

@ -36,6 +36,10 @@ Use cmake to create out-of-source builds, by creating an build folder parallel t
$ make $ make
``` ```
Use the following as an example to compile statically and using specific hdf5 folder
```
$ HDF5_ROOT=/opt/hdf5v1.10.0 cmake -DHDF5_USE_STATIC_LIBRARIES=TRUE ../slsDetectorsPackage
```
The libraries and executables will be found at `bin` directory The libraries and executables will be found at `bin` directory
``` ```
$ ls bin/ $ ls bin/

229
RELEASE.txt Normal file
View File

@ -0,0 +1,229 @@
SLS Detector Package 3.0.0 released on 2017-08-25
================================================================================
INTRODUCTION
This document describes the differences between previous versions and 3.0.0 releases.
Manual (both HTML and pdf versions) are provided in
manual/docs/
Documentation from Source Code can be found for the Command Line and for the API in
html:
manual/docs/html/slsDetectorClientDocs/index.html
manual/docs/html/slsDetectorUsersDocs/index.html
pdf:
manual/docs/pdf/slsDetectorClientDocs.pdf
manual/docs/pdf/slsDetectorUsersDocs.pdf
Example including binaries for detector and receiver user classes can be found in
manual/manual-api
User documentation can also be accessed directly at this location:
https://www.psi.ch/detectors/users-support
If you have any software related questions or comments, please send them to:
dhanya.thattil@psi.ch
anna.bergamaschi@psi.ch
CONTENTS
- Changes in User Interface
- New Features
- Resolved Issues
- Known Issues
Changes in User Interface
=========================
This release has no changes in user interface from the previous 2.3 version.
However, receiver data call backs have been redefined for the
standard image header.
Reiterating, both 2.3 and 3.0 supports the following features:
Receiver
--------
1. The files will be written in this format in the binary mode:
* 1 ASCII file per measurement: header with measurement parameters
* binary files: series of images, each preceded by a
Standard Image Header (header described below)
2. Standard Image Header in file and call back
arguments defined. It is in the following format defined as
sls_detector_header defined in
slsReceiverSoftware/include/sls_receiver_defs.h
Mostly 0 if not applicatble or implemented, but updated in next release
from firmware.
* Frame Number : 8 bytes # Image Number
* Exposure Length : 4 bytes # Sub frame number in 32 bit mode (Eiger)
Real time exposre time in 100ns (Others)
* Packet Number : 4 bytes # Number of packets caught in the image
* Bunch ID : 8 bytes # Bunch Id in beamline (Jungfrau)
* Timestamp : 8 bytes # Not implemened.
Time stamp with 10MHz clock
* Module Id : 2 bytes # Not implemented. Unique module ID.
* X Coordinate : 2 bytes # Currently as Id of part of detector in 1D
(Future Releases) as X coordinate
in complete detector system
* Y Coordinate : 2 bytes # Not implemented
Y coordinate in complete detector system
* Z Coordinate : 2 bytes # Not implemented
Z coordinate in complete detector system
* Debug : 4 bytes # Not implemented
For debugging purposes
* Round Robin Number : 2 bytes # Not implemented
Round Robin Number
* Detector Type : 1 byte # Detector type defined by enum
detectorType in slsReceiverSoftware
/include/sls_receiver_defs.h
* Header Version : 1 byte # 1.0 currently
3. The call back value for Start Acquisition Call back is insignificant at the
moment and left for future use. Instead, the following rules apply:
* If file write is enabled from the client, we will write the files.
* If callbacks are registered, they will be called.
For example, the user prefers to write the data himself, one must disable
file write (so we dont write) and register the callbacks (so the user gets
the data).
4. Multiple Receivers have to be started as different processes, instead of threads
due to static variables being used. Please refer example code provided in the
slsDetectorsPackage/manual/manual-api folder (mainReceiver.cpp).
New Features
============
Package
-------
1. One can compile using cmake or the ./cmk.sh script(also uses cmake)
Run ./cmk.sh -help to get more info. This method does not touch the
source files. Please start off with ./cmk.sh -bj9, where (9 is #cores+1)
2. One can compile the normal way using Makefile (editing Makefile.include
for the hdf5 options), but this will modify other gitInfo files.
General
-------
3. UDP Packets from all the detectors will contain the standard sls detector header.
Jungfrau will have an extra 6 bytes preceding the standard header in the udp packets
only. X, Y and Z Coordinates define the position of the detector in 3d. These values
are not filled in the udp header at the moment, but will be in the files and receiver
call backs with only x in 1d at the moment.
4. When acquire has started, one can use sls_detector_get busy to check the status
of the acquire. 1 is running 0 is idle. This way one can start acqusition with &,
poll the busy command ( or framescaught or frameindex to get status from receiver).
Receiver
--------
4. One can choose the file format using the command "fileformat binary/hdf5" from
the client, but one must compile with the options as defined in README.md
5. Virtual HDF5 file maps all the files into a single file.
6. Gotthard, Propix and Moench also save data in the same way as Jungfrau and Eiger,
as described above (ie. without any packet headers, only standard image headers
for each image data)
7. (Eiger) The ascii part of the file (file header with acquisition parameters) moved to
a separate file called the master file. So one master file per acquisition.
Client
------
8. (Eiger) Can now set Threshold without uploading Trimbits.
9. (Eiger) Setting high voltage returns -999 for only slave and on the multi level gives
the value of the master only.
10. StartAcquisition (or sls_detector_put status start) parallelized.
Gui
---
10. Set the data streaming port (individually/ a single one that calculates for the other
receiver streamer threads) via the command line
Users-API
-----
11. manual-api example forks new child processes for every extra receiver object.
Resolved Issues
===============
Client
------
1. Memory Leak fixed when setting receiver parameters such as udp port or detector
network parameter. The signature in slsDetector.cpp and corresponding files have
changed, but does not change the slsDetectorUser API.
2. Bug Fix: Has been made more threadsafe (strtok). Removed bug of configuring MAC
correctly even in multiple thread mode.
3. Bug Fix: Client crashing when rx_hostname is IP instead of a hostname has been fixed.
Server
------
4. (Eiger/Jungfrau) Bug Fix: Client crashing should not crash the server as SIGPIPE
signal is caught.
5. (Eiger) Bug Fix: Front End Temperature read out conversion fixed.
6. (Eiger) Bug Fix: sls_detector_get trimval(get all trimbits) would return only the first pixel
value. Now it returns -1 if all the pixels are different.
Receiver
--------
6. Bug Fix: Ctrl+C kills the receiver properly calling the appropriate destructors.
7. Acquire & Unblocking acquire (receiver start, status start, receiver stop) can work
also when switching from gui to command line and vice versa.
8. Bug Fix: sls_detector_get frameindex was always returning 0.
9. Bug Fix: In the rare chance that the shut down socket is still processing in
the genericsocket class, but the object is being deleted.
10. (Eiger): When running independent(not slsReceiver) receiver, one needn't do receiver start
to prepare acquisition. Prepare Acquisition has been moved to StartAcqusition and
StartAndReadAll.
11. (Gotthard): 639 pixels in first packet and 641 pixels in second packet. The first pixel in second
packet was unaccounted for. This is fixed now.
Known Issues
============
Server
------
1. (Eiger) The hardware mac of the detector is used (not relayed back to the client).
For 1 GbE, the hardware IP of the detector is used (also not relayed back to the
client).
2. Standard header fills x-coord in 1D. y-coord and z-coord is not implemented (3D).
3. HDF5 compression and filters are not implemented yet.

143
cmk.sh Executable file
View File

@ -0,0 +1,143 @@
#!/bin/bash
BUILDDIR="build"
HDF5DIR="/opt/hdf5v1.10.0"
HDF5=0
COMPILERTHREADS=0
CLEAN=0
REBUILD=0
CMAKE_PRE=""
CMAKE_POST=""
usage() { echo -e "
Usage: $0 [-c] [-b] [-h] [-d <HDF5 directory>] [-j]
-[no option]: only make
-c: Clean
-b: Builds/Rebuilds CMake files normal mode
-h: Builds/Rebuilds Cmake files with HDF5 package
-d: HDF5 Custom Directory
-j: Number of threads to compile through
For only make:
./cmk.sh
For make clean;make:
./cmk.sh -c
For using hdf5 without default dir /opt/hdf5v1.10.0:
./cmk.sh -h
For using hdf5 without custom dir /blabla:
./cmk.sh -h -d /blabla
For rebuilding cmake without hdf5 (Use this if you had previously run with hdf5 and now you dont want it)
./cmk.sh -b
For using multiple cores to compile faster:
(all these options work)
./cmk.sh -j9
./cmk.sh -cj9 #with clean
./cmk.sh -hj9 #with hdf5
./cmk.sh -j9 -h #with hdf
" ; exit 1; }
while getopts ":bchd:j:" opt ; do
case $opt in
b)
echo "Building of CMake files Required"
REBUILD=1
;;
c)
echo "Clean Required"
CLEAN=1
;;
h)
echo "Building of CMake files with HDF5 option Required"
HDF5=1
REBUILD=1
;;
d)
echo "New HDF5 directory: $OPTARG"
HDF5DIR=$OPTARG
;;
j)
echo "Number of compiler threads: $OPTARG"
COMPILERTHREADS=$OPTARG
;;
\?)
echo "Invalid option: -$OPTARG"
usage
exit 1
;;
:)
echo "Option -$OPTARG requires an argument."
usage
exit 1
;;
esac
done
#build dir doesnt exist
if [ ! -d "$BUILDDIR" ] ; then
echo "No Build Directory. Building of Cmake files required"
mkdir $BUILDDIR;
REBUILD=1
else
#rebuild not requested, but no makefile
if [ $REBUILD -eq 0 ] && [ ! -f "$BUILDDIR/Makefile" ] ; then
echo "No Makefile. Building of Cmake files required"
REBUILD=1
fi
fi
#hdf5 rebuild
if [ $HDF5 -eq 1 ]; then
CMAKE_PRE+="HDF5_ROOT="$HDF5DIR
CMAKE_POST+="-DUSE_HDF5=ON"
#normal mode rebuild
else
CMAKE_POST+="-DUSE_HDF5=OFF"
fi
#enter build dir
cd $BUILDDIR;
echo "in "$PWD
#cmake
if [ $REBUILD -eq 1 ]; then
rm -f CMakeCache.txt
BUILDCOMMAND="$CMAKE_PRE cmake $CMAKE_POST .."
echo $BUILDCOMMAND
eval $BUILDCOMMAND
fi
#make clean
if [ $CLEAN -eq 1 ]; then
make clean;
fi
#make
if [ $COMPILERTHREADS -gt 0 ]; then
BUILDCOMMAND="make -j$COMPILERTHREADS"
echo $BUILDCOMMAND
eval $BUILDCOMMAND
else
make
fi

22
evalVersionVariables.sh Normal file
View File

@ -0,0 +1,22 @@
GITREPO1='git remote -v'
GITREPO2=" | grep \"fetch\" | cut -d' ' -f1"
BRANCH1='git branch -v'
BRANCH2=" | grep '*' | cut -d' ' -f2"
REPUID1='git log --pretty=format:"%H" -1'
AUTH1_1='git log --pretty=format:"%cn" -1'
AUTH1_2=" | cut -d' ' -f1"
AUTH2_1='git log --pretty=format:"%cn" -1'
AUTH2_2=" | cut -d' ' -f2"
FOLDERREV1='git log --oneline . ' #used for all the individual server folders
FOLDERREV2=" | wc -l" #used for all the individual server folders
REV1='git log --oneline '
REV2=" | wc -l"
GITREPO=`eval $GITREPO1 $GITREPO2`
BRANCH=`eval $BRANCH1 $BRANCH2`
REPUID=`eval $REPUID1`
AUTH1=`eval $AUTH1_1 $AUTH1_2`
AUTH2=`eval $AUTH2_1 $AUTH2_2`
REV=`eval $REV1 $REV2`
FOLDERREV=`eval $FOLDERREV1 $FOLDERREV2`

View File

@ -0,0 +1,33 @@
detsizechan 1024 512
#detetctor geometry, long side of the module first
hostname beb059+beb058+
#1Gb detector hostname for controls
0:rx_tcpport 1991
#tcpport for the first halfmodule
0:rx_udpport 50011
#udp port first quadrant, first halfmodule
0:rx_udpport2 50012
#udp port second quadrant, first halfmodule
0:rx_udpip 10.0.30.210
#udp IP of the receiver over 10Gb
0:detectorip 10.0.30.100
#first half module 10 Gb IP
1:rx_tcpport 1992
#tcpport for the second halfmodule
1:rx_udpport 50013
#udp port first quadrant, second halfmodule
1:rx_udpport2 50014
#udp port second quadrant, second halfmodule
1:rx_udpip 10.0.40.210
#udp IP of the receiver over 10Gb,
#can be the same or different from 0:rx_udpip
1:detectorip 10.0.40.101
#second half module 10 Gb IP
rx_hostname x12sa-vcons
#1Gb receiver pc hostname
outdir /sls/X12SA/data/x12saop/Data10/Eiger0.5M
threaded 1

24
examples/eiger_1Gb.config Normal file
View File

@ -0,0 +1,24 @@
detsizechan 1024 512
#detetctor geometry, long side of the module first
hostname beb059+beb058+
#1Gb detector hostname for controls
0:rx_tcpport 1991
#tcpport for the first halfmodule
0:rx_udpport 50011
#udp port first quadrant, first halfmodule
0:rx_udpport2 50012
#udp port second quadrant, first halfmodule
1:rx_tcpport 1992
#tcpport for the second halfmodule
1:rx_udpport 50013
#udp port first quadrant, second halfmodule
1:rx_udpport2 50014
#udp port second quadrant, second halfmodule
rx_hostname x12sa-vcons
#1Gb receiver pc hostname
outdir /sls/X12SA/data/x12saop/Data10/Eiger0.5M
threaded 1

View File

@ -1,5 +1,5 @@
type Gotthard+ hostname bchip007
0:hostname bchip007
#0:port 1952 #0:port 1952
#0:stopport 1953 #0:stopport 1953
#0:rx_tcpport 1956 must also have this in receiver config file #0:rx_tcpport 1956 must also have this in receiver config file

18
examples/jungfrau.config Normal file
View File

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

View File

@ -0,0 +1,30 @@
detsizechan 1024 1024
hostname bchip048+bchip052+
settingsdir /home/mySoft/slsDetectorsPackage/settingsdir/jungfrau
caldir /home/mySoft/slsDetectorsPackage/settingsdir/jungfrau
lock 0
0:rx_udpport 50004
0:rx_udpip 10.1.1.100
0:rx_udpmac F4:52:14:2F:32:00
0:detectorip 10.1.1.10
0:detectormac 00:aa:bb:cc:dd:33
1:rx_tcpport 1955
1:rx_udpport 50005
1:rx_udpip 10.1.1.100
1:rx_udpmac F4:52:14:2F:32:00
1:detectorip 10.1.1.11
1:detectormac 00:aa:bb:cc:dd:33
rx_hostname pcmoench01
powerchip 1
extsig:0 trigger_in_rising_edge
timing auto
outdir /external_pool/jungfrau_data/softwaretest
threaded 1

View File

@ -2,7 +2,6 @@
detsizechan 2560 1 detsizechan 2560 1
#type Gotthard+
hostname bchip007+bchip009+ hostname bchip007+bchip009+
#0:hostname bchip007 #0:hostname bchip007

View File

@ -15,8 +15,8 @@ fout=$3
#dat=echo "date '+%Y%m%d'" #dat=echo "date '+%Y%m%d'"
echo "Updating $fout"
echo "in: $fin tmp: $ftmp out: $fout" #echo "in: $fin tmp: $ftmp out: $fout"
#awk 'NR==FNR {if ($3=="Date:") {l[FNR]=$4; gsub("-","",l[FNR]);} else { if (match($0,"Rev")) {l[FNR]=$(NF);} else {l[FNR]="\""$(NF)"\"";};};next} {$0=$1" "$2" "l[FNR]}1' $fin $ftmp > $fout #awk 'NR==FNR {if ($3=="Date:") {l[FNR]=$4; gsub("-","",l[FNR]);} else { if (match($0,"Rev")) {l[FNR]=$(NF);} else {l[FNR]="\""$(NF)"\"";};};next} {$0=$1" "$2" "l[FNR]}1' $fin $ftmp > $fout

View File

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

View File

@ -1,4 +1,4 @@
DESTDIR?=../docs DESTDIR?=docs
#manual-api manual-calwiz manual-client manual-gui manual-main #manual-api manual-calwiz manual-client manual-gui manual-main
@ -14,18 +14,18 @@ ALLDIRS=$(MAINDIRS:manual-%=all-%)
all: $(ALLDIRS) all: $(ALLDIRS)
$(shell test -d $(DESTDIR)/pdf && rm -fr $(DESTDIR)/pdf) # $(shell test -d $(DESTDIR)/pdf && rm -fr $(DESTDIR)/pdf)
mv pdf $(DESTDIR) # mv pdf $(DESTDIR)
$(shell test -d $(DESTDIR)/html && rm -fr $(DESTDIR)/html) # $(shell test -d $(DESTDIR)/html && rm -fr $(DESTDIR)/html)
mv html $(DESTDIR) # mv html $(DESTDIR)
pdf: $(PDFDIRS) pdf: $(PDFDIRS)
$(shell test -d $(DESTDIR)/pdf && rm -fr $(DESTDIR)/pdf) # $(shell test -d $(DESTDIR)/pdf && rm -fr $(DESTDIR)/pdf)
mv pdf $(DESTDIR) # mv pdf $(DESTDIR)
html: $(HTMLDIRS) html: $(HTMLDIRS)
$(shell test -d $(DESTDIR)/html && rm -fr $(DESTDIR)/html) # $(shell test -d $(DESTDIR)/html && rm -fr $(DESTDIR)/html)
mv html $(DESTDIR) # mv html $(DESTDIR)
clean: $(CLEANDIRS) clean: $(CLEANDIRS)
rm -fr $(DESTDIR)/pdf rm -fr $(DESTDIR)/pdf
@ -45,7 +45,7 @@ clean-%:
cd $(@:clean-%=manual-%) && make clean cd $(@:clean-%=manual-%) && make clean
#<23><>$(@D)<29><> The directory part of the file name of the target, with the trailing slash removed. If the value of <20><>$@<40><> is dir/foo.o then <20><>$(@D)<29><> is dir. This value is . if <20><>$@<40><> does not contain a slash. #<23><>$(@D)<29><> The directory part of the file name of the target, with the trailing slash removed. If the value of <20><>$@<40><> is dir/foo.o then <20><>$(@D)<29><> is dir. This value is . if <20><>$@<40><> does not contain a slash.
#<23><>$(@F)<29><> The file-within-directory part of the file name of the target. If the value of <20><>$@<40><> is dir/foo.o then <20><>$(@F)<29><> is foo.o. <20><>$(@F)<29><> is equivalent to <20><>$(notdir $@)<29><>. #<23><>$(@F)<29><> The file-within-directory part of the file name of the target. If the value of <20><>$@<40><> is dir/foo.o then <20><>$(@F)<29><> is foo.o. <20><>$(@F)<29><> is equivalent to <20><>$(notdir $@)<29><>.

View File

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

View File

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

View File

@ -0,0 +1,84 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2008 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Angular calibration wizard manual</TITLE>
<META NAME="description" CONTENT="Angular calibration wizard manual">
<META NAME="keywords" CONTENT="angularCalibrationHowTo">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="angularCalibrationHowTo.css">
<LINK REL="next" HREF="node1.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html6"
HREF="node1.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up_g.png">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev_g.png">
<BR>
<B> Next:</B> <A NAME="tex2html7"
HREF="node1.html">Introduction</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<P>
<H1 ALIGN="CENTER">Angular calibration wizard manual</H1>
<DIV>
<P ALIGN="CENTER"><STRONG>Anna Bergamaschi</STRONG></P>
<P ALIGN="CENTER"><STRONG>August 24, 2017</STRONG></P>
</DIV>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>
<UL>
<LI><A NAME="tex2html8"
HREF="node1.html">Introduction</A>
<LI><A NAME="tex2html9"
HREF="node2.html">Data acquisition</A>
<UL>
<LI><A NAME="tex2html10"
HREF="node2.html#SECTION00021000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html11"
HREF="node3.html">Data analysis</A>
<UL>
<LI><A NAME="tex2html12"
HREF="node3.html#SECTION00031000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html13"
HREF="node4.html">Setup calibration files</A>
<LI><A NAME="tex2html14"
HREF="node5.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 B

View File

@ -0,0 +1,84 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2008 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Angular calibration wizard manual</TITLE>
<META NAME="description" CONTENT="Angular calibration wizard manual">
<META NAME="keywords" CONTENT="angularCalibrationHowTo">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="angularCalibrationHowTo.css">
<LINK REL="next" HREF="node1.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html6"
HREF="node1.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up_g.png">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev_g.png">
<BR>
<B> Next:</B> <A NAME="tex2html7"
HREF="node1.html">Introduction</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<P>
<H1 ALIGN="CENTER">Angular calibration wizard manual</H1>
<DIV>
<P ALIGN="CENTER"><STRONG>Anna Bergamaschi</STRONG></P>
<P ALIGN="CENTER"><STRONG>August 24, 2017</STRONG></P>
</DIV>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>
<UL>
<LI><A NAME="tex2html8"
HREF="node1.html">Introduction</A>
<LI><A NAME="tex2html9"
HREF="node2.html">Data acquisition</A>
<UL>
<LI><A NAME="tex2html10"
HREF="node2.html#SECTION00021000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html11"
HREF="node3.html">Data analysis</A>
<UL>
<LI><A NAME="tex2html12"
HREF="node3.html#SECTION00031000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html13"
HREF="node4.html">Setup calibration files</A>
<LI><A NAME="tex2html14"
HREF="node5.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,68 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2008 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Setup calibration files</TITLE>
<META NAME="description" CONTENT="Setup calibration files">
<META NAME="keywords" CONTENT="angularCalibrationHowTo">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="angularCalibrationHowTo.css">
<LINK REL="next" HREF="node5.html">
<LINK REL="previous" HREF="node3.html">
<LINK REL="up" HREF="angularCalibrationHowTo.html">
<LINK REL="next" HREF="node5.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html55"
HREF="node5.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html53"
HREF="angularCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html47"
HREF="node3.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html56"
HREF="node5.html">About this document ...</A>
<B> Up:</B> <A NAME="tex2html54"
HREF="angularCalibrationHowTo.html">Angular calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html48"
HREF="node3.html">Data analysis</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00040000000000000000">
Setup calibration files</A>
</H1>
<P>
To use the generated angular calibration files, using the text client:
<PRE>
sls_detector_put angconv /scratch/ang_new.off
</PRE>
while for the GUI the file name should be specified in the configuration file (works also for the text client).
<BR><HR>
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

@ -0,0 +1,71 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2008 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>About this document ...</TITLE>
<META NAME="description" CONTENT="About this document ...">
<META NAME="keywords" CONTENT="angularCalibrationHowTo">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="angularCalibrationHowTo.css">
<LINK REL="previous" HREF="node4.html">
<LINK REL="up" HREF="angularCalibrationHowTo.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next_g.png">
<A NAME="tex2html61"
HREF="angularCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html57"
HREF="node4.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<BR>
<B> Up:</B> <A NAME="tex2html62"
HREF="angularCalibrationHowTo.html">Angular calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html58"
HREF="node4.html">Setup calibration files</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00050000000000000000">
About this document ...</A>
</H1>
<STRONG>Angular calibration wizard manual</STRONG><P>
This document was generated using the
<A HREF="http://www.latex2html.org/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 2008 (1.71)
<P>
Copyright &#169; 1993, 1994, 1995, 1996,
<A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>,
Computer Based Learning Unit, University of Leeds.
<BR>
Copyright &#169; 1997, 1998, 1999,
<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>,
Mathematics Department, Macquarie University, Sydney.
<P>
The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-split 4 angularCalibrationHowTo.tex</TT>
<P>
The translation was initiated by Thattil Dhanya on 2017-08-24
<BR><HR>
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

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

View File

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

View File

@ -0,0 +1,84 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2008 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Energy calibration wizard manual</TITLE>
<META NAME="description" CONTENT="Energy calibration wizard manual">
<META NAME="keywords" CONTENT="energyCalibrationHowTo">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="energyCalibrationHowTo.css">
<LINK REL="next" HREF="node1.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html9"
HREF="node1.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up_g.png">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev_g.png">
<BR>
<B> Next:</B> <A NAME="tex2html10"
HREF="node1.html">Introduction</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<P>
<H1 ALIGN="CENTER">Energy calibration wizard manual</H1>
<DIV>
<P ALIGN="CENTER"><STRONG>Anna Bergamaschi</STRONG></P>
<P ALIGN="CENTER"><STRONG>August 24, 2017</STRONG></P>
</DIV>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>
<UL>
<LI><A NAME="tex2html11"
HREF="node1.html">Introduction</A>
<LI><A NAME="tex2html12"
HREF="node2.html">Data acquisition</A>
<UL>
<LI><A NAME="tex2html13"
HREF="node2.html#SECTION00021000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html14"
HREF="node3.html">Data analysis</A>
<UL>
<LI><A NAME="tex2html15"
HREF="node3.html#SECTION00031000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html16"
HREF="node4.html">Setup calibration files</A>
<LI><A NAME="tex2html17"
HREF="node5.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 505 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 471 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 468 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 539 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

View File

@ -0,0 +1,84 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2008 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Energy calibration wizard manual</TITLE>
<META NAME="description" CONTENT="Energy calibration wizard manual">
<META NAME="keywords" CONTENT="energyCalibrationHowTo">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="energyCalibrationHowTo.css">
<LINK REL="next" HREF="node1.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html9"
HREF="node1.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up_g.png">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev_g.png">
<BR>
<B> Next:</B> <A NAME="tex2html10"
HREF="node1.html">Introduction</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<P>
<H1 ALIGN="CENTER">Energy calibration wizard manual</H1>
<DIV>
<P ALIGN="CENTER"><STRONG>Anna Bergamaschi</STRONG></P>
<P ALIGN="CENTER"><STRONG>August 24, 2017</STRONG></P>
</DIV>
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>
<UL>
<LI><A NAME="tex2html11"
HREF="node1.html">Introduction</A>
<LI><A NAME="tex2html12"
HREF="node2.html">Data acquisition</A>
<UL>
<LI><A NAME="tex2html13"
HREF="node2.html#SECTION00021000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html14"
HREF="node3.html">Data analysis</A>
<UL>
<LI><A NAME="tex2html15"
HREF="node3.html#SECTION00031000000000000000">Software</A>
</UL>
<BR>
<LI><A NAME="tex2html16"
HREF="node4.html">Setup calibration files</A>
<LI><A NAME="tex2html17"
HREF="node5.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

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

View File

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

View File

@ -0,0 +1,383 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2008 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Introduction</TITLE>
<META NAME="description" CONTENT="Introduction">
<META NAME="keywords" CONTENT="energyCalibrationHowTo">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="energyCalibrationHowTo.css">
<LINK REL="next" HREF="node2.html">
<LINK REL="previous" HREF="energyCalibrationHowTo.html">
<LINK REL="up" HREF="energyCalibrationHowTo.html">
<LINK REL="next" HREF="node2.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html26"
HREF="node2.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html24"
HREF="energyCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html18"
HREF="energyCalibrationHowTo.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html27"
HREF="node2.html">Data acquisition</A>
<B> Up:</B> <A NAME="tex2html25"
HREF="energyCalibrationHowTo.html">Energy calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html19"
HREF="energyCalibrationHowTo.html">Energy calibration wizard manual</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00010000000000000000">
Introduction</A>
</H1>
<P>
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).
<P>
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.
<BR>
Figure&nbsp;<A HREF="#fig:thrscanexpl">1</A> shows the expected number of counts as a function of the threshold energy for <IMG
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img2.png"
ALT="$N_0$"> monochromatic X-rays of energy <IMG
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img1.png"
ALT="$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 <IMG
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img2.png"
ALT="$N_0$"> X-rays are counted for thresholds lower than <IMG
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img1.png"
ALT="$E_0$">.
The thick solid line represents the physical curve which also takes into account the electronic noise and the charge sharing between channels.
<P>
The intrinsic noise on the electronic signal is defined by the Equivalent Noise Charge (<IMG
WIDTH="44" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img3.png"
ALT="$ENC$">). The <IMG
WIDTH="44" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img3.png"
ALT="$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&nbsp;<IMG
WIDTH="23" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
SRC="img12.png"
ALT="$e^-$">=3.6&nbsp;eV.
The value of the <IMG
WIDTH="44" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img3.png"
ALT="$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 <IMG
WIDTH="44" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img3.png"
ALT="$ENC$">.
The S-curve for a monochromatic radiation beam is well described by a Gaussian cumulative distribution <IMG
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img13.png"
ALT="$D$"> with an additional increase at low threshold due to the baseline noise, as shown by the solid thin line.
<P>
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 <IMG
WIDTH="27" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img5.png"
ALT="$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).
<P>
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 <IMG
WIDTH="78" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img14.png"
ALT="$E_t=E_0/2$">.
<BR>
The detector response <IMG
WIDTH="19" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img15.png"
ALT="$N$"> as a function of the threshold energy <IMG
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img10.png"
ALT="$E_t$"> is given by the sum of the noise counts <IMG
WIDTH="26" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img16.png"
ALT="$N_n$"> and the counts originating from photons <IMG
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img17.png"
ALT="$N_\gamma$">:
<BR>
<DIV ALIGN="RIGHT">
<!-- MATH
\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),
\end{equation}
-->
<TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:thrscan"></A><IMG
WIDTH="335" HEIGHT="41" BORDER="0"
SRC="img18.png"
ALT="\begin{displaymath}
N_\gamma(E_t)=\frac{N_0}{2}\cdot\Big(1+C_s \frac{E_0-2E_t}{E_0}\Big)D \Big(\frac{E_0-E_t}{ENC} \Big),
\end{displaymath}"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(1)</TD></TR>
</TABLE>
<BR CLEAR="ALL"></DIV><P></P>
where <IMG
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img19.png"
ALT="$C_s$"> is the fraction of photons which produce a charge cloud which is shared between neighboring strips (<IMG
WIDTH="83" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img20.png"
ALT="$N_s=C_s N_0$">).
<BR>
By assuming a noise of Gaussian type, and considering its bandwidth limited by the shaping time <IMG
WIDTH="18" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img21.png"
ALT="$\tau_s$">, the number of noise counts in the acquisition time <IMG
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img22.png"
ALT="$T$"> can be approximated as:
<BR>
<DIV ALIGN="RIGHT">
<!-- MATH
\begin{equation}
N_n(E_t) \sim \frac{T}{\tau_s} D \Big(\frac{-E_t}{ENC} \Big).
\end{equation}
-->
<TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:noisescan"></A><IMG
WIDTH="169" HEIGHT="41" BORDER="0"
SRC="img23.png"
ALT="\begin{displaymath}
N_n(E_t) \sim \frac{T}{\tau_s} D \Big(\frac{-E_t}{ENC} \Big).
\end{displaymath}"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(2)</TD></TR>
</TABLE>
<BR CLEAR="ALL"></DIV><P></P>
<P>
The choice of the comparator threshold level <IMG
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img10.png"
ALT="$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 <IMG
WIDTH="78" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img14.png"
ALT="$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 <IMG
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img10.png"
ALT="$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.
<P>
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&nbsp;<A HREF="#fig:thrscanfluo">3</A>).
<BR>
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 <IMG
WIDTH="88" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img24.png"
ALT="$\Sigma&gt;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.
<P>
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.
<BR>
Since both the signal amplification stages and the comparator are linear, it is necessary to calibrate the detector offset <IMG
WIDTH="17" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img25.png"
ALT="$O$"> and gain <IMG
WIDTH="17" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img26.png"
ALT="$G$"> in order to correctly set its comparator threshold <IMG
WIDTH="19" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img27.png"
ALT="$V_t$"> at the desired energy <IMG
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img10.png"
ALT="$E_t$">:
<BR>
<DIV ALIGN="RIGHT">
<!-- MATH
\begin{equation}
V_{t}=O+G \cdot E_t.
\end{equation}
-->
<TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:encal"></A><IMG
WIDTH="111" HEIGHT="26" BORDER="0"
SRC="img28.png"
ALT="\begin{displaymath}
V_{t}=O+G \cdot E_t.
\end{displaymath}"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(3)</TD></TR>
</TABLE>
<BR CLEAR="ALL"></DIV><P></P>
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 <IMG
WIDTH="10" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
SRC="img29.png"
ALT="$i$">. The curves obtained for one of the detector modules at three energies are shown in figure&nbsp;<A HREF="#fig:modulecalibration">4</A>. The experimental data are then fitted according to equation&nbsp;<A HREF="#eq:thrscan">1</A> 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&nbsp;<A HREF="#fig:modulecalibration">4</A>. The resulting offset <IMG
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img30.png"
ALT="$O_i$"> and gain <IMG
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img31.png"
ALT="$G_i$"> are used as a conversion factor between the threshold level and the energy.
<P>
<DIV ALIGN="CENTER"><A NAME="fig:thrscanexpl"></A><A NAME="116"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1:</STRONG>
Expected counts as a function of a threshold energy for a monochromatic beam of energy <IMG
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img1.png"
ALT="$E_0$">=12&nbsp;keV. <IMG
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img2.png"
ALT="$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 <IMG
WIDTH="44" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img3.png"
ALT="$ENC$">=1&nbsp;keV but without charge sharing and the solid thick line is the physical case with noise and <IMG
WIDTH="45" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img4.png"
ALT="$CS=$">22&nbsp;% charge sharing. <IMG
WIDTH="27" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img5.png"
ALT="$N_S$"> is the number of photons whose charge is shared between neighbouring strips (<!-- MATH
$CS=\frac{N_S}{N_0}$
-->
<IMG
WIDTH="71" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
SRC="img32.png"
ALT="$CS=\frac{N_S}{N_0}$">). The dotted line represents the number of photons whose charge is completely collected by a single strip.</CAPTION>
<TR><TD><IMG
WIDTH="556" HEIGHT="539" ALIGN="BOTTOM" BORDER="0"
SRC="img33.png"
ALT="\includegraphics[width=\textwidth]{fig4.eps}"></TD></TR>
</TABLE>
</DIV>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:expthrscan"></A><A NAME="117"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 2:</STRONG>
Measured threshold scan at 12.5&nbsp;keV with the three different settings. In the inset the fit of the experimental data with the expected curve as in function&nbsp;<A HREF="#eq:thrscan">1</A> is shown in the region of the inflection point.</CAPTION>
<TR><TD><IMG
WIDTH="556" HEIGHT="539" ALIGN="BOTTOM" BORDER="0"
SRC="img34.png"
ALT="\includegraphics[width=\textwidth]{fig5.eps}"></TD></TR>
</TABLE>
</DIV>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:thrscanfluo"></A><A NAME="53"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3:</STRONG>
Number of counts as a function of the threshold measured from a sample containing iron (<IMG
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img7.png"
ALT="$E_f$">=5.9&nbsp;keV) when using X-rays of energy <IMG
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img1.png"
ALT="$E_0$">=12&nbsp;keV. In this case, setting the threshold at <IMG
WIDTH="39" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img8.png"
ALT="$E_0/2$">, which is very close to <IMG
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img7.png"
ALT="$E_f$">, would give <IMG
WIDTH="35" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img9.png"
ALT="$\Delta \sim $">10% counts from the fluorescense background. Therefore the threshold should be set at an intermediate level <IMG
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img10.png"
ALT="$E_t$"> between the two energy components with a distance of at least <IMG
WIDTH="85" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img11.png"
ALT="$\Sigma &gt;3ENC$"> from both <IMG
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img7.png"
ALT="$E_f$"> and <IMG
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img1.png"
ALT="$E_0$">.</CAPTION>
<TR><TD><IMG
WIDTH="556" HEIGHT="553" ALIGN="BOTTOM" BORDER="0"
SRC="img35.png"
ALT="\includegraphics[width=\textwidth]{fig7.eps}"></TD></TR>
</TABLE>
</DIV>
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.
<P>
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.
<P>
<DIV ALIGN="CENTER"><A NAME="fig:modulecalibration"></A><A NAME="118"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 4:</STRONG>
Median of the number of counts as a function of the threshold for X-rays of 12.5, 17.5 and 25&nbsp;keV for one of the detector modules using <I>standard</I> settings. The solid line represents the fit of the experimental points with equation&nbsp;<A HREF="#eq:thrscan">1</A>. In the inset the linear fit between the X-ray energy and the position of the inflection point of the curves is shown.</CAPTION>
<TR><TD><IMG
WIDTH="556" HEIGHT="539" ALIGN="BOTTOM" BORDER="0"
SRC="img36.png"
ALT="\includegraphics[width=\textwidth]{fig8.eps}"></TD></TR>
</TABLE>
</DIV>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html26"
HREF="node2.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html24"
HREF="energyCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html18"
HREF="energyCalibrationHowTo.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html27"
HREF="node2.html">Data acquisition</A>
<B> Up:</B> <A NAME="tex2html25"
HREF="energyCalibrationHowTo.html">Energy calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html19"
HREF="energyCalibrationHowTo.html">Energy calibration wizard manual</A>
<!--End of Navigation Panel-->
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

@ -0,0 +1,186 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2008 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Data acquisition</TITLE>
<META NAME="description" CONTENT="Data acquisition">
<META NAME="keywords" CONTENT="energyCalibrationHowTo">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="energyCalibrationHowTo.css">
<LINK REL="next" HREF="node3.html">
<LINK REL="previous" HREF="node1.html">
<LINK REL="up" HREF="energyCalibrationHowTo.html">
<LINK REL="next" HREF="node3.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html36"
HREF="node3.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html34"
HREF="energyCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html28"
HREF="node1.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html37"
HREF="node3.html">Data analysis</A>
<B> Up:</B> <A NAME="tex2html35"
HREF="energyCalibrationHowTo.html">Energy calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html29"
HREF="node1.html">Introduction</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html38"
HREF="node2.html#SECTION00021000000000000000">Software</A>
</UL>
<!--End of Table of Child-Links-->
<HR>
<H1><A NAME="SECTION00020000000000000000">
Data acquisition</A>
</H1>
<P>
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.
<BR>
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.
<P>
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.
<P>
<H2><A NAME="SECTION00021000000000000000">
Software</A>
</H2>
<P>
For the acquisition ot the data you need to install the slsDetector software package (please refere to separate documentation). The use of the GUI is optional and all operations can be performed also using the text client.
<BR>
<P>
In the following the command to acquire a dataset for the energy calibration with an exposure time of 1&nbsp;s, and threshold scan range between 200 and 850 with a setp of 1 DAC unit.
<PRE>
&gt; sls_detector_put encallog 1 #setup energy calibration
&gt; sls_detector_put exptime 1. #set exposure time to 1s
&gt; sls_detector_put scan0script threshold #setup threshold scan
&gt; sls_detector_put scan0range 200 850 1 #set scan range between 200 and 850, step of 1
&gt; sls_detector_acquire #acquire the data
&gt; sls_detector_put encallog 0 #unset energy calibration
</PRE>
<P>
With the GUI you can obtain the same results by clicking on the <I>Energy Calibration</I> log button in the advanced tab (see figure&nbsp;<A HREF="#fig:guiencallog">5</A>) and setting up the threshold scan in the Actions tab (see figure&nbsp;<A HREF="#fig:guithrscan">6</A>). the exposure time should also be set in the measurement tab.
<P>
This procedure should be executed at at least 2 (better 3) energies.
<P>
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.
<BR>
In case you forgot to enable the encallog flag in the software, you can produce the file with the syntax as follows:
<PRE>
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
...
...
</PRE>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:guiencallog"></A><A NAME="73"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 5:</STRONG>
Acquisition GUI window to enable the energy calibration log.</CAPTION>
<TR><TD><IMG
WIDTH="555" HEIGHT="603" ALIGN="BOTTOM" BORDER="0"
SRC="img37.png"
ALT="\includegraphics[width=\textwidth]{GUI_Advanced.eps}"></TD></TR>
</TABLE>
</DIV>
<P>
<DIV ALIGN="CENTER"><A NAME="fig:guithrscan"></A><A NAME="78"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 6:</STRONG>
Acquisition GUI window to setup the threshold scan.</CAPTION>
<TR><TD><IMG
WIDTH="555" HEIGHT="603" ALIGN="BOTTOM" BORDER="0"
SRC="img38.png"
ALT="\includegraphics[width=\textwidth]{GUI_ThresholdScan.eps}"></TD></TR>
</TABLE>
</DIV>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html36"
HREF="node3.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html34"
HREF="energyCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html28"
HREF="node1.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html37"
HREF="node3.html">Data analysis</A>
<B> Up:</B> <A NAME="tex2html35"
HREF="energyCalibrationHowTo.html">Energy calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html29"
HREF="node1.html">Introduction</A>
<!--End of Navigation Panel-->
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

@ -0,0 +1,190 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2008 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Data analysis</TITLE>
<META NAME="description" CONTENT="Data analysis">
<META NAME="keywords" CONTENT="energyCalibrationHowTo">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="energyCalibrationHowTo.css">
<LINK REL="next" HREF="node4.html">
<LINK REL="previous" HREF="node2.html">
<LINK REL="up" HREF="energyCalibrationHowTo.html">
<LINK REL="next" HREF="node4.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html47"
HREF="node4.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html45"
HREF="energyCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html39"
HREF="node2.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html48"
HREF="node4.html">Setup calibration files</A>
<B> Up:</B> <A NAME="tex2html46"
HREF="energyCalibrationHowTo.html">Energy calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html40"
HREF="node2.html">Data acquisition</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL>
<LI><A NAME="tex2html49"
HREF="node3.html#SECTION00031000000000000000">Software</A>
</UL>
<!--End of Table of Child-Links-->
<HR>
<H1><A NAME="SECTION00030000000000000000">
Data analysis</A>
</H1>
<P>
The data analysis consists in fitting the S-curves obtained from the datasets acquired as above and then performing a linear fit between the energy values and the inflection points.
<P>
<H2><A NAME="SECTION00031000000000000000">
Software</A>
</H2>
<P>
The software used for the energy calibration data analysis is based on root (see http://root.cern.ch).
<BR>
This can be downloaded as binary or installed from sources. The version of the software should not play an important role, but up to now everything has been implemented and tested using version 5.20.
<P>
To start the data analysis simply launch:
<PRE>
&gt; ./energyCalibrationWizard
</PRE>
<P>
To add anew energy write the energy value and select (or digit) the name of the .encal file corresponding to that energy (see figure&nbsp;<A HREF="#fig:addenergy">7</A>).
<BR>
The software assumes that the data files (.raw) and the .encal file are in the same directory.
Press <I>Preview</I> 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.
<BR>
If the plot corresponds to your expectations press <I>Add to list</I>. 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.
<P>
Add then all the other energies to the calibration always by editing the energy value and .encal file name, pressing <I>preview</I> and <I>add to list</I>.
<BR>
If the settings, number of modules or serial numbers do not match, you will not be llowed to add the energy.
<BR>
By using the <I>selected energy actions</I> 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.
<BR>
Once you have uploaded at least 2 energies, you will be allowed to <I>proceed to module calibration</I>.
<P>
<DIV ALIGN="CENTER"><A NAME="fig:addenergy"></A><A NAME="94"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 7:</STRONG>
Window to add energies to the calibration.</CAPTION>
<TR><TD><IMG
WIDTH="555" HEIGHT="694" ALIGN="BOTTOM" BORDER="0"
SRC="img39.png"
ALT="\includegraphics[width=\textwidth]{addEnergy.eps}"></TD></TR>
</TABLE>
</DIV>
<P>
In the module calibration window (see figure&nbsp;<A HREF="#fig:calibratemodule">8</A>), you are still able to look at the calibration summary, and eventually return to the previous windown by pressing <I>Back to energy setup</I>.
<BR>
The canvas will show the plot of the S-curves relative to the median of the selected module, fitted with equation&nbsp;<A HREF="node1.html#eq:thrscan">1</A> 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.
<BR>
If <I>Manual save</I> 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 <I>Write to file</I> for each module once you are happy with the fit.
<P>
To change the Y scale of the plot, edit the <I>Counts</I> entry. After clicking of the energy button (eventually twice) the maximum of the histogram will be set to three times the value.
<P>
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.
<BR>
<P>
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).
<BR>
Normally the data are acquired by collecting holes from the detector and therefore the <I>Invert axis</I> check button should be ckecked. Uncheck it in case your detector collects electrons (e.g. CdTe, Si n in p)
<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.
<BR>
By checking the checkboxes you can fix the values to the ones you specify.
<BR>
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.
<BR>
Changing the starting value of the inflection point or of the number of counts can often help the fit to converge.
<BR>
Normally it is not very useful to change the starting value for the noise or charge sharing slope.
<P>
The button <I>Finished</I> will be enebled only once the calibration files have been generated for all modules.
<P>
<DIV ALIGN="CENTER"><A NAME="fig:calibratemodule"></A><A NAME="107"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 8:</STRONG>
Window to calibrate the modules.</CAPTION>
<TR><TD><IMG
WIDTH="555" HEIGHT="694" ALIGN="BOTTOM" BORDER="0"
SRC="img40.png"
ALT="\includegraphics[width=\textwidth]{calibrateModule.eps}"></TD></TR>
</TABLE>
</DIV>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html47"
HREF="node4.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html45"
HREF="energyCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html39"
HREF="node2.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html48"
HREF="node4.html">Setup calibration files</A>
<B> Up:</B> <A NAME="tex2html46"
HREF="energyCalibrationHowTo.html">Energy calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html40"
HREF="node2.html">Data acquisition</A>
<!--End of Navigation Panel-->
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

View File

@ -0,0 +1,74 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2008 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Setup calibration files</TITLE>
<META NAME="description" CONTENT="Setup calibration files">
<META NAME="keywords" CONTENT="energyCalibrationHowTo">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="energyCalibrationHowTo.css">
<LINK REL="next" HREF="node5.html">
<LINK REL="previous" HREF="node3.html">
<LINK REL="up" HREF="energyCalibrationHowTo.html">
<LINK REL="next" HREF="node5.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html58"
HREF="node5.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html56"
HREF="energyCalibrationHowTo.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html50"
HREF="node3.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html59"
HREF="node5.html">About this document ...</A>
<B> Up:</B> <A NAME="tex2html57"
HREF="energyCalibrationHowTo.html">Energy calibration wizard manual</A>
<B> Previous:</B> <A NAME="tex2html51"
HREF="node3.html">Data analysis</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<H1><A NAME="SECTION00040000000000000000">
Setup calibration files</A>
</H1>
<P>
To use the genrated calibration files as default ones, copy them into your default <I>caldir/settings</I> renaming them calibration.snxxx, where snxxx is the extension that the genrated files already have, which corresponds to the module serial number.
<BR>
Fot this scope, a script as following can be used:
<PRE>
for i in $(ls newcal_standard.sn* | awk -F "." '{print $2}'); do \
mv newcal_standard.$i caldir/standard/calibration.$i; \
done
</PRE>
<P>
By reloading the default detector settings, the calibration coefficients will be automatically loaded.
<BR><HR>
<ADDRESS>
Thattil Dhanya
2017-08-24
</ADDRESS>
</BODY>
</HTML>

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