Compare commits

..

1504 Commits

Author SHA1 Message Date
f7695113b8 Interpolation has problems. To be checked 2019-12-17 17:09:50 +01:00
27f2321d64 fixed probelm with interpolation of rectangular pixels 2019-12-10 11:10:58 +01:00
545684c8e3 Fixed corordinate inversion 2019-12-09 16:51:15 +01:00
9584ea626d Interpolation changed for rectangular pixels 2019-12-09 13:53:11 +01:00
a2c26664ee added and corrected data structures for rectangular pixels 2019-12-06 12:17:31 +01:00
02a36a148f fixed process make file 2019-11-07 13:28:03 +01:00
142b184e62 fixed last frame with subframes 2019-09-30 12:43:37 +02:00
dd2fe28ce6 finxed subframe index in zmq process 2019-09-30 12:39:49 +02:00
0afd096eae removed log messages in receiver 2019-09-30 12:27:48 +02:00
98ae93fdde Possibility to sum up only fractions of frames in the Zmq process 2019-09-27 13:05:29 +02:00
c654ac7f1f Added sls_detector_process executable for acquire blocking on zmq 2019-09-27 10:12:21 +02:00
db2742495a Added defines to invert the data for HIGHZ in the moench data structures 2019-09-26 12:22:23 +02:00
d0c5c2a6e5 moenchZmqProcess and Makefile adjusted to work with this branch 2019-09-26 11:42:10 +02:00
2c09d394a6 slsDetectorCalibration updated to latest version 2019-09-26 11:34:11 +02:00
52f74142b1 Moench working version 2019-03-28 13:29:12 +01:00
18ab437ae5 Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2019-02-06 16:30:59 +01:00
3b56091e2f new header for raw files 2019-02-06 16:30:37 +01:00
dcad6c80ce minor modifications for interpolation and mythe data structure 2019-02-06 16:22:17 +01:00
Gemma Tinti
6abfdcb2c8 manual 2019-02-04 10:48:42 +01:00
Erik Frojdh
9e5ec6a57b only destroy sem if it was initialized 2019-01-16 11:54:01 +01:00
9d3134c3de Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-12-14 18:11:46 +01:00
563d644d2f Improved the interpolation with adaptive bins and implemented flat field correction when saving the interpolated images 2018-12-14 18:11:12 +01:00
Erik Frojdh
e379b98631 added header files 2018-12-12 16:10:01 +01:00
Erik Frojdh
f98259adc9 added build requirements to subpackages 2018-12-12 15:50:55 +01:00
Erik Frojdh
88e0914405 added conda recipe as a test 2018-12-12 15:23:24 +01:00
9d8aa5fe91 Works with CTB5 (and should be backward compatible with the rest) 2018-12-06 17:26:54 +01:00
dceea92f1a Fixed big problem with CPU readout 2018-12-06 12:58:54 +01:00
2815458652 Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-12-06 10:55:32 +01:00
d8140d8db9 anna version 2018-12-06 10:55:18 +01:00
4d0090dfcc ctb server: added brackets around char* in write to socket 2018-11-21 15:57:46 +01:00
e98d60c26e updated ctb binary 2018-11-21 15:35:59 +01:00
cd3135c01d loophole for blackfin not checking the data sent, hence splitting data to a few packets when size > 30k bytes 2018-11-21 15:34:58 +01:00
Gemma Tinti
40dedb8b07 manual 2018-11-16 17:47:41 +01:00
2e83db7d45 changed cluster file format 2018-11-09 12:34:14 +01:00
817736fcd5 after merging with developer 2018-11-02 10:48:06 +01:00
660ed4c177 changed users set/getDetectorsize API to include a single ROI 2018-10-25 14:11:40 +02:00
Gemma Tinti
0d96272db5 manual 2018-10-23 11:29:27 +02:00
38a6393dde fixed probelem with multiThreadedInterpolatingDetector 2018-10-16 17:17:24 +02:00
4aa720eecb added data structure for moench03 rectangual pixels module 019 2018-10-11 09:32:47 +02:00
l_msdetect
d68c3b73a8 pdf manual 2018-10-05 14:30:54 +02:00
def79807f6 merge conflict resolved from 4.0.0 2018-09-28 16:28:21 +02:00
eb89d12f41 updated readme and eiger_short 2018-09-28 15:09:31 +02:00
c477970cf0 manual updated 2018-09-28 11:47:25 +02:00
03ae32dcf3 updated manuals 2018-09-27 18:32:20 +02:00
5a394c080f updated release 2018-09-27 18:29:33 +02:00
e631414526 updated version 2018-09-27 18:23:08 +02:00
d2bce7e372 updated release.txt 2018-09-27 18:21:48 +02:00
f9b95b63eb gotthard server: made gotthard server readout only via udp, readframe just waits for acquisition to be done, does not allocate ram, receiver: removed positions hardcoded in 1d, should be 2d for all 2018-09-27 18:20:03 +02:00
c2db073d5e receiver and client: changed xcoord to row and ycoord to column, zcoord to reserved 2018-09-26 15:03:04 +02:00
970d448e73 receiver: using namespace std removed from all the headers and the bug fixes for that for hdf5 2018-09-26 10:53:45 +02:00
b236c14a66 Merge branch '4.0.0' of github.com:slsdetectorgroup/slsDetectorPackage into 4.0.0 2018-09-25 18:01:02 +02:00
80c0d4e10e gui: bug fix advanced tab (network and trimming) was a mess 2018-09-25 18:00:21 +02:00
46db575cc4 updating release.txt 2018-09-25 17:30:38 +02:00
Erik Frojdh
6f0c505c01 Merge branch '4.0.0' of github.com:slsdetectorgroup/slsDetectorPackage into 4.0.0 2018-09-25 14:24:26 +02:00
Erik Frojdh
06d698166f updated dicsard commands in RELEASE.txt 2018-09-25 14:23:22 +02:00
5a139d70b5 gotthard and jungfrau server binary updated for API 2018-09-25 14:08:34 +02:00
33d1b11279 jungfrau server updated for API version change 2018-09-25 14:04:54 +02:00
b163180d6f updating API versions 2018-09-25 14:02:22 +02:00
cab9dff225 Merge branch '4.0.0' of github.com:slsdetectorgroup/slsDetectorPackage into 4.0.0 2018-09-25 13:55:42 +02:00
7d8188fc11 gotthard server binary updated: config file not read a second time after detector start up 2018-09-25 13:55:26 +02:00
Erik Frojdh
64229ca32b changed operator() to const 2018-09-25 11:20:44 +02:00
ae8678cdc2 New Zmq header staructur implemented and works, still different number of pixels in the GUI should be fixed (but it does not crash) 2018-09-25 09:36:47 +02:00
4aa0d26f26 gotthard server: trying to resolve roi problem that is only affected by latest firmware 2018-09-21 17:29:43 +02:00
Gemma Tinti
c52025dd7c manual 2018-09-21 12:04:33 +02:00
9f84bf7175 gui: crashing when using roi fixed 2018-09-20 18:10:10 +02:00
235002cdd4 gui: fixed title height 2018-09-20 14:48:36 +02:00
c784f0f539 client: moved shortenable to roi in reciever, roi not yet written in master file 2018-09-19 17:35:26 +02:00
961489edb1 bugfix gotthard server and client to set roi and disable it, problem still exists with frame numbering between roi modes but can only be fixed in firmware 2018-09-18 18:02:01 +02:00
255931bbde release.txt: no overflow is the defaulkt option and not the overflow option 2018-09-18 10:28:49 +02:00
781152a772 slsDetectorSoftware bug fix: gappixels for x initialized wrong 2018-09-17 18:13:26 +02:00
Gemma Tinti
7b4910ee87 branch 2018-09-17 14:59:08 +02:00
Gemma Tinti
021212372b root converter 2018-09-17 14:54:19 +02:00
59cb9c84c2 bug fix slsdetectorgui: xcoord and y coord are actually col and row indices 2018-09-17 14:35:31 +02:00
Gemma Tinti
e8612a481c receonstruction 2018-09-17 12:47:18 +02:00
d67b4765ea Removing redundant null byte from end of json header 2018-09-17 12:32:33 +02:00
Gemma Tinti
8773de93e9 server first 2018-09-17 11:03:31 +02:00
Gemma Tinti
ef20fa6f3c start documenting cbf converter 2018-09-14 18:05:28 +02:00
19e7ced332 moench zmq process implemented - command implementation is missing 2018-09-13 16:07:43 +02:00
f288390255 Zmq communication uses additional headers, moench processing fixed 2018-09-11 17:05:11 +02:00
Gemma Tinti
30e060b3b1 gap pixels basics 2018-09-04 11:16:31 +02:00
Gemma Tinti
29ba9ae6f7 some updates for 4.0.0 2018-09-03 16:34:06 +02:00
Gemma Tinti
2b2b53f598 update 2018-09-03 13:57:21 +02:00
Gemma Tinti
1ebb07198a deadtimesubperiod 2018-08-31 21:36:38 +02:00
ed0b22b500 updated binaries 2018-08-24 13:18:51 +02:00
548036a602 selective merge from branch 4.0.0 conflict fix 2018-08-24 13:12:55 +02:00
1b55fdad86 merged selected patches from 4.0.0 branch 2018-08-24 13:10:16 +02:00
14c899e7cf removed some manual warnings 2018-08-24 12:34:06 +02:00
b3d4e90f7f sls_detector_software is obsolete, conda packet sls_detector_lib or sls_detector_gui 2018-08-23 16:52:52 +02:00
cedd275892 conflict fix, minor 2018-08-23 16:24:17 +02:00
588037fd18 updated release version 2018-08-23 16:23:24 +02:00
Dhanya Thattil
1700d9884a Updated release.txt, minor indentation 2018-08-23 16:08:24 +02:00
e0b8fb3609 updated manuals, jungfrau server (reqd firmware vversion) 2018-08-23 15:52:12 +02:00
b7f62fcd47 updated release.txt 2018-08-23 13:07:38 +02:00
5b6ec303d7 manual api mainclient fix for enum FAIL 2018-08-23 13:00:49 +02:00
cea6c30ded updating release.txt, version API 2018-08-23 12:48:08 +02:00
0781344117 updating binaries 2018-08-22 19:00:21 +02:00
63c130a380 client:updated users class and release.txt 2018-08-22 18:08:35 +02:00
7945d15beb client: updating release.txt, updating command line help, catching slsDetectorUsers exception from multislsdetector constructor 2018-08-21 18:49:29 +02:00
4e446f1f39 eiger server: changed subperiod to subdeadtime, changing subexptime or subdeadtime sets subperiod in eiger server 2018-08-17 13:45:09 +02:00
83600fcb15 Added data structure for moench02 dynamic gain switching 2018-08-17 12:29:07 +02:00
2a28333a96 jungfrau server: allow check version in update mode 2018-08-16 15:09:29 +02:00
830f92dedc client and receiver: silent mode put into shared memory, works properly now 2018-08-15 19:51:04 +02:00
87e8333dfd slsDetectorSoftware & eiger server: fixed coordinates in 2 d, but switch to row (x), col(y); numdetx and numdety sent to all receivers now, likely bug fix virtual file linked in master for 1 mod jungfrau; xccoord and y coord calculated at setdetector pos and given to listener 2018-08-15 19:02:16 +02:00
b3ccd5e1a1 slsReceiverSoftware: bugfix double acquire did not write parameter file cuz vector.push_back always never clearing when closing current file 2018-08-14 19:11:52 +02:00
f0ac49190a slsReceiver:trying to get deactivate to work 2018-08-14 15:06:06 +02:00
921ae01bbe jungfrau module data, fixel moench02 for jctb and jctb server actualized for both buses 2018-08-13 16:27:36 +02:00
fa175ac934 eiger server: updated binaries 2018-08-10 19:14:52 +02:00
0018fa46f8 slsDetectorSoftware: Eiger server, added 3 commands, measuredperiod,measuredsubperiod, status trigger. measured period is in 10ns in det server, status trigger reads reg,sets bit and unsets bit 2018-08-10 19:14:05 +02:00
c934e92a41 Merge branch 'mainexceptions' into developer 2018-08-10 17:10:15 +02:00
da4253fe13 Exception handling from constructors for slsDetector and multiSlsDetector, zmqsockets deleted first in multi freeshm/constructor, removed unnecessary exceptions from exceptions list, replaced in slsDetector socket assign from NULL to 0 2018-08-10 17:07:29 +02:00
Erik Frojdh
3cab1bc0fe minor cleaning of ZmqSocket 2018-08-10 14:34:59 +02:00
Erik Frojdh
d74a8368b8 commented find pkg png 2018-08-10 14:11:16 +02:00
39ebd81230 Zmqsocket merge with Erik's (removing header message) and mine(socketdescriptor safe destruction in constructor exception) 2018-08-09 18:21:30 +02:00
823c855ef4 Zmqsocket merge with Erik's (removing header message) and mine(socketdescriptor safe destruction in constructor exception) 2018-08-09 18:19:47 +02:00
Erik Frojdh
7fadf4feb4 Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-08-09 18:15:59 +02:00
Erik Frojdh
f86578cfc3 minor fix 2018-08-09 18:15:35 +02:00
a0512a01d5 Exceptions: zmq socket class descriptors made into its own class for auto destruction upon construction exception, similarly for other try blocks. slsDetector and multislsdetector left to do 2018-08-09 18:12:56 +02:00
Erik Frojdh
bdd37fa7c2 commenting zmq detail 2018-08-09 17:58:55 +02:00
Erik Frojdh
a96a019435 string lenght 2018-08-09 17:46:07 +02:00
Erik Frojdh
dd3f4aa81d switched from zmq_msg_revc to zmq_recv 2018-08-09 17:40:04 +02:00
1102153d2b Exceptions handling in constructor for genericSocket, created object to handle both socket descriptors upon throwing exception in constructor (as raw pointers wont get destructed automatically) 2018-08-09 15:43:56 +02:00
ab7e63c20f Moved sls_detector_exceptions to sls_receiver_exceptions & its consequences 2018-08-08 15:43:29 +02:00
f1333c7a90 Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-08-08 14:47:22 +02:00
e77cdb35dd socket: refactored genericsocket a bit to make socketdescriptor readable 2018-08-08 14:47:07 +02:00
52b1e98726 merge 2018-08-08 12:06:14 +02:00
df75fef6f6 reordered moenchExecutables 2018-08-08 11:27:46 +02:00
44fdc46c11 some changes in the moench executables 2018-08-08 10:23:35 +02:00
147194e8af slsDetector: connect stop socket in checkonline so that it does not stick to its initialized default file descriptor zero (which gets closed upon socket deletion) 2018-08-03 14:54:32 +02:00
05055eb283 slsReceiver: deleting slsReceiverUsers object before calling start() gives seg fault 2018-08-03 09:32:31 +02:00
0dc1e10bd3 slsDetectorSoftware: order of zmq deletion in multi destructor to first because api using zmq to get data will need to be deleted first 2018-07-30 18:51:18 +02:00
e38e500e16 manual example api: fixed the makefile include 2018-07-30 18:36:49 +02:00
134f13fc52 slsDetectorSoftware: back to original multi threading setTimer (removed parallelCallDetectorMember) due to change in function signature 2018-07-30 18:00:18 +02:00
41fb6c26a2 slsDetectorSoftware: from 3.1.4: being able to get timer values individually from the users class since gotthard 25um master and slave will have different delay values 2018-07-30 17:47:37 +02:00
73fcef5f6d slsReceiverSoftware: bitset storage in case the libarary changes contiguous representation, also changed hdf5 representation from 512 byte (to_string) to just passing char* to keep at 64 bytes 2018-07-30 12:05:22 +02:00
e9cc91698e Merge branch '3.3.0-rc' into developer 2018-07-26 13:46:58 +02:00
6213b5e07a gotthard server and slsDetectorSoftware: more accuracy when converting from double to int64_t by adding 0.5, improved clock precision of gotthard from 32.1 to 32.007729 2018-07-26 13:46:41 +02:00
08aacf76ac Merge branch '3.3.0-rc' into developer 2018-07-23 15:03:13 +02:00
711e0d771e slsDetectorSoftware: users setSettings(-1) gives undefined settings. fixed 2018-07-23 15:03:00 +02:00
2fc98c7a54 updated binaries, eiger jungfrau 2018-07-18 15:04:47 +02:00
3b6ead7783 slsReceiver: HDF5: unlimited max dimension in x (#numImages), x dim gets incremented by #frames when it gets an extra image, removed virtual_ naming in parameter names, small cased parameter names 2018-07-18 14:05:31 +02:00
40c96b5562 Updated Makefiles, Cmakelists.txt to compile slsMultiReceiver properly and with HDF5 and fixed compiler warnings 2018-07-18 12:29:19 +02:00
6bb7195a2c slsReceiver: master file limited by size of 1000 bytes 2018-07-17 15:41:43 +02:00
53423a42ac slsDetectorSoftware eiger and jungfrau server version API updated 2018-07-10 15:04:59 +02:00
c2b1eef75c slsDetectorSoftware: removed warnings, and made compilable via make 2018-07-10 14:58:18 +02:00
f5a86bbfe1 slsReceiverSoftware: removed hdf5 static cpp file 2018-07-10 12:31:55 +02:00
9af0ec74b6 slsReceiver: updated help in slsMultiReceiver 2018-07-06 16:32:42 +02:00
45de361b22 slsReceiver: added an executable slsMultiReceiver to have the option to have one process create multiple child processes for multiple receivers with configurable tcp port and callback enable 2018-07-06 16:26:29 +02:00
260f237990 slsDetectorSoftware, changing shm name prefix for environment 2018-07-06 15:41:09 +02:00
37dd5fb902 slsDetectorSoftware: sharedmemory, appends environment variable of SLS_SHM_NAME to shm name 2018-07-06 15:30:06 +02:00
ecd0c810ca slsDetectorSoftware: Sharedmemory removed private methodf or removeshm, removed static isexisting as the usecases are all member method 2018-07-06 15:18:34 +02:00
7c29327b47 saving bit field in hdf5 as string of 512 bytes instead of 512 bits for the time being, will be updated when a better option is figured out 2018-07-06 12:00:35 +02:00
c366e94a96 bit field for missing packets, added commands r_padding and r_discardpolicy, hdf5 bitfield metadata left to do 2018-07-05 13:47:20 +02:00
ca8cb33569 Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-06-29 14:53:07 +02:00
7db6b7bca8 slsDetectorSoftware: command line should print same file when loading or saving to trimbits file 2018-06-29 14:52:52 +02:00
Gemma Tinti
7e16f3ebeb Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-06-29 13:47:48 +02:00
Gemma Tinti
233c145791 manual 2018-06-29 13:47:34 +02:00
d7cc9fc023 slsDetectorSoftware: moved offsets from multi shm to sls shm, and moved updated offsets and createthreadpool to end of addmultipledetectors, so that it is not done each time per detector 2018-06-29 12:21:15 +02:00
ed1135566a slsReceiver: maximum frames per file written to master files for both binary and hdf5, note the version number change for these master file format 2018-06-28 18:30:34 +02:00
3595c586d4 slsDetectorSoftware: slsDetectorUsers: added burst_trigger 2018-06-28 18:10:37 +02:00
11de3dfde2 slsDetectorSoftware: trimen in multi does not check for each value in slsdet, fixed 2018-06-28 18:06:53 +02:00
14d227f8db jungfrau server fix (3.1.3): delay after trigger set at testbus 2018-06-28 16:19:19 +02:00
144bd7124b updated clean shared memory script if anyone is using it 2018-06-28 10:48:42 +02:00
f6660c0dac slsDetectorSoftware: updated shared memory to have _sls_ instead of _single_, and updated versions 2018-06-28 10:37:46 +02:00
73ac8bab38 commenting out printout 2018-06-28 08:58:34 +02:00
d76568d6d9 jungfrau server, merge fix binaries 2018-06-28 08:55:14 +02:00
72f47b2375 Merge branch 'developer' into sharedmem 2018-06-28 08:51:25 +02:00
3114512c3f sharedmem: sls_detector_acquire multi and sls index scaning, error message when trying to acquire from a differet multi shm id, updateoffset and create threadpool after adding slsdetectors 2018-06-27 17:20:05 +02:00
95254619c6 sharedmem: config, sethostname call freesharedmemory and call setupmulti, freesharedmemoy(nonstatic) also cleans up member variables to make it consistent with shm, sharedmemory pointer set to 0 in non static free shared memory to be able to continue within application, sethostname frees memory only if detectors found in shm, add calls addmultipledetectors, replace replaces a detector in sls detector level, should also take lines in config file that has comments in between while ignoring the comments, sethostname in slsdetector also updates client, adding object in sls when creating new shm complains if shm existed and must delete again, removed remove commands 2018-06-27 15:38:03 +02:00
a0016cb005 sharedmem: working, need to add replace 2018-06-27 10:05:05 +02:00
0b140111b3 sharedmem: more modifications on command line to remove features such as id, remove, add 2018-06-26 12:10:50 +02:00
d7831f6c64 sharedmem: command line refactor, fixing to do 2018-06-25 19:18:00 +02:00
a97b725f43 sharedmem: command line done, fixing to do 2018-06-25 19:14:41 +02:00
69c71e48f6 sharedmem: updated slsdetector, changes left 2018-06-25 18:19:19 +02:00
Gemma Tinti
54fc63dd55 manual 2018-06-22 15:28:33 +02:00
5e9871720b sharedmem: slsdetector being modified intensively 2018-06-21 18:26:50 +02:00
55517e6d4c sharedmem: done with multi .h, sls and command line left 2018-06-20 17:12:48 +02:00
2853f97fe7 sharedmem: done with multi, sls and command line left to do 2018-06-20 14:06:10 +02:00
fc0f8ef9da more changes for multi for shared mem 2018-06-19 16:38:18 +02:00
99bf6446fe shared mem in the middle of modifying multi 2018-06-18 17:51:30 +02:00
Gemma Tinti
283dfa2b05 manual 2018-06-13 11:39:52 +02:00
Gemma Tinti
5316fed5d4 manual 2018-06-13 11:38:45 +02:00
Gemma Tinti
dda013a85b manual 2018-06-12 19:02:04 +02:00
2eecf43fbb multi sharedmemory, basic done, left to go thru whole file, and slsDetector left to do 2018-06-12 18:00:26 +02:00
Gemma Tinti
eba0fa277d manual 2018-06-12 15:52:19 +02:00
Gemma Tinti
e6e3561dcb manual 2018-06-12 12:26:38 +02:00
b294b3e8b1 in progress with integratign new shm in multi 2018-06-12 12:14:55 +02:00
Gemma Tinti
025e7b8f44 manual 2018-06-08 13:48:29 +02:00
Gemma Tinti
aa25d86310 manual 2018-06-06 19:25:06 +02:00
Gemma Tinti
a7551cca4e Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-06-06 16:53:10 +02:00
Gemma Tinti
8e79f9094a manual 2018-06-06 16:52:51 +02:00
2dece5c635 jungfrau server: reading power status (fixed in firmware) 2018-06-06 16:15:30 +02:00
24db58e615 jungfrau server required firmware version on server changed from 0x2018 to 0x18 2018-06-06 10:23:06 +02:00
bab7d8e3fb Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-06-01 11:05:03 +02:00
2339fb2a0e slsDetectorSoftware: bug fix, changing dr didnt change the databytesinclgappixels immediately 2018-06-01 11:04:54 +02:00
Erik Frojdh
378392c0f5 fixed return storage cell 2018-05-29 18:10:36 +02:00
Erik Frojdh
fcde40b854 minor 2018-05-29 17:26:27 +02:00
Erik Frojdh
ceed0eaa9b generic call for hostname and sgetDetectorsType 2018-05-29 16:59:55 +02:00
Erik Frojdh
e3088d822f removed commented section 2018-05-29 16:09:09 +02:00
Erik Frojdh
27ebd9c713 applying callDetectorMember in getTimerLeft 2018-05-29 16:08:08 +02:00
f33b3cdc79 Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-05-29 15:55:42 +02:00
b0ea458d3a slsReceiver: hdf5 use relative links now, fill -1 also for data file creation (for deactivated ones) 2018-05-29 15:55:33 +02:00
Erik Frojdh
7e2f2cd31b Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-05-29 15:52:04 +02:00
Erik Frojdh
6cf7bf2e06 using callDetectorMember for portType 2018-05-29 15:51:55 +02:00
Erik Frojdh
fc7ae98eee using parallel call for checkCompatibility 2018-05-29 15:45:13 +02:00
542dda8ece slsReceiver: deactivated no longer writes 0xFFFF, creates empty files 2018-05-29 14:32:14 +02:00
0f6cb4dc41 Merge branch 'developer' into gotthardversioning 2018-05-29 12:14:59 +02:00
ecc970bc73 gotthard server: check client api version done 2018-05-29 12:14:46 +02:00
15aaa93130 Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-05-28 19:17:37 +02:00
34b659fa15 first draft of gotthard versioning 2018-05-28 19:17:06 +02:00
cf8b0de433 slsReceiver, slsDetector, eiger and jungfrau server: client checks firmware and software an dreceiver compatibility for each time shared memory is cleaned up 2018-05-28 19:11:34 +02:00
Erik Frojdh
32c1a45e11 minor 2018-05-28 18:46:08 +02:00
Erik Frojdh
da1b6ad62d more generalization in multi 2018-05-28 17:12:19 +02:00
Erik Frojdh
49d6dcb6e2 templated functions in multi 2018-05-28 13:23:30 +02:00
Erik Frojdh
22ef1cee8b Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-05-28 12:22:35 +02:00
Erik Frojdh
9d3fdaaadc minor clean 2018-05-28 12:22:25 +02:00
Erik Frojdh
06f84585af compareRetrun.. to minusOneIf.. 2018-05-28 11:55:11 +02:00
a970bacbe5 slsDetectorGui: JCTB does not kill itself for wrong settings anymore 2018-05-28 11:29:35 +02:00
5be2979fff slsReceiver: fix to default number of frames per file, also set to 10k 2018-05-28 11:18:13 +02:00
Erik Frojdh
4765849613 minor 2018-05-25 17:09:23 +02:00
Erik Frojdh
05ed8dca4e more cleanup 2018-05-25 17:02:01 +02:00
Erik Frojdh
4f600f3129 even more 2018-05-25 16:32:40 +02:00
Erik Frojdh
4b72d685f3 migrating more multiSlsDetector calls to the generic function 2018-05-25 15:39:28 +02:00
Erik Frojdh
bbd7e7906a replacing pulsechip with a generic algorithm 2018-05-25 15:10:57 +02:00
Erik Frojdh
f735baf9d7 more cleaning 2018-05-25 12:21:36 +02:00
Erik Frojdh
ad14381ab4 replacing ReceiverReadTimer, Frequency calibratePedestal 2018-05-25 11:44:39 +02:00
Erik Frojdh
7702865409 replacing slsDetectorMember calls with generic function 2018-05-25 11:38:59 +02:00
Erik Frojdh
2f8c1b453e renaming generic call 2018-05-25 11:06:33 +02:00
Erik Frojdh
883317dd28 replaced logic in getSettingsFile 2018-05-25 10:46:36 +02:00
Erik Frojdh
8ed67119b9 replacing logic in getLastClientIP and getReceiverLastClientIP with generic function 2018-05-25 10:39:34 +02:00
Erik Frojdh
f45e2b4ab9 changed type of getCalDir to std::string 2018-05-25 10:30:02 +02:00
Erik Frojdh
abdf4b1ada converting to Qstring 2018-05-25 10:19:09 +02:00
Erik Frojdh
228d624d8f general function for returning first or concatenated string 2018-05-25 10:01:51 +02:00
Erik Frojdh
e0c9805ee8 clang-format on multiDetector 2018-05-25 08:23:59 +02:00
Erik Frojdh
4eef81fbe9 clean up of multiSlsDetector::getSettingsDir 2018-05-24 18:14:02 +02:00
Erik Frojdh
301600e720 chaning return type of getSettingsDir and setSettingsDir to std::string 2018-05-24 17:47:12 +02:00
4d4e4a4ce7 first draft of versioning of client 2018-05-24 16:58:07 +02:00
ad3ac2cdee Merge branch 'developer' into versioning 2018-05-24 16:56:39 +02:00
b10abd07ee first draft of api versioning with client 2018-05-24 16:51:21 +02:00
Erik Frojdh
e65b416215 cleaning up sgetDetectorsType 2018-05-24 16:32:20 +02:00
Erik Frojdh
24df69d57f cleaning up getHostname 2018-05-24 16:21:48 +02:00
Erik Frojdh
183c306166 modify string name in multi checkOnline 2018-05-24 16:03:17 +02:00
Erik Frojdh
1dfdcfcb7e finished removing using namespace std 2018-05-24 15:24:01 +02:00
Erik Frojdh
212218396a removal of using namespace std from theadFiles 2018-05-24 14:47:45 +02:00
Erik Frojdh
b78b8425fd ifstream and ofstream to std:: 2018-05-24 14:27:01 +02:00
Erik Frojdh
12832a3a96 adding more std:: in slsDetectorActions.h 2018-05-24 14:24:10 +02:00
Erik Frojdh
621b7cfb2a adding std:: where needed 2018-05-24 14:11:30 +02:00
Erik Frojdh
a67d9e60da removing more using namespace std 2018-05-24 13:47:48 +02:00
Erik Frojdh
d71008bd10 removing using namespace std from headers in slsDetector 2018-05-24 12:18:25 +02:00
a154d0a088 slsDetectorUsers: added setthreshold without trimbits for eiger 2018-05-23 16:39:52 +02:00
c5262458d5 eiger and jungfrau server, updated virtual versions with start and stop acquisition 2018-05-23 15:28:39 +02:00
cb635d800a eiger server: added overflow, noverflow to the flags to show/not show saturation when there is overflow in any of the single subframes in 32 bit mode 2018-05-22 18:43:13 +02:00
0ed82d4ef7 settingsdir for gotthard, jungfrau, propix, moench deleted, as these are default values in server 2018-05-22 15:13:26 +02:00
bdf9373e0d gotthard and jungfrau servers do not need to send whole module for sending settings anymore 2018-05-22 14:52:53 +02:00
3f61206289 Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-05-22 10:59:20 +02:00
e19a27bf62 eiger server: bug fix for saving trimbits to file, was copying from destination to source in server 2018-05-22 10:59:04 +02:00
Erik Frojdh
a1831c38ed replace lostFocus with editingFinished for QT 2018-05-18 17:05:35 +02:00
c4b8c6385f Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-05-18 16:36:29 +02:00
f393751771 r_framesperfile configurable to have infinite frames in file with option 0 2018-05-18 16:35:50 +02:00
94ce042401 slsReceiver, fixed virtual hdf5 last row random values bug 2018-05-18 14:51:18 +02:00
Erik Frojdh
49b8024c43 added logger.h to publig headers 2018-05-18 14:15:17 +02:00
8b39443197 slsReciever, slsDetector: configurable number of images per file, removed all the receiver threads from using generalData->maxframesperfile, yet to do: infinite images, bug fix, virtual hdf5 has -1 for all pixels in last image 2018-05-18 13:47:10 +02:00
dcce66ee9f slsReceiver: debug, insignificant 2018-05-17 15:57:16 +02:00
563b1bb8b7 slsDetectorGui:added subexptime and subperiod to gui 2018-05-17 15:34:35 +02:00
b4d9a6a09d slsReceiver, slsDetector(eiger server), client: added sub period to receiver, fixed eiger subperiod updates to client, added subperiod and subexptime to users, fixed hdf5 warnings 2018-05-17 12:34:18 +02:00
51fd9ed423 added subperiod in command line 2018-05-16 09:13:43 +02:00
23d73ae5ae jungfrau server: programming allowed only in -update or -dev mode, -dev strictly for Carlos, in update mode one can only do programming 2018-05-11 13:42:46 +02:00
8986b008dd jungfrau server: programfpga: handling bus error, and printing a message for user to restart servers when done in client command line 2018-05-09 15:57:18 +02:00
30f1e6ad3f eiger and jungfrau server, updated binaries 2018-05-09 15:28:34 +02:00
02cc284422 added binaries 2018-05-09 15:27:28 +02:00
e6c0304af1 jungfrau server: programfpga: stop server also mapped during a reset, binaries added 2018-05-09 15:16:04 +02:00
16fe4d305e Merge branch 'progfpga' into esrfchanges 2018-05-09 11:21:07 +02:00
68e9648854 created programming mode, where only programming is allowed, one has to restart servers afterwards 2018-05-09 11:20:54 +02:00
0417a7e97d fixing warnings 2018-05-07 10:44:00 +02:00
6653cc9cb1 slsDetectorSoftware: jungfrau program fpga: mkstemp being used instead of creating file at source location 2018-05-03 11:22:02 +02:00
a37bbc50fe updated server binaries 2018-05-02 17:48:46 +02:00
5b01b4cbd8 Merge branch 'developer' into esrfchanges 2018-05-02 16:57:03 +02:00
d3a0319863 esrf changes: Listener, DataProcessor, DataStreamer, Fifo, ZmqSocket constructors return an exception when it fails 2018-05-02 16:49:27 +02:00
fdd19bc316 slsReceiver: udp socket buffer size, additional prints 2018-05-01 12:01:33 +02:00
1152555663 esrf changes: rx_udpsocksize sets/gets udp socket buffer size to be set, rx_realudpsocksize gets the real udp sock size buffer. At receiver config and at rx_udpsocksize command, dummy udp sockets created to know if set udp sock size fails (if fail, set to previous value), and also to get the real udp sock buffer size 2018-05-01 11:55:48 +02:00
9ae1289616 Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-04-27 15:14:19 +02:00
3baa677a2e minor changes by Anna 2018-04-27 15:14:09 +02:00
516336963e [CTB] - Modified memory map address shift for the interface between FPGA and Blackfin SOM. Shift has to be set to 1 since the basic AMC data transfers is 8-bit and not 16-bit. 2018-04-27 15:11:37 +02:00
99281e2690 esrf changes: previous commit compile 2018-04-26 16:43:07 +02:00
501d2478a5 Merge branch 'jungfraunew' into esrfchanges 2018-04-26 16:37:33 +02:00
08b6eb78c5 gui: always mask out gain bit for jungfrau, even if missing packet 2018-04-26 16:32:03 +02:00
d096a5efeb jungfrau server: default storage cell start is 0xf 2018-04-26 16:30:27 +02:00
9f24bb0a98 jungfrauserver: bug fix: settings read correctly, forceswitchg2 mainly 2018-04-26 15:49:09 +02:00
173d8f740e esrf changes: slsReceiver: better checking of socket buffer pars. and warn on failures
* not done. The 'setsockopt(SO_RECVBUF)' system call cannot set the socket buffer
  size lager than the specified in net.core.rmem_max. The requested value
  was 2 GB (commit 3b0e2e6), which is far too large for this application,
  so it was restored to the acceptable 100 MB value.

* The syscall does not fail if the requested buffer size is larger than
  net.core.rmem_max. Use 'setsockopt(SO_RECVBUFFORCE)' to actually force a
  value larger than the system limit, which can be done if run in a
  privileged context (capability CAP_NET_ADMIN set).

* The real value is read with 'getsockopt(SO_RECVBUF)'. If it
  corresponds to twice the requested value (see 'man 7 socket'), it is
  printed in green, otherwise it is signalled in red.

* The 'setsockopt(SO_RECVBUFFORCE)' syscall removes the need to write to
  /proc/sys/net/core/rmem_max, so this was was suppressed in the
  'UDPStandardImplementation' constructor.

* The test on EIGER detectors before setting the system
  buffers was removed. Was there for 9m/2m eiger, but one can take care of
  memory requirements using a customizable max socket buffer size(only with
  permissions). to be implmented later.

* The file /proc/sys/net/core/netdev_max_backlog is first read by the
  receiver to check is the current value is OK. If it is not, the receiver
  directly writes the good value into the file (instead of delegating to
  the system shell), printing a red error message if there is an access
  error (non-privileged user).
2018-04-26 15:22:44 +02:00
16428f3828 esrf changes: CMake: support to be added and installed as a sub-project:
* Configure zmq as global imported library in slsReceiverSoftware
* Install zmq, necessary if linking to slsReceiver library
2018-04-25 18:24:08 +02:00
1247f760f2 virtual hdf file mapping fix for fnum-1 images 2018-04-25 17:39:09 +02:00
11475316fd eiger binary updated 2018-04-25 17:11:52 +02:00
a09c2e38a3 storage cell fix in gui for non jungfrau detectors 2018-04-25 17:03:25 +02:00
1c49fbb090 virtual hdf file mapping fnum-1 images, fixed 2018-04-25 16:52:14 +02:00
b5909044f6 slsReceiver: remove static members in Listener, DataProcessing and DataStreamer:
* Needed when more than one receiver is created by process
* Replace NumberofXxxx by explicit index in constructor
* Remove Error[Mask], use return value in constructor signature
* Replace RunningMask by individual Running flags
* Remove obsolete Mutex objects
2018-04-25 09:24:39 +02:00
62a88dadba Merge branch 'jungfraunew' of github.com:slsdetectorgroup/slsDetectorPackage into esrfchanges 2018-04-23 17:45:12 +02:00
e0bb7d74f4 esrf changes: eiver: initialise global optind variable before calling getopt_long: Needed when multiple receivers are instantiated in the same process 2018-04-23 17:43:54 +02:00
d09a1a0a95 esrf changes: users class added API functionality getNMods 2018-04-23 17:38:40 +02:00
d38108e527 esrf changes: slsReceiver: extend CircularFifo to support blocking/non-blocking transfers:
* Add blocking push (for performance) and non-blocking pop (for symmetry), default to blocking operations
* Fix memory fault if Fifo allocation fails
* Fix fifoFree initialisation to fifoSize elements (was fifoSize - 1)
2018-04-23 17:32:40 +02:00
c9675d111a jungfrau server: fixed the settings for gain2 stages 2018-04-23 16:11:04 +02:00
8f9c657fa0 esrf remove changes: VRS to interpolate, not copy 2018-04-23 14:41:01 +02:00
c35203ebfb fixed gitinfo 2018-04-23 14:19:55 +02:00
1069bf5979 esrf changes: slsDetector: fix setThresholdEnergy and slsDetectorAnalysis file read:
* slsDetector: Proper cleanup and return when no interpolation is possible
 * slsDetectorAnalysis: treat CAL DAC as irrelevant when interpolating settings for two energies(do not abort if different), also including VRS in copying
2018-04-23 13:31:05 +02:00
cac913831c esrf change: CMake: add support for GCC versions older than 6.1 2018-04-23 12:07:13 +02:00
03e781a0ac subperiod for eiger implemented in client side 2018-04-23 11:03:23 +02:00
a5a3d4bc78 added jungfrau server binary 2018-04-13 17:42:04 +02:00
bc70cc3a26 jungfrau server: added storage start, connected auto_comp_disable, changed adcphase, added ADC_PORT_INVERT_VAL, ADC_OFST_HALF_SPEED_VAL, minimum exposure time 2018-04-13 17:33:46 +02:00
e024774323 added storage cells 2018-04-13 15:05:43 +02:00
bdcccb7732 jungfrau server, changed api, fixed regdefs 2018-04-13 11:43:30 +02:00
5ff2e86060 jungfrau server configuring ASIC timer at server startup 2018-04-13 11:07:22 +02:00
70e193b0fd valgrind leak from tasks not deleting funcs 2018-04-13 09:35:18 +02:00
c3a9d3c342 fixed a valgrind error 2018-04-12 17:38:15 +02:00
d3c807975f adding a semaphore to handle end of acq 2018-04-12 15:50:27 +02:00
1c5250ea7f warning 2018-04-11 17:55:42 +02:00
7cb3b3f8de Merge branch 'developer' into zmqhandler 2018-04-09 18:21:59 +02:00
7cd35f24b8 added to users class receiverfifodepth, flowcontrol10g, 10gbe 2018-04-09 18:21:43 +02:00
28af3c2642 insignificant print 2018-04-09 17:44:55 +02:00
2bd8e6c166 zmq fixed to have additional json headers using rx_zmqjsonheader 2018-04-09 16:33:14 +02:00
ccdc7d22e9 gappixels also work with new zmq handler 2018-04-09 11:19:31 +02:00
3831896a78 Merge branch 'developer' into zmqhandler 2018-04-09 11:13:37 +02:00
9847729f3c gap pixels included in gui 2018-04-09 11:13:20 +02:00
0eff9e1401 debug print 2018-04-09 10:13:14 +02:00
4323a837ef Merge branch 'developer' into zmqhandler 2018-04-09 09:19:46 +02:00
649cb0aed9 added reset frames caught in to users class 2018-04-09 09:18:56 +02:00
8cf6e0cbd6 in between 2018-04-06 17:48:10 +02:00
753290b228 Merge branch 'developer' into zmqhandler 2018-04-06 12:19:16 +02:00
d28f293485 jungfrau and eiger server bug fix: module_firmware_version gets stuck as it expects an int, but should have been for module_serial_number 2018-04-06 12:15:57 +02:00
Erik Frojdh
da010a03d7 added -std=c++98 to CXX flags 2018-04-04 18:07:33 +02:00
72b71f3fcd Merge branch 'developer' into zmqhandler 2018-04-04 14:57:24 +02:00
e4868671ae bugfix: users api version numbering always gives a -1. 2018-04-04 14:56:55 +02:00
61897cbd41 in between 2018-04-04 14:27:53 +02:00
9e8d3e598f added enablegappixels to users class 2018-03-28 10:41:52 +02:00
252e924f92 separated start gui button into start and stop to prevent multiple click syndrome 2018-03-27 17:49:01 +02:00
fe2ba8621b updating versioning to only have date 2018-03-27 11:00:15 +02:00
b8bdbf4da6 updaterev 2018-03-26 18:10:14 +02:00
5340b8ef24 added error mask for loading/writing config file to be caught by python 2018-03-26 18:07:10 +02:00
807189a492 Working for gotthard double modules 2018-03-26 10:30:44 +02:00
593f5b6c65 Working for gotthard double modules 2018-03-26 10:12:04 +02:00
b029f1fa26 Common mode added, working for gotthard double modules 2018-03-26 09:07:27 +02:00
14546247e4 adding a receiver callback to be able to give modified size from the callback 2018-03-22 14:34:03 +01:00
a74e8f68f7 size change in receiver call back API now streamed, gui allows smaller packet size than expected to be caught and replaced the rest with 0xFF 2018-03-21 17:08:38 +01:00
a1936cb884 updated docu 2018-03-21 09:10:11 +01:00
a36b715eab resolved conflicts from merging 3.1.1 in here 2018-03-21 09:03:31 +01:00
17c20748bc updated links in serverbin 2018-03-21 08:28:49 +01:00
d5f8a1b4e7 updated doc 2018-03-20 17:37:48 +01:00
70ce8c1653 updated doc 2018-03-20 17:35:39 +01:00
5203a0d621 updated doc 2018-03-20 16:40:56 +01:00
59ad15b54e eiger server bug fix: in 10giga mode always used the 1g ip (dhcp ip) if detectorip is before tengiga in config file 2018-03-20 16:36:45 +01:00
afac5be3c3 updated release notes 2018-03-20 12:20:15 +01:00
688dd15fe9 Jungfrau bug fix: cannot give same adcphase value to pll, updated recommended default of adcphase for half speed and quarter speed, updated client manuals for both adcphase and clkdivider 2018-03-20 12:12:38 +01:00
Gemma Tinti
98752e1cdb manual 2018-03-20 11:40:37 +01:00
Gemma Tinti
d59f419370 manual 2018-03-20 11:32:09 +01:00
Erik Frojdh
9ba3fb9279 removed using namespace std from multiSlsDetector 2018-03-16 10:51:27 +01:00
Erik Frojdh
50111bcea7 removed unused variable in slsDetector 2018-03-16 10:41:30 +01:00
ab06c33107 Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-03-15 12:27:05 +01:00
10209b75df some changes in slsCalibration for moench 2018-03-15 12:26:45 +01:00
40210ae26f jungfrauserver adcphase fix: bug was if adcphase was same as previous value, it still shifted 2018-03-14 17:20:26 +01:00
dd6301d66d updated for compilation 2018-03-14 16:19:30 +01:00
b58c3e8951 solving merging conflicts from 3.1.0 to developer 2018-03-14 15:45:35 +01:00
85aa47b835 updated link in documentation 2018-03-12 16:38:01 +01:00
da9b0bdc0b updated link in documentation 2018-03-12 16:27:45 +01:00
258de4947a updated doc 2018-03-12 15:46:20 +01:00
9197ab6e4b sls detector install omitted, added 2018-03-12 15:36:36 +01:00
6c1c203782 documentation updated 2018-03-12 15:01:23 +01:00
721d2a30f2 read me updated 2018-03-12 14:25:39 +01:00
72970c9669 updated binaries, updated manuals, updated git versioning 2018-03-12 14:21:02 +01:00
Erik Frojdh
b389402d64 Merge branch '3.1.0-rc' of github.com:slsdetectorgroup/slsDetectorPackage into 3.1.0-rc 2018-03-08 17:13:20 +01:00
Erik Frojdh
0d2dd93498 changed setBit and getBit to uint32_t 2018-03-08 17:13:13 +01:00
fee6465213 eiger and jungfrau servers int to uint32_t for read and write registers 2018-03-08 16:46:15 +01:00
Erik Frojdh
8b02aa9e91 Merge branch '3.1.0-rc' of github.com:slsdetectorgroup/slsDetectorPackage into 3.1.0-rc 2018-03-08 16:08:45 +01:00
Erik Frojdh
339956e5de changed from int to uint32_t in read and writeRegister 2018-03-08 16:08:31 +01:00
deb59530ab eiger gui fix: delay after trigger and number of gates upon measurements tab refresh doesnt exist for eiger/jungfrau 2018-03-08 15:49:01 +01:00
ec5e779225 added binary 2018-03-08 15:19:11 +01:00
3878212ffd jungfrau server adcphase not responding to a get properly 2018-03-08 15:17:14 +01:00
7649865a8f jungfrau bug fix: adc phase corrected to correctly return value in -1 2018-03-08 14:02:02 +01:00
Erik Frojdh
06cdf8ad92 overloading access operator 2018-02-28 17:34:55 +01:00
28101bed22 updated binaries 2018-02-27 14:37:46 +01:00
1f6c289fd4 gotthard server : bugfix for getting id 2018-02-27 14:33:58 +01:00
675d69392a updating versions 2018-02-27 12:52:48 +01:00
61e7c0148f updating versions to 3.1.0 2018-02-27 12:40:53 +01:00
12e4530702 changes to documentation 2018-02-27 12:09:36 +01:00
64c18469bd release changes, gui compile via anaconda changes 2018-02-27 10:29:56 +01:00
aa2c535b4f possibility to use router mac in config file to have detip and rx_udpip in different subnets 2018-02-26 18:31:49 +01:00
5849725b97 posisibility to overwrite rx_udpmac even with receiver 2018-02-26 18:22:07 +01:00
74f327a959 gotthard server: red in stopping server for debugging 2018-02-26 17:34:35 +01:00
f67323d1cc updated gotthard examples to not use extsig of indices 1, 2 and 3 2018-02-26 17:13:51 +01:00
de3bfd85a1 fixed gothard not taking initial images after configuring MAC of detector. 2018-02-26 17:07:12 +01:00
ac9d9f6a93 removing --f from the gui options help, bugfix gotthard auto to trigger to auto mode and changing tabs will result in num gates and delay being enabled 2018-02-26 16:58:45 +01:00
cef9ae39c3 gotthard dac fix vrefcomp from 887 to 350 2018-02-26 16:15:03 +01:00
d14234ee38 jungfrau server bianries 2018-02-26 14:43:53 +01:00
a4aa862ee4 bugfix jungfrau server : tdma bit also needs to be set to enable 2018-02-26 14:43:11 +01:00
0b017b886c added release documentation 2018-02-26 13:28:31 +01:00
7859df6aa3 bug fix: 1000+ errors on gui startup(setreceiveronline not done), removed gui mesage popup for different output paths, fixed jungfrau to have multiple detectors in x dir in gui 2018-02-26 12:44:32 +01:00
ebe1ff4563 jungfrau virtual server needed the stop server as well 2018-02-23 15:32:05 +01:00
c3d6852f97 fixed threshold returning 1 if a trimbit file missing for eiger, it now returns -1, as both values are different 2018-02-23 14:49:18 +01:00
bacc4073f7 png compile fails in gui, removing it from cmakelists.txt in gui 2018-02-23 14:10:53 +01:00
50b515f94d changes to documentation 2018-02-23 13:46:17 +01:00
1e479a5c77 Merge branch '3.0.1' of github.com:slsdetectorgroup/slsDetectorPackage into 3.0.1 2018-02-23 12:48:25 +01:00
9322c176f2 jungfrau server virtual 2018-02-23 12:48:11 +01:00
639fdac232 created jungfrau virtual server(in next commit), edited install manual to give out html pages without subsection toc, links, navigaion, spilit into as many sections etc for wiki page 2018-02-23 12:45:31 +01:00
7364f674ed [JUNGFRAU] - Modified memory map address shift for the interface between FPGA and Blackfin SOM. Shift has to be set to 1 since the basic AMC data transfers is 8-bit and not 16-bit. 2018-02-22 11:15:24 +01:00
Erik Frojdh
a536f8ac9b added png and Qt in CMakesList for gui 2018-02-19 17:44:57 +01:00
Erik Frojdh
76bd2c69bc added vrs to Eiger dacs to interpolate 2018-02-19 12:04:05 +01:00
Erik Frojdh
77aa3fa215 added overloading of call operator for access detector 2018-02-16 15:25:35 +01:00
Erik Frojdh
bc6fc51f6a linking cmake 2018-02-12 19:15:12 +01:00
9fe7293dab Merge branch '3.0.1' of github.com:slsdetectorgroup/slsDetectorPackage into 3.0.1 2018-02-09 16:14:57 +01:00
3e417fdaa7 update release 2018-02-09 16:14:47 +01:00
Erik Frojdh
f8c90b6da6 gui cmake 2018-02-09 15:27:25 +01:00
b6e5fa1944 updated Readme.md 2018-02-09 15:00:12 +01:00
daff1c9a09 updated Readme.md 2018-02-09 14:46:49 +01:00
c7b345237a updated Readme.md 2018-02-09 14:44:59 +01:00
a12694b5d0 updated Readme.md 2018-02-09 14:42:03 +01:00
40ce08d33e updated Readme.md 2018-02-09 14:40:34 +01:00
19e77bf303 updated Readme.md 2018-02-09 14:39:16 +01:00
f95b9e8d8d updated Readme.md 2018-02-09 14:37:17 +01:00
9371208a2e updated Readme.md 2018-02-09 14:35:12 +01:00
472d96cd94 updated Readme.md 2018-02-09 14:33:04 +01:00
d48ca4a9fe merge from 3.0.1 in readme and makefle for manual 2018-02-09 14:12:27 +01:00
1609f1d495 release.txt is not pushed in by default 2018-02-09 14:06:09 +01:00
7a6b6e1fea updated Readme.md 2018-02-09 14:02:57 +01:00
1b6ca913b2 removed checkout.sh as it is a single repository now 2018-02-09 13:45:13 +01:00
18c2b8d725 updated Readme.md 2018-02-09 12:27:10 +01:00
a29e70c52f updated Readme.md 2018-02-09 12:26:19 +01:00
98010057ce updated Readme.md 2018-02-09 12:24:05 +01:00
14eff53798 updated Readme.md 2018-02-09 12:23:34 +01:00
2cf150bb30 updated Readme.md 2018-02-09 12:21:25 +01:00
d2a2a2729e updated Readme.md 2018-02-09 12:19:19 +01:00
298663f143 updated Readme.md 2018-02-09 12:15:45 +01:00
5c23fd6502 updated manuals 2018-02-09 11:25:21 +01:00
2429af754f added -t option in release.txt 2018-02-09 11:08:33 +01:00
ef574e6620 indentation in release 2018-02-09 10:23:26 +01:00
0dd0486aa5 indentation in release 2018-02-09 10:22:17 +01:00
7196bfb9a5 updated release.txt 2018-02-09 10:16:06 +01:00
459b588b9f merge from 3.0.1 for gotthard 25um server start acq delay 2018-02-08 15:17:52 +01:00
8bf03a7712 Merge branch '3.0.1' into developer 2018-02-08 15:16:49 +01:00
4338217bda jungfrau 25um server, added start acq delay to server config file 2018-02-08 15:16:23 +01:00
895f8ccf81 Merge branch '3.0.1' into developer 2018-02-08 14:51:20 +01:00
Erik Frojdh
0cb5941fc4 Merge branch '3.0.1' into condatest 2018-02-08 13:52:51 +01:00
f7bf1ae2f1 gotthard server simplified trigger, remove synchronization and master for 50um, changed measurement time, fixed compiler bugs 2018-02-08 11:40:35 +01:00
Erik Frojdh
dde032acc8 reverting locations 2018-02-08 10:54:07 +01:00
Erik Frojdh
23c5a73285 Merge branch '3.0.1' into condatest 2018-02-08 10:36:06 +01:00
a654febb7e merge from 3.0.1 parallalize dr 2018-02-07 15:48:39 +01:00
94b61ea2c4 parallelized setting dynamic range 2018-02-07 15:45:59 +01:00
aa190fda7a merge from 3.0.1: eiger server detip and mac client updated back 2018-02-07 15:24:44 +01:00
a6b917851c finetuning printout 2018-02-07 15:22:19 +01:00
5198e67dbd made the detector ip and detector mac update client in configuremac 2018-02-07 15:16:16 +01:00
897cbac27d merge from 3.0.1 for server binaries (adcphase,server dates, temp control, settings file 2018-02-07 11:02:36 +01:00
ecf1e9fac1 bugfix: returning pointer to local variable, char* to string in function definition 2018-02-07 10:14:52 +01:00
618f6291cf server binaries for all, jungfgrauserver with adcphase returning something, serverclient interface fixed for others not using tempcontrol, detectornumber not used for settings file for non eiger/mythen, server dates removing rev number 2018-02-07 09:23:52 +01:00
3da6a6df65 merge conflict removed, jungfrau server and eiger server re compiled 2018-02-05 12:33:05 +01:00
e6bd874a88 modified jungfrau server and client to make auto_comp_disable a not yet implemented feature as it requires a firmware upgrade 2018-02-05 11:50:22 +01:00
5d04067973 added auto comp disable feature 2018-02-02 18:01:01 +01:00
c520f10409 jungfrau server binaries 2018-02-02 15:19:10 +01:00
1872deb1dd fix for temperature workaround for fpga 2018-02-02 15:17:40 +01:00
e6f475d7c4 jungfrau server changes in temperature control for fpga bug: default temp threshold and temp event cleared at start and power reg only reads enable and not status 2018-02-02 12:37:52 +01:00
Dhanya Maliakal
aebc423fb2 Merge branch '3.0.1' into jungfrauchanges 2018-02-02 10:25:45 +01:00
Dhanya Maliakal
08fda2b662 in between in terms of mythen3 server, done with setdac and set power 2018-02-01 17:48:43 +01:00
Andrä Marie
6af3a6d33a Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-01-31 11:46:17 +01:00
Andrä Marie
b11b2dcfa9 in between stage 2018-01-31 11:45:34 +01:00
Erik Frojdh
ee9996908a test 2018-01-30 11:24:50 +01:00
Erik Frojdh
caf2548391 path 2018-01-30 11:15:31 +01:00
Erik Frojdh
8778fa0aca all files in bin 2018-01-30 11:05:43 +01:00
Andrä Marie
3782a56ef2 second My3 commit 2018-01-30 11:02:08 +01:00
e95b444908 Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2018-01-30 10:25:21 +01:00
d1ef6bf94b some fixes in the cluster finder 2018-01-30 10:24:56 +01:00
Erik Frojdh
d15fd90e8d hejhej 2018-01-29 17:31:32 +01:00
Erik Frojdh
633284cbdd hej 2018-01-29 17:28:54 +01:00
Erik Frojdh
a3293f4335 more headers 2018-01-29 17:27:32 +01:00
Erik Frojdh
3d0d86eb19 another 2018-01-29 17:22:15 +01:00
Erik Frojdh
915e0d19ca more 2018-01-29 17:20:44 +01:00
Erik Frojdh
44b8f482f0 multiheader 2018-01-29 17:17:43 +01:00
Erik Frojdh
e32a5263e8 file io stat 2018-01-29 17:15:00 +01:00
Erik Frojdh
e8d0bea1a0 file io 2018-01-29 17:13:39 +01:00
Erik Frojdh
1ecc194bf8 bc 2018-01-29 17:10:39 +01:00
Erik Frojdh
fbb8efa5f4 angular static 2018-01-29 17:07:24 +01:00
Erik Frojdh
b78b2bb678 angularConversion 2018-01-29 17:05:51 +01:00
Erik Frojdh
d9116ec0b9 detectorData.h 2018-01-29 17:03:46 +01:00
Erik Frojdh
b6f6122656 post processing header 2018-01-29 17:00:40 +01:00
Erik Frojdh
80c301f88e oj 2018-01-29 16:58:31 +01:00
Erik Frojdh
2feaa27c74 more 2018-01-29 16:56:27 +01:00
Erik Frojdh
b398322fd2 det base 2018-01-29 16:54:34 +01:00
Erik Frojdh
66e0049ded set of headers 2018-01-29 16:52:17 +01:00
Erik Frojdh
7d48c2f8ee actions 2018-01-29 16:48:22 +01:00
Erik Frojdh
988baca7f6 more inc 2018-01-29 16:46:03 +01:00
Erik Frojdh
afd2cd1923 fimnc 2018-01-29 16:40:37 +01:00
Erik Frojdh
2963d5c401 detector defs 2018-01-29 16:38:26 +01:00
Erik Frojdh
2f59d58a50 receiver funcs 2018-01-29 16:33:35 +01:00
Erik Frojdh
ca059db4e9 path 2018-01-29 16:30:44 +01:00
Erik Frojdh
43a1d73522 ansi.h 2018-01-29 16:28:31 +01:00
Erik Frojdh
87d539a040 header 2018-01-29 16:18:12 +01:00
Erik Frojdh
3edac42ed3 remove png 2018-01-25 15:16:56 +01:00
Erik Frojdh
17d26869b5 specific libpng version 2018-01-25 14:32:04 +01:00
Erik Frojdh
933d34590b find png 2018-01-25 13:47:19 +01:00
Erik Frojdh
eb57e3a1d3 gui install 2018-01-24 10:17:24 +01:00
Erik Frojdh
2cc5557ec8 o 2018-01-24 10:05:45 +01:00
Erik Frojdh
7f80b77060 t 2018-01-24 09:22:55 +01:00
Erik Frojdh
ab4f364267 target zmq 2018-01-24 09:20:27 +01:00
Erik Frojdh
3a18a0a6cf o 2018-01-23 17:49:40 +01:00
Erik Frojdh
fd03cf5b0f and more targets 2018-01-23 17:46:35 +01:00
Erik Frojdh
b3d6bc1800 targets 2018-01-23 17:37:54 +01:00
Erik Frojdh
0242db7e7a target for install 2018-01-23 17:16:26 +01:00
Andrä Marie
3aeb3f58d1 first mythen3Server commit 2018-01-22 14:01:46 +01:00
Gemma Tinti
09a707d7ff Merge branch '3.0.1' into developer 2018-01-19 16:12:36 +01:00
Gemma Tinti
41240ac135 eiger manual 2018-01-19 16:05:15 +01:00
f264691dc1 renamed sebastians interpolation - must be edited to avoid root 2018-01-18 18:08:55 +01:00
3854c82b90 added iterative interpolation 2018-01-18 18:07:58 +01:00
Andrä Marie
92b4b3324e first mythen3 server commit 2018-01-18 09:25:06 +01:00
ac536ebdf7 cluster finder for phoenix data (i.e. old raw data format) 2018-01-15 11:52:28 +01:00
Dhanya Maliakal
061abf7be0 jungfrau server: changes to ensure no update of detector during this, included power chip to read the status bit and give error if temp event is up 2018-01-11 16:52:08 +01:00
Dhanya Maliakal
2d6e4c95a2 temp_threshold, temp_control, temp_event done 2018-01-11 15:37:24 +01:00
Dhanya Maliakal
a87687199f jungfrau server: minor typo in previous ocmmit 2018-01-11 11:36:40 +01:00
Dhanya Maliakal
d879379aa4 jungfrau server: incorporated transmission delay 2018-01-11 11:33:26 +01:00
Dhanya Maliakal
8fc3d97e78 jungfrau server: changed delay to trigger delay to have better trigger being caught 2018-01-11 09:26:50 +01:00
Dhanya Maliakal
beabd03be2 jungfrau server: (also previous commit) date changed to have only 6 nibbles in format yymmdd 2018-01-11 09:24:49 +01:00
Dhanya Maliakal
348a426242 updating to have developer's debug mode, resetfpga, programfpga and added api versioning, changed software date to only have date 2018-01-11 09:14:45 +01:00
Dhanya Maliakal
68d6c514a9 jungfrau server has same resetfpga, programfpga and debug mode as developer branch, eiger server has effects from debug flag, but not compiled 2018-01-10 15:49:40 +01:00
Dhanya Maliakal
59c0861131 Merge branch '3.0.1' into developer 2017-12-19 17:51:31 +01:00
Dhanya Maliakal
6690335971 gotthard server bug fix, temp read 2017-12-19 17:50:20 +01:00
Dhanya Maliakal
bc8c706150 updated gotthard server binaries (3.0.0.6 was already used in 3.0.1) 2017-12-19 17:44:32 +01:00
Dhanya Maliakal
e39bee0113 gotthard server bug fix, temp fail 2017-12-19 17:33:27 +01:00
Dhanya Maliakal
a4dc00b252 gotthard server binary update 2017-12-19 17:08:28 +01:00
Dhanya Maliakal
6438238b55 gotthard server bug fix, read temp 2017-12-19 17:06:45 +01:00
31589ce352 added and fixed gotthard 25um file and zmq photon finder 2017-12-19 13:40:05 +01:00
7602ffc5ac gotthard on the fly to be stested 2017-12-14 17:01:28 +01:00
13078d0ef2 gotthardDataStructures added 2017-12-14 17:00:30 +01:00
9f3468bd15 Merge branch 'developer' of github.com:slsdetectorgroup/slsDetectorPackage into developer 2017-12-14 16:59:04 +01:00
b50c1d966a on the fly moench photon finder and cluster saving 2017-12-14 16:58:22 +01:00
Dhanya Maliakal
65a91c519e Merge branch '3.0.1' into developer 2017-12-14 14:29:16 +01:00
Dhanya Maliakal
0649626842 made the color fix for black/white backgrounds 2017-12-14 14:29:07 +01:00
Dhanya Maliakal
5958cf9278 Merge remote branch 'slsDetectorCalibration/developer' into developer 2017-12-12 11:14:38 +01:00
Dhanya Maliakal
e7f7e0f280 Merge remote branch 'slsDetectorCalibration/3.0.1' into 3.0.1 2017-12-12 11:14:30 +01:00
Dhanya Maliakal
735b8ea206 Merge remote branch 'slsDetectorCalibration/3.0' into 3.0 2017-12-12 11:14:24 +01:00
Dhanya Maliakal
f6e1c21137 Merge branch '3.0.1' into developer 2017-12-12 09:05:50 +01:00
Dhanya Maliakal
8da5b8318f removed a few stuff from gitignore 2017-12-12 09:05:39 +01:00
Dhanya Maliakal
d2319459df Merge branch '3.0.1' into developer 2017-12-11 18:03:01 +01:00
helfenstein_p
03de29de90 refine threadpool mutex, remove unlock before destroying, unlocking twice is undefined behaviour 2017-12-11 18:02:33 +01:00
Dhanya Maliakal
d6bdbf8524 Merge branch '3.0.1' into developer 2017-12-11 13:51:20 +01:00
Dhanya Maliakal
bb3e5351b4 solving warnings from latest linux 2017-12-11 13:51:11 +01:00
Dhanya Maliakal
4c0a16cd75 Merge branch '3.0.1' into developer 2017-12-11 11:13:32 +01:00
Dhanya Maliakal
d6a4f83a99 ignore misleading indentation 2017-12-11 11:13:25 +01:00
Dhanya Maliakal
e39d0aee56 Merge branch '3.0.1' into developer 2017-12-11 10:51:28 +01:00
Dhanya Maliakal
29d66e455d possible to make only certain components of system 2017-12-11 10:51:19 +01:00
Dhanya Maliakal
1e849097ea merge conflict fixed in filename bug 2017-12-08 12:09:10 +01:00
Dhanya Maliakal
e19d564364 bug fix no reciever could not set file name for mythen for eg., also bug fix that did not allow _s, _S, _p, _d as suffix to file name 2017-12-08 12:06:10 +01:00
Dhanya Maliakal
7577d03e75 Merge branch '3.0.1' into developer 2017-12-08 11:50:15 +01:00
Dhanya Maliakal
8c123982d2 get detector and receiver status only when necessary for stopacquisition 2017-12-08 11:50:10 +01:00
Dhanya Maliakal
6e876d79ee conflict merged fix, lockin in stop and startandreadallnowait, r_restreamstop moved to stop 2017-12-08 11:45:29 +01:00
Dhanya Maliakal
40a7b3983a put some locking in stop acquisition and startandreadallnowait (bugs threadpool with more evernts than normal due to main and processing thread with no locks for detector releated stuff, zmqthreadpool not required, r_restreamstop moved to status stop when idle 2017-12-08 11:40:07 +01:00
Dhanya Maliakal
4718378d0a corrected bug fix in r_restreamstop 2017-12-06 19:21:28 +01:00
Dhanya Maliakal
24c305ec59 solved conflicts from merge of version being used to binary 2017-12-06 19:07:06 +01:00
Dhanya Maliakal
bf9905ad2a possible to use binary --version or -v to get the branch and versionid 2017-12-06 19:05:35 +01:00
Dhanya Maliakal
c4a242e10a changed all variables from svn to git, included --version for receiver binary 2017-12-06 10:29:57 +01:00
1bf7b4a6a1 directory restuctured 2017-12-06 09:10:13 +01:00
Dhanya Maliakal
2f3dc8d109 Merge branch '3.0.1' into developer 2017-12-06 08:44:21 +01:00
Dhanya Maliakal
7436d6c8d3 updaterev 2017-12-06 08:44:07 +01:00
Dhanya Maliakal
7e932bf84b Merge branch '3.0.1' into developer 2017-12-05 16:04:26 +01:00
Dhanya Maliakal
b498043ea6 remember old read freq if not 0 in gui 2017-12-05 16:04:10 +01:00
Dhanya Maliakal
98e09b29d5 merge conflict solved -1 in adc in gui 2017-12-05 15:39:02 +01:00
Dhanya Maliakal
7aaf95a565 -1 in getadc fixed in gui as well 2017-12-05 15:37:34 +01:00
Dhanya Maliakal
a51f4f1252 Merge branch '3.0.1' into developer 2017-12-05 14:49:32 +01:00
Dhanya Maliakal
7b1f935da2 allowing to read adcs/temp during acquire 2017-12-05 14:49:20 +01:00
Dhanya Maliakal
2d14da545d Merge branch '3.0.1' into developer 2017-12-05 13:47:09 +01:00
Dhanya Maliakal
ce1ec97571 some indentation in writing config file 2017-12-05 13:47:01 +01:00
Dhanya Maliakal
9150556209 merge from 3.0.1 added more to write config/paramters 2017-12-05 13:42:35 +01:00
Dhanya Maliakal
3b684c4662 Merge branch '3.0.1' into developer 2017-12-05 13:41:26 +01:00
Dhanya Maliakal
d00c837977 updated write config and write parameters list 2017-12-05 13:41:16 +01:00
Dhanya Maliakal
0ef52138e1 merge conflict sorted, removing rest 2017-12-05 11:25:10 +01:00
Dhanya Maliakal
28211af5af Makefile for Receiver merged incorrectly sometime back, also in archived project 2017-12-05 11:23:35 +01:00
Dhanya Maliakal
536203b6dc one repo so need for gitall.sh 2017-12-05 11:16:22 +01:00
Dhanya Maliakal
65b4c69847 REST implementation removed from slsReceiver 2017-12-05 11:03:52 +01:00
Dhanya Maliakal
2ae5a959fe fix in receiver merge conflict (before the respos merge) 2017-12-04 18:35:57 +01:00
Dhanya Maliakal
263d702535 Merge remote branch 'slsDetectorGui/developer' into developer 2017-12-04 16:48:32 +01:00
Dhanya Maliakal
7512f818cb Merge remote branch 'slsReceiverSoftware/developer' into developer 2017-12-04 16:48:32 +01:00
Dhanya Maliakal
25023f6971 Merge remote branch 'slsDetectorSoftware/developer' into developer 2017-12-04 16:48:30 +01:00
Dhanya Maliakal
61791c078c Merge remote branch 'slsDetectorGui/3.0.1' into 3.0.1 2017-12-04 16:48:17 +01:00
Dhanya Maliakal
36802cdb14 Merge remote branch 'slsReceiverSoftware/3.0.1' into 3.0.1 2017-12-04 16:48:17 +01:00
Dhanya Maliakal
e26cf3b673 Merge remote branch 'slsDetectorSoftware/3.0.1' into 3.0.1 2017-12-04 16:48:15 +01:00
Dhanya Maliakal
aab62fccc1 Merge remote branch 'slsDetectorGui/3.0' into 3.0 2017-12-04 16:48:09 +01:00
Dhanya Maliakal
73ce4abd58 Merge remote branch 'slsReceiverSoftware/3.0' into 3.0 2017-12-04 16:48:08 +01:00
Dhanya Maliakal
c12b137b79 Merge remote branch 'slsDetectorSoftware/3.0' into 3.0 2017-12-04 16:48:07 +01:00
Dhanya Maliakal
9f152ce1f3 merge conflict resolved 2017-12-01 12:44:34 +01:00
Dhanya Maliakal
d1e3d50a87 cosmetic print outs 2017-12-01 12:43:14 +01:00
Dhanya Maliakal
a06f29f473 minor cosmetics 2017-12-01 11:23:17 +01:00
Dhanya Maliakal
12348ac76c merge conflict fix 2017-12-01 09:20:44 +01:00
Dhanya Maliakal
18422ce215 setbit and clear bit moved to slsdet, readreg, writereg,setbit,clearbit in multi cannot give -1, instead api gives error if checked 2017-12-01 09:18:42 +01:00
Dhanya Maliakal
0e26734023 restreaming stop fix 2017-11-30 19:13:55 +01:00
Dhanya Maliakal
fd64ba289e Merge branch '3.0.1' into developer 2017-11-30 19:07:21 +01:00
Dhanya Maliakal
e9343a5bd0 remove warning 2017-11-30 19:07:05 +01:00
Dhanya Maliakal
6f3898441e merge conflict from 3.0.1 to restream stop from recieveR 2017-11-30 19:05:47 +01:00
Dhanya Maliakal
5b88203bd9 merge conflict from 3.0.1 to restream stop from recieveR 2017-11-30 19:05:35 +01:00
Dhanya Maliakal
385e6714cc merge conflict from 3.0.1 to restream stop from recieveR 2017-11-30 19:05:19 +01:00
Dhanya Maliakal
70bf6eb4cb restream stop from receiver 2017-11-30 18:39:08 +01:00
Dhanya Maliakal
ca855e6d39 restream stop from receiver 2017-11-30 18:37:11 +01:00
Dhanya Maliakal
2227265357 removed external gui flag, acquiring flag is now not reset in stop acquisition, slsdet does not have acquiring flag anymore, busy accomodating acquiringflag, acquire cleanup, in acquire made lock for receiver more local, moved setacquiringflag false to bottom of acquire 2017-11-30 16:25:23 +01:00
Dhanya Maliakal
baee38802b wait state between acquistion finished and ready for next acquire in gui, check if acquiringflag is set then reset it 2017-11-30 16:20:26 +01:00
Dhanya Maliakal
1edb41242c ensure gui gets measurement finished after dummy packet received from receiver/ext process 2017-11-29 15:22:10 +01:00
Dhanya Maliakal
397344a264 Merge branch '3.0.1' into developer 2017-11-29 12:13:09 +01:00
Dhanya Maliakal
712c9a4524 zmq connect earlier in gui to prevent losing first messages 2017-11-29 12:13:02 +01:00
Dhanya Maliakal
e17e4c3171 Merge branch '3.0.1' into developer 2017-11-28 18:50:27 +01:00
Dhanya Maliakal
b75985088d twice connect bug fix in zmq 2017-11-28 18:50:18 +01:00
Dhanya Maliakal
8bba57e77d fix to not have sls_receiver_defs in zmqSocket.h incldue 2017-11-28 16:32:15 +01:00
Dhanya Maliakal
7c1423d654 zmqip fix to restart reciever streaming form command line, fix to not have sls_receiver_defs in zmqSocket.h incldue 2017-11-28 16:31:43 +01:00
Dhanya Maliakal
8388d1f503 using file index from zmq 2017-11-28 14:45:48 +01:00
Dhanya Maliakal
6a41b5ce3a using file index from zmq 2017-11-28 14:45:29 +01:00
Dhanya Maliakal
1c606df752 using file index from zmq 2017-11-28 14:45:01 +01:00
Dhanya Maliakal
1e85482d09 make updated 2017-11-28 11:30:23 +01:00
Dhanya Maliakal
a89847538d merge ocnflict for white background 2017-11-28 11:29:15 +01:00
Dhanya Maliakal
130f3d2e6f Merge branch '3.0.1' into developer 2017-11-28 11:18:43 +01:00
Dhanya Maliakal
a351fa8f28 switching from black to white background for receiver 2017-11-28 11:18:30 +01:00
Dhanya Maliakal
4825ace129 switching from black to white background for receiver 2017-11-28 11:18:22 +01:00
Dhanya Maliakal
57fc89a6bb comment users 2017-11-28 10:51:05 +01:00
Dhanya Maliakal
ba71529ff2 comment in users 2017-11-28 10:50:35 +01:00
Dhanya Maliakal
f49998ccd9 Merge branch '3.0.1' into developer 2017-11-28 10:35:24 +01:00
Dhanya Maliakal
1fce54ec4b zmqport in users fixed 2017-11-28 10:35:06 +01:00
Dhanya Maliakal
41f24489bc zmqip in users fixed 2017-11-28 10:33:40 +01:00
Dhanya Maliakal
addf964901 Merge branch '3.0.1' into developer 2017-11-28 09:37:09 +01:00
Dhanya Maliakal
bca7c649d7 Merge branch '3.0.1' into developer 2017-11-28 09:37:09 +01:00
Dhanya Maliakal
1dd300f713 only call register call back which already enables streaming in client and receiver, added to postprocessing 2017-11-28 09:36:54 +01:00
Dhanya Maliakal
d5c310a2db only call register call back which already enables streaming in client and receiveR 2017-11-28 09:36:14 +01:00
Dhanya Maliakal
747e9af431 Merge branch '3.0.1' into developer 2017-11-28 09:26:55 +01:00
Dhanya Maliakal
9f91b78696 update comments 2017-11-28 09:26:12 +01:00
Dhanya Maliakal
620f7651a0 Merge branch '3.0.1' into developer 2017-11-28 09:24:57 +01:00
Dhanya Maliakal
d1eab6f750 updated slsdetector users for zmqport set up 2017-11-28 09:24:40 +01:00
Dhanya Maliakal
4466213882 makng the zmq work without external flag 2017-11-27 17:06:27 +01:00
Dhanya Maliakal
ca19993149 makng the zmq work without external flag 2017-11-27 17:06:18 +01:00
Dhanya Maliakal
e29371ca8d makng the zmq work without external flag 2017-11-27 17:06:11 +01:00
Dhanya Maliakal
c0a114345b bug fix set error mask when setting wrong settings 2017-11-27 16:11:33 +01:00
Dhanya Maliakal
386ef7766c zmq streaming should work with external gui now 2017-11-27 16:01:12 +01:00
Dhanya Maliakal
375b1c9485 not required to restart client datastreaming due to connect everytime for acquire 2017-11-27 15:40:36 +01:00
Dhanya Maliakal
3439ccbec9 updates for merge for r_readfreq without reciever 2017-11-23 18:30:48 +01:00
Dhanya Maliakal
a0c9018455 Merge branch '3.0.1' into developer 2017-11-23 18:24:34 +01:00
Dhanya Maliakal
f0431bd873 Merge branch '3.0.1' into developer 2017-11-23 18:24:33 +01:00
Dhanya Maliakal
65d7922286 merge solved 2017-11-23 18:24:24 +01:00
Dhanya Maliakal
eb89e9bf96 Merge branch '3.0.1' into zmqchange 2017-11-23 18:22:27 +01:00
Dhanya Maliakal
9f733c1dfb Merge branch '3.0.1' into zmqchange 2017-11-23 18:22:26 +01:00
Dhanya Maliakal
59b5fe9424 receiver read freq should save value in shm even if no receiver present 2017-11-23 18:22:03 +01:00
Dhanya Maliakal
16e4fbf8dd receiver read freq should save value in shm even if no receiver present 2017-11-23 18:21:54 +01:00
Dhanya Maliakal
d40a2e0efa receiver read freq should save value in shm even if no receiver present 2017-11-23 18:21:29 +01:00
Dhanya Maliakal
ab5229bcbf bugfix zmq ip was being overwritten 2017-11-23 17:48:30 +01:00
Dhanya Maliakal
5eb8402742 bugfix zmq streaming both on 2017-11-23 17:28:35 +01:00
Dhanya Maliakal
585661412c Merge branch '3.0.1' into developer 2017-11-23 17:20:13 +01:00
Dhanya Maliakal
dc5384f0f9 copy zmq port even if receiver not online, else it is lost 2017-11-23 17:20:07 +01:00
Dhanya Maliakal
935fecefde copy zmq ip even if receiver not online, else it is lost 2017-11-23 17:18:40 +01:00
Dhanya Maliakal
20dc338c90 when changing network parameter, switch off data streaming only if on 2017-11-23 17:00:12 +01:00
Dhanya Maliakal
2c276db579 solved merge conflict in changes to use ZmqSocket.h externally 2017-11-23 16:35:31 +01:00
Dhanya Maliakal
b14ea217ee Merge branch '3.0.1' into zmqchange 2017-11-23 16:34:14 +01:00
Dhanya Maliakal
da3ca9f306 changes to use ZmqSocket.h externally without further changes 2017-11-23 16:28:02 +01:00
Dhanya Maliakal
a57e8edd88 jctb setting dr correctly 2017-11-23 16:15:38 +01:00
Dhanya Maliakal
ad64df01c7 somewhere 2017-11-23 14:53:40 +01:00
Dhanya Maliakal
8538604c0f somewhere 2017-11-23 14:53:37 +01:00
Dhanya Maliakal
d23c9d52ed somewhere 2017-11-23 14:53:33 +01:00
Dhanya Maliakal
2ac170db98 removed data streaming shutdown from command line to allow external gui 2017-11-23 11:52:46 +01:00
Dhanya Maliakal
ab93835ce2 merge conflict to include datastreaming in client comment 2017-11-23 10:29:08 +01:00
Dhanya Maliakal
3b292bdeb6 need to enable data streaming for client 2017-11-23 10:27:59 +01:00
Dhanya Maliakal
43140811bd one measurement in users class 2017-11-23 10:25:35 +01:00
Dhanya Maliakal
34908edd6a Merge branch '3.0.1' into developer 2017-11-23 10:22:03 +01:00
Dhanya Maliakal
856ad76247 included setreceiver online in users class, so that one can start using users without config file 2017-11-23 10:21:54 +01:00
Dhanya Maliakal
29f3387d73 Merge branch '3.0.1' into developer 2017-11-23 09:34:22 +01:00
Dhanya Maliakal
4749e8c4e4 modified users client to work without config and better print out 2017-11-23 09:34:12 +01:00
Dhanya Maliakal
a1d325a115 Merge branch '3.0.1' into developer 2017-11-23 09:20:22 +01:00
Dhanya Maliakal
3034cf87d0 changes that might be reverted in detser 2017-11-23 09:20:20 +01:00
Dhanya Maliakal
447451231c modified users client to work without config and better print out 2017-11-22 18:09:16 +01:00
Dhanya Maliakal
0b45d73e0c Merge branch '3.0.1' into developer 2017-11-22 18:02:45 +01:00
Dhanya Maliakal
7860637b46 switching off data streaming from command line only in receiver start and not in receiver as a whoel put command 2017-11-22 18:02:36 +01:00
Dhanya Maliakal
c0bfe46aa1 enabling client in developer user api 2017-11-22 18:00:41 +01:00
Dhanya Maliakal
26829585dc Merge branch '3.0.1' into developer 2017-11-22 17:47:28 +01:00
Dhanya Maliakal
ea3c722552 made a bin in manual api to be able to compile here 2017-11-22 17:47:16 +01:00
Dhanya Maliakal
c0a1f83691 Merge branch '3.0.1' into developer 2017-11-22 17:43:49 +01:00
Dhanya Maliakal
4ecbfada5b Merge branch '3.0.1' of git.psi.ch:sls_detectors_software/sls_detectors_package into 3.0.1 2017-11-22 17:43:12 +01:00
Dhanya Maliakal
d47abb140f removed detreceivernocall 2017-11-22 17:43:00 +01:00
Dhanya Maliakal
fb3c903c04 Merge branch '3.0.1' into developer 2017-11-22 17:06:51 +01:00
Dhanya Maliakal
6753f8ba6c network parameter should return with extra plus at the end like hostname 2017-11-22 17:06:43 +01:00
Dhanya Maliakal
db6947cc9c Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detector_software into developer 2017-11-22 15:08:33 +01:00
Dhanya Maliakal
590fac9e07 making nx and ny available for jctb in call back 2017-11-22 15:08:09 +01:00
400585be6a Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detector_software into developer 2017-11-22 12:34:28 +01:00
dcfa6fb100 Fixed filename problem with CPU readout and trimval command for mythen 2017-11-22 12:34:14 +01:00
Dhanya Maliakal
39a20e1616 comment 2017-11-22 11:34:55 +01:00
Dhanya Maliakal
114c45c04a making gui work temporarily for jctb 2017-11-22 09:27:42 +01:00
Dhanya Maliakal
4159e83fd6 making gui work temporarily for jctb 2017-11-22 09:27:01 +01:00
Dhanya Maliakal
3a26c95c0d Merge branch '3.0.1' into developer 2017-11-21 15:46:21 +01:00
Dhanya Maliakal
8c45f94496 updated npixelsy for jungfrau effecting hdf5 mapping 2017-11-21 15:46:10 +01:00
Gemma Tinti
f2f00fec06 Merge branch '3.0.1' into developer 2017-11-21 15:35:19 +01:00
Gemma Tinti
e023cb186f manual 2017-11-21 15:34:56 +01:00
Dhanya Maliakal
7f58b77dfb Merge branch '3.0.1' into developer 2017-11-21 15:12:32 +01:00
Dhanya Maliakal
fd4dd5b1e9 removed printout 2017-11-21 15:12:05 +01:00
Dhanya Maliakal
5d34358f44 changin zmqip in rxr should also restart streaming 2017-11-21 15:11:29 +01:00
Dhanya Maliakal
8328b30cbd removed merge conflicts from bug fix of zmq buffering while acquire from command line 2017-11-21 14:58:07 +01:00
Dhanya Maliakal
9c55cb4974 removed merge conflicts from bug fix of zmq buffering while acquire from command line 2017-11-21 14:57:52 +01:00
Dhanya Maliakal
a0ad1fb3a3 Merge branch '3.0.1' into developer 2017-11-21 14:15:59 +01:00
Dhanya Maliakal
2067f47f34 Merge branch '3.0.1' into developer 2017-11-21 14:15:59 +01:00
Dhanya Maliakal
167a6cff3e restart streaming if port changed in multi level, sls detector level:need to take care of it on your own 2017-11-21 13:42:11 +01:00
Dhanya Maliakal
d00df32e49 changing zmq rxr port should restart data streaming 2017-11-21 13:39:49 +01:00
Dhanya Maliakal
2cc11f1ff0 bug fix: enabledatastreaming get should return shared memory variable and not from receiver, bug fix:zmq buffering when acquire form command line, stopping sockets when command line acquire or receiver start, restarting sockets at change of port numbers and a refresh button for the same 2017-11-21 13:39:12 +01:00
Dhanya Maliakal
49ba893d7e zmq buffering when acquire form command line, stopping sockets when command line acquire or receiver start, restarting sockets at change of port numbers and a refresh button for the same 2017-11-21 13:38:31 +01:00
Dhanya Maliakal
46aeee00f1 somewhere 2017-11-21 12:30:58 +01:00
5f0575236e Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detector_software into developer 2017-11-21 12:10:33 +01:00
45e0cf71eb put trimval should work also for MYTHEN 2017-11-21 12:09:52 +01:00
Dhanya Maliakal
bd228fac27 bug fix in cleanup code, indexing 2017-11-20 17:19:03 +01:00
Dhanya Maliakal
b7ca7f5319 just cleanuped code 2017-11-20 17:15:13 +01:00
Gemma Tinti
11c9ab16f9 Merge branch '3.0.1' into developer 2017-11-20 16:44:21 +01:00
Gemma Tinti
d1d530f0e7 manual 2017-11-20 16:43:39 +01:00
Dhanya Maliakal
e6d22a97e2 Merge branch '3.0.1' into developer 2017-11-20 15:14:13 +01:00
Dhanya Maliakal
a0c014eb7d changed rate correction back to what it was before in users class, enabling sets defaults 2017-11-20 15:14:01 +01:00
Dhanya Maliakal
99037449f4 in between moench stuff 2017-11-20 14:23:32 +01:00
Dhanya Maliakal
97260510f2 gap pixels should be allowed to set to 0 for other detectors 2017-11-20 09:43:41 +01:00
Dhanya Maliakal
662f502d4c zmq always needs an ip in header 2017-11-17 17:40:57 +01:00
Dhanya Maliakal
c5c23e73d5 works zmq separated for client and rx, ports and ip included in expert advanced mode 2017-11-17 17:39:04 +01:00
Dhanya Maliakal
70e4c6e2a2 zmq separated for client and rx, ports and ip included in expert advanced mode 2017-11-17 17:37:00 +01:00
Dhanya Maliakal
23b415d837 streaming port set return same as get simple change 2017-11-17 14:04:03 +01:00
Dhanya Maliakal
428855d801 in between 2017-11-17 14:02:00 +01:00
Dhanya Maliakal
2e234f1bbd Merge branch '3.0.1' into developer 2017-11-17 11:36:02 +01:00
Dhanya Maliakal
a79864a5ae bugfix enabledata streaming send int for update 2017-11-17 11:35:54 +01:00
Dhanya Maliakal
1dee950870 merge conflict from 3.0.1 2017-11-17 11:35:15 +01:00
Dhanya Maliakal
51499fa503 merge conflict from 3.0.1 2017-11-17 11:35:02 +01:00
Dhanya Maliakal
dcf4d98a75 show warnings, update binaries conflict from merge 2017-11-17 11:33:52 +01:00
Dhanya Maliakal
28e2ebf75a merge conflict resolved from 3.0.1 2017-11-17 09:40:42 +01:00
Dhanya Maliakal
823d537825 fixed warnings 2017-11-17 09:26:20 +01:00
Dhanya Maliakal
d7137e0c75 fixed segmentation fault issue of xputsn the right way, fixed warnings 2017-11-17 09:26:05 +01:00
Dhanya Maliakal
2569ffbf10 fixed warnings, back to int warning in debugstream due to 64 bit 2017-11-17 08:53:05 +01:00
Dhanya Maliakal
b020270734 edited cmake to show warnings 2017-11-17 08:46:59 +01:00
Dhanya Maliakal
f647bdaa48 updated users class to reflect zmq changes (separation), fixed warnings 2017-11-17 08:46:43 +01:00
Dhanya Maliakal
c1e735c1b4 fixed a few warnings 2017-11-17 08:46:04 +01:00
Dhanya Maliakal
4097c37b31 in between 2017-11-16 16:01:31 +01:00
Dhanya Maliakal
a89265faf8 Merge branch '3.0.1' into zmqseparate 2017-11-16 15:09:14 +01:00
Dhanya Maliakal
8e0414d1b9 separating zmqport, enabling in client and receiver works 2017-11-16 15:01:22 +01:00
Dhanya Maliakal
bbcf75bc09 separating zmqport, enabling in client and receiver works 2017-11-16 15:00:59 +01:00
Dhanya Maliakal
065b4a8e0f including zmq port change in gui 2017-11-16 13:50:30 +01:00
Dhanya Maliakal
2fca426ec0 Merge branch '3.0' into zmqseparate 2017-11-16 13:49:11 +01:00
Dhanya Maliakal
bf89dd44f3 updated binaries 2017-11-16 12:34:12 +01:00
Dhanya Maliakal
d9fcac0236 updated merge from 3.0 hotfix setdac 2017-11-16 12:32:38 +01:00
Dhanya Maliakal
875ca44c0b updated server hotfix binary 2017-11-16 12:30:41 +01:00
Dhanya Maliakal
4c9cc1b477 Merge branch '3.0' into 3.0.1 2017-11-16 12:29:34 +01:00
Dhanya Maliakal
f340eef4bc updated server hotfix binary 2017-11-16 12:29:09 +01:00
Dhanya Maliakal
f192164e32 fixed setdac bug that comes rarely, moved serialize spi to 32bit 2017-11-16 12:27:58 +01:00
Dhanya Maliakal
c69ae52e76 somewhere 2017-11-16 09:12:57 +01:00
Dhanya Maliakal
7dee07b9c5 somewhere 2017-11-16 09:12:54 +01:00
Dhanya Maliakal
0e8d2de253 somewhere 2017-11-16 09:12:49 +01:00
Dhanya Maliakal
fd34bab34b in between separating datastreaming in client and receiver 2017-11-15 17:19:07 +01:00
Dhanya Maliakal
2b0d07387a in between separating datastreaming in client and receiver 2017-11-15 17:16:47 +01:00
Dhanya Maliakal
eb4ab306c7 in between separating datastreaming in client and receiver 2017-11-15 17:16:37 +01:00
Dhanya Maliakal
32d32dbcdc in between separating datastreaming in client and receiver 2017-11-15 16:16:59 +01:00
7f256c868b fixed bug for 1D detector in slsDetectorData 2017-11-15 14:39:35 +01:00
06b9efd229 modifications for on the fly analysis working at cSAXS 2017-11-15 12:23:21 +01:00
9ad0fd0bc9 modifications for on the fly analysis working at cSAXS 2017-11-15 12:21:58 +01:00
Dhanya Maliakal
7c9958db04 updated binary merge from 3.0 regarding settings 2017-11-15 10:36:55 +01:00
Dhanya Maliakal
956625bb50 Merge branch '3.0' into developer 2017-11-15 10:35:20 +01:00
Dhanya Maliakal
6d6133be59 Merge branch '3.0' into zmqseparate 2017-11-15 10:34:30 +01:00
Dhanya Maliakal
bee751cebb updated binaries 2017-11-15 09:31:49 +01:00
Dhanya Maliakal
fee95d228e Merge branch '3.0' into 3.0.1 2017-11-15 09:29:05 +01:00
Dhanya Maliakal
ea0c436fc8 updated binaries 2017-11-15 08:07:59 +01:00
Dhanya Maliakal
90fb8258ca updated binaries 2017-11-14 17:52:51 +01:00
Dhanya Maliakal
dd1cf42a73 proper fix for settings, including dacs 2017-11-14 17:51:13 +01:00
Dhanya Maliakal
dda86cfe9b somewhere in separating zmq rxr and client 2017-11-14 16:26:17 +01:00
Gemma Tinti
4f74f6d08f Merge branch '3.0.1' into developer 2017-11-14 15:19:14 +01:00
Gemma Tinti
a3a30d9b50 manual 2017-11-14 15:18:39 +01:00
Gemma Tinti
2d962dfead Merge branch '3.0.1' into developer 2017-11-14 12:43:19 +01:00
Gemma Tinti
b814515d0a manual 2017-11-14 12:42:30 +01:00
Dhanya Maliakal
db2fef5d69 conflict resolved in merge from 3.0.1 to include file index in zmq streaming 2017-11-14 12:14:26 +01:00
Dhanya Maliakal
0ae706d9a5 file index sent along with zmq stream 2017-11-14 12:13:06 +01:00
Dhanya Maliakal
6693d08331 fixed help of acquire doing an actual acquisition 2017-11-14 11:53:37 +01:00
Dhanya Maliakal
cf4498cf78 Merge branch '3.0.1' into developer 2017-11-14 10:59:01 +01:00
Dhanya Maliakal
4903164f95 added high voltage to users class 2017-11-14 10:58:54 +01:00
Dhanya Maliakal
c127eebeaa Merge branch '3.0.1' into developer 2017-11-14 09:13:39 +01:00
Dhanya Maliakal
ef257d12e7 prev bug fix of ratecorr for eiger from users, made simpler 2017-11-14 09:13:32 +01:00
Dhanya Maliakal
363aa9124e Merge branch '3.0.1' into developer 2017-11-14 09:08:16 +01:00
Dhanya Maliakal
7e0af1cc7c bugfix: users rate correction able to set for eiger 2017-11-14 09:08:08 +01:00
Dhanya Maliakal
8872f86e31 Merge branch '3.0.1' into developer 2017-11-13 15:32:47 +01:00
Dhanya Maliakal
52a9303a5e removed compression from gui in expert mode 2017-11-13 15:32:24 +01:00
Dhanya Maliakal
409519a3db fixed the double plot due to unzooming in gui 2017-11-13 15:25:49 +01:00
Dhanya Maliakal
4c4a26c0e3 Merge branch '3.0.1' into developer 2017-11-13 13:39:39 +01:00
Dhanya Maliakal
70848c9891 bugfix ratecorr always gave back -100 2017-11-13 13:39:28 +01:00
Dhanya Maliakal
e33ba2cd76 merge from 3.0.1 compiling with rpath and updating detector binaries 2017-11-13 12:32:08 +01:00
Dhanya Maliakal
dedc00f1bd compiling with rflag 2017-11-13 12:28:27 +01:00
Dhanya Maliakal
1af065fdb1 infinite loop with gettotalnumberofchannels in gappixels initialization resulting in bus error fix 2017-11-13 11:13:26 +01:00
Dhanya Maliakal
678ef89e17 conflict resolved from merge developer to gappixels insignificant 2017-11-10 16:54:18 +01:00
Dhanya Maliakal
dc70c45ef2 Merge branch 'developer' into gappixels 2017-11-10 16:53:14 +01:00
Dhanya Maliakal
c0ec315b04 Merge branch 'developer' into gappixels 2017-11-10 16:53:14 +01:00
Dhanya Maliakal
6fa4e4cef8 Merge branch '3.0.1' into gappixels 2017-11-10 16:37:28 +01:00
Dhanya Maliakal
3886a0c9ad merge fix from 3.0.1 regarding gethostbyname thread safety 2017-11-10 16:37:20 +01:00
Dhanya Maliakal
5b65d44303 Merge branch '3.0.1' into developer 2017-11-10 16:34:43 +01:00
Dhanya Maliakal
23ddb3d4b5 merge fix from 3.0.1 regarding gethostbyname thread safety 2017-11-10 16:34:31 +01:00
Dhanya Maliakal
e1c7176c00 Merge branch '3.0.1' of git.psi.ch:sls_detectors_software/sls_receiver_software into 3.0.1 2017-11-10 16:31:01 +01:00
Dhanya Maliakal
53caebe0f3 replaced gethostbyname with getaddrinfo as it is not thread safe 2017-11-10 16:30:48 +01:00
Dhanya Maliakal
739187943d replaced gethostbyname with getaddrinfo as it is not thread safe 2017-11-10 16:30:38 +01:00
Dhanya Maliakal
a2210c0118 Merge branch '3.0.1' into gappixels 2017-11-09 14:08:04 +01:00
Dhanya Maliakal
6d0f751104 Merge branch '3.0.1' into developer 2017-11-09 14:07:48 +01:00
Dhanya Maliakal
fb0afc282d gotthard server, too fast now sets stopped bit high and stops acquisition, so polling status also made aware of stopped bit 2017-11-09 14:01:36 +01:00
Dhanya Maliakal
d24ab31d87 gotthard fix 2017-11-09 13:44:38 +01:00
Dhanya Maliakal
9255cdde8a bug fixx for the 9m gethostbyname being not thread safe 2017-11-09 13:42:57 +01:00
Xiaoqiang Wang
7c344d4a39 recompile with -fPIC flag 2017-11-08 15:14:34 +01:00
Dhanya Maliakal
3c6d572369 including dynamic range in gui call back 2017-11-02 11:02:40 +01:00
Dhanya Maliakal
7ba90f98fc including dynamic range in gui call back 2017-11-02 11:02:22 +01:00
Dhanya Maliakal
589a5c7852 Merge branch '3.0.1' into gappixels 2017-11-02 10:55:05 +01:00
Dhanya Maliakal
0df4576874 Merge branch '3.0.1' into developer 2017-11-02 10:54:40 +01:00
Xiaoqiang Wang
7157b2817d update to zmq 4.0.8
among other fixes, this fixes the tmpnam warning
2017-11-02 10:49:24 +01:00
Dhanya Maliakal
82f503aa09 dynamic range also updates offsets, 4 bit mode gap pixels work in call back from gui 2017-10-31 12:50:31 +01:00
Dhanya Maliakal
3da8bca462 allowing receiver to know of gap pixels enable even in 4 bit mode, but not doing anything useful 2017-10-31 12:39:36 +01:00
Dhanya Maliakal
9d4c14b724 gap pixels should now work for 4 bit mode and a bug fix in decoding for 4 bit mode 2017-10-31 12:38:42 +01:00
Dhanya Maliakal
6ff249c3f2 Merge branch 'developer' into gappixels 2017-10-27 16:18:52 +02:00
Dhanya Maliakal
e12229633c update binaries 2017-10-27 16:18:21 +02:00
Dhanya Maliakal
b75dde4613 merge bug fix of set module 2017-10-27 16:17:12 +02:00
Dhanya Maliakal
f6989d5539 merge bug fix of set module 2017-10-27 16:16:38 +02:00
Dhanya Maliakal
7ff23b25b3 merge bug fix of set module 2017-10-27 16:16:29 +02:00
Dhanya Maliakal
acfd9acc6c update binaries 2017-10-27 16:09:46 +02:00
Dhanya Maliakal
18d5fd5a35 update binaries 2017-10-27 16:08:52 +02:00
Dhanya Maliakal
1881cb0010 updated binaries 2017-10-27 16:07:42 +02:00
Dhanya Maliakal
1420921291 Merge branch '3.0' into 3.0.1 2017-10-27 15:47:15 +02:00
Dhanya Maliakal
aab56ea943 updated jungfrau server binary 2017-10-27 15:39:55 +02:00
Dhanya Maliakal
045a7cfcb1 removed settings bug, highvoltage returning 60 when switched off 2017-10-27 15:38:07 +02:00
Dhanya Maliakal
92f988ddc1 somewhere 2017-10-27 14:00:57 +02:00
Dhanya Maliakal
79bce5e006 4 bit mode works without gappixels 2017-10-26 16:01:18 +02:00
Dhanya Maliakal
9c82a8f726 temp in between, trying to get 4 bitmode to work without gap pixels 2017-10-26 11:19:58 +02:00
Dhanya Maliakal
6812961836 temp in between, trying to get 4 bitmode to work without gap pixels 2017-10-26 11:09:55 +02:00
Dhanya Maliakal
003239cddd gap pixels for 4 bit mode restrictions, not completed 2017-10-24 14:16:08 +02:00
Dhanya Maliakal
ce7386e230 merge solved from developer, xcoord from detector if given 2017-10-23 17:21:45 +02:00
Dhanya Maliakal
fde4194f9b merged with developer, receiver call back merged with no call back 2017-10-23 17:12:00 +02:00
Dhanya Maliakal
7f9ac86862 Merge branch 'developer' into gappixels 2017-10-23 17:09:13 +02:00
Dhanya Maliakal
16a939c0c0 Merge branch '3.0.1' into developer 2017-10-23 17:08:12 +02:00
Dhanya Maliakal
f4f03f659a color code in user example depending on modID, instead of xcoord 2017-10-23 17:07:45 +02:00
Dhanya Maliakal
4084e2c31e updated release doc 2017-10-23 17:06:12 +02:00
Dhanya Maliakal
e417885459 merge conflict in release, merged incorporating no call back and call back into one user example 2017-10-23 15:30:00 +02:00
Dhanya Maliakal
65fd5a3057 merged without call back and call back into one user example 2017-10-23 15:26:04 +02:00
Dhanya Maliakal
1f138abac1 fix in receiver as x, y and z are properly integrated with detector server for eiger and jungfrau, and handling previous versions of detector where x y and z were all 0 (hardcoding them in 1 d) 2017-10-23 12:21:41 +02:00
Dhanya Maliakal
d2fd0cbee9 x y and z coordinates are pushed into eiger server and its fixed in appropriate client side as well 2017-10-23 12:20:18 +02:00
Dhanya Maliakal
210bcb081d xcoord should not be hardcoded for this version for eiger and jungfrau 2017-10-20 10:49:02 +02:00
Dhanya Maliakal
387b4ef457 updated release with patches notes 2017-10-19 17:09:50 +02:00
Dhanya Maliakal
673b7f1652 merge conflict fixed with developer 2017-10-19 15:36:28 +02:00
Dhanya Maliakal
b6ae3300a9 merge conflict fixed with developer(patches for file write disable, xcoord) 2017-10-19 15:35:34 +02:00
Dhanya Maliakal
c755a5b602 bug fix to release.txt from the merge 2017-10-19 14:41:46 +02:00
Dhanya Maliakal
801817b749 bug fix to the merge 2017-10-19 14:41:12 +02:00
Dhanya Maliakal
1cddb9a542 merge from 3.0.1 with patches for file write disable 2017-10-18 17:53:55 +02:00
Dhanya Maliakal
72b71cd680 merge from 3.0 hotfixes done 2017-10-18 17:39:19 +02:00
Dhanya Maliakal
5388b54eff updaterev 2017-10-18 15:52:08 +02:00
Dhanya Maliakal
75b94e6614 fixed file write enable bug from the last patch 2017-10-18 12:29:46 +02:00
Dhanya Maliakal
4aa0c8e24e Merge branch '3.0.1' of git.psi.ch:sls_detectors_software/sls_detectors_package into 3.0.1 2017-10-17 12:14:40 +02:00
927e776353 Merge branch 'developer' into gappixels 2017-10-12 15:09:35 +02:00
36a200ceba Merge branch 'developer' into gappixels 2017-10-12 15:09:30 +02:00
0fe43c75f2 merge branch developer into gappixels, added .project into gitignore 2017-10-12 15:08:32 +02:00
4d92744dea .project added to gitignore 2017-10-12 15:08:12 +02:00
ae72df7b14 .project added to gitignore 2017-10-12 15:07:54 +02:00
e814aee300 .project added to gitignore 2017-10-12 15:07:33 +02:00
4f2af046d3 Merge branch 'developer' into gappixels 2017-10-12 14:58:41 +02:00
91588ecc21 Merge branch 'developer' into gappixels 2017-10-12 14:58:25 +02:00
Dhanya Maliakal
d2767afa7c added the eiger server binary with merges from 3.0.1 2017-10-12 14:57:12 +02:00
311059d748 merge fix from 3.0.1 which includes server without crash, multi settimer -1 bug, need to recompile eiger server for this branch 2017-10-12 14:42:57 +02:00
Gemma Tinti
40cb2993fb eiger manual 2017-10-12 12:15:43 +02:00
Dhanya Maliakal
fe6e1c8868 new eiger server binary with status fixed 2017-10-12 11:48:43 +02:00
Dhanya Maliakal
eb78ae0fe1 new eiger server binary with status fixed 2017-10-12 11:44:46 +02:00
8585a536ec fixed eiger server status problem, updating binary in next commit 2017-10-12 11:42:37 +02:00
338fb2af35 in betwee, fixed eiger server error 2017-10-12 11:38:26 +02:00
a6e520d969 in between stage: error in compiling eiger server with error status: include file 2017-10-12 11:35:31 +02:00
eb32335194 trying changes to server for error 2017-10-12 10:51:47 +02:00
10e57319bf moench03OnTheFlyAnalysis multipthreaded with interpolation works 2017-10-12 10:31:11 +02:00
a59309b13f minor bug fix if same client: client ip only 8 bytes instead of 16 bytes copied, added user class functionality for long term use:stopacquisition 2017-10-12 10:18:15 +02:00
f2f061ae18 bug fix: using int instead of int64_t , eg exptime is -1 on return 2017-10-12 09:47:13 +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
Dhanya Maliakal
948eb455e2 editing release text, in between, need to still fix eiger server with new eror status functionality 2017-10-10 12:15:04 +02:00
Dhanya Maliakal
44bf4c52ed changes for eiger server to return error if error 2017-10-06 13:48:06 +02:00
Dhanya Maliakal
2e5f64d9bc gap pixels for 8, 16, 32 in receiver at udp level 2017-10-05 15:59:07 +02:00
Dhanya Maliakal
0d92b11055 print out comment, not print if mythen else access to null 2017-10-05 15:58:37 +02:00
Dhanya Maliakal
4260dc0baf conflict resolution 2017-10-03 15:18:56 +02:00
Dhanya Maliakal
0f302e3446 conflict resolution 2017-10-03 15:17:15 +02:00
Dhanya Maliakal
e54767b69d conflict resolution with developer 2017-10-03 15:12:56 +02:00
Dhanya Maliakal
812606a7b4 conflict resolution with developer 2017-10-03 15:12:49 +02:00
Dhanya Maliakal
fc025bd28b conflict resolution with developer 2017-10-03 15:12:35 +02:00
Dhanya Maliakal
34f10b382e one more conflict resolved from mergin with 3.0.1 (silent mode, this had changes for zmq source ip) 2017-10-03 15:01:30 +02:00
Dhanya Maliakal
0b82aabd2b merge with 3.0.1 conflicts resolved 2017-10-03 14:52:53 +02:00
Dhanya Maliakal
03a2f979a9 fixing merge conflict in error_Defs 2017-10-03 14:32:30 +02:00
Dhanya Maliakal
2aed12dcb9 updaterev 2017-10-03 14:18:33 +02:00
Dhanya Maliakal
96caf728c8 setting receiver to none properly, ten giga set in shared memoery properly if no receiver involved 2017-10-03 14:17:48 +02:00
Dhanya Maliakal
4669d408d4 somewhere in between 2017-10-03 12:09:31 +02:00
Dhanya Maliakal
c594870fdd Merge branch 'realgappixels' into gappixels 2017-10-03 10:49:47 +02:00
Dhanya Maliakal
34062b6e0b fixed 32 bit gui masking problem in qdrawplot (conversion from char* to double) mythen clause not activated 2017-10-03 10:49:26 +02:00
Dhanya Maliakal
7cde5dbe38 changes upto the receiver, not incl gui 2017-10-03 10:44:08 +02:00
Dhanya Maliakal
bb817733ff changes upto the receiver, not incl gui 2017-10-03 10:44:05 +02:00
Dhanya Maliakal
7cf7d9eb79 changes upto the receiver, not incl gui 2017-10-03 10:44:01 +02:00
Dhanya Maliakal
907ab2f0bd changes upto the receiver, not incl gui 2017-10-03 10:43:47 +02:00
Dhanya Maliakal
d0b379a2d5 double* changed to char* in gui data call back, effect in receiver is change in zmqsocket.h from int* to char* 2017-10-02 13:21:49 +02:00
Dhanya Maliakal
afc08f8c30 double* changed to char* in gui data call back, decoding to be done by caller. enablegappixels skeleton created 2017-10-02 13:21:38 +02:00
Dhanya Maliakal
5a7800768b double* to char* in detector call back. 2017-10-02 13:20:19 +02:00
Dhanya Maliakal
63c0fe863d missing packets 0xffff are also anded with the mask, fixed 2017-09-29 18:33:41 +02:00
Dhanya Maliakal
fa79a36089 should work, but jungfrau needs debugging 2017-09-29 16:43:07 +02:00
Dhanya Maliakal
9bdb361d08 works but needs to be verified. the void* in call back 2017-09-29 11:39:36 +02:00
Dhanya Maliakal
1a8b0692fe works but needs to be verified. the void* in call back 2017-09-29 11:39:10 +02:00
Dhanya Maliakal
352ade6457 just skeleton of gappixels 2017-09-27 17:08:00 +02:00
Dhanya Maliakal
e51d178eaa added silent mode functionality and modified users class for it, updated manuals 2017-09-27 10:18:20 +02:00
Dhanya Maliakal
0a446c425b added users functions for silent mode 2017-09-27 10:17:48 +02:00
Dhanya Maliakal
6a8aad4c2b added silent mode in receiver during real time acquisition, doesnt print packet loss regularly or file name created each time 2017-09-27 10:11:31 +02:00
Dhanya Maliakal
af98d2bb53 added silent mode in receiver during real time acquisition, doesnt print packet loss regularly or file name created each time 2017-09-27 10:09:02 +02:00
Dhanya Maliakal
986826cbe9 x y z and id are written to the udp header for eiger 2017-09-26 16:39:02 +02:00
Dhanya Maliakal
e0d82ad92d only 3d positins in x y z coord, so receiver not overwriting them 2017-09-22 15:29:28 +02:00
Dhanya Maliakal
663fd557ff client gives now 3d positions of detector to be configured in udp header, only in jungfrau firmware till now 2017-09-22 15:28:57 +02:00
Dhanya Maliakal
5a8f30fee8 Merge branch '3.0.1' of git.psi.ch:sls_detectors_software/sls_detector_software into developer 2017-09-22 12:28:24 +02:00
Dhanya Maliakal
e8bb186ff8 removed setframeindexenable from being set by client, redundant. removed read_frame from list of functions, obsolete. 2017-09-22 12:25:08 +02:00
Dhanya Maliakal
ab27437604 removed setframeindexenable from going to the receiver, it can figure it out on its own now 2017-09-22 12:23:39 +02:00
l_msdetect
1c3b9c603c manual 2017-09-21 20:26:35 +02:00
Dhanya Maliakal
c2f6e5b20c modifying to adjust to common basic tests debug mode for jungfrau 2017-09-21 17:58:10 +02:00
Dhanya Maliakal
7e0481eeff renamed server names 2017-09-21 16:45:40 +02:00
Dhanya Maliakal
2b3d2bb4d7 removed changing number of samples by setting dynamic range 2017-09-21 16:36:33 +02:00
d8803ca5e4 improved library structure for analog detectors and interpolation t.b.t. 2017-09-21 15:03:43 +02:00
Dhanya Maliakal
7134d0d0ed temp_adc not in eiger for usersclass (esrf). get adc in millicelsius 2017-09-21 14:51:32 +02:00
Dhanya Maliakal
2bd5386c29 Merge branch '3.0.1' into developer 2017-09-21 13:35:16 +02:00
Dhanya Maliakal
c5ff578d10 Merge branch '3.0.1' into developer 2017-09-21 13:35:16 +02:00
Dhanya Maliakal
6eb5167c70 Merge branch '3.0.1' into developer 2017-09-21 13:35:16 +02:00
Dhanya Maliakal
5873b5c9a8 negligible indentation change 2017-09-21 13:34:54 +02:00
Dhanya Maliakal
271664f577 changes to users class to call dac and adc by string name 2017-09-21 12:54:03 +02:00
Dhanya Maliakal
f2be03be05 example for adc index in users 2017-09-21 11:51:38 +02:00
Dhanya Maliakal
7e37a1da4b change in user functions 2017-09-21 11:16:29 +02:00
Dhanya Maliakal
18f014fd9e added in users class startreceiver, stop receiver, start status 2017-09-21 11:05:20 +02:00
Dhanya Maliakal
11d58beec2 updaterev 2017-09-20 19:00:20 +02:00
Dhanya Maliakal
88b1a5c66a updaterev 2017-09-20 19:00:15 +02:00
Dhanya Maliakal
a250565f44 updaterev 2017-09-20 19:00:09 +02:00
Dhanya Maliakal
378f4f0891 updated release doc 2017-09-20 18:59:48 +02:00
Dhanya Maliakal
45ee8b2a2b changes usleep back to normal in postprocessing 2017-09-20 18:27:54 +02:00
Dhanya Maliakal
fda9c85bb3 included threaded 0 as a possibility 2017-09-20 17:07:51 +02:00
Dhanya Maliakal
862169e178 jungfrau with the option to start in debug mode to bypass the checks and tests 2017-09-20 16:20:39 +02:00
Dhanya Maliakal
850ae77b43 in between modifying release.txt 2017-09-19 17:32:02 +02:00
Dhanya Maliakal
e2832d2e1b Merge branch '3.0.1' into developer 2017-09-19 17:19:37 +02:00
Dhanya Maliakal
092487c08e Merge branch '3.0.1' into developer 2017-09-19 17:19:36 +02:00
Dhanya Maliakal
6b6ad6efe0 added one without call back 2017-09-19 16:47:56 +02:00
Dhanya Maliakal
ae066fab93 modified userReceiver to make it work 2017-09-19 16:33:05 +02:00
Dhanya Maliakal
41db424837 got rid of usleep, changed to pause() 2017-09-19 16:32:15 +02:00
Dhanya Maliakal
3a79f0ad9b parallelizing file name has its consequences, file name prefix edited only in multi level 2017-09-19 11:37:54 +02:00
Dhanya Maliakal
15b86a50d5 added advanced user stuff for esrf 2017-09-19 10:05:55 +02:00
Dhanya Maliakal
5b0fd60775 parallelized ratecorrection 2017-09-18 17:49:08 +02:00
Dhanya Maliakal
90f899c936 replaced post incrementing by pre incrementing 2017-09-18 17:20:38 +02:00
Dhanya Maliakal
a95e2efdb0 parallelized settimer, setfileindex, setonline, setreceiveronline, getreceiverstatus, resetframescaught, setFrameIndex, setFileName, getFramesCaughtByReceiver; added getFramesCaughtbyAnyreceiver to avoid threadpool and to use in post processing 2017-09-18 16:47:22 +02:00
Dhanya Maliakal
54d231d3c6 parallelized set timer, file index 2017-09-15 14:51:43 +02:00
Dhanya Maliakal
b78dcf869b Merge branch '3.0' into developer 2017-09-15 13:27:18 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
e6125c3c7f base fix for parallelism made more efficient 2017-09-15 09:20:43 +02:00
Dhanya Maliakal
67cdfe8b41 in between 2017-09-14 16:58:39 +02:00
Dhanya Maliakal
c635b19941 fixed jungfrau image after programfpga, fixed resetfpga 2017-09-14 15:55:55 +02:00
Dhanya Maliakal
5ff574b33f made default streamer to be the ip related to hostname, otherwise can be specified from the client, also made it compatible with chip test board detector now 2017-09-12 15:04:56 +02:00
Dhanya Maliakal
49378e6d09 added streamsrcip command to be able to change the interface from which receiver streams data from 2017-09-12 14:33:11 +02:00
Dhanya Maliakal
aef462da32 merge error fixed 2017-09-08 09:31:26 +02:00
1ba325e902 Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detector_software into developer 2017-09-07 11:27:52 +02:00
1c14b146a2 T1 data structure from CPU added 2017-09-04 14:28:30 +02:00
e95ffde95d T1 data structure finally correct 2017-09-04 14:26:28 +02:00
Dhanya Maliakal
4ed3859c75 Merge branch 'virtualclass' into developer 2017-09-01 15:40:28 +02:00
Dhanya Maliakal
069d044e17 fixed gain plot, aspect ratio, 1/4size of mainplat, keeping limits also for gain plot at start up, removing gain plot titles 2017-09-01 15:37:05 +02:00
Dhanya Maliakal
c37d3feae9 update revision 2017-09-01 13:59:18 +02:00
Dhanya Maliakal
c086e9c19f allow for slow joiner in zmq 2017-09-01 13:58:00 +02:00
Dhanya Maliakal
272167435d gainplot added, masking done separately before converting to double 2017-09-01 12:04:04 +02:00
Dhanya Maliakal
277dc2cfd9 gainplot added for jungfrau, aspect ratio check in gui added, npixels-1 as endpixel bug fix 2017-09-01 12:03:09 +02:00
Dhanya Maliakal
be37e315c9 compile with gdb flag 2017-09-01 12:01:35 +02:00
1510fa71d3 T1 data structure fixed 2017-09-01 10:08:07 +02:00
Dhanya Maliakal
91f3db6691 separated virtual master and slave executables 2017-08-30 15:38:43 +02:00
Dhanya Maliakal
56aa4be358 added eiger virtual class. eiger server minor bug fix. 1. copying local trimbits over from module (in effect same thing)2.rate correction table calculated each time and now only when period is different 2017-08-30 15:29:58 +02:00
Dhanya Maliakal
7099bc3286 removed users folder, redundant as user documentation in manual-api 2017-08-28 14:17:10 +02:00
Dhanya Maliakal
35dcdd62c9 links to libraries in manual 2017-08-28 14:15:57 +02:00
Dhanya Maliakal
84b0f9a91b updaterev 2017-08-28 12:05:48 +02:00
Dhanya Maliakal
91fece87b2 updaterev 2017-08-28 12:05:42 +02:00
Dhanya Maliakal
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
Gemma Tinti
ad4fdcfa1a eiger manual 2017-08-26 13:32:00 +02:00
Gemma Tinti
2efe9cd40b Eiger manual 2017-08-26 09:01:56 +02:00
Gemma Tinti
07594e0607 eiger manual 2017-08-25 16:14:53 +02:00
Dhanya Maliakal
c4c063534e update user doc 2017-08-25 15:56:30 +02:00
Dhanya Maliakal
705e1a762c updating user documentation 2017-08-25 15:46:42 +02:00
Dhanya Maliakal
a8b41ca813 updating user documentation 2017-08-25 15:46:16 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
ce0aa98b3f updated users documentation 2017-08-25 15:42:56 +02:00
Gemma Tinti
57fee3d5ef eiger manual 2017-08-25 14:24:42 +02:00
Dhanya Maliakal
891e76af0a gotthard bug fix documented 2017-08-25 12:22:40 +02:00
Dhanya Maliakal
67e92fdf68 Merge branch '3.0' into developer 2017-08-25 12:08:26 +02:00
Dhanya Maliakal
13186e1ee2 modified examples 2017-08-25 12:08:14 +02:00
Dhanya Maliakal
14f97cbc10 Merge branch '3.0' into developer 2017-08-24 18:42:32 +02:00
Dhanya Maliakal
6d2072f198 removed unnecessary print in makefile for manual 2017-08-24 18:41:56 +02:00
Dhanya Maliakal
a78bc86bca adc reader standalone for blackfin as well 2017-08-24 18:41:30 +02:00
Dhanya Maliakal
5e11e0a7db added adc reader standalone 2017-08-24 18:40:52 +02:00
Dhanya Maliakal
319d883880 modified user example in manual/manual-api and regenerated documentation 2017-08-24 16:47:27 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
e5c84fd11c external gui unused variables 2017-08-24 16:03:31 +02:00
Dhanya Maliakal
598d163173 new gotthard server in bin 2017-08-24 16:02:51 +02:00
Dhanya Maliakal
6f09a5abff Merge branch 'developer' into 3.0 2017-08-24 14:09:36 +02:00
Dhanya Maliakal
fbb04f5ebe Merge branch 'externalgui' into developer 2017-08-23 19:06:59 +02:00
Dhanya Maliakal
0bea688a83 changes for external gui 2017-08-23 19:06:40 +02:00
Dhanya Maliakal
19d973f5d6 Merge branch '3.0' into externalgui 2017-08-23 18:26:46 +02:00
Dhanya Maliakal
92d5143f81 Merge branch '3.0' into developer 2017-08-23 18:26:36 +02:00
Dhanya Maliakal
6332025bbc frames caught in 9m was only looking at 1st receiver, now made to average 2017-08-23 18:26:25 +02:00
Dhanya Maliakal
bdccddfe97 in between 2017-08-23 18:24:48 +02:00
Dhanya Maliakal
a236a7a9aa Merge branch '3.0' into externalgui 2017-08-23 18:01:58 +02:00
Dhanya Maliakal
72c4cbe871 Merge branch '3.0' into developer 2017-08-23 18:01:48 +02:00
Dhanya Maliakal
7ffd9b87b8 bug fix:removed 0x prefix for dr 2017-08-23 18:01:34 +02:00
Dhanya Maliakal
a657bac1b1 removed a print 2017-08-23 18:01:02 +02:00
Dhanya Maliakal
f4e2b819d2 changes for external gui 2017-08-23 16:31:32 +02:00
Xiaoqiang Wang
634fbc748e compile libraries with -fPIC flag 2017-08-23 16:13:36 +02:00
Gemma Tinti
8fde83499e Merge branch '3.0' into developer 2017-08-23 12:10:29 +02:00
Gemma Tinti
5e90386fda manual 2017-08-23 12:09:42 +02:00
Dhanya Maliakal
2116070f02 Merge branch '3.0' into externalgui 2017-08-23 10:11:57 +02:00
Dhanya Maliakal
02c193118b Merge branch '3.0' into developer 2017-08-23 09:41:27 +02:00
Dhanya Maliakal
33894509e6 Merge branch '3.0' into developer 2017-08-23 09:41:26 +02:00
Dhanya Maliakal
b208acf4a0 moved doxy.config to here 2017-08-23 09:41:10 +02:00
Dhanya Maliakal
02f4b5f546 manual-main fixed, detaildoc not, but for developers and in next release 2017-08-23 09:40:53 +02:00
Dhanya Maliakal
b2513cad23 Merge branch '3.0' into developer 2017-08-22 19:43:49 +02:00
Dhanya Maliakal
4f28df03ab trials 2017-08-22 19:43:26 +02:00
Dhanya Maliakal
a7dab9a257 updating user documentation. another update required 2017-08-22 19:42:52 +02:00
Dhanya Maliakal
ca756dbeee Merge branch '3.0' into developer 2017-08-22 19:40:47 +02:00
Dhanya Maliakal
760ca98ee4 updating user documentation. another update required 2017-08-22 19:40:20 +02:00
Dhanya Maliakal
960dc5c62f removing the print 2017-08-21 10:40:15 +02:00
Dhanya Maliakal
03d9e1d182 check should be before and after the push or pull 2017-08-21 09:24:26 +02:00
Dhanya Maliakal
25886044ab Merge branch '3.0' into developer 2017-08-21 09:21:41 +02:00
Dhanya Maliakal
4dd7cafe32 Merge branch '3.0' into developer 2017-08-21 09:21:41 +02:00
Dhanya Maliakal
f78a7b201b updated master file to reflect all files(not just eiger) 2017-08-18 18:35:55 +02:00
Dhanya Maliakal
4e374eb2cd updaterev 2017-08-18 18:35:30 +02:00
Dhanya Maliakal
5b80ef6d04 changes to release 2017-08-18 18:35:04 +02:00
Dhanya Maliakal
cc5862533e changes for the statistic moved to listener 2017-08-18 17:57:31 +02:00
Dhanya Maliakal
d58dd1d035 reset fifo statistic at measurement startup 2017-08-18 17:24:56 +02:00
Dhanya Maliakal
3b497eca36 reset fifo statistic at measurement startup 2017-08-18 17:23:52 +02:00
Dhanya Maliakal
f4a11533be removed prints 2017-08-18 17:02:09 +02:00
Dhanya Maliakal
fe24c8fb86 changed check 2017-08-18 17:00:28 +02:00
Dhanya Maliakal
608f292e4f moved statistics to listener 2017-08-18 16:50:19 +02:00
Dhanya Maliakal
9868ca3eca Merge branch '3.0-rc' into developer 2017-08-18 16:13:51 +02:00
Dhanya Maliakal
de3c62fea4 Merge branch '3.0-rc' into developer 2017-08-18 16:13:51 +02:00
Dhanya Maliakal
4b6144c489 updated server binaries 2017-08-18 16:13:33 +02:00
Dhanya Maliakal
4838d6c037 updated server binaries 2017-08-18 16:13:09 +02:00
Dhanya Maliakal
ec4be4f2c0 bugfix: framesl was not conected, exptime default time is 10 us 2017-08-18 16:11:49 +02:00
Dhanya Maliakal
e93f53f459 changes for min fifo level 2017-08-18 15:59:18 +02:00
Dhanya Maliakal
efad86335f made fifo bound volatile 2017-08-18 15:29:15 +02:00
Dhanya Maliakal
70c2165df4 check of fifo level before trying to push in successfully 2017-08-18 15:21:30 +02:00
Dhanya Maliakal
c1ea73d21c some changes for release txt 2017-08-18 14:03:11 +02:00
Dhanya Maliakal
181616fb67 Merge branch '3.0-rc' into developer 2017-08-17 17:24:30 +02:00
Dhanya Maliakal
ed8e41a02c Merge branch '3.0-rc' into developer 2017-08-17 17:24:30 +02:00
Dhanya Maliakal
37f881017a updating command line docu. 2017-08-17 17:24:20 +02:00
Dhanya Maliakal
cda7814c21 timing put for delay and period 2017-08-17 17:23:13 +02:00
Dhanya Maliakal
c87cb5d051 Merge branch '3.0-rc' into developer 2017-08-17 17:16:59 +02:00
Dhanya Maliakal
70a55428bc removed 2 files in doxygen always generated 2017-08-17 17:16:41 +02:00
Dhanya Maliakal
8c0b4ac216 Merge branch '3.0-rc' into developer 2017-08-17 17:13:40 +02:00
Dhanya Maliakal
60292ca0f8 added to .gitignore 2017-08-17 17:13:30 +02:00
Dhanya Maliakal
fecac2c4d2 Merge branch '3.0-rc' into developer 2017-08-17 17:10:52 +02:00
Dhanya Maliakal
9167d113dc command line doc. done 2017-08-17 17:10:32 +02:00
Dhanya Maliakal
04ebc85fcc command line doc. done 2017-08-17 17:09:59 +02:00
Dhanya Maliakal
de5986e5dd Merge branch '3.0-rc' into developer 2017-08-17 17:09:05 +02:00
Dhanya Maliakal
7cfc6a9fd9 Merge branch '3.0-rc' into developer 2017-08-17 17:09:04 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
269227b093 Merge branch '3.0-rc' into developer 2017-08-17 17:04:30 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
638a69ad23 Merge branch '3.0-rc' into developer 2017-08-17 17:02:43 +02:00
Dhanya Maliakal
7115ac19b6 command line docu. more coming up 2017-08-17 17:02:42 +02:00
Dhanya Maliakal
b20f994ac4 Merge branch '3.0-rc' into developer 2017-08-17 16:59:08 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
68840b4544 Merge branch '3.0-rc' into developer 2017-08-17 16:50:18 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
7156d2e7b3 updated client docu. more coming up 2017-08-17 16:49:48 +02:00
Dhanya Maliakal
e2d451a400 Merge branch '3.0-rc' into developer 2017-08-17 16:46:49 +02:00
Dhanya Maliakal
3189bd5359 command line docu. more coming up 2017-08-17 16:46:48 +02:00
Gemma Tinti
c3fce9822f Merge branch '3.0-rc' into developer 2017-08-17 16:40:35 +02:00
Gemma Tinti
ca02a8fd72 manual 2017-08-17 16:39:48 +02:00
Dhanya Maliakal
3c3a5062bd Merge branch '3.0-rc' into developer 2017-08-17 16:25:05 +02:00
Dhanya Maliakal
edfa8493d8 command line docu. more coming up 2017-08-17 16:25:04 +02:00
Dhanya Maliakal
52223e61d4 Merge branch '3.0-rc' into developer 2017-08-17 16:25:02 +02:00
Dhanya Maliakal
827ce17fac command line docu. more coming up 2017-08-17 16:25:01 +02:00
Dhanya Maliakal
96700d42b4 Merge branch '3.0-rc' into developer 2017-08-17 14:34:24 +02:00
Dhanya Maliakal
56e61de863 command line docu. more coming up 2017-08-17 14:34:09 +02:00
Dhanya Maliakal
2932a954ab Merge branch '3.0-rc' into developer 2017-08-17 14:32:46 +02:00
Dhanya Maliakal
de7bb0b979 command line docu. more coming up 2017-08-17 14:32:45 +02:00
Dhanya Maliakal
6ef4aa9715 Merge branch '3.0-rc' into developer 2017-08-17 14:32:44 +02:00
Dhanya Maliakal
e333eb15cd command line docu. more coming up 2017-08-17 14:32:43 +02:00
Dhanya Maliakal
80c8ff9f20 Merge branch '3.0-rc' into developer 2017-08-17 14:17:16 +02:00
Dhanya Maliakal
3da71c9274 command line docu. more coming up 2017-08-17 14:17:10 +02:00
Dhanya Maliakal
3a887eb604 Merge branch '3.0-rc' into developer 2017-08-17 14:17:05 +02:00
Dhanya Maliakal
c6549694a8 command line docu. more coming up 2017-08-17 14:16:54 +02:00
Dhanya Maliakal
b9cd0054a9 Merge branch '3.0-rc' into developer 2017-08-17 13:56:09 +02:00
Dhanya Maliakal
cf5137723d command line docu update. more coming 2017-08-17 13:56:00 +02:00
Dhanya Maliakal
945a7ed10f Merge branch '3.0-rc' into developer 2017-08-17 13:55:52 +02:00
Dhanya Maliakal
5ef0012518 command line docu update. more coming 2017-08-17 13:55:44 +02:00
Dhanya Maliakal
94e3874545 docu for bug fix eiger serbver 2017-08-17 12:07:57 +02:00
Dhanya Maliakal
722fb58010 bugfix:trimval gave first pixel value and not -1 if all are different 2017-08-17 12:04:54 +02:00
Dhanya Maliakal
d63933b2de fixed 9m hv 2017-08-17 11:09:26 +02:00
Dhanya Maliakal
c6c0819a5e Merge branch '3.0-rc' into developer 2017-08-16 19:06:24 +02:00
Dhanya Maliakal
45681f86ce update client command doc 2017-08-16 19:06:17 +02:00
Dhanya Maliakal
50c5c12523 Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detectors_package into developer 2017-08-16 19:05:42 +02:00
Dhanya Maliakal
4f773120b2 Merge branch '3.0-rc' into developer 2017-08-16 19:05:36 +02:00
Dhanya Maliakal
4ffefc99a2 Merge branch '3.0-rc' into developer 2017-08-16 19:05:28 +02:00
Dhanya Maliakal
16fc44b3ab update client command doc 2017-08-16 19:05:17 +02:00
Dhanya Maliakal
e8cfadaae3 Merge branch '3.0-rc' into developer 2017-08-16 18:46:19 +02:00
Dhanya Maliakal
ac6720e27d appears double in the intro list 2017-08-16 18:46:10 +02:00
Dhanya Maliakal
65c76e10be Merge branch '3.0-rc' into developer 2017-08-16 18:37:30 +02:00
Dhanya Maliakal
ae7255953d compile error bug fix 2017-08-16 18:37:10 +02:00
Gemma Tinti
0bbee8d91e Merge branch '3.0-rc' into developer 2017-08-16 18:21:01 +02:00
Gemma Tinti
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
Gemma Tinti
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
Dhanya Maliakal
87abe15227 Merge branch '3.0-rc' into developer 2017-08-16 17:28:09 +02:00
Dhanya Maliakal
5f90db723c increased default fifo depth for gotthard 2017-08-16 17:27:31 +02:00
Dhanya Maliakal
2ab90ae2ed Merge branch 'faststreamer' into 3.0-rc 2017-08-16 17:25:25 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
3cf092d058 updating cmd line help 2017-08-16 17:23:37 +02:00
Dhanya Maliakal
0be51b69fb Merge branch '3.0-rc' into developer 2017-08-16 17:12:40 +02:00
Dhanya Maliakal
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
Gemma Tinti
2b030abf0d sync eiger manual 2017-08-16 16:32:53 +02:00
Dhanya Maliakal
e8217b0867 do not complain when setting timers 2017-08-16 16:26:57 +02:00
Dhanya Maliakal
83bb7c99ea removed gotthard server binary..was for developer branch 2017-08-16 16:05:53 +02:00
Dhanya Maliakal
24d0d776b7 new gotthard server binary 2017-08-16 16:04:47 +02:00
Dhanya Maliakal
f4b01bc18b rst to sw1 for all 2017-08-16 16:03:57 +02:00
Dhanya Maliakal
509d81ba7d Merge branch '3.0-rc' into developer 2017-08-16 11:50:26 +02:00
Dhanya Maliakal
eaed8bab08 Merge branch '3.0-rc' into developer 2017-08-16 11:50:13 +02:00
Dhanya Maliakal
3c59b3b8dd updated command line doc 2017-08-16 11:50:01 +02:00
Dhanya Maliakal
2935722b98 updated command line doc 2017-08-16 11:49:55 +02:00
Dhanya Maliakal
af5f61bd95 updated command line doc 2017-08-16 11:13:40 +02:00
Dhanya Maliakal
8bc039c95f updated command line doc 2017-08-16 11:13:32 +02:00
Dhanya Maliakal
b0b3701fcf moved the output dir of slsdetectorClientDocs 2017-08-16 11:11:26 +02:00
Dhanya Maliakal
c489aeb9dc moved the output dir of slsdetectorClientDocs 2017-08-16 11:11:13 +02:00
Dhanya Maliakal
db983c5439 moved the output dir of slsdetectorClientDocs 2017-08-16 11:10:56 +02:00
Dhanya Maliakal
ca6fff9648 Merge branch '3.0-rc' into developer 2017-08-16 11:04:28 +02:00
Dhanya Maliakal
5de120f7e7 more changes to client docu. more coming up. removed slsDetectorClientDocs from here 2017-08-16 11:03:22 +02:00
Dhanya Maliakal
c21f7f371a more changes to client docu. more coming up 2017-08-16 10:42:27 +02:00
Dhanya Maliakal
03cc80dc3c more changes to client docu. more coming up 2017-08-16 10:36:25 +02:00
Dhanya Maliakal
413a944e70 fixed problem with datastream help 2017-08-16 10:11:39 +02:00
Dhanya Maliakal
25ece55d7f more changes to client docu. more coming up 2017-08-16 10:09:27 +02:00
ca865a6636 Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detector_software into developer 2017-08-16 09:27:48 +02:00
Dhanya Maliakal
4d493504e3 Merge branch '3.0-rc' into developer 2017-08-15 18:42:51 +02:00
Dhanya Maliakal
bb917b70f3 more changes to client docu. more coming up 2017-08-15 18:42:41 +02:00
Dhanya Maliakal
c0d0ebb104 Merge branch '3.0-rc' into developer 2017-08-15 18:31:12 +02:00
Dhanya Maliakal
f8060ef757 more changes to client docu. more coming up 2017-08-15 18:29:07 +02:00
Dhanya Maliakal
193139f06f Merge branch '3.0-rc' into developer 2017-08-15 18:08:01 +02:00
Dhanya Maliakal
f92a6e58d3 Merge branch '3.0-rc' into developer 2017-08-15 18:07:17 +02:00
Dhanya Maliakal
8e1a841b42 in between command line documentation 2017-08-15 18:06:45 +02:00
Dhanya Maliakal
6a2c0ac86d added command line documentation in release.txt 2017-08-15 18:06:20 +02:00
Dhanya Maliakal
9bb8a94c55 updated README 2017-08-15 14:14:47 +02:00
Dhanya Maliakal
f8bb6a04a9 so that the first image shows 2017-08-15 14:10:43 +02:00
Dhanya Maliakal
1e7932f09c switched back to 200ms 2017-08-15 14:00:34 +02:00
Dhanya Maliakal
02b6228856 updated eiger server 2017-08-15 13:59:03 +02:00
Dhanya Maliakal
bcf5e1fc0b updated server binary 2017-08-14 15:07:36 +02:00
Dhanya Maliakal
3fb92aa9dd changes done 2017-08-14 13:33:24 +02:00
Dhanya Maliakal
77d688e508 changes done 2017-08-14 13:33:11 +02:00
Dhanya Maliakal
1ec3a69e29 print memory allocated properly 2017-08-14 10:49:08 +02:00
3aeb15648c Anna's modifications 2017-08-11 15:55:07 +02:00
52e1bd32b9 Anna's modifications 2017-08-11 15:52:08 +02:00
Dhanya Maliakal
aca3b4ca1b Merge branch '3.0-rc' into developer 2017-08-10 19:09:58 +02:00
Dhanya Maliakal
0c6fcc1186 cannot put for get busy 2017-08-10 19:09:46 +02:00
Dhanya Maliakal
92ae104f39 Merge branch '3.0-rc' into developer 2017-08-10 18:46:42 +02:00
Dhanya Maliakal
ae6884949b Merge branch '3.0-rc' into developer 2017-08-10 18:46:42 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
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
Dhanya Maliakal
c724756b5f included subexptime in metadata for hdf5 2017-08-10 17:33:32 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
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
Dhanya Maliakal
af079f3168 posisibility to read adnd write registers in the front end board for eiger 2017-08-10 14:49:02 +02:00
Dhanya Maliakal
11943c4b5c merge insignificant conflicts 2017-08-10 11:19:36 +02:00
Dhanya Maliakal
389f356a3a high voltage reflects the master only, if 2 masters reflects -1 2017-08-10 11:09:44 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
97330b65ca to handle frame number 0s from firmware 2017-08-09 18:47:55 +02:00
Dhanya Maliakal
eed951016b frame number 0 from firmware in eiger is dealt with 2017-08-09 18:13:23 +02:00
Dhanya Maliakal
39847c5db6 esrf bug, shut down socket, but being processed and object deleted, fixed 2017-08-09 17:25:23 +02:00
Dhanya Maliakal
12592c1206 updaterev 2017-08-09 17:24:43 +02:00
Dhanya Maliakal
cb90c3722d esrf bug, shut down socket, but being processed and object deleted, fixed 2017-08-09 17:24:34 +02:00
Gemma Tinti
851914f0ae manuals 2017-08-08 20:04:28 +02:00
Gemma Tinti
e85973ec8b manuals 2017-08-08 19:48:32 +02:00
Dhanya Maliakal
7a30ab25bd Merge branch '3.0-rc' into developer 2017-08-08 19:16:10 +02:00
Dhanya Maliakal
5a45f15c7f fixed the frameindex bug (always 0) 2017-08-08 19:15:57 +02:00
Dhanya Maliakal
558e5e2e9a added busy command, converted get frames etc to an integer output 2017-08-08 19:15:20 +02:00
Dhanya Maliakal
82d21b6971 changes to release.txt to include busy command and the frameindex bugfix 2017-08-08 19:13:22 +02:00
Dhanya Maliakal
ccc60dacf4 updated release.txt and the cmk.sh help script 2017-08-08 16:24:33 +02:00
Dhanya Maliakal
517dfdf523 Merge branch '3.0-rc' into developer 2017-08-08 14:59:07 +02:00
Dhanya Maliakal
43ba40ec4c updaterev 2017-08-08 14:51:47 +02:00
Dhanya Maliakal
557d190236 changes for rest implementation 2017-08-08 14:51:32 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
a40d18f8b2 last packet even if many padded packets in between should be written (from carryoverflag) 2017-08-07 19:58:48 +02:00
Dhanya Maliakal
0cd18a3b7a more comments 2017-08-07 10:39:29 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
6b8b6b4b3d no need of quotes for gitall.sh 2017-08-07 10:31:11 +02:00
Xiaoqiang Wang
31026576f4 delete cache before (re-)running cmake 2017-08-07 09:54:03 +02:00
Dhanya Maliakal
2c58bc6a5c included numbe of compiler threads 2017-08-04 19:12:44 +02:00
Dhanya Maliakal
3ed2bcf3fa added cmk.sh to build cmake files and compile 2017-08-04 18:54:22 +02:00
Dhanya Maliakal
8f1e8b1196 cmake withotu hdf5 2017-08-04 15:40:44 +02:00
Dhanya Maliakal
c0d6958e37 no changE 2017-08-04 15:40:21 +02:00
Dhanya Maliakal
d2d2959237 Merge branch '3.0-rc' into developer 2017-08-04 14:21:31 +02:00
Dhanya Maliakal
c31ee2d76f allowing -1 in gui for spinbox 2017-08-04 14:20:51 +02:00
Dhanya Maliakal
dc318d3f47 updaterev 2017-08-04 14:20:33 +02:00
Dhanya Maliakal
429bf7f13d updaterev 2017-08-04 14:20:21 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
41288302f4 fixed resolution for exptime, period and delay in server 2017-08-04 14:01:17 +02:00
Dhanya Maliakal
039092f292 bug fix: changes for the multipurpose reg in configuremac 2017-08-04 11:21:32 +02:00
Dhanya Maliakal
fbee70818a 25 um server using a config.txt file 2017-08-03 14:16:18 +02:00
Dhanya Maliakal
5027f66d77 changed usleep 2017-07-28 12:20:54 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
88b6fabb0d bug did not give error when switching to hdf5 2017-07-28 11:54:22 +02:00
Dhanya Maliakal
37dd32f1b0 version 2017-07-28 11:30:21 +02:00
Dhanya Maliakal
5713cd6092 addin usleep to reduce cpu 2017-07-28 11:28:03 +02:00
Dhanya Maliakal
3174bd1c85 addin usleep to reduce cpu 2017-07-28 11:27:35 +02:00
Dhanya Maliakal
eb4da5ff0c removed print of elapsed time 2017-07-28 10:19:33 +02:00
Dhanya Maliakal
98d5758ba1 Merge branch 'developer' into 3.0-rc 2017-07-27 14:40:50 +02:00
Dhanya Maliakal
c49c07b34a Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detectors_package into developer 2017-07-27 14:40:25 +02:00
Dhanya Maliakal
058fcd8aba Merge branch 'cmakefix' into developer 2017-07-27 14:40:17 +02:00
Dhanya Maliakal
699cce713b Merge branch 'cmakefix' into 3.0-rc 2017-07-27 14:40:01 +02:00
Dhanya Maliakal
a88aa53d82 comment to compile statically 2017-07-27 14:39:00 +02:00
Xiaoqiang Wang
7fa13a5d5d compatible with cmake 2.8.8 2017-07-27 14:28:14 +02:00
Gemma Tinti
56b420d68b manual 2017-07-27 14:20:46 +02:00
Dhanya Maliakal
efd49ae92a removing individual hdf5 path from cmakelists 2017-07-27 13:55:23 +02:00
Xiaoqiang Wang
71204172df simplify hdf5 linking 2017-07-27 12:51:10 +02:00
Xiaoqiang Wang
6cb387e3a8 tab->space reformat 2017-07-27 12:45:27 +02:00
Xiaoqiang Wang
05b32ce26c find hdf5 cxx component 2017-07-27 12:44:21 +02:00
Dhanya Maliakal
b920e52218 default no for hdf5 and rest 2017-07-27 12:31:12 +02:00
Dhanya Maliakal
f07816a0d1 hdf5 works now, but needs fixes 2017-07-27 12:08:51 +02:00
Dhanya Maliakal
c7d4582efa versioning 2017-07-27 12:08:28 +02:00
Dhanya Maliakal
77dc4d3d77 solved some warnings 2017-07-27 12:08:12 +02:00
Dhanya Maliakal
1d073b6897 sort of works, but needs simpler fix 2017-07-27 12:07:44 +02:00
Dhanya Maliakal
56aaaf2e07 changes for the cmake 2017-07-27 10:18:07 +02:00
Dhanya Maliakal
e360077e09 changes for the cmake 2017-07-27 10:17:55 +02:00
Dhanya Maliakal
0fcf768772 basename for hdf5 fixes 2017-07-27 09:31:14 +02:00
Dhanya Maliakal
a5f3de61a9 should be able to compile in pcmoench as l_msdetect 2017-07-26 15:09:29 +02:00
Dhanya Maliakal
915fd41bf6 should be able to compile in pcmoench as l_msdetect 2017-07-26 15:09:24 +02:00
Dhanya Maliakal
497f5289e6 new eiger server in serverbins 2017-07-26 11:37:23 +02:00
Dhanya Maliakal
8a8e76e839 added usleep to remove the 100%cpu, removed a insignificant printout 2017-07-26 11:36:31 +02:00
Dhanya Maliakal
086beea501 nothing really 2017-07-26 11:35:56 +02:00
Dhanya Maliakal
1a522c6696 removed ui include files as they are generated anyway for every make 2017-07-26 11:14:17 +02:00
Dhanya Maliakal
91f8987b6c removed ui include files as they are generated anyway for every make 2017-07-26 11:12:56 +02:00
Dhanya Maliakal
5771a3c722 includes in gui 2017-07-25 13:56:27 +02:00
Dhanya Maliakal
9d8faae375 fixed front end board temp 2017-07-25 13:55:27 +02:00
Dhanya Maliakal
2ddf4117d0 from package to compile receiver library as well 2017-07-25 12:25:24 +02:00
Dhanya Maliakal
68cbb63355 adding the form include files back into git 2017-07-25 12:15:58 +02:00
Dhanya Maliakal
7df21e1790 updated server bins 2017-07-13 14:45:10 +02:00
Dhanya Maliakal
c25239a398 updaterev 2017-07-13 14:44:52 +02:00
Dhanya Maliakal
04165a9da8 rest implementation, index issues 2017-07-13 14:44:34 +02:00
Dhanya Maliakal
0bacb903ea rest implementation, index issues 2017-07-13 14:44:03 +02:00
Dhanya Maliakal
a1fd34ebb6 for users ensured proper destructors, and ctrl c should kill it 2017-07-13 12:18:45 +02:00
Dhanya Maliakal
126ad92ed8 can set zmqport from receiver 2017-07-13 12:18:19 +02:00
Dhanya Maliakal
e3667f6827 can set zmqport from receiver 2017-07-13 12:18:07 +02:00
Dhanya Maliakal
39560969f4 can set zmqport from receiver, ensured proper destructors, and ctrl c should kill it 2017-07-13 12:17:49 +02:00
Dhanya Maliakal
f1a77c4146 resolved issue with source not being looked at for compiling 2017-07-11 13:27:27 +02:00
Dhanya Maliakal
68b1959a85 excluding detector server directories in makefile 2017-07-11 11:16:37 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
f430152f61 moved common git evaluation variables to the common folder 2017-07-10 11:22:56 +02:00
Dhanya Maliakal
e0b886e2cc moved the versioning files back to include 2017-07-10 11:22:32 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
672c42a20e some more changes to make file for automatic versioning 2017-07-10 11:20:26 +02:00
Dhanya Maliakal
dbce25fdea some more changes to make file for automatic versioning 2017-07-10 11:20:15 +02:00
Dhanya Maliakal
a583f3d6e2 some more changes to make file for automatic versioning 2017-07-10 11:18:41 +02:00
Dhanya Maliakal
cf0ef68cda fixed adc and num dacs for jungfrau in gui 2017-07-06 18:34:00 +02:00
Dhanya Maliakal
be6925c504 fixed temperature for jungfrau in server, also for negative values 2017-07-06 16:07:01 +02:00
Dhanya Maliakal
14bba171e7 conflict gitversion 2017-07-03 17:45:06 +02:00
Dhanya Maliakal
1e50bc4cc0 conflict git 2017-07-03 17:44:52 +02:00
Dhanya Maliakal
374b07a126 merge developer 2017-07-03 17:42:06 +02:00
Dhanya Maliakal
460a44a9b1 made updatereceiver to actually update client in parameters that it can 2017-07-03 17:37:31 +02:00
Dhanya Maliakal
f944d7cae4 made updatereceiver to actually update client in parameters that it can 2017-07-03 17:37:24 +02:00
Dhanya Maliakal
b4309a9f60 changed jungfrau temperature conversion but binary to follow 2017-07-03 14:45:44 +02:00
Dhanya Maliakal
539ab79e99 changed jungfrau temperature conversion 2017-07-03 14:45:29 +02:00
Dhanya Maliakal
99dad79572 Somewhere 2017-07-03 13:46:06 +02:00
Dhanya Maliakal
26f9b1ccbd Somewhere 2017-07-03 13:45:45 +02:00
Dhanya Maliakal
da4ffb235c ensuring set detector type is the first call 2017-07-03 13:32:10 +02:00
Dhanya Maliakal
b03e35a8d6 sorted receiver client interface, more consistent 2017-07-03 13:31:17 +02:00
Dhanya Maliakal
f8c04a6a51 sorted the receiver client interface, more manageable 2017-06-30 18:17:33 +02:00
Dhanya Maliakal
7033d43e61 changed makefile to find libraries 2017-06-30 12:21:48 +02:00
Dhanya Maliakal
bd9f19f6c7 changed the makefile a bit to find libraries 2017-06-30 12:20:42 +02:00
Dhanya Maliakal
a4c07ba9a0 added black background for reciever to see gray font better 2017-06-30 12:19:27 +02:00
Dhanya Maliakal
4b9a8c1dad makefiles and versioning update complete 2017-06-29 17:10:28 +02:00
Dhanya Maliakal
b05e9c194a makefiles and versioning update complete 2017-06-29 17:10:10 +02:00
Dhanya Maliakal
c01931e5a6 makefiles and versioning update complete 2017-06-29 17:09:46 +02:00
Dhanya Maliakal
7afbd8f0f0 makefiles and versioning update complete 2017-06-29 17:09:34 +02:00
Dhanya Maliakal
b6eb4cbb61 testing changes 2017-06-29 10:18:51 +02:00
Dhanya Maliakal
21e1fcf693 trying with gui makefile changes 2017-06-29 09:27:26 +02:00
Dhanya Maliakal
cfff7969e3 changes for Makefile dependencies 2017-06-28 18:52:43 +02:00
Dhanya Maliakal
6bfbb075c8 ensuring fiel permissions 2017-06-28 18:18:30 +02:00
Dhanya Maliakal
1a74ceca3e ensuring file permissions 2017-06-28 18:16:55 +02:00
Dhanya Maliakal
7990dd6f77 fixed makefile and included correct versioning while compiling 2017-06-28 18:13:47 +02:00
Dhanya Maliakal
f4857355b6 fixed new header for eiger 2017-06-28 16:53:01 +02:00
Dhanya Maliakal
81d68bebc6 Merge branch 'developer' into eigerheaderchange 2017-06-28 11:30:46 +02:00
Dhanya Maliakal
8992d51787 correct binary jungfrau 2017-06-28 11:26:35 +02:00
Dhanya Maliakal
e79827384a included update git versionign in each server, removing the main one 2017-06-28 11:24:30 +02:00
Dhanya Maliakal
4905f49108 added updateversion into makefile while compiling 2017-06-28 11:23:19 +02:00
Dhanya Maliakal
073d30bf61 added updateversion into makefile while compiling 2017-06-28 11:21:10 +02:00
Dhanya Maliakal
3515951bb8 added updateversion into makefile while compiling 2017-06-28 11:18:55 +02:00
Dhanya Maliakal
fde7ddf832 added updateversion into makefile while compiling 2017-06-28 11:00:21 +02:00
Dhanya Maliakal
7a8d0b8dad added updateversion into makefile while compiling 2017-06-28 10:57:39 +02:00
Dhanya Maliakal
56645a48af added updateversion into makefile while compiling 2017-06-28 10:54:27 +02:00
Dhanya Maliakal
a7d3006cda added updateversion into makefile while compiling 2017-06-28 10:48:03 +02:00
Dhanya Maliakal
c2624daa9a uncommented a print 2017-06-28 10:27:40 +02:00
Dhanya Maliakal
2126e2a723 added updategit 2017-06-28 10:24:49 +02:00
Dhanya Maliakal
c2980b3c44 changes for setting threshold without trimbits for eiger 2017-06-28 10:24:07 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
22796d0d27 updaterev 2017-06-27 17:43:19 +02:00
Dhanya Maliakal
e6f1a90ed7 changes 2017-06-27 14:57:43 +02:00
0b6aeac364 Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detector_software into developer 2017-06-27 10:40:19 +02:00
Dhanya Maliakal
5dd2f273fc eigerserver changes, need to include martins changes 2017-06-27 10:22:55 +02:00
ffd3cb6511 Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detector_software into developer 2017-06-26 13:03:08 +02:00
dfb8a1f7ad small modifications for jctb and moench03 module 2017-06-26 13:03:01 +02:00
Dhanya Maliakal
1ed4407c11 parallelizing adcs and dacs 2017-06-23 17:26:46 +02:00
Dhanya Maliakal
f7e4dbc99e getadc must specify -1 for imod, as imod in multi might be default 0 2017-06-23 17:26:33 +02:00
Dhanya Maliakal
57ae305c7d parallelized enabledatastreaming 2017-06-22 16:59:41 +02:00
Dhanya Maliakal
5d75d8371b unnecessary printout 2017-06-22 16:59:18 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
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
Dhanya Maliakal
931e750d65 fixed gui starting up without the config file 2017-06-22 15:26:00 +02:00
Dhanya Maliakal
697fc5b85e updaterev 2017-06-22 14:36:22 +02:00
Dhanya Maliakal
cd86c708dc updaterev 2017-06-22 14:36:02 +02:00
Dhanya Maliakal
cffdf7fede updaterev 2017-06-22 14:33:24 +02:00
Dhanya Maliakal
c05b89a77d updating exe 2017-06-22 14:32:52 +02:00
Dhanya Maliakal
f66950d312 fixed the 9m master server having to be rebooted for hv to work 2017-06-22 14:32:24 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
1dc774d229 comments 2017-06-21 17:08:47 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
fe73e09aa4 removing unnecessary printouts, ensuring lost packets are 0xff 2017-06-21 17:05:47 +02:00
Dhanya Maliakal
b2caec384f removing receiver print config from gui 2017-06-21 17:03:41 +02:00
Dhanya Maliakal
1c221d5844 insignificant uncommented gui in makefile 2017-06-20 12:47:25 +02:00
Dhanya Maliakal
8b3864969c updated server exe 2017-06-20 12:45:13 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
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
Dhanya Maliakal
48f853aa1a fixed gui getting stuck (wrong datathreadmask more than 64 bits cuz of 72 sockets) 2017-06-20 12:38:59 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
68bbea17d1 removed fifo buffer size print out (fifo buffer size removed earlier) 2017-06-19 14:20:17 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
3007694b77 bug (from eiger_newheader) with imagesize of fifo different from actual image size 2017-06-16 13:53:27 +02:00
Dhanya Maliakal
c2af014dad new server 2017-06-14 12:07:58 +02:00
Dhanya Maliakal
a46a8cc686 updaterev 2017-06-14 11:41:11 +02:00
Dhanya Maliakal
9ab2c1eb1f new server 2017-06-14 11:40:35 +02:00
Dhanya Maliakal
84d07a3e0c updaterev 2017-06-14 11:39:07 +02:00
Dhanya Maliakal
8d6ceccf87 updaterev 2017-06-14 11:38:28 +02:00
Dhanya Maliakal
5176ad521f merged with annas, removed a <<< head merge conflict 2017-06-14 11:36:44 +02:00
Dhanya Maliakal
feb1ef4ea5 Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detector_software into developer 2017-06-14 11:28:24 +02:00
Dhanya Maliakal
00e742e0e0 took out also the ADC and serialspi 2017-06-14 11:28:16 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
1537bb3298 more detail in printf 2017-06-13 12:59:26 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
3d8903b2da updaterev 2017-06-12 18:54:58 +02:00
Dhanya Maliakal
7f01ccc83f updaterev 2017-06-12 18:53:42 +02:00
Dhanya Maliakal
e1eba8dec3 new servers 2017-06-12 18:53:18 +02:00
Dhanya Maliakal
3fbbeea434 update rev 2017-06-12 18:51:52 +02:00
Dhanya Maliakal
47e5504203 updaterev 2017-06-12 18:50:55 +02:00
Dhanya Maliakal
d41abc2b1c added new jungfraustructure, wiht common detector tcp interface 2017-06-12 18:50:18 +02:00
Dhanya Maliakal
b46da37932 new server for change in cleanup of servers 2017-06-12 18:39:06 +02:00
Dhanya Maliakal
d862f10d5c Merge branch 'developer' into jungfrau_cleanup 2017-06-12 18:30:56 +02:00
Dhanya Maliakal
74ca3fcc9a jungfrau server works 2017-06-12 18:27:59 +02:00
Dhanya Maliakal
73c97f1381 solved many bugs, but cannot get data in eiger 2017-06-09 16:05:40 +02:00
Dhanya Maliakal
f516d24089 solved many bugs, but cannot get data in eiger 2017-06-09 16:05:22 +02:00
Dhanya Maliakal
132a9bbfe9 solved many bugs, but cannot get data in eiger 2017-06-09 16:02:58 +02:00
Dhanya Maliakal
e10bf9d897 done, but need to compile 2017-06-09 11:42:32 +02:00
Dhanya Maliakal
c755a8974c done, but need to compile 2017-06-09 11:42:25 +02:00
Dhanya Maliakal
0254ff0281 cleaning up of servers 2017-06-02 19:29:34 +02:00
Dhanya Maliakal
2465eafff0 somewhere in between 2017-05-30 19:00:11 +02:00
Gemma Tinti
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
Dhanya Maliakal
f74710998d mannnnyyyy changes to jungfrau serverin structure, also to eiger structure a bit 2017-05-26 18:14:44 +02:00
Gemma Tinti
db75f1c81e manual, rate corr 2017-05-26 17:47:08 +02:00
Dhanya Maliakal
046ac97a9b now need to move it to a new server 2017-05-24 17:42:33 +02:00
Dhanya Maliakal
b8f0dd5f38 cleaned most of it, just need confirmation from carlos 2017-05-24 17:33:03 +02:00
Dhanya Maliakal
0ea61a1e3f somewhere 2017-05-24 11:05:37 +02:00
Dhanya Maliakal
c012f2cda3 change for eiger 10g to work 2017-05-23 10:09:35 +02:00
Dhanya Maliakal
978af1009e somewhere in between cleaning up 2017-05-22 14:53:15 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
06d60c981d memset of the entire memory in the beginning, cuz mpc2012 shows leak at runtime 2017-05-19 13:45:15 +02:00
Dhanya Maliakal
0e2d0f07e8 getting hostname from ip (for all, cuz hostname can have dots too 2017-05-19 10:21:33 +02:00
Dhanya Maliakal
e8e9e12302 changes to header old and new, still memory leak for jungfrau 2017-05-19 10:16:16 +02:00
Dhanya Maliakal
781fea0a96 fifo fill level included 2017-05-18 16:01:35 +02:00
Dhanya Maliakal
4aa73c607f print loss 2017-05-18 13:59:40 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
ea875a14f9 fixed bug when rx_hostname was an ip and using zmqsocket 2017-05-17 15:58:12 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
4633c142a8 hdf5 by default disabled in makefile 2017-05-16 14:49:37 +02:00
Dhanya Maliakal
001d6415bf removing thread prioritization for writer, streamer and tcp threads 2017-05-16 14:45:48 +02:00
Dhanya Maliakal
a182ca3660 jungfrau end column fixed 2017-05-16 11:18:36 +02:00
Dhanya Maliakal
bd363b2c93 jungfrau finally works with new header 2017-05-15 17:02:37 +02:00
Dhanya Maliakal
205a3780d5 changes for jungfrau new header 2017-05-15 15:00:04 +02:00
Dhanya Maliakal
5e82b50a00 to not include hdf5 if no is given in Makefile.include 2017-05-12 15:29:34 +02:00
Dhanya Maliakal
476f3162af including hardcoded xcord from software 2017-05-12 14:50:20 +02:00
Dhanya Maliakal
b7291dffb9 hdf5 basic works 2017-05-12 14:33:01 +02:00
Dhanya Maliakal
15424149cd removed leak from postprocessing, moved delete task to earlier in threadpool and deleting threadpool 2017-05-12 10:32:16 +02:00
Dhanya Maliakal
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
Dhanya Maliakal
95bf19a417 deleting socket and insignificant changes 2017-05-08 15:08:59 +02:00
Dhanya Maliakal
8471765e30 insignificant 2017-05-08 14:48:29 +02:00
Dhanya Maliakal
6d7fb07a4c fixing the standard header pointers for it to work 2017-05-08 12:33:31 +02:00
Dhanya Maliakal
1e8c7bd637 not necessary to check file name 2017-05-08 12:33:00 +02:00
Dhanya Maliakal
a1fc93b398 changes including warnings and zmq 2017-05-04 17:52:58 +02:00
Dhanya Maliakal
0722ef3125 changes including warnings and zmq 2017-05-04 17:52:47 +02:00
Dhanya Maliakal
49b4ae2f56 changed zmq method, and resolved warnings and from esrf 2017-05-03 17:57:56 +02:00
Dhanya Maliakal
e2d1d58acf Alejandro changes from ESRF 2017-05-02 08:36:36 +02:00
Dhanya Maliakal
44339d3b89 c_Str() not access global variables from thread 2017-05-02 08:25:45 +02:00
Dhanya Maliakal
404bb4a653 changed -lpthread to -pthread 2017-05-02 08:15:11 +02:00
Dhanya Maliakal
066550d38c zmq changes for no dummy data end 2017-05-01 14:02:13 +02:00
Dhanya Maliakal
020eaded36 Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detector_software into developer 2017-05-01 13:11:16 +02:00
Dhanya Maliakal
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
l_lopez
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
Dhanya Maliakal
e9f6dcf479 strtok is not thread safe..used to set receiver udp ip etc to detector, fixed 2017-05-01 10:24:16 +02:00
Dhanya Maliakal
264485c8ff changed all -lpthread to -pthread 2017-05-01 09:53:37 +02:00
Dhanya Maliakal
3525bb3f9f changed all -lpthread to -pthread 2017-05-01 09:44:33 +02:00
Dhanya Maliakal
78d1504d66 changed all -lpthread to -pthread 2017-05-01 09:39:19 +02:00
Dhanya Maliakal
c6cb499758 added the jungfrau binary 2017-04-28 13:41:08 +02:00
Dhanya Maliakal
bc57ea5725 added the binary 2017-04-28 11:31:12 +02:00
Dhanya Maliakal
27f752ff9e removed wrong edits in merging (not reflected in git browser, weird); changing server names anyway 2017-04-28 11:30:09 +02:00
Dhanya Maliakal
b401a6c33b in between stage 2017-04-04 11:20:38 +02:00
Gemma Tinti
faefcc4799 Merge branch '2.3' into developer 2017-03-29 11:25:28 +02:00
Gemma Tinti
671587c029 manual 2017-03-29 10:09:52 +02:00
Dhanya Maliakal
fb0b0b96ec need to automize parameter passing 2017-03-24 16:58:17 +01:00
Dhanya Maliakal
72d89fefc3 modified release 2017-03-24 16:58:00 +01:00
Dhanya Maliakal
a11313fe96 removed copies 2017-03-24 15:15:30 +01:00
Dhanya Maliakal
aba3a67b80 Merge branch '2.3' into developer 2017-03-24 14:20:38 +01:00
Dhanya Maliakal
2bb8fa596a from the merge of 2.3 2017-03-24 12:22:49 +01:00
Dhanya Maliakal
bb52676f50 merged from 2.3 without udpstandard 2017-03-24 10:34:31 +01:00
Dhanya Maliakal
536f8937cb merging 2017-03-24 09:10:09 +01:00
Dhanya Maliakal
e8b14f8c8a done 2017-03-24 08:26:10 +01:00
Dhanya Maliakal
aca09bcd4e done 2017-03-24 08:25:50 +01:00
Dhanya Maliakal
fdb4fa28db retrying 2017-03-24 08:22:50 +01:00
Dhanya Maliakal
93362963e2 removed changes for test 2017-03-24 08:12:38 +01:00
Dhanya Maliakal
33a7375c72 changes to test 2017-03-24 08:12:10 +01:00
Dhanya Maliakal
97bad0fcb9 changes 2017-03-24 08:06:09 +01:00
Dhanya Maliakal
059711af37 retrying a test 2017-03-24 07:59:36 +01:00
Dhanya Maliakal
f0c5106764 trying a test 2017-03-24 07:59:14 +01:00
Dhanya Maliakal
4182615aa9 trying a test 2017-03-24 07:58:27 +01:00
Dhanya Maliakal
ff2c42e921 Merge branch '2.3' into developer 2017-03-23 15:38:48 +01:00
Dhanya Maliakal
b9eb3d5a52 somewere stuck with virtual template overloading 2017-03-23 11:56:17 +01:00
Dhanya Maliakal
78078f4ef3 esrf suggestion for volatile in multithread threadpool 2017-03-23 11:55:56 +01:00
Gemma Tinti
ea66f2d12f manual 2017-03-20 14:51:18 +01:00
Gemma Tinti
de16c2a7f1 manual 2017-03-20 12:42:28 +01:00
Dhanya Maliakal
911ff49238 changes for merges from 2.3 incl standard packet header 2017-03-20 11:22:07 +01:00
Dhanya Maliakal
6731c39ce2 Merge branch 'developer' of git.psi.ch:sls_detectors_software/sls_detectors_package into developer 2017-03-20 10:48:54 +01:00
Dhanya Maliakal
81eade8ede Merge branch '2.3' into developer 2017-03-20 10:48:38 +01:00
Gemma Tinti
4d5506a0a8 manual 2017-03-15 15:52:19 +01:00
Dhanya Maliakal
cad8ffc0c6 resolved the recovering from receiver start error , but still does not acknowledge error in gui 2017-03-10 13:07:33 +01:00
Dhanya Maliakal
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
Dhanya Maliakal
2ef44ec70b somewhere 2017-03-10 10:51:47 +01:00
Dhanya Maliakal
978b54dff9 somewhere 2017-03-10 10:51:37 +01:00
Dhanya Maliakal
300b014f73 somewhere 2017-03-10 10:51:28 +01:00
Dhanya Maliakal
1e94ec0c6a fixed short gotthard 2017-03-09 13:28:03 +01:00
Dhanya Maliakal
86018684c9 made it work for gotthard 2017-03-09 11:40:48 +01:00
Dhanya Maliakal
300bf85dae uncommented extra comments 2017-03-09 11:40:26 +01:00
Gemma Tinti
0ff79b7d5a manual 2017-03-09 09:21:50 +01:00
Dhanya Maliakal
0dccd78567 not yet gotthard 2017-03-08 14:37:00 +01:00
Dhanya Maliakal
0e4c7a9494 adjusted for jungfrau 2017-03-07 14:59:38 +01:00
Dhanya Maliakal
679e747b5c Merge branch '2.3-rc' into developer 2017-03-07 07:30:40 +01:00
Gemma Tinti
daaf13d99c manual with new calibration scheme 2017-03-03 16:45:25 +01:00
Dhanya Maliakal
50f8366bc2 small changes for jungfrau, but also for the gui 2017-03-03 15:57:48 +01:00
Dhanya Maliakal
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
Dhanya Maliakal
85cc0d8184 Merge branch 'developer' into hdf5 2017-03-03 10:09:44 +01:00
Dhanya Maliakal
7e00d9f395 Merge branch 'developer' into hdf5 2017-03-03 10:06:34 +01:00
Dhanya Maliakal
bd7f3567f8 Merge branch 'developer' into hdf5 2017-03-03 09:33:53 +01:00
Dhanya Maliakal
bd0f72c60e removed std:: in front of round, else compile error 2017-03-03 09:12:19 +01:00
Dhanya Maliakal
2505369c08 updaterev 2017-03-03 09:07:46 +01:00
Dhanya Maliakal
ab4572f544 updaterev 2017-03-03 09:07:36 +01:00
Dhanya Maliakal
80fb0a99a8 Merge branch '2.3-rc' into hdf5 2017-03-03 09:06:49 +01:00
Dhanya Maliakal
bdff083402 Merge branch '2.3-rc' into hdf5 2017-03-03 09:05:40 +01:00
Dhanya Maliakal
053e05628f callback 2017-03-03 08:50:55 +01:00
Dhanya Maliakal
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
Dhanya Maliakal
537260879a created virtual datasets for bunchid and subframenumber 2017-03-02 11:43:11 +01:00
Dhanya Maliakal
a7309be567 created links to virtual files in master file 2017-03-01 08:44:43 +01:00
Dhanya Maliakal
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
Dhanya Maliakal
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
Dhanya Maliakal
447c5bb8fe gui works 2017-02-28 13:42:56 +01:00
Dhanya Maliakal
2024eb5d6e gui works 2017-02-28 13:14:18 +01:00
Dhanya Maliakal
cf8b53adff gui works 2017-02-28 13:14:06 +01:00
Dhanya Maliakal
3aac30b8ee added zmqasocket 2017-02-27 16:06:58 +01:00
Dhanya Maliakal
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
Dhanya Maliakal
936dfea8a7 works so far, no gui yet 2017-02-22 12:01:00 +01:00
Dhanya Maliakal
9e21583331 virtual, master all works, still to do rewriting file in an acquisition 2017-02-21 15:13:59 +01:00
Dhanya Maliakal
19460a03f5 sending position id and num detectors in x and y dir 2017-02-21 15:13:27 +01:00
Gemma Tinti
72c2fbee9c manual eiger 2017-02-21 09:20:16 +01:00
Dhanya Maliakal
2cd38fefcd master hdf5 does not work, but so far good 2017-02-16 12:48:15 +01:00
Dhanya Maliakal
549e346ad4 Merge branch '2.3-rc' into hdf5 2017-02-10 11:56:37 +01:00
Dhanya Maliakal
54f92fb26c changed namings 2017-02-10 10:41:01 +01:00
Dhanya Maliakal
b260d08225 somewhere 2017-02-10 10:08:00 +01:00
Dhanya Maliakal
c89f6e649c fnum wrong, need to add file features 2017-02-07 08:52:27 +01:00
Dhanya Maliakal
5287441a65 removed warning 2017-02-07 08:52:05 +01:00
Dhanya Maliakal
9b3f4a3a66 commonFiles/error_defs.h 2017-02-03 14:34:05 +01:00
Dhanya Maliakal
1decd2dd89 Merge branch '2.3-rc' into hdf5 2017-02-03 14:30:09 +01:00
Dhanya Maliakal
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
Dhanya Maliakal
01d54a7a4c Complete rewrite of receiver, with new changes 2017-01-27 15:40:36 +01:00
Dhanya Maliakal
70a7d83175 somewhere 2017-01-18 15:22:05 +01:00
Dhanya Maliakal
f6927ad1bf in between 2017-01-17 10:56:01 +01:00
Dhanya Maliakal
bd31ac1d52 changes to variable name 2017-01-17 10:55:43 +01:00
Dhanya Maliakal
b16d087fd1 Merge branch '2.2-rc' into hdf5 2017-01-06 15:17:40 +01:00
Dhanya Maliakal
3563f0deec Merge branch '2.2-rc' into developer 2017-01-06 15:17:14 +01:00
Dhanya Maliakal
adb5ab5ed1 chunked upto 1000 and new dataset every 10000 2017-01-03 12:11:55 +01:00
Dhanya Maliakal
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
Dhanya Maliakal
d847a289a4 changed progress prints, file naming etc 2016-12-21 10:53:56 +01:00
Dhanya Maliakal
66c488b79a working so far 2016-12-20 14:13:00 +01:00
Dhanya Maliakal
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
Dhanya Maliakal
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
Dhanya Maliakal
ebf44704b2 merged error defs 2016-12-19 11:39:14 +01:00
Dhanya Maliakal
d555bc6e75 fixwed the printing of errors but not error message 2016-12-19 11:33:16 +01:00
Dhanya Maliakal
b5f7dc29af Merge branch '2.2-rc' into hdf5 2016-12-16 15:00:22 +01:00
Dhanya Maliakal
b403aa20a6 Merge branch '2.2-rc' into hdf5 2016-12-16 14:51:08 +01:00
Dhanya Maliakal
33092b6d85 Merge branch '9m_rest' into developer 2016-12-15 14:34:05 +01:00
Dhanya Maliakal
aaab8d697a Merge branch '9m_rest' into hdf5 2016-12-15 14:33:38 +01:00
Dhanya Maliakal
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
Dhanya Maliakal
ae48a0e251 made some groups and force closing 2016-12-15 09:26:25 +01:00
Dhanya Maliakal
62ba3838ef included c++ lib 2016-12-14 18:19:40 +01:00
Dhanya Maliakal
cdcb413241 removed hdf5 c, only c++ 2016-12-14 18:19:29 +01:00
Dhanya Maliakal
f8b34a16dd converted to c++ 2016-12-14 18:15:47 +01:00
Dhanya Maliakal
a971d87008 Merge branch '2.2-rc' into hdf5 2016-12-13 13:23:06 +01:00
Dhanya Maliakal
aba3319427 moving towards c++ api 2016-12-12 14:24:39 +01:00
Dhanya Maliakal
d3200dc76f moving towards c++ api 2016-12-12 14:24:24 +01:00
Dhanya Maliakal
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
595 changed files with 83257 additions and 66868 deletions

10
.gitignore vendored
View File

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

45
.travis.yml Normal file
View File

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

View File

@@ -1,21 +1,57 @@
cmake_minimum_required(VERSION 2.8)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
set (CALIBRATE OFF)
option (USE_HDF5 "HDF5 File format" OFF)
option (USE_TEXTCLIENT "Text Client" OFF)
option (USE_RECEIVER "Receiver" OFF)
option (USE_GUI "GUI" OFF)
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++98 -Wno-misleading-indentation")
else ()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++98")
endif ()
find_package(Qt4)
find_package(Qwt 6)
find_package(CBF)
find_package(Doxygen)
# find_package(PNG REQUIRED)
add_subdirectory(slsDetectorSoftware)
add_subdirectory(slsReceiverSoftware)
add_subdirectory(slsImageReconstruction)
if (QT4_FOUND AND QWT_FOUND)
add_subdirectory(slsDetectorGui)
endif()
if (USE_HDF5)
find_package(HDF5 1.10 COMPONENTS CXX)
endif (USE_HDF5)
if (DEFINED ENV{ROOTSYS})
find_package(ROOT)
if (ROOT_FOUND)
add_subdirectory(calibrationWizards)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_INSTALL_RPATH "$ORIGIN")
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
if (USE_TEXTCLIENT)
add_subdirectory(slsDetectorSoftware)
endif (USE_TEXTCLIENT)
if (USE_RECEIVER)
add_subdirectory(slsReceiverSoftware)
add_subdirectory(manual/manual-api)
endif (USE_RECEIVER)
if (USE_GUI)
if (QT4_FOUND AND QWT_FOUND)
add_subdirectory(slsDetectorGui)
endif()
endif (USE_GUI)
if (CALIBRATE)
if (DEFINED ENV{ROOTSYS})
find_package(ROOT)
if (ROOT_FOUND)
add_subdirectory(calibrationWizards)
endif()
endif()
endif()
endif(CALIBRATE)

103
Makefile Normal file → Executable file
View File

@@ -5,10 +5,11 @@ include Makefile.include
INSTALLROOT ?= $(PWD)
BINDIR ?= $(INSTALLROOT)/bin
DOCDIR ?= $(INSTALLROOT)/docs
DOCDIR ?= $(INSTALLROOT)/manual/docs
LIBDIR ?= $(INSTALLROOT)/bin
INCDIR ?= $(INSTALLROOT)/include
DETAILDOC ?= $(INSTALLROOT)/docs
WD = $(shell pwd)
LIBRARYDIR = $(WD)/slsDetectorSoftware
LIBRARYRXRDIR = $(WD)/slsReceiverSoftware
@@ -18,23 +19,27 @@ RECEIVERDIR = $(LIBRARYRXRDIR)
CALWIZDIR = $(WD)/calibrationWizards
MANDIR = $(WD)/manual
CALIBDIR = $(WD)/slsDetectorCalibration
MANAPIDIR = $(MANDIR)/manual-api
TABSPACE := "\t"
INCLUDES=-I. -I$(LIBRARYDIR)/commonFiles -I$(LIBRARYDIR)/slsDetector -I$(LIBRARYDIR)/usersFunctions -I$(LIBRARYDIR)/multiSlsDetector -I$(LIBRARYDIR)/slsDetectorUtils -I$(LIBRARYDIR)/slsDetectorCommand -I$(LIBRARYDIR)/slsDetectorAnalysis -I$(LIBRARYDIR)/slsReceiverInterface -I$(LIBRARYRXRDIR)/include -I$(LIBRARYDIR)/threadFiles -I$(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$(LIBRARYDIR)/sharedMemory -I$(ASM)
INCLUDESRXR += -I. -I$(LIBRARYRXRDIR)/include -I$(CALIBDIR) -I$(ASM)
#LIBFLAGRXR +=
$(info )
$(info #######################################)
$(info # Compiling slsDetectorsPackage #)
$(info # In slsDetectorsPackage Makefile #)
$(info #######################################)
$(info )
.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
@@ -42,39 +47,62 @@ static: lib libreceiver stextclient sreceiver gui
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:
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
slsDetectorClient: textclient
slsDetectorClient_static: lib
cd $(CLIENTDIR) && $(MAKE) static_clients FLAGS='$(FLAGS)' LIBS='$(LDFLAGDET)' DESTDIR='$(BINDIR)' LIBDIR='$(LIBDIR)' INCLUDES='$(INCLUDES)'
textclient: lib
cd $(CLIENTDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBDIR='$(LIBDIR)' LIBS='$(LDFLAGDET)' INCLUDES='$(INCLUDES)'
slsDetectorClient_static: #lib
cd $(CLIENTDIR) && $(MAKE) static_clients FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBRARYDIR='$(LIBRARYDIR)' LIBS='$(LDFLAGDET)' INCLUDES='$(INCLUDES)' LIBDIR='$(LIBDIR)'
@echo ""
@echo "#######################################"
@echo "# Back in slsDetectorPackage Makefile #"
@echo "#######################################"
@echo ""
textclient: #lib
cd $(CLIENTDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBRARYDIR='$(LIBRARYDIR)' LIBS='$(LDFLAGDET)' INCLUDES='$(INCLUDES)' LIBDIR='$(LIBDIR)'
@echo ""
@echo "#######################################"
@echo "# Back in slsDetectorPackage Makefile #"
@echo "#######################################"
@echo ""
slsReceiver: receiver
slsReceiver_static: receiver
receiver: libreceiver
cd $(RECEIVERDIR) && $(MAKE) receiver FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBDIR='$(LIBDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)'
sreceiver: libreceiver
cd $(RECEIVERDIR) && $(MAKE) static_receiver FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBDIR='$(LIBDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)'
slsDetectorGUI: lib
cd $(GUIDIR) && $(MAKE) DESTDIR='$(BINDIR)' LIBDIR='$(LIBDIR)' INCLUDES='$(INCLUDES)' LDFLAGDET='-L$(LIBDIR) -lSlsDetector'
receiver: #libreceiver
# cd $(RECEIVERDIR) && $(MAKE) receiver FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' LIBDIR='$(LIBDIR)'
cd $(RECEIVERDIR) && $(MAKE) FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' LIBDIR='$(LIBDIR)'
cd $(MANAPIDIR) && $(MAKE) slsMultiReceiver
@echo ""
@echo "#######################################"
@echo "# Back in slsDetectorPackage Makefile #"
@echo "#######################################"
@echo ""
sreceiver: #libreceiver
cd $(RECEIVERDIR) && $(MAKE) static_receiver FLAGS='$(FLAGS)' DESTDIR='$(BINDIR)' LIBS='$(LDFLAGRXR)' INCLUDES='$(INCLUDESRXR)' LIBDIR='$(LIBDIR)'
@echo ""
@echo "#######################################"
@echo "# Back in slsDetectorPackage Makefile #"
@echo "#######################################"
@echo ""
slsDetectorGUI: #lib
cd $(GUIDIR) && $(MAKE) DESTDIR='$(BINDIR)' LIBRARYDIR='$(LIBRARYDIR)' INCLUDES='$(INCLUDES)' LDFLAGDET='$(LDFLAGDETONLY)' LIBDIR='$(LIBDIR)'
@echo ""
@echo "#######################################"
@echo "# Back in slsDetectorPackage Makefile #"
@echo "#######################################"
@echo ""
calWiz:
cd $(CALWIZDIR) && $(MAKE) DESTDIR=$(BINDIR) #FLAGS=$(FLAGS) LDFLAGDET=$(LDFLAGDET) INCLUDES=$(INCLUDES)
@@ -91,6 +119,26 @@ htmldoc:
make doc
$(shell test -d $(DOCDIR) || mkdir -p $(DOCDIR))
cd manual && make html DESTDIR=$(DOCDIR)
detaildoc: createdocs docspdf docshtml removedocs
createdocs: $(LIBRARYDIR)/doxy.config
doxygen $(LIBRARYDIR)/doxy.config
docspdf:
cd slsDetectorPackageDocs/latex && make
$(shell test -d $(DETAILDOC) || mkdir -p $(DETAILDOC))
$(shell test -d $(DETAILDOC)/pdf || mkdir -p $(DETAILDOC)/pdf)
mv slsDetectorPackageDocs/latex/refman.pdf $(DETAILDOC)/pdf/slsDetectorPackageDocs.pdf
docshtml:
$(shell test -d $(DETAILDOC) || mkdir -p $(DETAILDOC))
$(shell test -d $(DETAILDOC)/html || mkdir -p $(DETAILDOC)/html)
$(shell test -d $(DETAILDOC)/html/slsDetectorPackageDocs && rm -r $(DETAILDOC)/html/slsDetectorPackageDocs)
mv slsDetectorPackageDocs/html $(DETAILDOC)/html/slsDetectorPackageDocs
removedocs:
rm -rf slsDetectorPackageDocs;
clean:
@@ -103,7 +151,9 @@ clean:
cd $(CALWIZDIR) && $(MAKE) clean
cd manual && $(MAKE) clean
cd $(DOCDIR) && rm -rf *
rm -rf slsDetectorPackageDocs;
rm -rf $(DETAILDOC)
rm -rf $(MANAPIDIR)/slsMultiReceiver
#install_lib:
@@ -174,7 +224,6 @@ help:
@echo ""
@echo ""
@echo "Makefile variables"
@echo "REST=yes compile REST-aware Receiver (POCO and JsonBox libraries required)"
@echo "DEBUG=1,2 set debug level to 1 (VERBOSE) or 2 (VERYVERBOSE)"
@echo ""
@echo ""

View File

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

View File

@@ -1,44 +1,91 @@
# slsDetector package
### Documentation
Detailed documentation can be found on the [official site.](https://www.psi.ch/detectors/users-support)
### Binaries
Documentation to obtain the binaries via the conda package is available for [lib](https://github.com/slsdetectorgroup/sls_detector_lib) and [gui](https://github.com/slsdetectorgroup/sls_detector_gui)
## Installation
### Get source
The source code is organised into several submodules, and the top level module is
sls_detectors_package.
### Source code
One can also obtain the source code from this repository and compile while realizing the setup dependencies as required.
```
git clone https://github.com/slsdetectorgroup/slsDetectorPackage.git
```
$ git clone git@git.psi.ch:sls_detectors_software/sls_detectors_package.git
$ cd sls_detectors_package
$ ./checkout.sh
```
### Setup dependencies
The GUI client requires Qt 4.8 and Qwt 6.0
#### Setup dependencies
* Gui Client <br>
Requirements: Qt 4.8 and Qwt 6.0
```
export QTDIR=/usr/local/Trolltech/
export QWTDIR=/usr/local/qwt-6.0.1/
```
If either of them does not exist, the GUI client will not be built.
The calibration wizards require ROOT
* Advanced user Calibration wizards<br>
Requirements: ROOT
```
export ROOTSYS=/usr/local/root-5.34
```
### Compile
Use cmake to create out-of-source builds, by creating an build folder parallel to source directory.
#### Compilation
Compiling can be done in two ways.
**1. Compile using script cmk.sh**<br>
After compiling, the libraries and executables will be found in `slsDetectorPackage/build/bin` directory<br>
Usage: [-c] [-b] [-h] [-d HDF5 directory] [-j]<br>
* -[no option]: only make<br>
* -c: Clean<br>
* -b: Builds/Rebuilds CMake files normal mode<br>
* -h: Builds/Rebuilds Cmake files with HDF5 package<br>
* -d: HDF5 Custom Directory<br>
* -t: Build/Rebuilds only text client<br>
* -r: Build/Rebuilds only receiver<br>
* -g: Build/Rebuilds only gui<br>
* -j: Number of threads to compile through<br>
* -e: Debug mode
Basic Option:
./cmk.sh -b
For only make:
./cmk.sh
For make clean;make:
./cmk.sh -c
For using hdf5 without custom dir /blabla:
./cmk.sh -h -d /blabla
For rebuilding cmake without hdf5
./cmk.sh -b
For using multiple cores to compile faster:
./cmk.sh -j9<br>
For rebuilding only certain sections<br>
./cmk.sh -tg #only text client and gui<br>
./cmk.sh -r #only receiver<br>
**2. Compile without script**<br>
Use cmake to create out-of-source builds, by creating a build folder parallel to source directory.
```
$ cd ..
$ mkdir sls_detectors_package-build
$ cd sls_detectors_package-build
$ cmake ../sls_detectors_package
$ mkdir slsDetectorPackage-build
$ cd slsDetectorPackage-build
$ cmake ../slsDetectorPackage -DCMAKE_BUILD_TYPE=Debug -DUSE_HDF5=OFF
$ make
```
The libraries and executables will be found at `bin` directory
Use the following as an example to compile statically and using specific hdf5 folder
```
$ HDF5_ROOT=/opt/hdf5v1.10.0 cmake ../slsDetectorPackage -DCMAKE_BUILD_TYPE=Debug -DUSE_HDF5=ON
```
After compiling, the libraries and executables will be found at `bin` directory
```
$ ls bin/
gui_client libSlsDetector.a libSlsDetector.so libSlsReceiver.a libSlsReceiver.so
sls_detector_acquire sls_detector_get slsDetectorGui sls_detector_help sls_detector_put slsReceiver
sls_detector_acquire sls_detector_get slsDetectorGui sls_detector_help sls_detector_put slsReceiver slsMultiReceiver
```

View File

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

View File

@@ -1,17 +0,0 @@
#git clone $1@git.psi.ch:sls_det_software/sls_detectors_package.git slsDetectorsPackage
#cd slsDetectorsPackage
git clone $1@git.psi.ch:sls_detectors_software/sls_detector_software.git slsDetectorSoftware
git clone $1@git.psi.ch:sls_detectors_software/sls_detector_gui.git slsDetectorGui
git clone $1@git.psi.ch:sls_detectors_software/sls_receiver_software.git slsReceiverSoftware
git clone $1@git.psi.ch:sls_detectors_software/sls_detector_calibration.git slsDetectorCalibration
#git clone $1@git.psi.ch:sls_detectors_software/sls_image_reconstruction.git slsImageReconstruction
git clone $1@git.psi.ch:sls_detectors_software/calibration_wizards.git calibrationWizards
#git clone git@git.psi.ch:sls_detectors_software/tests.git tests

View File

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

204
cmk.sh Executable file
View File

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

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

View File

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

View File

@@ -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,18 +1,11 @@
type Gotthard+
0:hostname bchip007
hostname bchip007
#0:port 1952
#0:stopport 1953
#0:rx_tcpport 1956 must also have this in receiver config file
0:settingsdir /home/l_maliakal_d/mySoft/newMythenSoftware/settingsdir/gotthard
0:angdir 1.000000
0:moveflag 0.000000
0:lock 0
0:caldir /home/l_maliakal_d/mySoft/newMythenSoftware/settingsdir/gotthard
0:ffdir /home/l_maliakal_d
0:extsig:0 off
0:extsig:1 off
0:extsig:2 off
0:extsig:3 off
#0:detectorip 129.129.202.9
0:detectormac 00:aa:bb:cc:dd:ee
0:rx_udpport 50004
@@ -23,7 +16,6 @@ type Gotthard+
master -1
sync none
outdir /bigRAID/datadir_gotthard/rec_test_data
ffdir /home/l_maliakal_d
headerbefore none
headerafter none
headerbeforepar none
@@ -32,4 +24,4 @@ badchannels none
angconv none
globaloff 0.000000
binsize 0.001000
threaded 1

View File

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

15
examples/jungfrau.config Normal file
View File

@@ -0,0 +1,15 @@
hostname bchip038+
0:rx_udpport 50004
0:rx_udpip 10.1.1.100
0:detectorip 10.1.1.10
rx_hostname pcmoench01
powerchip 1
#extsig:0 trigger_in_rising_edge
#timing trigger
outdir /external_pool/jungfrau_data/softwaretest

View File

@@ -0,0 +1,25 @@
detsizechan 1024 1024
hostname bchip048+bchip052+
0:rx_udpport 50004
0:rx_udpip 10.1.1.100
0:rx_udpmac F4:52:14:2F:32:00
0:detectorip 10.1.1.10
0:detectormac 00:aa:bb:cc:dd:33
1:rx_tcpport 1955
1:rx_udpport 50005
1:rx_udpip 10.1.1.100
1:rx_udpmac F4:52:14:2F:32:00
1:detectorip 10.1.1.11
1:detectormac 00:aa:bb:cc:dd:33
rx_hostname pcmoench01
powerchip 1
#extsig:0 trigger_in_rising_edge
#timing trigger
outdir /external_pool/jungfrau_data/softwaretest

View File

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

View File

@@ -2,23 +2,17 @@
detsizechan 2560 1
#type Gotthard+
hostname bchip007+bchip009+
#0:hostname bchip007
#0:port 1952
#0:stopport 1953
#0:rx_tcpport 1956
0:settingsdir /home/l_msdetect/dhanya/slsDetectorsPackage/settingsdir/gotthard
0:angdir 1.000000
0:moveflag 0.000000
0:lock 0
0:caldir /home/l_msdetect/dhanya/slsDetectorsPackage/settingsdir/gotthard
0:ffdir /home/l_msdetect
0:extsig:0 off
0:extsig:1 off
0:extsig:2 off
0:extsig:3 off
0:detectorip 10.1.1.2
#0:detectormac 00:aa:bb:cc:dd:ee
#0:rx_udpport 50001
@@ -32,16 +26,11 @@ hostname bchip007+bchip009+
#1:port 1952
#1:stopport 1953
1:rx_tcpport 1957
1:settingsdir /home/l_msdetect/dhanya/slsDetectorsPackage/settingsdir/gotthard
1:angdir 1.000000
1:moveflag 0.000000
1:lock 0
1:caldir /home/l_msdetect/dhanya/slsDetectorsPackage/settingsdir/gotthard
1:ffdir /home/l_msdetect
1:extsig:0 off
1:extsig:1 off
1:extsig:2 off
1:extsig:3 off
1:detectorip 10.1.2.2
#1:detectormac 00:aa:bb:cc:dd:ee
1:rx_udpport 50004
@@ -63,4 +52,4 @@ badchannels none
angconv none
globaloff 0.000000
binsize 0.001000
threaded 1

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,35 @@
set(SOURCES
mainReceiver.cpp
)
include_directories(
../../slsReceiverSoftware/include
../../slsDetectorSoftware/slsDetectorAnalysis
../../build/bin
../../slsdetectorSoftware/slsDetector
)
add_executable(slsMultiReceiver
${SOURCES}
)
target_link_libraries(slsMultiReceiver
slsReceiverShared
pthread
zmq
rt
${HDF5_LIBRARIES}
)
if (HDF5_FOUND)
target_link_libraries(slsMultiReceiver
${HDF5_LIBRARIES}
)
endif ()
set_target_properties(slsMultiReceiver PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
)
install(TARGETS slsMultiReceiver DESTINATION bin)

View File

@@ -1,28 +1,62 @@
INCLUDES = -I .
PKGDIR = ../..
LIBDIR = $(PKGDIR)/build/bin
INCLUDES = -I . -I$(PKGDIR)/slsReceiverSoftware/include -I$(PKGDIR)/slsDetectorSoftware/slsDetectorAnalysis -I$(LIBDIR) -I$(PKGDIR)/slsDetectorSoftware/slsDetector
SRC_DET = mainClient.cpp
SRC_REC = mainReceiver.cpp
LIBDIR = ../../bin
LDFLAG_DET = -L$(LIBDIR) -lSlsDetector -L/usr/lib64/ -pthread
LDFLAG_REC = -L$(LIBDIR) -lSlsReceiver -L/usr/lib64/ -pthread
ZMQLIBDIR = $(PKGDIR)/slsReceiverSoftware/include
LDFLAG_DET = -I. -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsDetector -L/usr/lib64/ -pthread -lrt -L$(ZMQLIBDIR) -Wl,-rpath=$(ZMQLIBDIR) -lzmq
LDFLAG_REC = -I. -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsReceiver -L/usr/lib64/ -pthread -lrt -L$(ZMQLIBDIR) -Wl,-rpath=$(ZMQLIBDIR) -lzmq
DESTDIR ?= ../docs
HDF5 ?= no
HDF5_DIR ?= /opt/hdf5v1.10.0
#all: detUser detReceiver
all: docs
ifeq ($(HDF5),yes)
LDFLAG_REC += -L$(HDF5_DIR)/lib -Wl,-rpath=$(HDF5_DIR)/lib -lhdf5 -lhdf5_cpp -lsz -lz -DHDF5C
endif
docs:
doxygen slsDetectorUsers.doxy
all: docs detUser slsMultiReceiver
#all: docs
docs: createdocs docspdf docshtml removedocs
createdocs: slsDetectorUsers.doxy mainClient.cpp mainReceiver.cpp
doxygen slsDetectorUsers.doxy
docspdf:
cd slsDetectorUsersDocs/latex && make
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
mv slsDetectorUsersDocs/latex/refman.pdf $(DESTDIR)/pdf/slsDetectorUsersDocs.pdf
docshtml:
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
$(shell test -d $(DESTDIR)/html/slsDetectorUsersDocs && rm -r $(DESTDIR)/html/slsDetectorUsersDocs)
mv slsDetectorUsersDocs/html $(DESTDIR)/html/slsDetectorUsersDocs
removedocs:
rm -rf slsDetectorUsersDocs;
detUser:$(SRC_DET)
echo "creating client"
g++ -o detUser $(SRC_DET) $(INCLUDES) $(LDFLAG_DET) -lm -lstdc++
mkdir -p bin
g++ -o bin/detUser $(SRC_DET) $(INCLUDES) $(LDFLAG_DET) -lm -lstdc++
detReceiver:$(SRC_REC)
slsMultiReceiver:$(SRC_REC)
echo "creating receiver"
g++ -o detReceiver $(SRC_REC) $(INCLUDES) $(LDFLAG_REC) -lm -lstdc++
echo $LDFLAG_REC
mkdir -p bin
g++ -o bin/slsMultiReceiver $(SRC_REC) $(INCLUDES) $(LDFLAG_REC) -lm -lstdc++
cp bin/slsMultiReceiver $(LIBDIR)
clean:
echo "cleaning"
rm -rf detUser detReceiver slsDetectorUsersDocs
echo "cleaning for manual-api"
rm -rf bin/detUser bin/slsMultiReceiver bin/detReceiver slsDetectorUsersDocs
rm -rf slsDetectorUsersDocs
rm -rf $(DESTDIR)/html/slsDetectorUsersDocs
rm -rf $(DESTDIR)/pdf/slsDetectorUsersDocs.pdf
rm -rf $(LIBDIR)/slsMultiReceiver

Binary file not shown.

Binary file not shown.

View File

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

View File

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

View File

@@ -4,97 +4,103 @@
This file is an example of how to implement the slsDetectorUsers class
You can compile it linking it to the slsDetector library
gcc mainClient.cpp -L lib -l SlsDetector -lm -pthread
g++ mainClient.cpp -L lib -lSlsDetector -L/usr/lib64/ -L lib2 -lzmq -pthread -lrt -lm -lstdc++
where lib is the location of libSlsDetector.so
where,
*/
lib is the location of libSlsDetector.so
lib2 is the location of the libzmq.a.
[ libzmq.a is required only when using data call backs and enabling data streaming from receiver to client.
It is linked in manual/manual-api from slsReceiverSoftware/include ]
*/
#include <iostream>
#include "slsDetectorUsers.h"
#include "detectorData.h"
#include <iostream>
#include <cstdlib>
/** Definition of the data callback which simply prints out the number of points received and teh frame number */
int dataCallback(detectorData *pData, int iframe, void *pArg)
/**
* Data Call back function defined
* @param pData pointer to data structure received from the call back
* @param iframe frame number of data passed
* @param isubframe sub frame number of data passed ( only valid for EIGER in 32 bit mode)
* @param pArg pointer to object
* \returns integer that is currently ignored
*/
int dataCallback(detectorData *pData, int iframe, int isubframe, void *pArg)
{
std::cout << "dataCallback: " << pData->npoints << " " << pData->npy << "Frame number: " << iframe << std::endl;
std::cout << " DataCallback:"
<< "\n nx : " << pData->npoints
<< "\n ny : " << pData->npy
<< "\n Frame number : " << iframe << std::endl;
}
/**example of a main program using the slsDetectorUsers class */
int main(int argc, char *argv[]) {
int id=0;
int status;
/** if specified, argv[2] is used as detector ID (default is 0)*/
if (argc>=3)
id=atoi(argv[2]);
/**
* Example of a main program using the slsDetectorUsers class
*
* - Arguments are optional
* - argv[1] : Configuration File
* - argv[2] : Measurement Setup File
* - argv[3] : Detector Id (default is zero)
*/
int main(int argc, char **argv) {
/** - if specified, set ID from argv[3] */
int id=0;
if (argc>=4)
id=atoi(argv[3]);
/** slsDetectorUsers is instantiated */
slsDetectorUsers *pDetector = new slsDetectorUsers (id);
/** - slsDetectorUsers Object is instantiated with appropriate ID */
int ret = 1;
slsDetectorUsers *pDetector = new slsDetectorUsers (ret, id);
if (ret == 1) {
std::cout << "Error: Could not instantiate slsDetectorUsers" << std::endl;
return EXIT_FAILURE;
}
/** if specified, argv[1] is used as detector config file (necessary at least the first time it is called to properly configure advanced settings in the shared memory)*/
if (argc>=2)
pDetector->readConfigurationFile(argv[1]);
/** Setting the detector online (should be by default */
pDetector->setOnline(1);
/** Load setup file if argv[2] specified */
if (argc>=3)
pDetector->retrieveDetectorSetup( argv[2]);
else{
/** defining the detector size */
int minX, minY=0, sizeX, sizeY=1;
pDetector->getDetectorSize(minX, minY, sizeX, sizeY);
std::cout << "X: Start=" << minX << ", Size= " << sizeX << std::endl;
std::cout << "Y: Start=" << minY << ", Size= " << sizeY << std::endl;
pDetector->setDetectorSize(0,0,7680,1);
std::cout << pDetector->getDetectorDeveloper() << std::endl;
/** - if specified, load configuration file (necessary at least the first time it is called to properly configure advanced settings in the shared memory) */
if (argc>=2){
pDetector->readConfigurationFile(argv[1]);
std::cout << "Detector configured" << std::endl;
}
/** registering data callback */
pDetector->registerDataCallback(&dataCallback, NULL);
/** - set detector in shared memory online (in case no config file was used) */
pDetector->setOnline(1);
/** checking detector status and exiting if not idle */
status = pDetector->getDetectorStatus();
if (status != 0){
std::cout << "Detector not ready: " << slsDetectorUsers::runStatusType(status) << std::endl;
return 1;
}
/** - set receiver in shared memory online (in case no config file was used) */
pDetector->setReceiverOnline(1);
/** checking and setting detector settings */
std::cout << "settings: " << slsDetectorUsers::getDetectorSettings(pDetector->setSettings()) << std::endl;
pDetector->setSettings(slsDetectorUsers::getDetectorSettings("veryhighgain"));
std::cout << "settings: " << slsDetectorUsers::getDetectorSettings(pDetector->setSettings()) << std::endl;
/** - registering data callback */
pDetector->registerDataCallback(&dataCallback, NULL);
/** Settings exposure time to 10ms */
pDetector->setExposureTime(10000000);
/** Settings exposure time to 100ms */
pDetector->setExposurePeriod(100000000);
/** Settingsnumber of frames to 30 */
pDetector->setNumberOfFrames(30);
}
/** start measurement */
pDetector->startMeasurement();
/** - ensuring detector status is idle before starting acquisition. exiting if not idle */
int status = pDetector->getDetectorStatus();
if (status != 0){
std::cout << "Detector not ready: " << slsDetectorUsers::runStatusType(status) << std::endl;
return 1;
}
while (1) {
usleep(100000);
status = pDetector->getDetectorStatus();
if (status == 0 || status == 1|| status == 3)
break;
}
/** - if provided, load detector settings */
if (argc>=3){
pDetector->retrieveDetectorSetup(argv[2]);
std::cout << "Detector measurement set-up done" << std::endl;
}
char *temp[] = {"receiver", NULL};
/** returning when acquisition is finished or data are avilable */
std::cout << "answer to a get command:" << pDetector->getCommand(1,temp,0) << std::endl;
delete pDetector;
return 0;
/** - start measurement */
pDetector->startMeasurement();
std::cout << "measurement finished" << std::endl;
/** - returning when acquisition is finished or data are avilable */
/** - delete slsDetectorUsers object */
delete pDetector;
return 0;
}

View File

@@ -1,103 +1,306 @@
/* A simple server in the internet domain using TCP
The port number is passed as an argument
*/
/**
\file mainReceiver.cpp
\file mainReceiver.cpp
This file is an example of how to implement the slsReceiverUsers class
You can compile it linking it to the slsReceiver library
This file is an example of how to implement the slsDetectorUsers class
You can compile it linking it to the slsDetector library
g++ mainReceiver.cpp -L lib -lSlsReceiver -L/usr/lib64/ -L lib2 -lzmq -pthread -lrt -lm -lstdc++
gcc mainReceiver.cpp -L lib -l SlsDetector -lm -pthread
where,
where lib is the location of libSlsDetector.so
lib is the location of lSlsReceiver.so
*/
lib2 is the location of the libzmq.a.
[ libzmq.a is required only when using data call backs and enabling data streaming from receiver to client.
It is linked in manual/manual-api from slsReceiverSoftware/include ]
*/
#include "sls_receiver_defs.h"
#include "slsReceiverUsers.h"
#include <iostream>
#include <string.h>
#include <signal.h> //SIGINT
#include <cstdlib> //system
//#include "utilities.h"
//#include "logger.h"
#include <sys/types.h> //wait
#include <sys/wait.h> //wait
#include <string>
#include <unistd.h> //usleep
#include <errno.h>
#include <syscall.h> //tid
using namespace std;
int main(int argc, char *argv[]) {
int ret = 0;
/** Define Colors to print data call back in different colors for different recievers */
#define PRINT_IN_COLOR(c,f, ...) printf ("\033[%dm" f RESET, 30 + c+1, ##__VA_ARGS__)
/*
Instantiate the slsReceieverUsers class
The port number is passed as an argument
*/
slsReceiverUsers *receiver = new slsReceiverUsers(argc, argv, ret);
/*
return if could not open TCP socket for interfacing to client
*/
if(ret==1)
return -1;
/** Variable is true to continue running, set to false upon interrupt */
bool keeprunning;
/*register callbacks */
/*
callback arguments are
filepath
filename
fileindex
datasize
return value is
0 raw data ready callback takes care of open,close,write file
1 callback writes file, we have to open, close it
2 we open, close, write file, callback does not do anything
registerCallBackStartAcquisition(int (*func)(char*, char*,int, int, void*),void *arg);
*/
//receiver->registerCallBackStartAcquisition(func,arg);
/*
callback argument is
total farmes caught
registerCallBackAcquisitionFinished(void (*func)(int, void*),void *arg);
*/
//receiver->registerCallBackAcquisitionFinished(func,arg);
/*
args to raw data ready callback are
framenum
datapointer
file descriptor
guidatapointer (NULL, no data required)
NEVER DELETE THE DATA POINTER
REMEMBER THAT THE CALLBACK IS BLOCKING
registerCallBackRawDataReady(void (*func)(int, char*, FILE*, char*, void*),void *arg);
*/
//receiver->registerCallBackRawDataReady(func,arg);
/* start receiver to listen for commands from the client (and data from detectors when expected */
receiver->start();
/** sleep for 10 s*/
usleep(10000000);
/** stop udp socket and tcp socket and thread */
receiver->stop();
return 0;
/**
* Control+C Interrupt Handler
* Sets the variable keeprunning to false, to let all the processes know to exit properly
*/
void sigInterruptHandler(int p){
keeprunning = false;
}
/**
* prints usage of this example program
*/
void printHelp() {
cprintf(RESET, "Usage:\n"
"./slsMultiReceiver(detReceiver) [start_tcp_port] [num_receivers] [1 for call back, 0 for none]\n\n");
exit(EXIT_FAILURE);
}
/**
* Start Acquisition Call back
* slsReceiver writes data if file write enabled.
* Users get data to write using call back if registerCallBackRawDataReady is registered.
* @param filepath file path
* @param filename file name
* @param fileindex file index
* @param datasize data size in bytes
* @param p pointer to object
* \returns ignored
*/
int StartAcq(char* filepath, char* filename, uint64_t fileindex, uint32_t datasize, void*p){
cprintf(BLUE, "#### StartAcq: filepath:%s filename:%s fileindex:%llu datasize:%u ####\n",
filepath, filename, (long long unsigned int)fileindex, datasize);
cprintf(BLUE, "--StartAcq: returning 0\n");
return 0;
}
/**
* Acquisition Finished Call back
* @param frames Number of frames caught
* @param p pointer to object
*/
void AcquisitionFinished(uint64_t frames, void*p){
cprintf(BLUE, "#### AcquisitionFinished: frames:%llu ####\n",(long long unsigned int)frames);
}
/**
* Get Receiver Data Call back
* Prints in different colors(for each receiver process) the different headers for each image call back.
* @param metadata sls_receiver_header metadata
* @param datapointer pointer to data
* @param datasize data size in bytes.
* @param p pointer to object
*/
void GetData(char* metadata, char* datapointer, uint32_t datasize, void* p){
slsReceiverDefs::sls_receiver_header* header = (slsReceiverDefs::sls_receiver_header*)metadata;
slsReceiverDefs::sls_detector_header detectorHeader = header->detHeader;
PRINT_IN_COLOR (detectorHeader.modId?detectorHeader.modId:detectorHeader.row,
"#### %d GetData: ####\n"
"frameNumber: %llu\t\texpLength: %u\t\tpacketNumber: %u\t\tbunchId: %llu"
"\t\ttimestamp: %llu\t\tmodId: %u\t\t"
"row: %u\t\tcolumn: %u\t\treserved: %u\t\tdebug: %u"
"\t\troundRNumber: %u\t\tdetType: %u\t\tversion: %u"
//"\t\tpacketsMask:%s"
"\t\tfirstbytedata: 0x%x\t\tdatsize: %u\n\n",
detectorHeader.row, (long long unsigned int)detectorHeader.frameNumber,
detectorHeader.expLength, detectorHeader.packetNumber, (long long unsigned int)detectorHeader.bunchId,
(long long unsigned int)detectorHeader.timestamp, detectorHeader.modId,
detectorHeader.row, detectorHeader.column, detectorHeader.reserved,
detectorHeader.debug, detectorHeader.roundRNumber,
detectorHeader.detType, detectorHeader.version,
//header->packetsMask.to_string().c_str(),
((uint8_t)(*((uint8_t*)(datapointer)))), datasize);
}
/**
* Get Receiver Data Call back (modified)
* Prints in different colors(for each receiver process) the different headers for each image call back.
* @param metadata sls_receiver_header metadata
* @param datapointer pointer to data
* @param datasize data size in bytes.
* @param revDatasize new data size in bytes after the callback.
* This will be the size written/streamed. (only smaller value is allowed).
* @param p pointer to object
*/
void GetData(char* metadata, char* datapointer, uint32_t &revDatasize, void* p){
slsReceiverDefs::sls_receiver_header* header = (slsReceiverDefs::sls_receiver_header*)metadata;
slsReceiverDefs::sls_detector_header detectorHeader = header->detHeader;
PRINT_IN_COLOR (detectorHeader.modId?detectorHeader.modId:detectorHeader.row,
"#### %d GetData: ####\n"
"frameNumber: %llu\t\texpLength: %u\t\tpacketNumber: %u\t\tbunchId: %llu"
"\t\ttimestamp: %llu\t\tmodId: %u\t\t"
"row: %u\t\tcolumn: %u\t\treserved: %u\t\tdebug: %u"
"\t\troundRNumber: %u\t\tdetType: %u\t\tversion: %u"
//"\t\tpacketsMask:%s"
"\t\tfirstbytedata: 0x%x\t\tdatsize: %u\n\n",
detectorHeader.row, (long long unsigned int)detectorHeader.frameNumber,
detectorHeader.expLength, detectorHeader.packetNumber, (long long unsigned int)detectorHeader.bunchId,
(long long unsigned int)detectorHeader.timestamp, detectorHeader.modId,
detectorHeader.row, detectorHeader.column, detectorHeader.reserved,
detectorHeader.debug, detectorHeader.roundRNumber,
detectorHeader.detType, detectorHeader.version,
//header->packetsMask.to_string().c_str(),
((uint8_t)(*((uint8_t*)(datapointer)))), revDatasize);
// if data is modified, eg ROI and size is reduced
revDatasize = 26000;
}
/**
* Example of main program using the slsReceiverUsers class
*
* - Defines in file for:
* - Default Number of receivers is 1
* - Default Start TCP port is 1954
*/
int main(int argc, char *argv[]) {
/** - set default values */
int numReceivers = 1;
int startTCPPort = 1954;
int withCallback = 0;
keeprunning = true;
/** - get number of receivers and start tcp port from command line arguments */
if ( (argc != 4) || (!sscanf(argv[1],"%d", &startTCPPort)) || (!sscanf(argv[2],"%d", &numReceivers)) || (!sscanf(argv[3],"%d", &withCallback)) )
printHelp();
cprintf(BLUE,"Parent Process Created [ Tid: %ld ]\n", (long)syscall(SYS_gettid));
cprintf(RESET, "Number of Receivers: %d\n", numReceivers);
cprintf(RESET, "Start TCP Port: %d\n", startTCPPort);
cprintf(RESET, "Callback Enable: %d\n", withCallback);
/** - Catch signal SIGINT to close files and call destructors properly */
struct sigaction sa;
sa.sa_flags=0; // no flags
sa.sa_handler=sigInterruptHandler; // handler function
sigemptyset(&sa.sa_mask); // dont block additional signals during invocation of handler
if (sigaction(SIGINT, &sa, NULL) == -1) {
cprintf(RED, "Could not set handler function for SIGINT\n");
}
/** - Ignore SIG_PIPE, prevents global signal handler, handle locally,
instead of a server crashing due to client crash when writing, it just gives error */
struct sigaction asa;
asa.sa_flags=0; // no flags
asa.sa_handler=SIG_IGN; // handler function
sigemptyset(&asa.sa_mask); // dont block additional signals during invocation of handler
if (sigaction(SIGPIPE, &asa, NULL) == -1) {
cprintf(RED, "Could not set handler function for SIGPIPE\n");
}
/** - loop over number of receivers */
for (int i = 0; i < numReceivers; ++i) {
/** - fork process to create child process */
pid_t pid = fork();
/** - if fork failed, raise SIGINT and properly destroy all child processes */
if (pid < 0) {
cprintf(RED,"fork() failed. Killing all the receiver objects\n");
raise(SIGINT);
}
/** - if child process */
else if (pid == 0) {
cprintf(BLUE,"Child process %d [ Tid: %ld ]\n", i, (long)syscall(SYS_gettid));
char temp[10];
sprintf(temp,"%d",startTCPPort + i);
char* args[] = {(char*)"ignored", (char*)"--rx_tcpport", temp};
int ret = slsReceiverDefs::OK;
/** - create slsReceiverUsers object with appropriate arguments */
slsReceiverUsers *receiver = new slsReceiverUsers(3, args, ret);
if(ret==slsReceiverDefs::FAIL){
delete receiver;
exit(EXIT_FAILURE);
}
/** - register callbacks. remember to set file write enable to 0 (using the client)
if we should not write files and you will write data using the callbacks */
if (withCallback) {
/** - Call back for start acquisition */
cprintf(BLUE, "Registering StartAcq()\n");
receiver->registerCallBackStartAcquisition(StartAcq, NULL);
/** - Call back for acquisition finished */
cprintf(BLUE, "Registering AcquisitionFinished()\n");
receiver->registerCallBackAcquisitionFinished(AcquisitionFinished, NULL);
/* - Call back for raw data */
cprintf(BLUE, "Registering GetData() \n");
if (withCallback == 1) receiver->registerCallBackRawDataReady(GetData,NULL);
else if (withCallback == 2) receiver->registerCallBackRawDataModifyReady(GetData,NULL);
}
/** - start tcp server thread */
if (receiver->start() == slsReceiverDefs::FAIL){
delete receiver;
cprintf(BLUE,"Exiting Child Process [ Tid: %ld ]\n", (long)syscall(SYS_gettid));
exit(EXIT_FAILURE);
}
/** - as long as keeprunning is true (changes with Ctrl+C) */
while(keeprunning)
pause();
/** - interrupt caught, delete slsReceiverUsers object and exit */
delete receiver;
cprintf(BLUE,"Exiting Child Process [ Tid: %ld ]\n", (long)syscall(SYS_gettid));
exit(EXIT_SUCCESS);
break;
}
}
/** - Parent process ignores SIGINT (exits only when all child process exits) */
sa.sa_flags=0; // no flags
sa.sa_handler=SIG_IGN; // handler function
sigemptyset(&sa.sa_mask); // dont block additional signals during invocation of handler
if (sigaction(SIGINT, &sa, NULL) == -1) {
cprintf(RED, "Could not set handler function for SIGINT\n");
}
/** - Print Ready and Instructions how to exit */
cout << "Ready ... " << endl;
cprintf(RESET, "\n[ Press \'Ctrl+c\' to exit ]\n");
/** - Parent process waits for all child processes to exit */
for(;;) {
pid_t childPid = waitpid (-1, NULL, 0);
// no child closed
if (childPid == -1) {
if (errno == ECHILD) {
cprintf(GREEN,"All Child Processes have been closed\n");
break;
} else {
cprintf(RED, "Unexpected error from waitpid(): (%s)\n",strerror(errno));
break;
}
}
//child closed
cprintf(BLUE,"Exiting Child Process [ Tid: %ld ]\n", (long int) childPid);
}
cout << "Goodbye!" << endl;
return 0;
}

View File

@@ -81,7 +81,11 @@ LATEX_HIDE_INDICES = YES
SOURCE_BROWSER = YES
PREDEFINED = __cplusplus
INPUT = slsDetectorUsers.h detectorData.h slsReceiverUsers.h mainClient.cpp mainReceiver.cpp
INPUT = ../../slsDetectorSoftware/slsDetector/slsDetectorUsers.h \
../../slDetectorSoftware/slsDetectorAnalysis/detectorData.h \
../../slsReceiverSoftware/include/slsReceiverUsers.h \
mainClient.cpp \
mainReceiver.cpp
OUTPUT_DIRECTORY = slsDetectorUsersDocs

View File

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

View File

@@ -1,29 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Class List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li id="current"><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="classdetectorData.html">detectorData</a></td><td class="indexvalue">Data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.) </td></tr>
<tr><td class="indexkey"><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td class="indexvalue">Class for detector functionalitiesto embed the detector controls in the users custom interface e.g. EPICS, Lima etc </td></tr>
<tr><td class="indexkey"><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td class="indexvalue">Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data </td></tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,34 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>detectorData Member List</h1>This is the complete list of members for <a class="el" href="classdetectorData.html">detectorData</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">detectorData</a>(double *val=NULL, double *err=NULL, double *ang=NULL, double p_ind=-1, const char *fname=&quot;&quot;, int np=-1, int ny=1)</td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">fileName</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">npoints</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">npy</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">progressIndex</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">~detectorData</a>()</td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td><code> [inline]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,316 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>detectorData Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>detectorData Class Reference</h1><!-- doxytag: class="detectorData" -->data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.)
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="detectorData_8h-source.html">detectorData.h</a>&gt;</code>
<p>
<a href="classdetectorData-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">detectorData</a> (double *val=NULL, double *err=NULL, double *ang=NULL, double p_ind=-1, const char *fname=&quot;&quot;, int np=-1, int ny=1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The constructor. <a href="#3f8538f5f634295fc40682b8aed47b31"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">~detectorData</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The destructor deletes also the arrays pointing to data/errors/angles if not NULL. <a href="#d32a037cc2bd6e8caf4556cbd4b88ec7"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer to the data <a href="#0f4e31d65f9616e83a2e5521453d0364"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer to the errors <a href="#29cb1c6bb5635e918ae28505ccd0d8f9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer to the angles (NULL if no angular conversion) <a href="#cc9f9708b9ff2d840208cae843fb4b7a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">progressIndex</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">file index <a href="#976b3287d46aed032487bbeed74132da"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">fileName</a> [1000]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">file name <a href="#91d1e3466878def295a531c01bdeef6b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">npoints</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of points <a href="#50aabf6f2c40587f8e915cf4913a2cfe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">npy</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dimensions in y coordinate <a href="#c289d259e7fd9445a9c04976a82cb324"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.)
<p>
<p>
Definition at line <a class="el" href="detectorData_8h-source.html#l00009">9</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="3f8538f5f634295fc40682b8aed47b31"></a><!-- doxytag: member="detectorData::detectorData" ref="3f8538f5f634295fc40682b8aed47b31" args="(double *val=NULL, double *err=NULL, double *ang=NULL, double p_ind=-1, const char *fname=&quot;&quot;, int np=-1, int ny=1)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detectorData::detectorData </td>
<td>(</td>
<td class="paramtype">double *&nbsp;</td>
<td class="paramname"> <em>val</em> = <code>NULL</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&nbsp;</td>
<td class="paramname"> <em>err</em> = <code>NULL</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&nbsp;</td>
<td class="paramname"> <em>ang</em> = <code>NULL</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&nbsp;</td>
<td class="paramname"> <em>p_ind</em> = <code>-1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>fname</em> = <code>&quot;&quot;</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>np</em> = <code>-1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>ny</em> = <code>1</code></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
The constructor.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>pointer to the data </td></tr>
<tr><td valign="top"></td><td valign="top"><em>err</em>&nbsp;</td><td>pointer to errors </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ang</em>&nbsp;</td><td>pointer to the angles </td></tr>
<tr><td valign="top"></td><td valign="top"><em>f_ind</em>&nbsp;</td><td>file index </td></tr>
<tr><td valign="top"></td><td valign="top"><em>fname</em>&nbsp;</td><td>file name to which the data are saved </td></tr>
<tr><td valign="top"></td><td valign="top"><em>np</em>&nbsp;</td><td>number of points in x coordinate defaults to the number of detector channels (1D detector) </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ny</em>&nbsp;</td><td>dimension in y (1D detector) </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="detectorData_8h-source.html#l00020">20</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
<p>
References <a class="el" href="detectorData_8h-source.html#l00031">fileName</a>.
</div>
</div><p>
<a class="anchor" name="d32a037cc2bd6e8caf4556cbd4b88ec7"></a><!-- doxytag: member="detectorData::~detectorData" ref="d32a037cc2bd6e8caf4556cbd4b88ec7" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">detectorData::~detectorData </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [inline]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
The destructor deletes also the arrays pointing to data/errors/angles if not NULL.
<p>
<p>
Definition at line <a class="el" href="detectorData_8h-source.html#l00025">25</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
<p>
References <a class="el" href="detectorData_8h-source.html#l00029">angles</a>, <a class="el" href="detectorData_8h-source.html#l00028">errors</a>, and <a class="el" href="detectorData_8h-source.html#l00025">values</a>.
</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="cc9f9708b9ff2d840208cae843fb4b7a"></a><!-- doxytag: member="detectorData::angles" ref="cc9f9708b9ff2d840208cae843fb4b7a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double* <a class="el" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">detectorData::angles</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
pointer to the angles (NULL if no angular conversion)
<p>
<p>
Definition at line <a class="el" href="detectorData_8h-source.html#l00029">29</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
<p>
Referenced by <a class="el" href="detectorData_8h-source.html#l00025">~detectorData()</a>.
</div>
</div><p>
<a class="anchor" name="29cb1c6bb5635e918ae28505ccd0d8f9"></a><!-- doxytag: member="detectorData::errors" ref="29cb1c6bb5635e918ae28505ccd0d8f9" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double* <a class="el" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">detectorData::errors</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
pointer to the errors
<p>
<p>
Definition at line <a class="el" href="detectorData_8h-source.html#l00028">28</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
<p>
Referenced by <a class="el" href="detectorData_8h-source.html#l00025">~detectorData()</a>.
</div>
</div><p>
<a class="anchor" name="91d1e3466878def295a531c01bdeef6b"></a><!-- doxytag: member="detectorData::fileName" ref="91d1e3466878def295a531c01bdeef6b" args="[1000]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char <a class="el" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">detectorData::fileName</a>[1000] </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
file name
<p>
<p>
Definition at line <a class="el" href="detectorData_8h-source.html#l00031">31</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
<p>
Referenced by <a class="el" href="detectorData_8h-source.html#l00020">detectorData()</a>.
</div>
</div><p>
<a class="anchor" name="50aabf6f2c40587f8e915cf4913a2cfe"></a><!-- doxytag: member="detectorData::npoints" ref="50aabf6f2c40587f8e915cf4913a2cfe" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">detectorData::npoints</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
number of points
<p>
<p>
Definition at line <a class="el" href="detectorData_8h-source.html#l00032">32</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
<p>
Referenced by <a class="el" href="mainClient_8cpp-source.html#l00019">dataCallback()</a>.
</div>
</div><p>
<a class="anchor" name="c289d259e7fd9445a9c04976a82cb324"></a><!-- doxytag: member="detectorData::npy" ref="c289d259e7fd9445a9c04976a82cb324" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int <a class="el" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">detectorData::npy</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
dimensions in y coordinate
<p>
<p>
Definition at line <a class="el" href="detectorData_8h-source.html#l00033">33</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
<p>
Referenced by <a class="el" href="mainClient_8cpp-source.html#l00019">dataCallback()</a>.
</div>
</div><p>
<a class="anchor" name="976b3287d46aed032487bbeed74132da"></a><!-- doxytag: member="detectorData::progressIndex" ref="976b3287d46aed032487bbeed74132da" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">detectorData::progressIndex</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
file index
<p>
<p>
Definition at line <a class="el" href="detectorData_8h-source.html#l00030">30</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
</div>
</div><p>
<a class="anchor" name="0f4e31d65f9616e83a2e5521453d0364"></a><!-- doxytag: member="detectorData::values" ref="0f4e31d65f9616e83a2e5521453d0364" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double* <a class="el" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">detectorData::values</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
pointer to the data
<p>
<p>
Definition at line <a class="el" href="detectorData_8h-source.html#l00025">25</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
<p>
Referenced by <a class="el" href="detectorData_8h-source.html#l00025">~detectorData()</a>.
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="detectorData_8h-source.html">detectorData.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,95 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>slsDetectorUsers Member List</h1>This is the complete list of members for <a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#5128e295a5b926ccabdb48083d324789">addFrame</a>(double *data, double pos, double i0, double t, string fname, double var)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#d6b968f4d520342324762c496ebeb481">dumpDetectorSetup</a>(string const fname)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#51f92b69e05e8ee2e0c547ec4a6e97da">enableAngularConversion</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#82efe2f57758d63d330d78b121f8e77e">enableCountRateCorrection</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#94c74499f7653116cd8aff9ec0d14c43">enableFlatFieldCorrection</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#e5bc1c9c8e7e6cb7c9cde06a3133d263">enablePixelMaskCorrection</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#6d54a79ae4cfdb808f5db9969537efd3">enableWriteToFile</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#9cbe00dac8a19b71de88ebbdf3b0ea29">finalizeDataset</a>(double *a, double *v, double *e, int &amp;np)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#c9ea028f75a180534c8d00eeea0727d3">getBeamEnergy</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">getCommand</a>(int narg, char *args[], int pos=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">getDetectorDeveloper</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#2cbba4518b585064f7870ae2d39a8b8b">getDetectorFirmwareVersion</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#1c79314ceeda9b3085ca118e25882669">getDetectorSerialNumber</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">getDetectorSettings</a>(string s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#a66defec09b568a514e57b444dbe0d7f">getDetectorSettings</a>(int s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">getDetectorSize</a>(int &amp;x0, int &amp;y0, int &amp;nx, int &amp;ny)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#1857f2afea58227cb96ad92f5e562a5e">getDetectorSoftwareVersion</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">getDetectorStatus</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#5292a3d9c12696512b81bcc6c579a03c">getDetectorType</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#6e3467bf3c0c246f69f85d485d84dd62">getFileIndex</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#5f30c83e8bf07a92fad0916d43e3799c">getFileName</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#81969295c2b08f14e9c3d4fa1f7d4e16">getFilePath</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#0b20511a94205abd689f31bd1a2d4c18">getFlatFieldCorrectionDir</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#a83083f73523557e6129f33b59f38327">getFlatFieldCorrectionFile</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#588a5e1d231cd6778f6f78fdc53b9681">getMaximumDetectorSize</a>(int &amp;nx, int &amp;ny)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#09ded3b9c81e4544d42bb0697c3b7624">getModuleFirmwareVersion</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#5c0e9f8836e1a8a2d986408e4f5dfd3b">getModuleSerialNumber</a>(int imod=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#e6e5f06995e3ef110824adc5f8b095e9">getPositions</a>(double *pos=NULL)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#547feb09262a2f0fa1ec4de82e92ab63">getThisSoftwareVersion</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#fe8029788742125c44383817f89214ca">getThresholdEnergy</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#420880726f4036bf9da83edfcb2d6cf0">getTimingMode</a>(int f)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#e88a9626e4e661c1c0e1d27ba4a57d50">getTimingMode</a>(string s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#56fa8890298a01fc58baad413dfdf1c1">initDataset</a>(int refresh)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#5f7c26833decef59c1abfd7d745c4671">putCommand</a>(int narg, char *args[], int pos=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">readConfigurationFile</a>(string const fname)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#2a85e28ff08e3ec1e08bea3ba7d0fb08">registerAcquisitionFinishedCallback</a>(int(*func)(double, int, void *), void *pArg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#d1ab73675435879c2c5cef7adab02c32">registerConnectChannelsCallback</a>(int(*func)(void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">registerDataCallback</a>(int(*userCallback)(detectorData *d, int f, void *), void *pArg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#a94dd8fce8548ba8e79201ec50fe27d6">registerDisconnectChannelsCallback</a>(int(*func)(void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#1969785197030aa8e2d3c3d48a9cb45c">registerGetI0Callback</a>(double(*func)(int, void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#c2b87416288e657a209e1374c778eb16">registerGetPositionCallback</a>(double(*func)(void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#0f7c9bd3c46647d5dda2fa5312f3ef92">registerGoToPositionCallback</a>(int(*func)(double, void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#e807e9f4a015a4bbcb22e36b80577ea5">registerGoToPositionNoWaitCallback</a>(int(*func)(double, void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#898cf0db148f0d3de7d4725cc8342c56">registerRawDataCallback</a>(int(*userCallback)(double *p, int n, void *), void *pArg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">retrieveDetectorSetup</a>(string const fname)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">runStatusType</a>(int s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [inline, static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#475938986407804877df4dcece97cc19">setBeamEnergy</a>(int e_eV)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#ff667cf0665154cdff5d5f3dbc3526ba">setBitDepth</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#99f67fab7edfe68cc8b2300e282ff3f2">setDelayAfterTrigger</a>(double t=-1, bool inseconds=false)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">setDetectorSize</a>(int x0=-1, int y0=-1, int nx=-1, int ny=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">setExposurePeriod</a>(double t=-1, bool inseconds=false)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">setExposureTime</a>(double t=-1, bool inseconds=false)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#6b92ea7e237c77aa5107d7aabf76fe2d">setFileIndex</a>(int i)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#ff4a8ff4852e50d4ec05204cbc7fea9e">setFileName</a>(string s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#d833e1051299e101a5b5097c598ba9cb">setFilePath</a>(string s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#65b112dac3d8b94f219f4d64c13cf0f9">setFlatFieldCorrectionDir</a>(string dir)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#ad9e6da8683ba2887174505fd3b7d739">setFlatFieldCorrectionFile</a>(string fname=&quot;&quot;)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#8b741851c4eaef4e29322c99fd17cb3b">setNumberOfCycles</a>(int64_t t=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">setNumberOfFrames</a>(int64_t t=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#61d4acb00c997c5e02be6a191401c4ce">setNumberOfGates</a>(int64_t t=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">setOnline</a>(int const online=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#f296c05ee6134fb8d53d08a025e89775">setPositions</a>(int nPos, double *pos)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#db084473ffe61960b86abdfa8efcc80d">setReceiverMode</a>(int n=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">setSettings</a>(int isettings=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#1354266fd1bfaccd58992a3f51bbbd1d">setThresholdEnergy</a>(int e_eV)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#e2825524756c4bdf418a6233e137b4d7">setTimingMode</a>(int pol=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#17323cd635b9e5c2916be3ca30ec748c">slsDetectorUsers</a>(int id=0)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">startMeasurement</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#2abc673c45c1fe006f6b0fea6188e3a9">stopMeasurement</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#0d1daf6539befe56d6e3df0b24f5d68b">~slsDetectorUsers</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [virtual]</code></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,35 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Member List</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>slsReceiverUsers Member List</h1>This is the complete list of members for <a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#bad0b3265826da2d9ebf48e59e9d5787">closeFile</a>(int p)</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#f206092e2744e12ce6b717f4181d91a2">getReceiverVersion</a>()</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">receiver</a></td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#7471d2945e8650eece86258e6ca56156">registerCallBackAcquisitionFinished</a>(void(*func)(int nf, void *), void *arg)</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#343b9fac505e8c08a7fbf9efdd0f5762">registerCallBackRawDataReady</a>(void(*func)(int framenumber, char *datapointer, int datasize, FILE *filedescriptor, char *guidatapointer, void *), void *arg)</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#5d4bb9244008d0bc570778230d30c5e3">registerCallBackStartAcquisition</a>(int(*func)(char *filepath, char *filename, int fileindex, int datasize, void *), void *arg)</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#79a82ba94fbb19761c7701aa3901b8b1">slsReceiverUsers</a>(int argc, char *argv[], int &amp;success)</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">start</a>()</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">stop</a>()</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#9b45943d81ce7a09543aa446de857cb0">~slsReceiverUsers</a>()</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
</table><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,332 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>slsReceiverUsers Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<h1>slsReceiverUsers Class Reference</h1><!-- doxytag: class="slsReceiverUsers" -->Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="slsReceiverUsers_8h-source.html">slsReceiverUsers.h</a>&gt;</code>
<p>
<a href="classslsReceiverUsers-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#79a82ba94fbb19761c7701aa3901b8b1">slsReceiverUsers</a> (int argc, char *argv[], int &amp;success)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#9b45943d81ce7a09543aa446de857cb0">~slsReceiverUsers</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#bad0b3265826da2d9ebf48e59e9d5787">closeFile</a> (int p)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">start</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">stop</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#f206092e2744e12ce6b717f4181d91a2">getReceiverVersion</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#5d4bb9244008d0bc570778230d30c5e3">registerCallBackStartAcquisition</a> (int(*func)(char *filepath, char *filename, int fileindex, int datasize, void *), void *arg)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#7471d2945e8650eece86258e6ca56156">registerCallBackAcquisitionFinished</a> (void(*func)(int nf, void *), void *arg)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#343b9fac505e8c08a7fbf9efdd0f5762">registerCallBackRawDataReady</a> (void(*func)(int framenumber, char *datapointer, int datasize, FILE *filedescriptor, char *guidatapointer, void *), void *arg)</td></tr>
<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static slsReceiverTCPIPInterface *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">receiver</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data.
<p>
<a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a> is a class that can be instantiated in the users software to receive the data from the detectors. Callbacks can be defined for processing and/or saving data
<p>
<p>
Definition at line <a class="el" href="slsReceiverUsers_8h-source.html#l00021">21</a> of file <a class="el" href="slsReceiverUsers_8h-source.html">slsReceiverUsers.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="79a82ba94fbb19761c7701aa3901b8b1"></a><!-- doxytag: member="slsReceiverUsers::slsReceiverUsers" ref="79a82ba94fbb19761c7701aa3901b8b1" args="(int argc, char *argv[], int &amp;success)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">slsReceiverUsers::slsReceiverUsers </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>argc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>argv</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int &amp;&nbsp;</td>
<td class="paramname"> <em>success</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constructor reads config file, creates socket, assigns function table <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>argc</em>&nbsp;</td><td>from command line </td></tr>
<tr><td valign="top"></td><td valign="top"><em>argv</em>&nbsp;</td><td>from command line </td></tr>
<tr><td valign="top"></td><td valign="top"><em>succecc</em>&nbsp;</td><td>socket creation was successfull </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="9b45943d81ce7a09543aa446de857cb0"></a><!-- doxytag: member="slsReceiverUsers::~slsReceiverUsers" ref="9b45943d81ce7a09543aa446de857cb0" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">slsReceiverUsers::~slsReceiverUsers </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Destructor
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="bad0b3265826da2d9ebf48e59e9d5787"></a><!-- doxytag: member="slsReceiverUsers::closeFile" ref="bad0b3265826da2d9ebf48e59e9d5787" args="(int p)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsReceiverUsers::closeFile </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>p</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Close File and exits receiver server
</div>
</div><p>
<a class="anchor" name="f206092e2744e12ce6b717f4181d91a2"></a><!-- doxytag: member="slsReceiverUsers::getReceiverVersion" ref="f206092e2744e12ce6b717f4181d91a2" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64_t slsReceiverUsers::getReceiverVersion </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
get get Receiver Version <dl compact><dt><b>Returns:</b></dt><dd>id </dd></dl>
</div>
</div><p>
<a class="anchor" name="7471d2945e8650eece86258e6ca56156"></a><!-- doxytag: member="slsReceiverUsers::registerCallBackAcquisitionFinished" ref="7471d2945e8650eece86258e6ca56156" args="(void(*func)(int nf, void *), void *arg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsReceiverUsers::registerCallBackAcquisitionFinished </td>
<td>(</td>
<td class="paramtype">void(*)(int nf, void *)&nbsp;</td>
<td class="paramname"> <em>func</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
register callback for end of acquisition <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>end of acquisition callback. Argument nf is total frames caught </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
</div>
</div><p>
<a class="anchor" name="343b9fac505e8c08a7fbf9efdd0f5762"></a><!-- doxytag: member="slsReceiverUsers::registerCallBackRawDataReady" ref="343b9fac505e8c08a7fbf9efdd0f5762" args="(void(*func)(int framenumber, char *datapointer, int datasize, FILE *filedescriptor, char *guidatapointer, void *), void *arg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsReceiverUsers::registerCallBackRawDataReady </td>
<td>(</td>
<td class="paramtype">void(*)(int framenumber, char *datapointer, int datasize, FILE *filedescriptor, char *guidatapointer, void *)&nbsp;</td>
<td class="paramname"> <em>func</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
register callback to be called when data are available (to process and/or save the data). <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>raw data ready callback. arguments are framenum datapointer datasize file descriptor guidatapointer (NULL, no data required) </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
</div>
</div><p>
<a class="anchor" name="5d4bb9244008d0bc570778230d30c5e3"></a><!-- doxytag: member="slsReceiverUsers::registerCallBackStartAcquisition" ref="5d4bb9244008d0bc570778230d30c5e3" args="(int(*func)(char *filepath, char *filename, int fileindex, int datasize, void *), void *arg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsReceiverUsers::registerCallBackStartAcquisition </td>
<td>(</td>
<td class="paramtype">int(*)(char *filepath, char *filename, int fileindex, int datasize, void *)&nbsp;</td>
<td class="paramname"> <em>func</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
register calbback for starting the acquisition <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>callback to be called when starting the acquisition. Its arguments are filepath filename fileindex data size</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>0 callback takes care of open,close,write file; 1 callback writes file, we have to open, close it; 2 we open, close, write file, callback does not do anything </dd></dl>
</div>
</div><p>
<a class="anchor" name="ef40b4987367b8a0116bcb66534dd7b7"></a><!-- doxytag: member="slsReceiverUsers::start" ref="ef40b4987367b8a0116bcb66534dd7b7" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int slsReceiverUsers::start </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
starts listening on the TCP port for client comminication <dl compact><dt><b>Returns:</b></dt><dd>0 for success or 1 for FAIL in creating TCP server </dd></dl>
<p>
Referenced by <a class="el" href="mainReceiver_8cpp-source.html#l00025">main()</a>.
</div>
</div><p>
<a class="anchor" name="394001d873a4b7912865a971d4d25f87"></a><!-- doxytag: member="slsReceiverUsers::stop" ref="394001d873a4b7912865a971d4d25f87" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void slsReceiverUsers::stop </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
stops listening to the TCP &amp; UDP port and exit receiver program
<p>
Referenced by <a class="el" href="mainReceiver_8cpp-source.html#l00025">main()</a>.
</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="8f262724fb99ecd3976214710d82dd18"></a><!-- doxytag: member="slsReceiverUsers::receiver" ref="8f262724fb99ecd3976214710d82dd18" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">slsReceiverTCPIPInterface* <a class="el" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">slsReceiverUsers::receiver</a><code> [static]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="slsReceiverUsers_8h-source.html#l00087">87</a> of file <a class="el" href="slsReceiverUsers_8h-source.html">slsReceiverUsers.h</a>.
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="slsReceiverUsers_8h-source.html">slsReceiverUsers.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,46 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>detectorData.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>detectorData.h</h1><a href="detectorData_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="preprocessor">#include &lt;unistd.h&gt;</span>
<a name="l00003"></a>00003 <span class="preprocessor">#include &lt;cstring&gt;</span>
<a name="l00004"></a>00004 <span class="preprocessor">#ifndef DETECTOR_DATA_H</span>
<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor">#define DETECTOR_DATA_H</span>
<a name="l00006"></a>00006 <span class="preprocessor"></span>
<a name="l00009"></a><a class="code" href="classdetectorData.html">00009</a> <span class="keyword">class </span><a class="code" href="classdetectorData.html">detectorData</a> {
<a name="l00010"></a>00010 <span class="keyword">public</span>:
<a name="l00020"></a><a class="code" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">00020</a> <a class="code" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">detectorData</a>(<span class="keywordtype">double</span> *val=NULL, <span class="keywordtype">double</span> *err=NULL, <span class="keywordtype">double</span> *ang=NULL, <span class="keywordtype">double</span> p_ind=-1, <span class="keyword">const</span> <span class="keywordtype">char</span> *fname=<span class="stringliteral">""</span>, <span class="keywordtype">int</span> np=-1, <span class="keywordtype">int</span> ny=1) : <a class="code" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a>(val), <a class="code" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a>(err), <a class="code" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a>(ang), <a class="code" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">progressIndex</a>(p_ind), <a class="code" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">npoints</a>(np), <a class="code" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">npy</a>(ny){strcpy(<a class="code" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">fileName</a>,fname);};
<a name="l00025"></a><a class="code" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">00025</a> <a class="code" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">~detectorData</a>() {<span class="keywordflow">if</span> (<a class="code" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a>) <span class="keyword">delete</span> [] <a class="code" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a>; <span class="keywordflow">if</span> (<a class="code" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a>) <span class="keyword">delete</span> [] <a class="code" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a>; <span class="keywordflow">if</span> (<a class="code" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a>) <span class="keyword">delete</span> [] <a class="code" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a>;};
<a name="l00026"></a>00026 <span class="comment">//private:</span>
<a name="l00027"></a>00027 <span class="keywordtype">double</span> *<a class="code" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a>;
<a name="l00028"></a><a class="code" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">00028</a> <span class="keywordtype">double</span> *<a class="code" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a>;
<a name="l00029"></a><a class="code" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">00029</a> <span class="keywordtype">double</span> *<a class="code" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a>;
<a name="l00030"></a><a class="code" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">00030</a> <span class="keywordtype">double</span> <a class="code" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">progressIndex</a>;
<a name="l00031"></a><a class="code" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">00031</a> <span class="keywordtype">char</span> <a class="code" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">fileName</a>[1000];
<a name="l00032"></a><a class="code" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">00032</a> <span class="keywordtype">int</span> <a class="code" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">npoints</a>;
<a name="l00033"></a><a class="code" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">00033</a> <span class="keywordtype">int</span> <a class="code" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">npy</a>;
<a name="l00034"></a>00034 };
<a name="l00035"></a>00035
<a name="l00036"></a>00036
<a name="l00037"></a>00037 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,35 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>detectorData.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>detectorData.h File Reference</h1><code>#include &lt;unistd.h&gt;</code><br>
<code>#include &lt;cstring&gt;</code><br>
<p>
<a href="detectorData_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html">detectorData</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.) <a href="classdetectorData.html#_details">More...</a><br></td></tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,358 +0,0 @@
BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
font-family: Geneva, Arial, Helvetica, sans-serif;
}
BODY,TD {
font-size: 90%;
}
H1 {
text-align: center;
font-size: 160%;
}
H2 {
font-size: 120%;
}
H3 {
font-size: 100%;
}
CAPTION { font-weight: bold }
DIV.qindex {
width: 100%;
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
padding: 2px;
line-height: 140%;
}
DIV.nav {
width: 100%;
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
padding: 2px;
line-height: 140%;
}
DIV.navtab {
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
margin-right: 15px;
padding: 2px;
}
TD.navtab {
font-size: 70%;
}
A.qindex {
text-decoration: none;
font-weight: bold;
color: #1A419D;
}
A.qindex:visited {
text-decoration: none;
font-weight: bold;
color: #1A419D
}
A.qindex:hover {
text-decoration: none;
background-color: #ddddff;
}
A.qindexHL {
text-decoration: none;
font-weight: bold;
background-color: #6666cc;
color: #ffffff;
border: 1px double #9295C2;
}
A.qindexHL:hover {
text-decoration: none;
background-color: #6666cc;
color: #ffffff;
}
A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
A.el { text-decoration: none; font-weight: bold }
A.elRef { font-weight: bold }
A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
A.codeRef:link { font-weight: normal; color: #0000FF}
A.codeRef:visited { font-weight: normal; color: #0000FF}
A:hover { text-decoration: none; background-color: #f2f2ff }
DL.el { margin-left: -1cm }
.fragment {
font-family: monospace, fixed;
font-size: 95%;
}
PRE.fragment {
border: 1px solid #CCCCCC;
background-color: #f5f5f5;
margin-top: 4px;
margin-bottom: 4px;
margin-left: 2px;
margin-right: 8px;
padding-left: 6px;
padding-right: 6px;
padding-top: 4px;
padding-bottom: 4px;
}
DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
DIV.groupHeader {
margin-left: 16px;
margin-top: 12px;
margin-bottom: 6px;
font-weight: bold;
}
DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
BODY {
background: white;
color: black;
margin-right: 20px;
margin-left: 20px;
}
TD.indexkey {
background-color: #e8eef2;
font-weight: bold;
padding-right : 10px;
padding-top : 2px;
padding-left : 10px;
padding-bottom : 2px;
margin-left : 0px;
margin-right : 0px;
margin-top : 2px;
margin-bottom : 2px;
border: 1px solid #CCCCCC;
}
TD.indexvalue {
background-color: #e8eef2;
font-style: italic;
padding-right : 10px;
padding-top : 2px;
padding-left : 10px;
padding-bottom : 2px;
margin-left : 0px;
margin-right : 0px;
margin-top : 2px;
margin-bottom : 2px;
border: 1px solid #CCCCCC;
}
TR.memlist {
background-color: #f0f0f0;
}
P.formulaDsp { text-align: center; }
IMG.formulaDsp { }
IMG.formulaInl { vertical-align: middle; }
SPAN.keyword { color: #008000 }
SPAN.keywordtype { color: #604020 }
SPAN.keywordflow { color: #e08000 }
SPAN.comment { color: #800000 }
SPAN.preprocessor { color: #806020 }
SPAN.stringliteral { color: #002080 }
SPAN.charliteral { color: #008080 }
.mdescLeft {
padding: 0px 8px 4px 8px;
font-size: 80%;
font-style: italic;
background-color: #FAFAFA;
border-top: 1px none #E0E0E0;
border-right: 1px none #E0E0E0;
border-bottom: 1px none #E0E0E0;
border-left: 1px none #E0E0E0;
margin: 0px;
}
.mdescRight {
padding: 0px 8px 4px 8px;
font-size: 80%;
font-style: italic;
background-color: #FAFAFA;
border-top: 1px none #E0E0E0;
border-right: 1px none #E0E0E0;
border-bottom: 1px none #E0E0E0;
border-left: 1px none #E0E0E0;
margin: 0px;
}
.memItemLeft {
padding: 1px 0px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-top-style: solid;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
background-color: #FAFAFA;
font-size: 80%;
}
.memItemRight {
padding: 1px 8px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-top-style: solid;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
background-color: #FAFAFA;
font-size: 80%;
}
.memTemplItemLeft {
padding: 1px 0px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-top-style: none;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
background-color: #FAFAFA;
font-size: 80%;
}
.memTemplItemRight {
padding: 1px 8px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-top-style: none;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
background-color: #FAFAFA;
font-size: 80%;
}
.memTemplParams {
padding: 1px 0px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-top-style: solid;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
color: #606060;
background-color: #FAFAFA;
font-size: 80%;
}
.search { color: #003399;
font-weight: bold;
}
FORM.search {
margin-bottom: 0px;
margin-top: 0px;
}
INPUT.search { font-size: 75%;
color: #000080;
font-weight: normal;
background-color: #e8eef2;
}
TD.tiny { font-size: 75%;
}
a {
color: #1A41A8;
}
a:visited {
color: #2A3798;
}
.dirtab { padding: 4px;
border-collapse: collapse;
border: 1px solid #84b0c7;
}
TH.dirtab { background: #e8eef2;
font-weight: bold;
}
HR { height: 1px;
border: none;
border-top: 1px solid black;
}
/* Style for detailed member documentation */
.memtemplate {
font-size: 80%;
color: #606060;
font-weight: normal;
}
.memnav {
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
margin-right: 15px;
padding: 2px;
}
.memitem {
padding: 4px;
background-color: #eef3f5;
border-width: 1px;
border-style: solid;
border-color: #dedeee;
-moz-border-radius: 8px 8px 8px 8px;
}
.memname {
white-space: nowrap;
font-weight: bold;
}
.memdoc{
padding-left: 10px;
}
.memproto {
background-color: #d5e1e8;
width: 100%;
border-width: 1px;
border-style: solid;
border-color: #84b0c7;
font-weight: bold;
-moz-border-radius: 8px 8px 8px 8px;
}
.paramkey {
text-align: right;
}
.paramtype {
white-space: nowrap;
}
.paramname {
color: #602020;
font-style: italic;
}
/* End Styling for detailed member documentation */
/* for the tree view */
.ftvtree {
font-family: sans-serif;
margin:0.5em;
}
.directory { font-size: 9pt; font-weight: bold; }
.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; }
.directory > h3 { margin-top: 0; }
.directory p { margin: 0px; white-space: nowrap; }
.directory div { display: none; margin: 0px; }
.directory img { vertical-align: -30%; }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -1,31 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>File Index</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li id="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>File List</h1>Here is a list of all files with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="detectorData_8h.html">detectorData.h</a> <a href="detectorData_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="mainClient_8cpp.html">mainClient.cpp</a> <a href="mainClient_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="mainReceiver_8cpp.html">mainReceiver.cpp</a> <a href="mainReceiver_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="slsDetectorUsers_8h.html">slsDetectorUsers.h</a> <a href="slsDetectorUsers_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="slsReceiverUsers_8h.html">slsReceiverUsers.h</a> <a href="slsReceiverUsers_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,165 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Class Members</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li id="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li id="current"><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_func.html"><span>Functions</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index_a"><span>a</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_f"><span>f</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_n"><span>n</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_v"><span>v</span></a></li>
<li><a href="#index_~"><span>~</span></a></li>
</ul>
</div>
<p>
Here is a list of all class members with links to the classes they belong to:
<p>
<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
<li>addFrame()
: <a class="el" href="classslsDetectorUsers.html#5128e295a5b926ccabdb48083d324789">slsDetectorUsers</a><li>angles
: <a class="el" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">detectorData</a></ul>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
<li>closeFile()
: <a class="el" href="classslsReceiverUsers.html#bad0b3265826da2d9ebf48e59e9d5787">slsReceiverUsers</a></ul>
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
<li>detectorData()
: <a class="el" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">detectorData</a><li>dumpDetectorSetup()
: <a class="el" href="classslsDetectorUsers.html#d6b968f4d520342324762c496ebeb481">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
<li>enableAngularConversion()
: <a class="el" href="classslsDetectorUsers.html#51f92b69e05e8ee2e0c547ec4a6e97da">slsDetectorUsers</a><li>enableCountRateCorrection()
: <a class="el" href="classslsDetectorUsers.html#82efe2f57758d63d330d78b121f8e77e">slsDetectorUsers</a><li>enableFlatFieldCorrection()
: <a class="el" href="classslsDetectorUsers.html#94c74499f7653116cd8aff9ec0d14c43">slsDetectorUsers</a><li>enablePixelMaskCorrection()
: <a class="el" href="classslsDetectorUsers.html#e5bc1c9c8e7e6cb7c9cde06a3133d263">slsDetectorUsers</a><li>enableWriteToFile()
: <a class="el" href="classslsDetectorUsers.html#6d54a79ae4cfdb808f5db9969537efd3">slsDetectorUsers</a><li>errors
: <a class="el" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">detectorData</a></ul>
<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
<li>fileName
: <a class="el" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">detectorData</a><li>finalizeDataset()
: <a class="el" href="classslsDetectorUsers.html#9cbe00dac8a19b71de88ebbdf3b0ea29">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
<li>getBeamEnergy()
: <a class="el" href="classslsDetectorUsers.html#c9ea028f75a180534c8d00eeea0727d3">slsDetectorUsers</a><li>getCommand()
: <a class="el" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">slsDetectorUsers</a><li>getDetectorDeveloper()
: <a class="el" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">slsDetectorUsers</a><li>getDetectorFirmwareVersion()
: <a class="el" href="classslsDetectorUsers.html#2cbba4518b585064f7870ae2d39a8b8b">slsDetectorUsers</a><li>getDetectorSerialNumber()
: <a class="el" href="classslsDetectorUsers.html#1c79314ceeda9b3085ca118e25882669">slsDetectorUsers</a><li>getDetectorSettings()
: <a class="el" href="classslsDetectorUsers.html#a66defec09b568a514e57b444dbe0d7f">slsDetectorUsers</a><li>getDetectorSize()
: <a class="el" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">slsDetectorUsers</a><li>getDetectorSoftwareVersion()
: <a class="el" href="classslsDetectorUsers.html#1857f2afea58227cb96ad92f5e562a5e">slsDetectorUsers</a><li>getDetectorStatus()
: <a class="el" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">slsDetectorUsers</a><li>getDetectorType()
: <a class="el" href="classslsDetectorUsers.html#5292a3d9c12696512b81bcc6c579a03c">slsDetectorUsers</a><li>getFileIndex()
: <a class="el" href="classslsDetectorUsers.html#6e3467bf3c0c246f69f85d485d84dd62">slsDetectorUsers</a><li>getFileName()
: <a class="el" href="classslsDetectorUsers.html#5f30c83e8bf07a92fad0916d43e3799c">slsDetectorUsers</a><li>getFilePath()
: <a class="el" href="classslsDetectorUsers.html#81969295c2b08f14e9c3d4fa1f7d4e16">slsDetectorUsers</a><li>getFlatFieldCorrectionDir()
: <a class="el" href="classslsDetectorUsers.html#0b20511a94205abd689f31bd1a2d4c18">slsDetectorUsers</a><li>getFlatFieldCorrectionFile()
: <a class="el" href="classslsDetectorUsers.html#a83083f73523557e6129f33b59f38327">slsDetectorUsers</a><li>getMaximumDetectorSize()
: <a class="el" href="classslsDetectorUsers.html#588a5e1d231cd6778f6f78fdc53b9681">slsDetectorUsers</a><li>getModuleFirmwareVersion()
: <a class="el" href="classslsDetectorUsers.html#09ded3b9c81e4544d42bb0697c3b7624">slsDetectorUsers</a><li>getModuleSerialNumber()
: <a class="el" href="classslsDetectorUsers.html#5c0e9f8836e1a8a2d986408e4f5dfd3b">slsDetectorUsers</a><li>getPositions()
: <a class="el" href="classslsDetectorUsers.html#e6e5f06995e3ef110824adc5f8b095e9">slsDetectorUsers</a><li>getReceiverVersion()
: <a class="el" href="classslsReceiverUsers.html#f206092e2744e12ce6b717f4181d91a2">slsReceiverUsers</a><li>getThisSoftwareVersion()
: <a class="el" href="classslsDetectorUsers.html#547feb09262a2f0fa1ec4de82e92ab63">slsDetectorUsers</a><li>getThresholdEnergy()
: <a class="el" href="classslsDetectorUsers.html#fe8029788742125c44383817f89214ca">slsDetectorUsers</a><li>getTimingMode()
: <a class="el" href="classslsDetectorUsers.html#e88a9626e4e661c1c0e1d27ba4a57d50">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
<li>initDataset()
: <a class="el" href="classslsDetectorUsers.html#56fa8890298a01fc58baad413dfdf1c1">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
<li>npoints
: <a class="el" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">detectorData</a><li>npy
: <a class="el" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">detectorData</a></ul>
<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
<li>progressIndex
: <a class="el" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">detectorData</a><li>putCommand()
: <a class="el" href="classslsDetectorUsers.html#5f7c26833decef59c1abfd7d745c4671">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
<li>readConfigurationFile()
: <a class="el" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">slsDetectorUsers</a><li>receiver
: <a class="el" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">slsReceiverUsers</a><li>registerAcquisitionFinishedCallback()
: <a class="el" href="classslsDetectorUsers.html#2a85e28ff08e3ec1e08bea3ba7d0fb08">slsDetectorUsers</a><li>registerCallBackAcquisitionFinished()
: <a class="el" href="classslsReceiverUsers.html#7471d2945e8650eece86258e6ca56156">slsReceiverUsers</a><li>registerCallBackRawDataReady()
: <a class="el" href="classslsReceiverUsers.html#343b9fac505e8c08a7fbf9efdd0f5762">slsReceiverUsers</a><li>registerCallBackStartAcquisition()
: <a class="el" href="classslsReceiverUsers.html#5d4bb9244008d0bc570778230d30c5e3">slsReceiverUsers</a><li>registerConnectChannelsCallback()
: <a class="el" href="classslsDetectorUsers.html#d1ab73675435879c2c5cef7adab02c32">slsDetectorUsers</a><li>registerDataCallback()
: <a class="el" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">slsDetectorUsers</a><li>registerDisconnectChannelsCallback()
: <a class="el" href="classslsDetectorUsers.html#a94dd8fce8548ba8e79201ec50fe27d6">slsDetectorUsers</a><li>registerGetI0Callback()
: <a class="el" href="classslsDetectorUsers.html#1969785197030aa8e2d3c3d48a9cb45c">slsDetectorUsers</a><li>registerGetPositionCallback()
: <a class="el" href="classslsDetectorUsers.html#c2b87416288e657a209e1374c778eb16">slsDetectorUsers</a><li>registerGoToPositionCallback()
: <a class="el" href="classslsDetectorUsers.html#0f7c9bd3c46647d5dda2fa5312f3ef92">slsDetectorUsers</a><li>registerGoToPositionNoWaitCallback()
: <a class="el" href="classslsDetectorUsers.html#e807e9f4a015a4bbcb22e36b80577ea5">slsDetectorUsers</a><li>registerRawDataCallback()
: <a class="el" href="classslsDetectorUsers.html#898cf0db148f0d3de7d4725cc8342c56">slsDetectorUsers</a><li>retrieveDetectorSetup()
: <a class="el" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">slsDetectorUsers</a><li>runStatusType()
: <a class="el" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
<li>setBeamEnergy()
: <a class="el" href="classslsDetectorUsers.html#475938986407804877df4dcece97cc19">slsDetectorUsers</a><li>setBitDepth()
: <a class="el" href="classslsDetectorUsers.html#ff667cf0665154cdff5d5f3dbc3526ba">slsDetectorUsers</a><li>setDelayAfterTrigger()
: <a class="el" href="classslsDetectorUsers.html#99f67fab7edfe68cc8b2300e282ff3f2">slsDetectorUsers</a><li>setDetectorSize()
: <a class="el" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">slsDetectorUsers</a><li>setExposurePeriod()
: <a class="el" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">slsDetectorUsers</a><li>setExposureTime()
: <a class="el" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">slsDetectorUsers</a><li>setFileIndex()
: <a class="el" href="classslsDetectorUsers.html#6b92ea7e237c77aa5107d7aabf76fe2d">slsDetectorUsers</a><li>setFileName()
: <a class="el" href="classslsDetectorUsers.html#ff4a8ff4852e50d4ec05204cbc7fea9e">slsDetectorUsers</a><li>setFilePath()
: <a class="el" href="classslsDetectorUsers.html#d833e1051299e101a5b5097c598ba9cb">slsDetectorUsers</a><li>setFlatFieldCorrectionDir()
: <a class="el" href="classslsDetectorUsers.html#65b112dac3d8b94f219f4d64c13cf0f9">slsDetectorUsers</a><li>setFlatFieldCorrectionFile()
: <a class="el" href="classslsDetectorUsers.html#ad9e6da8683ba2887174505fd3b7d739">slsDetectorUsers</a><li>setNumberOfCycles()
: <a class="el" href="classslsDetectorUsers.html#8b741851c4eaef4e29322c99fd17cb3b">slsDetectorUsers</a><li>setNumberOfFrames()
: <a class="el" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">slsDetectorUsers</a><li>setNumberOfGates()
: <a class="el" href="classslsDetectorUsers.html#61d4acb00c997c5e02be6a191401c4ce">slsDetectorUsers</a><li>setOnline()
: <a class="el" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">slsDetectorUsers</a><li>setPositions()
: <a class="el" href="classslsDetectorUsers.html#f296c05ee6134fb8d53d08a025e89775">slsDetectorUsers</a><li>setReceiverMode()
: <a class="el" href="classslsDetectorUsers.html#db084473ffe61960b86abdfa8efcc80d">slsDetectorUsers</a><li>setSettings()
: <a class="el" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">slsDetectorUsers</a><li>setThresholdEnergy()
: <a class="el" href="classslsDetectorUsers.html#1354266fd1bfaccd58992a3f51bbbd1d">slsDetectorUsers</a><li>setTimingMode()
: <a class="el" href="classslsDetectorUsers.html#e2825524756c4bdf418a6233e137b4d7">slsDetectorUsers</a><li>slsDetectorUsers()
: <a class="el" href="classslsDetectorUsers.html#17323cd635b9e5c2916be3ca30ec748c">slsDetectorUsers</a><li>slsReceiverUsers()
: <a class="el" href="classslsReceiverUsers.html#79a82ba94fbb19761c7701aa3901b8b1">slsReceiverUsers</a><li>start()
: <a class="el" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">slsReceiverUsers</a><li>startMeasurement()
: <a class="el" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">slsDetectorUsers</a><li>stop()
: <a class="el" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">slsReceiverUsers</a><li>stopMeasurement()
: <a class="el" href="classslsDetectorUsers.html#2abc673c45c1fe006f6b0fea6188e3a9">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
<li>values
: <a class="el" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">detectorData</a></ul>
<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
<li>~detectorData()
: <a class="el" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">detectorData</a><li>~slsDetectorUsers()
: <a class="el" href="classslsDetectorUsers.html#0d1daf6539befe56d6e3df0b24f5d68b">slsDetectorUsers</a><li>~slsReceiverUsers()
: <a class="el" href="classslsReceiverUsers.html#9b45943d81ce7a09543aa446de857cb0">slsReceiverUsers</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,151 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Class Members - Functions</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li id="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="functions.html"><span>All</span></a></li>
<li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index_a"><span>a</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_f"><span>f</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_~"><span>~</span></a></li>
</ul>
</div>
<p>
&nbsp;
<p>
<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
<li>addFrame()
: <a class="el" href="classslsDetectorUsers.html#5128e295a5b926ccabdb48083d324789">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
<li>closeFile()
: <a class="el" href="classslsReceiverUsers.html#bad0b3265826da2d9ebf48e59e9d5787">slsReceiverUsers</a></ul>
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
<li>detectorData()
: <a class="el" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">detectorData</a><li>dumpDetectorSetup()
: <a class="el" href="classslsDetectorUsers.html#d6b968f4d520342324762c496ebeb481">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
<li>enableAngularConversion()
: <a class="el" href="classslsDetectorUsers.html#51f92b69e05e8ee2e0c547ec4a6e97da">slsDetectorUsers</a><li>enableCountRateCorrection()
: <a class="el" href="classslsDetectorUsers.html#82efe2f57758d63d330d78b121f8e77e">slsDetectorUsers</a><li>enableFlatFieldCorrection()
: <a class="el" href="classslsDetectorUsers.html#94c74499f7653116cd8aff9ec0d14c43">slsDetectorUsers</a><li>enablePixelMaskCorrection()
: <a class="el" href="classslsDetectorUsers.html#e5bc1c9c8e7e6cb7c9cde06a3133d263">slsDetectorUsers</a><li>enableWriteToFile()
: <a class="el" href="classslsDetectorUsers.html#6d54a79ae4cfdb808f5db9969537efd3">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
<li>finalizeDataset()
: <a class="el" href="classslsDetectorUsers.html#9cbe00dac8a19b71de88ebbdf3b0ea29">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
<li>getBeamEnergy()
: <a class="el" href="classslsDetectorUsers.html#c9ea028f75a180534c8d00eeea0727d3">slsDetectorUsers</a><li>getCommand()
: <a class="el" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">slsDetectorUsers</a><li>getDetectorDeveloper()
: <a class="el" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">slsDetectorUsers</a><li>getDetectorFirmwareVersion()
: <a class="el" href="classslsDetectorUsers.html#2cbba4518b585064f7870ae2d39a8b8b">slsDetectorUsers</a><li>getDetectorSerialNumber()
: <a class="el" href="classslsDetectorUsers.html#1c79314ceeda9b3085ca118e25882669">slsDetectorUsers</a><li>getDetectorSettings()
: <a class="el" href="classslsDetectorUsers.html#a66defec09b568a514e57b444dbe0d7f">slsDetectorUsers</a><li>getDetectorSize()
: <a class="el" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">slsDetectorUsers</a><li>getDetectorSoftwareVersion()
: <a class="el" href="classslsDetectorUsers.html#1857f2afea58227cb96ad92f5e562a5e">slsDetectorUsers</a><li>getDetectorStatus()
: <a class="el" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">slsDetectorUsers</a><li>getDetectorType()
: <a class="el" href="classslsDetectorUsers.html#5292a3d9c12696512b81bcc6c579a03c">slsDetectorUsers</a><li>getFileIndex()
: <a class="el" href="classslsDetectorUsers.html#6e3467bf3c0c246f69f85d485d84dd62">slsDetectorUsers</a><li>getFileName()
: <a class="el" href="classslsDetectorUsers.html#5f30c83e8bf07a92fad0916d43e3799c">slsDetectorUsers</a><li>getFilePath()
: <a class="el" href="classslsDetectorUsers.html#81969295c2b08f14e9c3d4fa1f7d4e16">slsDetectorUsers</a><li>getFlatFieldCorrectionDir()
: <a class="el" href="classslsDetectorUsers.html#0b20511a94205abd689f31bd1a2d4c18">slsDetectorUsers</a><li>getFlatFieldCorrectionFile()
: <a class="el" href="classslsDetectorUsers.html#a83083f73523557e6129f33b59f38327">slsDetectorUsers</a><li>getMaximumDetectorSize()
: <a class="el" href="classslsDetectorUsers.html#588a5e1d231cd6778f6f78fdc53b9681">slsDetectorUsers</a><li>getModuleFirmwareVersion()
: <a class="el" href="classslsDetectorUsers.html#09ded3b9c81e4544d42bb0697c3b7624">slsDetectorUsers</a><li>getModuleSerialNumber()
: <a class="el" href="classslsDetectorUsers.html#5c0e9f8836e1a8a2d986408e4f5dfd3b">slsDetectorUsers</a><li>getPositions()
: <a class="el" href="classslsDetectorUsers.html#e6e5f06995e3ef110824adc5f8b095e9">slsDetectorUsers</a><li>getReceiverVersion()
: <a class="el" href="classslsReceiverUsers.html#f206092e2744e12ce6b717f4181d91a2">slsReceiverUsers</a><li>getThisSoftwareVersion()
: <a class="el" href="classslsDetectorUsers.html#547feb09262a2f0fa1ec4de82e92ab63">slsDetectorUsers</a><li>getThresholdEnergy()
: <a class="el" href="classslsDetectorUsers.html#fe8029788742125c44383817f89214ca">slsDetectorUsers</a><li>getTimingMode()
: <a class="el" href="classslsDetectorUsers.html#e88a9626e4e661c1c0e1d27ba4a57d50">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
<li>initDataset()
: <a class="el" href="classslsDetectorUsers.html#56fa8890298a01fc58baad413dfdf1c1">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
<li>putCommand()
: <a class="el" href="classslsDetectorUsers.html#5f7c26833decef59c1abfd7d745c4671">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
<li>readConfigurationFile()
: <a class="el" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">slsDetectorUsers</a><li>registerAcquisitionFinishedCallback()
: <a class="el" href="classslsDetectorUsers.html#2a85e28ff08e3ec1e08bea3ba7d0fb08">slsDetectorUsers</a><li>registerCallBackAcquisitionFinished()
: <a class="el" href="classslsReceiverUsers.html#7471d2945e8650eece86258e6ca56156">slsReceiverUsers</a><li>registerCallBackRawDataReady()
: <a class="el" href="classslsReceiverUsers.html#343b9fac505e8c08a7fbf9efdd0f5762">slsReceiverUsers</a><li>registerCallBackStartAcquisition()
: <a class="el" href="classslsReceiverUsers.html#5d4bb9244008d0bc570778230d30c5e3">slsReceiverUsers</a><li>registerConnectChannelsCallback()
: <a class="el" href="classslsDetectorUsers.html#d1ab73675435879c2c5cef7adab02c32">slsDetectorUsers</a><li>registerDataCallback()
: <a class="el" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">slsDetectorUsers</a><li>registerDisconnectChannelsCallback()
: <a class="el" href="classslsDetectorUsers.html#a94dd8fce8548ba8e79201ec50fe27d6">slsDetectorUsers</a><li>registerGetI0Callback()
: <a class="el" href="classslsDetectorUsers.html#1969785197030aa8e2d3c3d48a9cb45c">slsDetectorUsers</a><li>registerGetPositionCallback()
: <a class="el" href="classslsDetectorUsers.html#c2b87416288e657a209e1374c778eb16">slsDetectorUsers</a><li>registerGoToPositionCallback()
: <a class="el" href="classslsDetectorUsers.html#0f7c9bd3c46647d5dda2fa5312f3ef92">slsDetectorUsers</a><li>registerGoToPositionNoWaitCallback()
: <a class="el" href="classslsDetectorUsers.html#e807e9f4a015a4bbcb22e36b80577ea5">slsDetectorUsers</a><li>registerRawDataCallback()
: <a class="el" href="classslsDetectorUsers.html#898cf0db148f0d3de7d4725cc8342c56">slsDetectorUsers</a><li>retrieveDetectorSetup()
: <a class="el" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">slsDetectorUsers</a><li>runStatusType()
: <a class="el" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
<li>setBeamEnergy()
: <a class="el" href="classslsDetectorUsers.html#475938986407804877df4dcece97cc19">slsDetectorUsers</a><li>setBitDepth()
: <a class="el" href="classslsDetectorUsers.html#ff667cf0665154cdff5d5f3dbc3526ba">slsDetectorUsers</a><li>setDelayAfterTrigger()
: <a class="el" href="classslsDetectorUsers.html#99f67fab7edfe68cc8b2300e282ff3f2">slsDetectorUsers</a><li>setDetectorSize()
: <a class="el" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">slsDetectorUsers</a><li>setExposurePeriod()
: <a class="el" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">slsDetectorUsers</a><li>setExposureTime()
: <a class="el" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">slsDetectorUsers</a><li>setFileIndex()
: <a class="el" href="classslsDetectorUsers.html#6b92ea7e237c77aa5107d7aabf76fe2d">slsDetectorUsers</a><li>setFileName()
: <a class="el" href="classslsDetectorUsers.html#ff4a8ff4852e50d4ec05204cbc7fea9e">slsDetectorUsers</a><li>setFilePath()
: <a class="el" href="classslsDetectorUsers.html#d833e1051299e101a5b5097c598ba9cb">slsDetectorUsers</a><li>setFlatFieldCorrectionDir()
: <a class="el" href="classslsDetectorUsers.html#65b112dac3d8b94f219f4d64c13cf0f9">slsDetectorUsers</a><li>setFlatFieldCorrectionFile()
: <a class="el" href="classslsDetectorUsers.html#ad9e6da8683ba2887174505fd3b7d739">slsDetectorUsers</a><li>setNumberOfCycles()
: <a class="el" href="classslsDetectorUsers.html#8b741851c4eaef4e29322c99fd17cb3b">slsDetectorUsers</a><li>setNumberOfFrames()
: <a class="el" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">slsDetectorUsers</a><li>setNumberOfGates()
: <a class="el" href="classslsDetectorUsers.html#61d4acb00c997c5e02be6a191401c4ce">slsDetectorUsers</a><li>setOnline()
: <a class="el" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">slsDetectorUsers</a><li>setPositions()
: <a class="el" href="classslsDetectorUsers.html#f296c05ee6134fb8d53d08a025e89775">slsDetectorUsers</a><li>setReceiverMode()
: <a class="el" href="classslsDetectorUsers.html#db084473ffe61960b86abdfa8efcc80d">slsDetectorUsers</a><li>setSettings()
: <a class="el" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">slsDetectorUsers</a><li>setThresholdEnergy()
: <a class="el" href="classslsDetectorUsers.html#1354266fd1bfaccd58992a3f51bbbd1d">slsDetectorUsers</a><li>setTimingMode()
: <a class="el" href="classslsDetectorUsers.html#e2825524756c4bdf418a6233e137b4d7">slsDetectorUsers</a><li>slsDetectorUsers()
: <a class="el" href="classslsDetectorUsers.html#17323cd635b9e5c2916be3ca30ec748c">slsDetectorUsers</a><li>slsReceiverUsers()
: <a class="el" href="classslsReceiverUsers.html#79a82ba94fbb19761c7701aa3901b8b1">slsReceiverUsers</a><li>start()
: <a class="el" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">slsReceiverUsers</a><li>startMeasurement()
: <a class="el" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">slsDetectorUsers</a><li>stop()
: <a class="el" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">slsReceiverUsers</a><li>stopMeasurement()
: <a class="el" href="classslsDetectorUsers.html#2abc673c45c1fe006f6b0fea6188e3a9">slsDetectorUsers</a></ul>
<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
<li>~detectorData()
: <a class="el" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">detectorData</a><li>~slsDetectorUsers()
: <a class="el" href="classslsDetectorUsers.html#0d1daf6539befe56d6e3df0b24f5d68b">slsDetectorUsers</a><li>~slsReceiverUsers()
: <a class="el" href="classslsReceiverUsers.html#9b45943d81ce7a09543aa446de857cb0">slsReceiverUsers</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,43 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Class Members - Variables</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li id="current"><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_func.html"><span>Functions</span></a></li>
<li id="current"><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
&nbsp;
<p>
<ul>
<li>angles
: <a class="el" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">detectorData</a><li>errors
: <a class="el" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">detectorData</a><li>fileName
: <a class="el" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">detectorData</a><li>npoints
: <a class="el" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">detectorData</a><li>npy
: <a class="el" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">detectorData</a><li>progressIndex
: <a class="el" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">detectorData</a><li>receiver
: <a class="el" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">slsReceiverUsers</a><li>values
: <a class="el" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">detectorData</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,36 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Class Members</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li id="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li id="current"><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
</ul>
</div>
Here is a list of all file members with links to the files they belong to:
<p>
<ul>
<li>dataCallback()
: <a class="el" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">mainClient.cpp</a><li>main()
: <a class="el" href="mainReceiver_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">mainReceiver.cpp</a>, <a class="el" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">mainClient.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,36 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Class Members</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li id="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li id="current"><a href="globals_func.html"><span>Functions</span></a></li>
</ul>
</div>
&nbsp;
<p>
<ul>
<li>dataCallback()
: <a class="el" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">mainClient.cpp</a><li>main()
: <a class="el" href="mainReceiver_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">mainReceiver.cpp</a>, <a class="el" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">mainClient.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,49 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Main Page</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li id="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<h1></h1>
<p>
<h1>API for SLS detectors data acquisition</h1>
<p>
<hr>
<p>
Although the SLS detectors group delvelops several types of detectors (1/2D, counting/integrating etc.) it is common interest of the group to use a common platfor for data acquisition<p>
The architecture of the acquisitions system is intended as follows: <ul>
<li>A socket server running on the detector (or more than one in some special cases) </li>
<li>C++ classes common to all detectors for client-server communication. These can be supplied to users as libraries and embedded also in acquisition systems which are not developed by the SLS </li>
<li>the possibility of using a Qt-based graphical user interface (with eventually root analisys capabilities) </li>
<li>the possibility of running all commands from command line. In order to ensure a fast operation of this so called "text client" the detector parameters should not be re-initialized everytime. For this reason a shared memory block is allocated where the main detector flags and parameters are stored </li>
<li>a Root library for data postprocessing and detector calibration (energy, angle).</li>
</ul>
<a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a> is a class to control the detector which should be instantiated by the users in their acquisition software (EPICS, spec etc.). A callback for dislaying the data can be registered. More advanced configuration functions are not implemented and can be written in a configuration file tha can be read/written.<p>
<a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a> is a class to receive the data for detectors with external data receiver (e.g. GOTTHARD). Callbacks can be registered to process the data or save them in specific formats.<p>
<a class="el" href="classdetectorData.html">detectorData</a> is a structure containing the data and additional information which is used to return the data e.g. to the GUI for displaying them.<p>
You can find examples of how this classes can be instatiated in <a class="el" href="mainClient_8cpp.html">mainClient.cpp</a> and <a class="el" href="mainReceiver_8cpp.html">mainReceiver.cpp</a><p>
<dl compact><dt><b>Authors:</b></dt><dd><a href="mailto:anna.bergamaschi@psi.ch">Anna Bergamaschi</a>, <a href="mailto:dhanya.maliakal@psi.ch">Dhanya Maliakal</a> </dd></dl>
<dl compact><dt><b>Version:</b></dt><dd>0.2 <h2>Currently supported detectors</h2>
</dd></dl>
<ul>
<li>MYTHEN </li>
<li>GOTTHARD controls </li>
<li>GOTTHARD data receiver <h3>Coming soon</h3>
</li>
</ul>
<ul>
<li>EIGER </li>
</ul>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,97 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>mainClient.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>mainClient.cpp</h1><a href="mainClient_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;iostream&gt;</span>
<a name="l00014"></a>00014 <span class="preprocessor">#include "<a class="code" href="slsDetectorUsers_8h.html">slsDetectorUsers.h</a>"</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include "<a class="code" href="detectorData_8h.html">detectorData.h</a>"</span>
<a name="l00016"></a>00016
<a name="l00017"></a>00017
<a name="l00019"></a><a class="code" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">00019</a> <span class="keywordtype">int</span> <a class="code" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">dataCallback</a>(<a class="code" href="classdetectorData.html">detectorData</a> *pData, <span class="keywordtype">int</span> iframe, <span class="keywordtype">void</span> *pArg)
<a name="l00020"></a>00020 {
<a name="l00021"></a>00021 std::cout &lt;&lt; <span class="stringliteral">"dataCallback: "</span> &lt;&lt; pData-&gt;<a class="code" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">npoints</a> &lt;&lt; <span class="stringliteral">" "</span> &lt;&lt; pData-&gt;<a class="code" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">npy</a> &lt;&lt; <span class="stringliteral">"Frame number: "</span> &lt;&lt; iframe &lt;&lt; std::endl;
<a name="l00022"></a>00022 }
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00026"></a><a class="code" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">00026</a> <span class="keywordtype">int</span> <a class="code" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[]) {
<a name="l00027"></a>00027 <span class="keywordtype">int</span> <span class="keywordtype">id</span>=0;
<a name="l00028"></a>00028 <span class="keywordtype">int</span> status;
<a name="l00030"></a>00030 <span class="keywordflow">if</span> (argc&gt;=3)
<a name="l00031"></a>00031 <span class="keywordtype">id</span>=atoi(argv[2]);
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00034"></a>00034
<a name="l00036"></a>00036 <a class="code" href="classslsDetectorUsers.html">slsDetectorUsers</a> *pDetector = <span class="keyword">new</span> <a class="code" href="classslsDetectorUsers.html">slsDetectorUsers</a> (<span class="keywordtype">id</span>);
<a name="l00037"></a>00037
<a name="l00038"></a>00038
<a name="l00040"></a>00040 <span class="keywordflow">if</span> (argc&gt;=2)
<a name="l00041"></a>00041 pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">readConfigurationFile</a>(argv[1]);
<a name="l00042"></a>00042
<a name="l00044"></a>00044 pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">setOnline</a>(1);
<a name="l00045"></a>00045
<a name="l00047"></a>00047 <span class="keywordflow">if</span> (argc&gt;=3)
<a name="l00048"></a>00048 pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">retrieveDetectorSetup</a>( argv[2]);
<a name="l00049"></a>00049 <span class="keywordflow">else</span>{
<a name="l00051"></a>00051 <span class="keywordtype">int</span> minX, minY=0, sizeX, sizeY=1;
<a name="l00052"></a>00052 pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">getDetectorSize</a>(minX, minY, sizeX, sizeY);
<a name="l00053"></a>00053 std::cout &lt;&lt; <span class="stringliteral">"X: Start="</span> &lt;&lt; minX &lt;&lt; <span class="stringliteral">", Size= "</span> &lt;&lt; sizeX &lt;&lt; std::endl;
<a name="l00054"></a>00054 std::cout &lt;&lt; <span class="stringliteral">"Y: Start="</span> &lt;&lt; minY &lt;&lt; <span class="stringliteral">", Size= "</span> &lt;&lt; sizeY &lt;&lt; std::endl;
<a name="l00055"></a>00055 pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">setDetectorSize</a>(0,0,7680,1);
<a name="l00056"></a>00056 std::cout &lt;&lt; pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">getDetectorDeveloper</a>() &lt;&lt; std::endl;
<a name="l00057"></a>00057
<a name="l00059"></a>00059 pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">registerDataCallback</a>(&amp;<a class="code" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">dataCallback</a>, NULL);
<a name="l00060"></a>00060
<a name="l00062"></a>00062 status = pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">getDetectorStatus</a>();
<a name="l00063"></a>00063 <span class="keywordflow">if</span> (status != 0){
<a name="l00064"></a>00064 std::cout &lt;&lt; <span class="stringliteral">"Detector not ready: "</span> &lt;&lt; <a class="code" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">slsDetectorUsers::runStatusType</a>(status) &lt;&lt; std::endl;
<a name="l00065"></a>00065 <span class="keywordflow">return</span> 1;
<a name="l00066"></a>00066 }
<a name="l00067"></a>00067
<a name="l00069"></a>00069 std::cout &lt;&lt; <span class="stringliteral">"settings: "</span> &lt;&lt; <a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">slsDetectorUsers::getDetectorSettings</a>(pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">setSettings</a>()) &lt;&lt; std::endl;
<a name="l00070"></a>00070 pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">setSettings</a>(<a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">slsDetectorUsers::getDetectorSettings</a>(<span class="stringliteral">"veryhighgain"</span>));
<a name="l00071"></a>00071 std::cout &lt;&lt; <span class="stringliteral">"settings: "</span> &lt;&lt; <a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">slsDetectorUsers::getDetectorSettings</a>(pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">setSettings</a>()) &lt;&lt; std::endl;
<a name="l00072"></a>00072
<a name="l00074"></a>00074 pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">setExposureTime</a>(10000000);
<a name="l00075"></a>00075
<a name="l00077"></a>00077 pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">setExposurePeriod</a>(100000000);
<a name="l00078"></a>00078
<a name="l00080"></a>00080 pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">setNumberOfFrames</a>(30);
<a name="l00081"></a>00081 }
<a name="l00083"></a>00083 pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">startMeasurement</a>();
<a name="l00084"></a>00084
<a name="l00085"></a>00085 <span class="keywordflow">while</span> (1) {
<a name="l00086"></a>00086 usleep(100000);
<a name="l00087"></a>00087 status = pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">getDetectorStatus</a>();
<a name="l00088"></a>00088 <span class="keywordflow">if</span> (status == 0 || status == 1|| status == 3)
<a name="l00089"></a>00089 <span class="keywordflow">break</span>;
<a name="l00090"></a>00090 }
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="keywordtype">char</span> *temp[] = {<span class="stringliteral">"receiver"</span>, NULL};
<a name="l00094"></a>00094 std::cout &lt;&lt; <span class="stringliteral">"answer to a get command:"</span> &lt;&lt; pDetector-&gt;<a class="code" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">getCommand</a>(1,temp,0) &lt;&lt; std::endl;
<a name="l00095"></a>00095
<a name="l00096"></a>00096 <span class="keyword">delete</span> pDetector;
<a name="l00097"></a>00097
<a name="l00098"></a>00098 <span class="keywordflow">return</span> 0;
<a name="l00099"></a>00099 }
<a name="l00100"></a>00100
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,132 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>mainClient.cpp File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>mainClient.cpp File Reference</h1><code>#include &lt;iostream&gt;</code><br>
<code>#include &quot;<a class="el" href="slsDetectorUsers_8h-source.html">slsDetectorUsers.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="detectorData_8h-source.html">detectorData.h</a>&quot;</code><br>
<p>
<a href="mainClient_8cpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">dataCallback</a> (<a class="el" href="classdetectorData.html">detectorData</a> *pData, int iframe, void *pArg)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This file is an example of how to implement the <a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a> class You can compile it linking it to the slsDetector library<p>
gcc <a class="el" href="mainClient_8cpp.html">mainClient.cpp</a> -L lib -l SlsDetector -lm -lpthread<p>
where lib is the location of libSlsDetector.so
<p>
Definition in file <a class="el" href="mainClient_8cpp-source.html">mainClient.cpp</a>.<hr><h2>Function Documentation</h2>
<a class="anchor" name="21ef7438e7f0ed24a190513fb8e6af8a"></a><!-- doxytag: member="mainClient.cpp::dataCallback" ref="21ef7438e7f0ed24a190513fb8e6af8a" args="(detectorData *pData, int iframe, void *pArg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int dataCallback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classdetectorData.html">detectorData</a> *&nbsp;</td>
<td class="paramname"> <em>pData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>iframe</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>pArg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Definition of the data callback which simply prints out the number of points received and teh frame number
<p>
Definition at line <a class="el" href="mainClient_8cpp-source.html#l00019">19</a> of file <a class="el" href="mainClient_8cpp-source.html">mainClient.cpp</a>.
<p>
References <a class="el" href="detectorData_8h-source.html#l00032">detectorData::npoints</a>, and <a class="el" href="detectorData_8h-source.html#l00033">detectorData::npy</a>.
<p>
Referenced by <a class="el" href="mainClient_8cpp-source.html#l00026">main()</a>.
</div>
</div><p>
<a class="anchor" name="0ddf1224851353fc92bfbff6f499fa97"></a><!-- doxytag: member="mainClient.cpp::main" ref="0ddf1224851353fc92bfbff6f499fa97" args="(int argc, char *argv[])" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int main </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>argc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>argv</em>[]</td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
example of a main program using the <a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a> class
<p>
if specified, argv[2] is used as detector ID (default is 0)<p>
<a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a> is instantiated<p>
if specified, argv[1] is used as detector config file (necessary at least the first time it is called to properly configure advanced settings in the shared memory)<p>
Setting the detector online (should be by default<p>
Load setup file if argv[2] specified<p>
defining the detector size<p>
registering data callback<p>
checking detector status and exiting if not idle<p>
checking and setting detector settings<p>
Settings exposure time to 10ms<p>
Settings exposure time to 100ms<p>
Settingsnumber of frames to 30<p>
start measurement<p>
returning when acquisition is finished or data are avilable
<p>
Definition at line <a class="el" href="mainClient_8cpp-source.html#l00026">26</a> of file <a class="el" href="mainClient_8cpp-source.html">mainClient.cpp</a>.
<p>
References <a class="el" href="mainClient_8cpp-source.html#l00019">dataCallback()</a>, <a class="el" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">slsDetectorUsers::getCommand()</a>, <a class="el" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">slsDetectorUsers::getDetectorDeveloper()</a>, <a class="el" href="slsDetectorUsers_8h-source.html#l00575">slsDetectorUsers::getDetectorSettings()</a>, <a class="el" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">slsDetectorUsers::getDetectorSize()</a>, <a class="el" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">slsDetectorUsers::getDetectorStatus()</a>, <a class="el" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">slsDetectorUsers::readConfigurationFile()</a>, <a class="el" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">slsDetectorUsers::registerDataCallback()</a>, <a class="el" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">slsDetectorUsers::retrieveDetectorSetup()</a>, <a class="el" href="slsDetectorUsers_8h-source.html#l00557">slsDetectorUsers::runStatusType()</a>, <a class="el" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">slsDetectorUsers::setDetectorSize()</a>, <a class="el" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">slsDetectorUsers::setExposurePeriod()</a>, <a class="el" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">slsDetectorUsers::setExposureTime()</a>, <a class="el" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">slsDetectorUsers::setNumberOfFrames()</a>, <a class="el" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">slsDetectorUsers::setOnline()</a>, <a class="el" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">slsDetectorUsers::setSettings()</a>, and <a class="el" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">slsDetectorUsers::startMeasurement()</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,112 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>mainReceiver.cpp Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>mainReceiver.cpp</h1><a href="mainReceiver_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* A simple server in the internet domain using TCP</span>
<a name="l00002"></a>00002 <span class="comment"> The port number is passed as an argument </span>
<a name="l00003"></a>00003 <span class="comment">*/</span>
<a name="l00004"></a>00004
<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="slsReceiverUsers_8h.html">slsReceiverUsers.h</a>"</span>
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;iostream&gt;</span>
<a name="l00022"></a>00022 <span class="keyword">using namespace </span>std;
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a><a class="code" href="mainReceiver_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">00025</a> <span class="keywordtype">int</span> <a class="code" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[]) {
<a name="l00026"></a>00026 <span class="keywordtype">int</span> ret = 0;
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="comment">/*</span>
<a name="l00030"></a>00030 <span class="comment"> Instantiate the slsReceieverUsers class</span>
<a name="l00031"></a>00031 <span class="comment"> The port number is passed as an argument</span>
<a name="l00032"></a>00032 <span class="comment">*/</span>
<a name="l00033"></a>00033 <a class="code" href="classslsReceiverUsers.html">slsReceiverUsers</a> *receiver = <span class="keyword">new</span> <a class="code" href="classslsReceiverUsers.html">slsReceiverUsers</a>(argc, argv, ret);
<a name="l00034"></a>00034
<a name="l00035"></a>00035 <span class="comment">/*</span>
<a name="l00036"></a>00036 <span class="comment"> return if could not open TCP socket for interfacing to client </span>
<a name="l00037"></a>00037 <span class="comment"> */</span>
<a name="l00038"></a>00038 <span class="keywordflow">if</span>(ret==1)
<a name="l00039"></a>00039 <span class="keywordflow">return</span> -1;
<a name="l00040"></a>00040
<a name="l00041"></a>00041
<a name="l00042"></a>00042 <span class="comment">/*register callbacks */</span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044
<a name="l00045"></a>00045 <span class="comment">/*</span>
<a name="l00046"></a>00046 <span class="comment"> callback arguments are</span>
<a name="l00047"></a>00047 <span class="comment"> filepath</span>
<a name="l00048"></a>00048 <span class="comment"> filename</span>
<a name="l00049"></a>00049 <span class="comment"> fileindex</span>
<a name="l00050"></a>00050 <span class="comment"> datasize</span>
<a name="l00051"></a>00051 <span class="comment"> </span>
<a name="l00052"></a>00052 <span class="comment"> return value is </span>
<a name="l00053"></a>00053 <span class="comment"> 0 raw data ready callback takes care of open,close,write file</span>
<a name="l00054"></a>00054 <span class="comment"> 1 callback writes file, we have to open, close it</span>
<a name="l00055"></a>00055 <span class="comment"> 2 we open, close, write file, callback does not do anything</span>
<a name="l00056"></a>00056 <span class="comment"></span>
<a name="l00057"></a>00057 <span class="comment"></span>
<a name="l00058"></a>00058 <span class="comment"> registerCallBackStartAcquisition(int (*func)(char*, char*,int, int, void*),void *arg);</span>
<a name="l00059"></a>00059 <span class="comment"> */</span>
<a name="l00060"></a>00060
<a name="l00061"></a>00061 <span class="comment">//receiver-&gt;registerCallBackStartAcquisition(func,arg);</span>
<a name="l00062"></a>00062
<a name="l00063"></a>00063
<a name="l00064"></a>00064 <span class="comment">/*</span>
<a name="l00065"></a>00065 <span class="comment"> callback argument is</span>
<a name="l00066"></a>00066 <span class="comment"> total farmes caught</span>
<a name="l00067"></a>00067 <span class="comment"> registerCallBackAcquisitionFinished(void (*func)(int, void*),void *arg);</span>
<a name="l00068"></a>00068 <span class="comment"> */</span>
<a name="l00069"></a>00069
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="comment">//receiver-&gt;registerCallBackAcquisitionFinished(func,arg);</span>
<a name="l00072"></a>00072
<a name="l00073"></a>00073
<a name="l00074"></a>00074
<a name="l00075"></a>00075 <span class="comment">/*</span>
<a name="l00076"></a>00076 <span class="comment"> args to raw data ready callback are</span>
<a name="l00077"></a>00077 <span class="comment"> framenum</span>
<a name="l00078"></a>00078 <span class="comment"> datapointer</span>
<a name="l00079"></a>00079 <span class="comment"> file descriptor</span>
<a name="l00080"></a>00080 <span class="comment"> guidatapointer (NULL, no data required)</span>
<a name="l00081"></a>00081 <span class="comment"> </span>
<a name="l00082"></a>00082 <span class="comment"> NEVER DELETE THE DATA POINTER</span>
<a name="l00083"></a>00083 <span class="comment"> REMEMBER THAT THE CALLBACK IS BLOCKING</span>
<a name="l00084"></a>00084 <span class="comment"></span>
<a name="l00085"></a>00085 <span class="comment"> registerCallBackRawDataReady(void (*func)(int, char*, FILE*, char*, void*),void *arg);</span>
<a name="l00086"></a>00086 <span class="comment"></span>
<a name="l00087"></a>00087 <span class="comment"> */</span>
<a name="l00088"></a>00088
<a name="l00089"></a>00089 <span class="comment">//receiver-&gt;registerCallBackRawDataReady(func,arg);</span>
<a name="l00090"></a>00090
<a name="l00091"></a>00091
<a name="l00092"></a>00092 <span class="comment">/* start receiver to listen for commands from the client (and data from detectors when expected */</span>
<a name="l00093"></a>00093 receiver-&gt;<a class="code" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">start</a>();
<a name="l00094"></a>00094
<a name="l00096"></a>00096 usleep(10000000);
<a name="l00097"></a>00097
<a name="l00099"></a>00099 receiver-&gt;<a class="code" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">stop</a>();
<a name="l00100"></a>00100
<a name="l00101"></a>00101 <span class="keywordflow">return</span> 0;
<a name="l00102"></a>00102 }
<a name="l00103"></a>00103
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,73 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>mainReceiver.cpp File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>mainReceiver.cpp File Reference</h1><code>#include &quot;<a class="el" href="slsReceiverUsers_8h-source.html">slsReceiverUsers.h</a>&quot;</code><br>
<code>#include &lt;iostream&gt;</code><br>
<p>
<a href="mainReceiver_8cpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainReceiver_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This file is an example of how to implement the <a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a> class You can compile it linking it to the slsDetector library<p>
gcc <a class="el" href="mainReceiver_8cpp.html">mainReceiver.cpp</a> -L lib -l SlsDetector -lm -lpthread<p>
where lib is the location of libSlsDetector.so
<p>
Definition in file <a class="el" href="mainReceiver_8cpp-source.html">mainReceiver.cpp</a>.<hr><h2>Function Documentation</h2>
<a class="anchor" name="0ddf1224851353fc92bfbff6f499fa97"></a><!-- doxytag: member="mainReceiver.cpp::main" ref="0ddf1224851353fc92bfbff6f499fa97" args="(int argc, char *argv[])" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int main </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>argc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>argv</em>[]</td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<p>
Definition at line <a class="el" href="mainReceiver_8cpp-source.html#l00025">25</a> of file <a class="el" href="mainReceiver_8cpp-source.html">mainReceiver.cpp</a>.
<p>
References <a class="el" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">slsReceiverUsers::start()</a>, and <a class="el" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">slsReceiverUsers::stop()</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,22 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Namespace Index</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<h1>Namespace List</h1>Here is a list of all namespaces with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="namespacestd.html">std</a></td><td class="indexvalue"></td></tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,24 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>std Namespace Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul></div>
<h1>std Namespace Reference</h1>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,258 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>slsDetectorUsers.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>slsDetectorUsers.h</h1><a href="slsDetectorUsers_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef SLS_DETECTOR_USERS_H</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define SLS_DETECTOR_USERS_H</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00004"></a>00004
<a name="l00005"></a>00005
<a name="l00016"></a>00016 <span class="keyword">class </span><a class="code" href="classdetectorData.html">detectorData</a>;
<a name="l00017"></a>00017 <span class="keyword">class </span>multiSlsDetector;
<a name="l00018"></a>00018 <span class="keyword">class </span>multiSlsDetectorCommand;
<a name="l00019"></a>00019
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;stdint.h&gt;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;string&gt;</span>
<a name="l00023"></a>00023
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="keyword">using namespace </span>std;
<a name="l00026"></a>00026
<a name="l00027"></a>00027
<a name="l00028"></a>00028
<a name="l00029"></a>00029 <span class="comment">/*</span>
<a name="l00030"></a>00030 <span class="comment"> \mainpage </span>
<a name="l00031"></a>00031 <span class="comment">&lt;CENTER&gt;&lt;H1&gt;API for SLS detectors data acquisition&lt;/H1&gt;&lt;/CENTER&gt;</span>
<a name="l00032"></a>00032 <span class="comment">&lt;HR&gt;</span>
<a name="l00033"></a>00033 <span class="comment">*/</span>
<a name="l00084"></a><a class="code" href="classslsDetectorUsers.html">00084</a> <span class="keyword">class </span><a class="code" href="classslsDetectorUsers.html">slsDetectorUsers</a>
<a name="l00085"></a>00085 {
<a name="l00086"></a>00086
<a name="l00087"></a>00087 <span class="keyword">public</span>:
<a name="l00088"></a>00088
<a name="l00090"></a>00090 <a class="code" href="classslsDetectorUsers.html#17323cd635b9e5c2916be3ca30ec748c">slsDetectorUsers</a>(<span class="keywordtype">int</span> <span class="keywordtype">id</span>=0);
<a name="l00091"></a>00091
<a name="l00092"></a>00092
<a name="l00094"></a>00094 <span class="keyword">virtual</span> <a class="code" href="classslsDetectorUsers.html#0d1daf6539befe56d6e3df0b24f5d68b">~slsDetectorUsers</a>();
<a name="l00095"></a>00095
<a name="l00096"></a>00096
<a name="l00097"></a>00097
<a name="l00102"></a>00102 string <a class="code" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">getDetectorDeveloper</a>();
<a name="l00103"></a>00103
<a name="l00104"></a>00104
<a name="l00105"></a>00105
<a name="l00110"></a>00110 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">setOnline</a>(<span class="keywordtype">int</span> <span class="keyword">const</span> online=-1);
<a name="l00111"></a>00111
<a name="l00116"></a>00116 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">startMeasurement</a>();
<a name="l00117"></a>00117
<a name="l00122"></a>00122 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#2abc673c45c1fe006f6b0fea6188e3a9">stopMeasurement</a>();
<a name="l00123"></a>00123
<a name="l00128"></a>00128 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">getDetectorStatus</a>();
<a name="l00129"></a>00129
<a name="l00133"></a>00133 string <a class="code" href="classslsDetectorUsers.html#81969295c2b08f14e9c3d4fa1f7d4e16">getFilePath</a>();
<a name="l00134"></a>00134
<a name="l00140"></a>00140 string <a class="code" href="classslsDetectorUsers.html#d833e1051299e101a5b5097c598ba9cb">setFilePath</a>(string s);
<a name="l00141"></a>00141
<a name="l00146"></a>00146 string <a class="code" href="classslsDetectorUsers.html#5f30c83e8bf07a92fad0916d43e3799c">getFileName</a>();
<a name="l00147"></a>00147
<a name="l00154"></a>00154 string <a class="code" href="classslsDetectorUsers.html#ff4a8ff4852e50d4ec05204cbc7fea9e">setFileName</a>(string s);
<a name="l00155"></a>00155
<a name="l00160"></a>00160 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#6e3467bf3c0c246f69f85d485d84dd62">getFileIndex</a>();
<a name="l00161"></a>00161
<a name="l00167"></a>00167 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#6b92ea7e237c77aa5107d7aabf76fe2d">setFileIndex</a>(<span class="keywordtype">int</span> i);
<a name="l00168"></a>00168
<a name="l00173"></a>00173 string <a class="code" href="classslsDetectorUsers.html#0b20511a94205abd689f31bd1a2d4c18">getFlatFieldCorrectionDir</a>();
<a name="l00174"></a>00174
<a name="l00180"></a>00180 string <a class="code" href="classslsDetectorUsers.html#65b112dac3d8b94f219f4d64c13cf0f9">setFlatFieldCorrectionDir</a>(string dir);
<a name="l00181"></a>00181
<a name="l00186"></a>00186 string <a class="code" href="classslsDetectorUsers.html#a83083f73523557e6129f33b59f38327">getFlatFieldCorrectionFile</a>();
<a name="l00187"></a>00187
<a name="l00193"></a>00193 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#ad9e6da8683ba2887174505fd3b7d739">setFlatFieldCorrectionFile</a>(string fname=<span class="stringliteral">""</span>);
<a name="l00194"></a>00194
<a name="l00195"></a>00195
<a name="l00196"></a>00196
<a name="l00202"></a>00202 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#94c74499f7653116cd8aff9ec0d14c43">enableFlatFieldCorrection</a>(<span class="keywordtype">int</span> i=-1);
<a name="l00203"></a>00203
<a name="l00209"></a>00209 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#82efe2f57758d63d330d78b121f8e77e">enableCountRateCorrection</a>(<span class="keywordtype">int</span> i=-1);
<a name="l00210"></a>00210
<a name="l00216"></a>00216 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#e5bc1c9c8e7e6cb7c9cde06a3133d263">enablePixelMaskCorrection</a>(<span class="keywordtype">int</span> i=-1);
<a name="l00217"></a>00217
<a name="l00223"></a>00223 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#51f92b69e05e8ee2e0c547ec4a6e97da">enableAngularConversion</a>(<span class="keywordtype">int</span> i=-1);
<a name="l00224"></a>00224
<a name="l00227"></a>00227 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#6d54a79ae4cfdb808f5db9969537efd3">enableWriteToFile</a>(<span class="keywordtype">int</span> i=-1);
<a name="l00228"></a>00228
<a name="l00235"></a>00235 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#f296c05ee6134fb8d53d08a025e89775">setPositions</a>(<span class="keywordtype">int</span> nPos, <span class="keywordtype">double</span> *pos);
<a name="l00236"></a>00236
<a name="l00242"></a>00242 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#e6e5f06995e3ef110824adc5f8b095e9">getPositions</a>(<span class="keywordtype">double</span> *pos=NULL);
<a name="l00243"></a>00243
<a name="l00252"></a>00252 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">setDetectorSize</a>(<span class="keywordtype">int</span> x0=-1, <span class="keywordtype">int</span> y0=-1, <span class="keywordtype">int</span> nx=-1, <span class="keywordtype">int</span> ny=-1);
<a name="l00253"></a>00253
<a name="l00254"></a>00254
<a name="l00263"></a>00263 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">getDetectorSize</a>(<span class="keywordtype">int</span> &amp;x0, <span class="keywordtype">int</span> &amp;y0, <span class="keywordtype">int</span> &amp;nx, <span class="keywordtype">int</span> &amp;ny);
<a name="l00272"></a>00272 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#588a5e1d231cd6778f6f78fdc53b9681">getMaximumDetectorSize</a>(<span class="keywordtype">int</span> &amp;nx, <span class="keywordtype">int</span> &amp;ny);
<a name="l00273"></a>00273
<a name="l00274"></a>00274
<a name="l00280"></a>00280 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#ff667cf0665154cdff5d5f3dbc3526ba">setBitDepth</a>(<span class="keywordtype">int</span> i=-1);
<a name="l00281"></a>00281
<a name="l00282"></a>00282
<a name="l00283"></a>00283
<a name="l00289"></a>00289 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">setSettings</a>(<span class="keywordtype">int</span> isettings=-1);
<a name="l00290"></a>00290
<a name="l00295"></a>00295 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#fe8029788742125c44383817f89214ca">getThresholdEnergy</a>();
<a name="l00296"></a>00296
<a name="l00297"></a>00297
<a name="l00303"></a>00303 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#1354266fd1bfaccd58992a3f51bbbd1d">setThresholdEnergy</a>(<span class="keywordtype">int</span> e_eV);
<a name="l00304"></a>00304
<a name="l00309"></a>00309 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#c9ea028f75a180534c8d00eeea0727d3">getBeamEnergy</a>();
<a name="l00310"></a>00310
<a name="l00311"></a>00311
<a name="l00317"></a>00317 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#475938986407804877df4dcece97cc19">setBeamEnergy</a>(<span class="keywordtype">int</span> e_eV);
<a name="l00318"></a>00318
<a name="l00326"></a>00326 <span class="keywordtype">double</span> <a class="code" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">setExposureTime</a>(<span class="keywordtype">double</span> t=-1, <span class="keywordtype">bool</span> inseconds=<span class="keyword">false</span>);
<a name="l00327"></a>00327
<a name="l00334"></a>00334 <span class="keywordtype">double</span> <a class="code" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">setExposurePeriod</a>(<span class="keywordtype">double</span> t=-1, <span class="keywordtype">bool</span> inseconds=<span class="keyword">false</span>);
<a name="l00335"></a>00335
<a name="l00342"></a>00342 <span class="keywordtype">double</span> <a class="code" href="classslsDetectorUsers.html#99f67fab7edfe68cc8b2300e282ff3f2">setDelayAfterTrigger</a>(<span class="keywordtype">double</span> t=-1, <span class="keywordtype">bool</span> inseconds=<span class="keyword">false</span>);
<a name="l00343"></a>00343
<a name="l00349"></a>00349 int64_t <a class="code" href="classslsDetectorUsers.html#61d4acb00c997c5e02be6a191401c4ce">setNumberOfGates</a>(int64_t t=-1);
<a name="l00350"></a>00350
<a name="l00356"></a>00356 int64_t <a class="code" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">setNumberOfFrames</a>(int64_t t=-1);
<a name="l00357"></a>00357
<a name="l00363"></a>00363 int64_t <a class="code" href="classslsDetectorUsers.html#8b741851c4eaef4e29322c99fd17cb3b">setNumberOfCycles</a>(int64_t t=-1);
<a name="l00364"></a>00364
<a name="l00365"></a>00365
<a name="l00371"></a>00371 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#e2825524756c4bdf418a6233e137b4d7">setTimingMode</a>(<span class="keywordtype">int</span> pol=-1);
<a name="l00372"></a>00372
<a name="l00378"></a>00378 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">readConfigurationFile</a>(string <span class="keyword">const</span> fname);
<a name="l00379"></a>00379
<a name="l00380"></a>00380
<a name="l00387"></a>00387 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#d6b968f4d520342324762c496ebeb481">dumpDetectorSetup</a>(string <span class="keyword">const</span> fname);
<a name="l00394"></a>00394 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">retrieveDetectorSetup</a>(string <span class="keyword">const</span> fname);
<a name="l00395"></a>00395
<a name="l00400"></a>00400 string <a class="code" href="classslsDetectorUsers.html#5292a3d9c12696512b81bcc6c579a03c">getDetectorType</a>();
<a name="l00401"></a>00401
<a name="l00407"></a>00407 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#db084473ffe61960b86abdfa8efcc80d">setReceiverMode</a>(<span class="keywordtype">int</span> n=-1);
<a name="l00408"></a>00408
<a name="l00414"></a>00414 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">registerDataCallback</a>(<span class="keywordtype">int</span>( *userCallback)(<a class="code" href="classdetectorData.html">detectorData</a>* d, <span class="keywordtype">int</span> f, <span class="keywordtype">void</span>*), <span class="keywordtype">void</span> *pArg);
<a name="l00415"></a>00415
<a name="l00421"></a>00421 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#898cf0db148f0d3de7d4725cc8342c56">registerRawDataCallback</a>(<span class="keywordtype">int</span>( *userCallback)(<span class="keywordtype">double</span>* p, <span class="keywordtype">int</span> n, <span class="keywordtype">void</span>*), <span class="keywordtype">void</span> *pArg);
<a name="l00422"></a>00422
<a name="l00428"></a>00428 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#56fa8890298a01fc58baad413dfdf1c1">initDataset</a>(<span class="keywordtype">int</span> refresh);
<a name="l00429"></a>00429
<a name="l00430"></a>00430
<a name="l00441"></a>00441 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#5128e295a5b926ccabdb48083d324789">addFrame</a>(<span class="keywordtype">double</span> *data, <span class="keywordtype">double</span> pos, <span class="keywordtype">double</span> i0, <span class="keywordtype">double</span> t, string fname, <span class="keywordtype">double</span> var);
<a name="l00442"></a>00442
<a name="l00451"></a>00451 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#9cbe00dac8a19b71de88ebbdf3b0ea29">finalizeDataset</a>(<span class="keywordtype">double</span> *a, <span class="keywordtype">double</span> *v, <span class="keywordtype">double</span> *e, <span class="keywordtype">int</span> &amp;np);
<a name="l00452"></a>00452
<a name="l00457"></a>00457 int64_t <a class="code" href="classslsDetectorUsers.html#09ded3b9c81e4544d42bb0697c3b7624">getModuleFirmwareVersion</a>();
<a name="l00458"></a>00458
<a name="l00464"></a>00464 int64_t <a class="code" href="classslsDetectorUsers.html#5c0e9f8836e1a8a2d986408e4f5dfd3b">getModuleSerialNumber</a>(<span class="keywordtype">int</span> imod=-1);
<a name="l00465"></a>00465
<a name="l00470"></a>00470 int64_t <a class="code" href="classslsDetectorUsers.html#2cbba4518b585064f7870ae2d39a8b8b">getDetectorFirmwareVersion</a>();
<a name="l00471"></a>00471
<a name="l00476"></a>00476 int64_t <a class="code" href="classslsDetectorUsers.html#1c79314ceeda9b3085ca118e25882669">getDetectorSerialNumber</a>();
<a name="l00477"></a>00477
<a name="l00482"></a>00482 int64_t <a class="code" href="classslsDetectorUsers.html#1857f2afea58227cb96ad92f5e562a5e">getDetectorSoftwareVersion</a>();
<a name="l00483"></a>00483
<a name="l00488"></a>00488 int64_t <a class="code" href="classslsDetectorUsers.html#547feb09262a2f0fa1ec4de82e92ab63">getThisSoftwareVersion</a>();
<a name="l00489"></a>00489
<a name="l00495"></a>00495 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#2a85e28ff08e3ec1e08bea3ba7d0fb08">registerAcquisitionFinishedCallback</a>(<span class="keywordtype">int</span>( *func)(<span class="keywordtype">double</span>,<span class="keywordtype">int</span>, <span class="keywordtype">void</span>*), <span class="keywordtype">void</span> *pArg);
<a name="l00496"></a>00496
<a name="l00502"></a>00502 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#c2b87416288e657a209e1374c778eb16">registerGetPositionCallback</a>( <span class="keywordtype">double</span> (*func)(<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
<a name="l00507"></a>00507 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#d1ab73675435879c2c5cef7adab02c32">registerConnectChannelsCallback</a>( <span class="keywordtype">int</span> (*func)(<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
<a name="l00512"></a>00512 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#a94dd8fce8548ba8e79201ec50fe27d6">registerDisconnectChannelsCallback</a>( <span class="keywordtype">int</span> (*func)(<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
<a name="l00517"></a>00517 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#0f7c9bd3c46647d5dda2fa5312f3ef92">registerGoToPositionCallback</a>( <span class="keywordtype">int</span> (*func)(<span class="keywordtype">double</span>,<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
<a name="l00522"></a>00522 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#e807e9f4a015a4bbcb22e36b80577ea5">registerGoToPositionNoWaitCallback</a>( <span class="keywordtype">int</span> (*func)(<span class="keywordtype">double</span>,<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
<a name="l00527"></a>00527 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#1969785197030aa8e2d3c3d48a9cb45c">registerGetI0Callback</a>( <span class="keywordtype">double</span> (*func)(<span class="keywordtype">int</span>,<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
<a name="l00528"></a>00528
<a name="l00536"></a>00536 string <a class="code" href="classslsDetectorUsers.html#5f7c26833decef59c1abfd7d745c4671">putCommand</a>(<span class="keywordtype">int</span> narg, <span class="keywordtype">char</span> *args[], <span class="keywordtype">int</span> pos=-1);
<a name="l00537"></a>00537
<a name="l00545"></a>00545 string <a class="code" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">getCommand</a>(<span class="keywordtype">int</span> narg, <span class="keywordtype">char</span> *args[], <span class="keywordtype">int</span> pos=-1);
<a name="l00546"></a>00546
<a name="l00547"></a>00547 <span class="comment">/************************************************************************</span>
<a name="l00548"></a>00548 <span class="comment"></span>
<a name="l00549"></a>00549 <span class="comment"> STATIC FUNCTIONS</span>
<a name="l00550"></a>00550 <span class="comment"></span>
<a name="l00551"></a>00551 <span class="comment"> *********************************************************************/</span>
<a name="l00552"></a>00552
<a name="l00557"></a><a class="code" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">00557</a> <span class="keyword">static</span> string <a class="code" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">runStatusType</a>(<span class="keywordtype">int</span> s){ \
<a name="l00558"></a>00558 <span class="keywordflow">switch</span> (s) { \
<a name="l00559"></a>00559 <span class="keywordflow">case</span> 0: <span class="keywordflow">return</span> string(<span class="stringliteral">"idle"</span>); \
<a name="l00560"></a>00560 <span class="keywordflow">case</span> 1: <span class="keywordflow">return</span> string(<span class="stringliteral">"error"</span>); \
<a name="l00561"></a>00561 <span class="keywordflow">case</span> 2: <span class="keywordflow">return</span> string(<span class="stringliteral">"waiting"</span>); \
<a name="l00562"></a>00562 <span class="keywordflow">case</span> 3: <span class="keywordflow">return</span> string(<span class="stringliteral">"finished"</span>); \
<a name="l00563"></a>00563 <span class="keywordflow">case</span> 4: <span class="keywordflow">return</span> string(<span class="stringliteral">"data"</span>); \
<a name="l00564"></a>00564 <span class="keywordflow">case</span> 5: <span class="keywordflow">return</span> string(<span class="stringliteral">"running"</span>); \
<a name="l00565"></a>00565 <span class="keywordflow">default</span>: <span class="keywordflow">return</span> string(<span class="stringliteral">"unknown"</span>); \
<a name="l00566"></a>00566 }};
<a name="l00567"></a>00567
<a name="l00568"></a>00568
<a name="l00569"></a>00569
<a name="l00575"></a><a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">00575</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">getDetectorSettings</a>(string s){ \
<a name="l00576"></a>00576 <span class="keywordflow">if</span> (s==<span class="stringliteral">"standard"</span>) <span class="keywordflow">return</span> 0; \
<a name="l00577"></a>00577 <span class="keywordflow">if</span> (s==<span class="stringliteral">"fast"</span>) <span class="keywordflow">return</span> 1; \
<a name="l00578"></a>00578 <span class="keywordflow">if</span> (s==<span class="stringliteral">"highgain"</span>) <span class="keywordflow">return</span> 2; \
<a name="l00579"></a>00579 <span class="keywordflow">if</span> (s==<span class="stringliteral">"dynamicgain"</span>) <span class="keywordflow">return</span> 3; \
<a name="l00580"></a>00580 <span class="keywordflow">if</span> (s==<span class="stringliteral">"lowgain"</span>) <span class="keywordflow">return</span> 4; \
<a name="l00581"></a>00581 <span class="keywordflow">if</span> (s==<span class="stringliteral">"mediumgain"</span>) <span class="keywordflow">return</span> 5; \
<a name="l00582"></a>00582 <span class="keywordflow">if</span> (s==<span class="stringliteral">"veryhighgain"</span>) <span class="keywordflow">return</span> 6; \
<a name="l00583"></a>00583 <span class="keywordflow">return</span> -1; };
<a name="l00584"></a>00584
<a name="l00589"></a><a class="code" href="classslsDetectorUsers.html#a66defec09b568a514e57b444dbe0d7f">00589</a> <span class="keyword">static</span> string <a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">getDetectorSettings</a>(<span class="keywordtype">int</span> s){\
<a name="l00590"></a>00590 <span class="keywordflow">switch</span>(s) { \
<a name="l00591"></a>00591 <span class="keywordflow">case</span> 0: <span class="keywordflow">return</span> string(<span class="stringliteral">"standard"</span>);\
<a name="l00592"></a>00592 <span class="keywordflow">case</span> 1: <span class="keywordflow">return</span> string(<span class="stringliteral">"fast"</span>);\
<a name="l00593"></a>00593 <span class="keywordflow">case</span> 2: <span class="keywordflow">return</span> string(<span class="stringliteral">"highgain"</span>);\
<a name="l00594"></a>00594 <span class="keywordflow">case</span> 3: <span class="keywordflow">return</span> string(<span class="stringliteral">"dynamicgain"</span>); \
<a name="l00595"></a>00595 <span class="keywordflow">case</span> 4: <span class="keywordflow">return</span> string(<span class="stringliteral">"lowgain"</span>); \
<a name="l00596"></a>00596 <span class="keywordflow">case</span> 5: <span class="keywordflow">return</span> string(<span class="stringliteral">"mediumgain"</span>); \
<a name="l00597"></a>00597 <span class="keywordflow">case</span> 6: <span class="keywordflow">return</span> string(<span class="stringliteral">"veryhighgain"</span>); \
<a name="l00598"></a>00598 <span class="keywordflow">default</span>: <span class="keywordflow">return</span> string(<span class="stringliteral">"undefined"</span>); \
<a name="l00599"></a>00599 }};
<a name="l00600"></a>00600
<a name="l00601"></a>00601
<a name="l00602"></a>00602
<a name="l00609"></a><a class="code" href="classslsDetectorUsers.html#420880726f4036bf9da83edfcb2d6cf0">00609</a> <span class="keyword">static</span> string <a class="code" href="classslsDetectorUsers.html#420880726f4036bf9da83edfcb2d6cf0">getTimingMode</a>(<span class="keywordtype">int</span> f){ \
<a name="l00610"></a>00610 <span class="keywordflow">switch</span>(f) { \
<a name="l00611"></a>00611 <span class="keywordflow">case</span> 0: <span class="keywordflow">return</span> string( <span class="stringliteral">"auto"</span>); \
<a name="l00612"></a>00612 <span class="keywordflow">case</span> 1: <span class="keywordflow">return</span> string(<span class="stringliteral">"trigger"</span>); \
<a name="l00613"></a>00613 <span class="keywordflow">case</span> 2: <span class="keywordflow">return</span> string(<span class="stringliteral">"ro_trigger"</span>); \
<a name="l00614"></a>00614 <span class="keywordflow">case</span> 3: <span class="keywordflow">return</span> string(<span class="stringliteral">"gating"</span>); \
<a name="l00615"></a>00615 <span class="keywordflow">case</span> 4: <span class="keywordflow">return</span> string(<span class="stringliteral">"triggered_gating"</span>); \
<a name="l00616"></a>00616 <span class="keywordflow">default</span>: <span class="keywordflow">return</span> string( <span class="stringliteral">"unknown"</span>); \
<a name="l00617"></a>00617 } };
<a name="l00618"></a>00618
<a name="l00625"></a><a class="code" href="classslsDetectorUsers.html#e88a9626e4e661c1c0e1d27ba4a57d50">00625</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#420880726f4036bf9da83edfcb2d6cf0">getTimingMode</a>(string s){ \
<a name="l00626"></a>00626 <span class="keywordflow">if</span> (s== <span class="stringliteral">"auto"</span>) <span class="keywordflow">return</span> 0; \
<a name="l00627"></a>00627 <span class="keywordflow">if</span> (s== <span class="stringliteral">"trigger"</span>) <span class="keywordflow">return</span> 1; \
<a name="l00628"></a>00628 <span class="keywordflow">if</span> (s== <span class="stringliteral">"ro_trigger"</span>) <span class="keywordflow">return</span> 2; \
<a name="l00629"></a>00629 <span class="keywordflow">if</span> (s== <span class="stringliteral">"gating"</span>) <span class="keywordflow">return</span> 3; \
<a name="l00630"></a>00630 <span class="keywordflow">if</span> (s== <span class="stringliteral">"triggered_gating"</span>) <span class="keywordflow">return</span> 4; \
<a name="l00631"></a>00631 <span class="keywordflow">return</span> -1; };
<a name="l00632"></a>00632
<a name="l00633"></a>00633 <span class="keyword">private</span>:
<a name="l00634"></a>00634 multiSlsDetector *myDetector;
<a name="l00635"></a>00635 multiSlsDetectorCommand *myCmd;
<a name="l00636"></a>00636 };
<a name="l00637"></a>00637
<a name="l00638"></a>00638 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,38 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>slsDetectorUsers.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>slsDetectorUsers.h File Reference</h1><code>#include &lt;stdint.h&gt;</code><br>
<code>#include &lt;string&gt;</code><br>
<p>
<a href="slsDetectorUsers_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacestd.html">std</a></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class for detector functionalitiesto embed the detector controls in the users custom interface e.g. EPICS, Lima etc. <a href="classslsDetectorUsers.html#_details">More...</a><br></td></tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,64 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>slsReceiverUsers.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>slsReceiverUsers.h</h1><a href="slsReceiverUsers_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
<a name="l00002"></a>00002 <span class="preprocessor">#ifndef SLS_RECEIVER_USERS_H</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span><span class="preprocessor">#define SLS_RECEIVER_USERS_H</span>
<a name="l00004"></a>00004 <span class="preprocessor"></span>
<a name="l00005"></a>00005 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
<a name="l00006"></a>00006 <span class="preprocessor">#include &lt;stdint.h&gt;</span>
<a name="l00007"></a>00007
<a name="l00008"></a>00008 <span class="keyword">class </span>slsReceiverTCPIPInterface;
<a name="l00009"></a>00009
<a name="l00021"></a><a class="code" href="classslsReceiverUsers.html">00021</a> <span class="keyword">class </span><a class="code" href="classslsReceiverUsers.html">slsReceiverUsers</a> {
<a name="l00022"></a>00022
<a name="l00023"></a>00023 <span class="keyword">public</span>:
<a name="l00031"></a>00031 <a class="code" href="classslsReceiverUsers.html#79a82ba94fbb19761c7701aa3901b8b1">slsReceiverUsers</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[], <span class="keywordtype">int</span> &amp;success);
<a name="l00032"></a>00032
<a name="l00033"></a>00033
<a name="l00035"></a>00035 <a class="code" href="classslsReceiverUsers.html#9b45943d81ce7a09543aa446de857cb0">~slsReceiverUsers</a>();
<a name="l00036"></a>00036
<a name="l00038"></a>00038 <span class="keywordtype">void</span> <a class="code" href="classslsReceiverUsers.html#bad0b3265826da2d9ebf48e59e9d5787">closeFile</a>(<span class="keywordtype">int</span> p);
<a name="l00039"></a>00039
<a name="l00044"></a>00044 <span class="keywordtype">int</span> <a class="code" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">start</a>();
<a name="l00045"></a>00045
<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">stop</a>();
<a name="l00048"></a>00048
<a name="l00053"></a>00053 int64_t <a class="code" href="classslsReceiverUsers.html#f206092e2744e12ce6b717f4181d91a2">getReceiverVersion</a>();
<a name="l00054"></a>00054
<a name="l00064"></a>00064 <span class="keywordtype">void</span> <a class="code" href="classslsReceiverUsers.html#5d4bb9244008d0bc570778230d30c5e3">registerCallBackStartAcquisition</a>(<span class="keywordtype">int</span> (*func)(<span class="keywordtype">char</span>* filepath, <span class="keywordtype">char</span>* filename,<span class="keywordtype">int</span> fileindex, <span class="keywordtype">int</span> datasize, <span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
<a name="l00065"></a>00065
<a name="l00066"></a>00066
<a name="l00074"></a>00074 <span class="keywordtype">void</span> <a class="code" href="classslsReceiverUsers.html#7471d2945e8650eece86258e6ca56156">registerCallBackAcquisitionFinished</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">int</span> nf, <span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
<a name="l00075"></a>00075
<a name="l00076"></a>00076
<a name="l00077"></a>00077
<a name="l00084"></a>00084 <span class="keywordtype">void</span> <a class="code" href="classslsReceiverUsers.html#343b9fac505e8c08a7fbf9efdd0f5762">registerCallBackRawDataReady</a>(<span class="keywordtype">void</span> (*func)(<span class="keywordtype">int</span> framenumber, <span class="keywordtype">char</span>* datapointer, <span class="keywordtype">int</span> datasize, FILE* filedescriptor, <span class="keywordtype">char</span>* guidatapointer, <span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
<a name="l00085"></a>00085
<a name="l00086"></a>00086 <span class="comment">// made static to close thread files with ctrl+c</span>
<a name="l00087"></a><a class="code" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">00087</a> <span class="keyword">static</span> slsReceiverTCPIPInterface* <a class="code" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">receiver</a>;
<a name="l00088"></a>00088 };
<a name="l00089"></a>00089
<a name="l00090"></a>00090
<a name="l00091"></a>00091 <span class="preprocessor">#endif</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

View File

@@ -1,35 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>slsReceiverUsers.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>slsReceiverUsers.h File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
<code>#include &lt;stdint.h&gt;</code><br>
<p>
<a href="slsReceiverUsers_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data. <a href="classslsReceiverUsers.html#_details">More...</a><br></td></tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 706 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -1,102 +0,0 @@
/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
DIV.tabs
{
float : left;
width : 100%;
background : url("tab_b.gif") repeat-x bottom;
margin-bottom : 4px;
}
DIV.tabs UL
{
margin : 0px;
padding-left : 10px;
list-style : none;
}
DIV.tabs LI, DIV.tabs FORM
{
display : inline;
margin : 0px;
padding : 0px;
}
DIV.tabs FORM
{
float : right;
}
DIV.tabs A
{
float : left;
background : url("tab_r.gif") no-repeat right top;
border-bottom : 1px solid #84B0C7;
font-size : x-small;
font-weight : bold;
text-decoration : none;
}
DIV.tabs A:hover
{
background-position: 100% -150px;
}
DIV.tabs A:link, DIV.tabs A:visited,
DIV.tabs A:active, DIV.tabs A:hover
{
color: #1A419D;
}
DIV.tabs SPAN
{
float : left;
display : block;
background : url("tab_l.gif") no-repeat left top;
padding : 5px 9px;
white-space : nowrap;
}
DIV.tabs INPUT
{
float : right;
display : inline;
font-size : 1em;
}
DIV.tabs TD
{
font-size : x-small;
font-weight : bold;
text-decoration : none;
}
/* Commented Backslash Hack hides rule from IE5-Mac \*/
DIV.tabs SPAN {float : none;}
/* End IE5-Mac hack */
DIV.tabs A:hover SPAN
{
background-position: 0% -150px;
}
DIV.tabs LI#current A
{
background-position: 100% -150px;
border-width : 0px;
}
DIV.tabs LI#current SPAN
{
background-position: 0% -150px;
padding-bottom : 6px;
}
DIV.nav
{
background : none;
border : none;
border-bottom : 1px solid #84B0C7;
}

View File

@@ -1,17 +0,0 @@
all: clean refman.pdf
refman.pdf: refman.tex
pdflatex refman.tex
makeindex refman.idx
pdflatex refman.tex
latex_count=5 ; \
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
do \
echo "Rerunning latex...." ;\
pdflatex refman.tex ;\
latex_count=`expr $$latex_count - 1` ;\
done
clean:
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf

View File

@@ -1,6 +0,0 @@
\subsection{Class List}
Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
\item\contentsline{section}{\hyperlink{classdetectorData}{detector\-Data} (Data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.) )}{\pageref{classdetectorData}}{}
\item\contentsline{section}{\hyperlink{classslsDetectorUsers}{sls\-Detector\-Users} (Class for detector functionalitiesto embed the detector controls in the users custom interface e.g. EPICS, Lima etc )}{\pageref{classslsDetectorUsers}}{}
\item\contentsline{section}{\hyperlink{classslsReceiverUsers}{sls\-Receiver\-Users} (Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data )}{\pageref{classslsReceiverUsers}}{}
\end{CompactList}

View File

@@ -1,171 +0,0 @@
\hypertarget{classdetectorData}{
\subsection{detector\-Data Class Reference}
\label{classdetectorData}\index{detectorData@{detectorData}}
}
data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.)
{\tt \#include $<$detector\-Data.h$>$}
\subsubsection*{Public Member Functions}
\begin{CompactItemize}
\item
\hyperlink{classdetectorData_3f8538f5f634295fc40682b8aed47b31}{detector\-Data} (double $\ast$val=NULL, double $\ast$err=NULL, double $\ast$ang=NULL, double p\_\-ind=-1, const char $\ast$fname=\char`\"{}\char`\"{}, int np=-1, int ny=1)
\begin{CompactList}\small\item\em The constructor. \item\end{CompactList}\item
\hyperlink{classdetectorData_d32a037cc2bd6e8caf4556cbd4b88ec7}{$\sim$detector\-Data} ()
\begin{CompactList}\small\item\em The destructor deletes also the arrays pointing to data/errors/angles if not NULL. \item\end{CompactList}\end{CompactItemize}
\subsubsection*{Public Attributes}
\begin{CompactItemize}
\item
double $\ast$ \hyperlink{classdetectorData_0f4e31d65f9616e83a2e5521453d0364}{values}
\begin{CompactList}\small\item\em pointer to the data \item\end{CompactList}\item
double $\ast$ \hyperlink{classdetectorData_29cb1c6bb5635e918ae28505ccd0d8f9}{errors}
\begin{CompactList}\small\item\em pointer to the errors \item\end{CompactList}\item
double $\ast$ \hyperlink{classdetectorData_cc9f9708b9ff2d840208cae843fb4b7a}{angles}
\begin{CompactList}\small\item\em pointer to the angles (NULL if no angular conversion) \item\end{CompactList}\item
double \hyperlink{classdetectorData_976b3287d46aed032487bbeed74132da}{progress\-Index}
\begin{CompactList}\small\item\em file index \item\end{CompactList}\item
char \hyperlink{classdetectorData_91d1e3466878def295a531c01bdeef6b}{file\-Name} \mbox{[}1000\mbox{]}
\begin{CompactList}\small\item\em file name \item\end{CompactList}\item
int \hyperlink{classdetectorData_50aabf6f2c40587f8e915cf4913a2cfe}{npoints}
\begin{CompactList}\small\item\em number of points \item\end{CompactList}\item
int \hyperlink{classdetectorData_c289d259e7fd9445a9c04976a82cb324}{npy}
\begin{CompactList}\small\item\em dimensions in y coordinate \item\end{CompactList}\end{CompactItemize}
\subsubsection{Detailed Description}
data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.)
Definition at line 9 of file detector\-Data.h.
\subsubsection{Constructor \& Destructor Documentation}
\hypertarget{classdetectorData_3f8538f5f634295fc40682b8aed47b31}{
\index{detectorData@{detector\-Data}!detectorData@{detectorData}}
\index{detectorData@{detectorData}!detectorData@{detector\-Data}}
\paragraph[detectorData]{\setlength{\rightskip}{0pt plus 5cm}detector\-Data::detector\-Data (double $\ast$ {\em val} = {\tt NULL}, double $\ast$ {\em err} = {\tt NULL}, double $\ast$ {\em ang} = {\tt NULL}, double {\em p\_\-ind} = {\tt -1}, const char $\ast$ {\em fname} = {\tt \char`\"{}\char`\"{}}, int {\em np} = {\tt -1}, int {\em ny} = {\tt 1})\hspace{0.3cm}{\tt \mbox{[}inline\mbox{]}}}\hfill}
\label{classdetectorData_3f8538f5f634295fc40682b8aed47b31}
The constructor.
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em val}]pointer to the data \item[{\em err}]pointer to errors \item[{\em ang}]pointer to the angles \item[{\em f\_\-ind}]file index \item[{\em fname}]file name to which the data are saved \item[{\em np}]number of points in x coordinate defaults to the number of detector channels (1D detector) \item[{\em ny}]dimension in y (1D detector) \end{description}
\end{Desc}
Definition at line 20 of file detector\-Data.h.
References file\-Name.\hypertarget{classdetectorData_d32a037cc2bd6e8caf4556cbd4b88ec7}{
\index{detectorData@{detector\-Data}!~detectorData@{$\sim$detectorData}}
\index{~detectorData@{$\sim$detectorData}!detectorData@{detector\-Data}}
\paragraph[$\sim$detectorData]{\setlength{\rightskip}{0pt plus 5cm}detector\-Data::$\sim$detector\-Data ()\hspace{0.3cm}{\tt \mbox{[}inline\mbox{]}}}\hfill}
\label{classdetectorData_d32a037cc2bd6e8caf4556cbd4b88ec7}
The destructor deletes also the arrays pointing to data/errors/angles if not NULL.
Definition at line 25 of file detector\-Data.h.
References angles, errors, and values.
\subsubsection{Member Data Documentation}
\hypertarget{classdetectorData_cc9f9708b9ff2d840208cae843fb4b7a}{
\index{detectorData@{detector\-Data}!angles@{angles}}
\index{angles@{angles}!detectorData@{detector\-Data}}
\paragraph[angles]{\setlength{\rightskip}{0pt plus 5cm}double$\ast$ \hyperlink{classdetectorData_cc9f9708b9ff2d840208cae843fb4b7a}{detector\-Data::angles}}\hfill}
\label{classdetectorData_cc9f9708b9ff2d840208cae843fb4b7a}
pointer to the angles (NULL if no angular conversion)
Definition at line 29 of file detector\-Data.h.
Referenced by $\sim$detector\-Data().\hypertarget{classdetectorData_29cb1c6bb5635e918ae28505ccd0d8f9}{
\index{detectorData@{detector\-Data}!errors@{errors}}
\index{errors@{errors}!detectorData@{detector\-Data}}
\paragraph[errors]{\setlength{\rightskip}{0pt plus 5cm}double$\ast$ \hyperlink{classdetectorData_29cb1c6bb5635e918ae28505ccd0d8f9}{detector\-Data::errors}}\hfill}
\label{classdetectorData_29cb1c6bb5635e918ae28505ccd0d8f9}
pointer to the errors
Definition at line 28 of file detector\-Data.h.
Referenced by $\sim$detector\-Data().\hypertarget{classdetectorData_91d1e3466878def295a531c01bdeef6b}{
\index{detectorData@{detector\-Data}!fileName@{fileName}}
\index{fileName@{fileName}!detectorData@{detector\-Data}}
\paragraph[fileName]{\setlength{\rightskip}{0pt plus 5cm}char \hyperlink{classdetectorData_91d1e3466878def295a531c01bdeef6b}{detector\-Data::file\-Name}\mbox{[}1000\mbox{]}}\hfill}
\label{classdetectorData_91d1e3466878def295a531c01bdeef6b}
file name
Definition at line 31 of file detector\-Data.h.
Referenced by detector\-Data().\hypertarget{classdetectorData_50aabf6f2c40587f8e915cf4913a2cfe}{
\index{detectorData@{detector\-Data}!npoints@{npoints}}
\index{npoints@{npoints}!detectorData@{detector\-Data}}
\paragraph[npoints]{\setlength{\rightskip}{0pt plus 5cm}int \hyperlink{classdetectorData_50aabf6f2c40587f8e915cf4913a2cfe}{detector\-Data::npoints}}\hfill}
\label{classdetectorData_50aabf6f2c40587f8e915cf4913a2cfe}
number of points
Definition at line 32 of file detector\-Data.h.
Referenced by data\-Callback().\hypertarget{classdetectorData_c289d259e7fd9445a9c04976a82cb324}{
\index{detectorData@{detector\-Data}!npy@{npy}}
\index{npy@{npy}!detectorData@{detector\-Data}}
\paragraph[npy]{\setlength{\rightskip}{0pt plus 5cm}int \hyperlink{classdetectorData_c289d259e7fd9445a9c04976a82cb324}{detector\-Data::npy}}\hfill}
\label{classdetectorData_c289d259e7fd9445a9c04976a82cb324}
dimensions in y coordinate
Definition at line 33 of file detector\-Data.h.
Referenced by data\-Callback().\hypertarget{classdetectorData_976b3287d46aed032487bbeed74132da}{
\index{detectorData@{detector\-Data}!progressIndex@{progressIndex}}
\index{progressIndex@{progressIndex}!detectorData@{detector\-Data}}
\paragraph[progressIndex]{\setlength{\rightskip}{0pt plus 5cm}double \hyperlink{classdetectorData_976b3287d46aed032487bbeed74132da}{detector\-Data::progress\-Index}}\hfill}
\label{classdetectorData_976b3287d46aed032487bbeed74132da}
file index
Definition at line 30 of file detector\-Data.h.\hypertarget{classdetectorData_0f4e31d65f9616e83a2e5521453d0364}{
\index{detectorData@{detector\-Data}!values@{values}}
\index{values@{values}!detectorData@{detector\-Data}}
\paragraph[values]{\setlength{\rightskip}{0pt plus 5cm}double$\ast$ \hyperlink{classdetectorData_0f4e31d65f9616e83a2e5521453d0364}{detector\-Data::values}}\hfill}
\label{classdetectorData_0f4e31d65f9616e83a2e5521453d0364}
pointer to the data
Definition at line 25 of file detector\-Data.h.
Referenced by $\sim$detector\-Data().
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
\hyperlink{detectorData_8h}{detector\-Data.h}\end{CompactItemize}

View File

@@ -1,164 +0,0 @@
\hypertarget{classslsReceiverUsers}{
\subsection{sls\-Receiver\-Users Class Reference}
\label{classslsReceiverUsers}\index{slsReceiverUsers@{slsReceiverUsers}}
}
Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data.
{\tt \#include $<$sls\-Receiver\-Users.h$>$}
\subsubsection*{Public Member Functions}
\begin{CompactItemize}
\item
\hyperlink{classslsReceiverUsers_79a82ba94fbb19761c7701aa3901b8b1}{sls\-Receiver\-Users} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]}, int \&success)
\item
\hyperlink{classslsReceiverUsers_9b45943d81ce7a09543aa446de857cb0}{$\sim$sls\-Receiver\-Users} ()
\item
void \hyperlink{classslsReceiverUsers_bad0b3265826da2d9ebf48e59e9d5787}{close\-File} (int p)
\item
int \hyperlink{classslsReceiverUsers_ef40b4987367b8a0116bcb66534dd7b7}{start} ()
\item
void \hyperlink{classslsReceiverUsers_394001d873a4b7912865a971d4d25f87}{stop} ()
\item
int64\_\-t \hyperlink{classslsReceiverUsers_f206092e2744e12ce6b717f4181d91a2}{get\-Receiver\-Version} ()
\item
void \hyperlink{classslsReceiverUsers_5d4bb9244008d0bc570778230d30c5e3}{register\-Call\-Back\-Start\-Acquisition} (int($\ast$func)(char $\ast$filepath, char $\ast$filename, int fileindex, int datasize, void $\ast$), void $\ast$arg)
\item
void \hyperlink{classslsReceiverUsers_7471d2945e8650eece86258e6ca56156}{register\-Call\-Back\-Acquisition\-Finished} (void($\ast$func)(int nf, void $\ast$), void $\ast$arg)
\item
void \hyperlink{classslsReceiverUsers_343b9fac505e8c08a7fbf9efdd0f5762}{register\-Call\-Back\-Raw\-Data\-Ready} (void($\ast$func)(int framenumber, char $\ast$datapointer, int datasize, FILE $\ast$filedescriptor, char $\ast$guidatapointer, void $\ast$), void $\ast$arg)
\end{CompactItemize}
\subsubsection*{Static Public Attributes}
\begin{CompactItemize}
\item
static sls\-Receiver\-TCPIPInterface $\ast$ \hyperlink{classslsReceiverUsers_8f262724fb99ecd3976214710d82dd18}{receiver}
\end{CompactItemize}
\subsubsection{Detailed Description}
Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data.
\hyperlink{classslsReceiverUsers}{sls\-Receiver\-Users} is a class that can be instantiated in the users software to receive the data from the detectors. Callbacks can be defined for processing and/or saving data
Definition at line 21 of file sls\-Receiver\-Users.h.
\subsubsection{Constructor \& Destructor Documentation}
\hypertarget{classslsReceiverUsers_79a82ba94fbb19761c7701aa3901b8b1}{
\index{slsReceiverUsers@{sls\-Receiver\-Users}!slsReceiverUsers@{slsReceiverUsers}}
\index{slsReceiverUsers@{slsReceiverUsers}!slsReceiverUsers@{sls\-Receiver\-Users}}
\paragraph[slsReceiverUsers]{\setlength{\rightskip}{0pt plus 5cm}sls\-Receiver\-Users::sls\-Receiver\-Users (int {\em argc}, char $\ast$ {\em argv}\mbox{[}$\,$\mbox{]}, int \& {\em success})}\hfill}
\label{classslsReceiverUsers_79a82ba94fbb19761c7701aa3901b8b1}
Constructor reads config file, creates socket, assigns function table \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em argc}]from command line \item[{\em argv}]from command line \item[{\em succecc}]socket creation was successfull \end{description}
\end{Desc}
\hypertarget{classslsReceiverUsers_9b45943d81ce7a09543aa446de857cb0}{
\index{slsReceiverUsers@{sls\-Receiver\-Users}!~slsReceiverUsers@{$\sim$slsReceiverUsers}}
\index{~slsReceiverUsers@{$\sim$slsReceiverUsers}!slsReceiverUsers@{sls\-Receiver\-Users}}
\paragraph[$\sim$slsReceiverUsers]{\setlength{\rightskip}{0pt plus 5cm}sls\-Receiver\-Users::$\sim$sls\-Receiver\-Users ()}\hfill}
\label{classslsReceiverUsers_9b45943d81ce7a09543aa446de857cb0}
Destructor
\subsubsection{Member Function Documentation}
\hypertarget{classslsReceiverUsers_bad0b3265826da2d9ebf48e59e9d5787}{
\index{slsReceiverUsers@{sls\-Receiver\-Users}!closeFile@{closeFile}}
\index{closeFile@{closeFile}!slsReceiverUsers@{sls\-Receiver\-Users}}
\paragraph[closeFile]{\setlength{\rightskip}{0pt plus 5cm}void sls\-Receiver\-Users::close\-File (int {\em p})}\hfill}
\label{classslsReceiverUsers_bad0b3265826da2d9ebf48e59e9d5787}
Close File and exits receiver server \hypertarget{classslsReceiverUsers_f206092e2744e12ce6b717f4181d91a2}{
\index{slsReceiverUsers@{sls\-Receiver\-Users}!getReceiverVersion@{getReceiverVersion}}
\index{getReceiverVersion@{getReceiverVersion}!slsReceiverUsers@{sls\-Receiver\-Users}}
\paragraph[getReceiverVersion]{\setlength{\rightskip}{0pt plus 5cm}int64\_\-t sls\-Receiver\-Users::get\-Receiver\-Version ()}\hfill}
\label{classslsReceiverUsers_f206092e2744e12ce6b717f4181d91a2}
get get Receiver Version \begin{Desc}
\item[Returns:]id \end{Desc}
\hypertarget{classslsReceiverUsers_7471d2945e8650eece86258e6ca56156}{
\index{slsReceiverUsers@{sls\-Receiver\-Users}!registerCallBackAcquisitionFinished@{registerCallBackAcquisitionFinished}}
\index{registerCallBackAcquisitionFinished@{registerCallBackAcquisitionFinished}!slsReceiverUsers@{sls\-Receiver\-Users}}
\paragraph[registerCallBackAcquisitionFinished]{\setlength{\rightskip}{0pt plus 5cm}void sls\-Receiver\-Users::register\-Call\-Back\-Acquisition\-Finished (void($\ast$)(int nf, void $\ast$) {\em func}, void $\ast$ {\em arg})}\hfill}
\label{classslsReceiverUsers_7471d2945e8650eece86258e6ca56156}
register callback for end of acquisition \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em func}]end of acquisition callback. Argument nf is total frames caught \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]nothing \end{Desc}
\hypertarget{classslsReceiverUsers_343b9fac505e8c08a7fbf9efdd0f5762}{
\index{slsReceiverUsers@{sls\-Receiver\-Users}!registerCallBackRawDataReady@{registerCallBackRawDataReady}}
\index{registerCallBackRawDataReady@{registerCallBackRawDataReady}!slsReceiverUsers@{sls\-Receiver\-Users}}
\paragraph[registerCallBackRawDataReady]{\setlength{\rightskip}{0pt plus 5cm}void sls\-Receiver\-Users::register\-Call\-Back\-Raw\-Data\-Ready (void($\ast$)(int framenumber, char $\ast$datapointer, int datasize, FILE $\ast$filedescriptor, char $\ast$guidatapointer, void $\ast$) {\em func}, void $\ast$ {\em arg})}\hfill}
\label{classslsReceiverUsers_343b9fac505e8c08a7fbf9efdd0f5762}
register callback to be called when data are available (to process and/or save the data). \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em func}]raw data ready callback. arguments are framenum datapointer datasize file descriptor guidatapointer (NULL, no data required) \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]nothing \end{Desc}
\hypertarget{classslsReceiverUsers_5d4bb9244008d0bc570778230d30c5e3}{
\index{slsReceiverUsers@{sls\-Receiver\-Users}!registerCallBackStartAcquisition@{registerCallBackStartAcquisition}}
\index{registerCallBackStartAcquisition@{registerCallBackStartAcquisition}!slsReceiverUsers@{sls\-Receiver\-Users}}
\paragraph[registerCallBackStartAcquisition]{\setlength{\rightskip}{0pt plus 5cm}void sls\-Receiver\-Users::register\-Call\-Back\-Start\-Acquisition (int($\ast$)(char $\ast$filepath, char $\ast$filename, int fileindex, int datasize, void $\ast$) {\em func}, void $\ast$ {\em arg})}\hfill}
\label{classslsReceiverUsers_5d4bb9244008d0bc570778230d30c5e3}
register calbback for starting the acquisition \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em func}]callback to be called when starting the acquisition. Its arguments are filepath filename fileindex data size\end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]0 callback takes care of open,close,write file; 1 callback writes file, we have to open, close it; 2 we open, close, write file, callback does not do anything \end{Desc}
\hypertarget{classslsReceiverUsers_ef40b4987367b8a0116bcb66534dd7b7}{
\index{slsReceiverUsers@{sls\-Receiver\-Users}!start@{start}}
\index{start@{start}!slsReceiverUsers@{sls\-Receiver\-Users}}
\paragraph[start]{\setlength{\rightskip}{0pt plus 5cm}int sls\-Receiver\-Users::start ()}\hfill}
\label{classslsReceiverUsers_ef40b4987367b8a0116bcb66534dd7b7}
starts listening on the TCP port for client comminication \begin{Desc}
\item[Returns:]0 for success or 1 for FAIL in creating TCP server \end{Desc}
Referenced by main().\hypertarget{classslsReceiverUsers_394001d873a4b7912865a971d4d25f87}{
\index{slsReceiverUsers@{sls\-Receiver\-Users}!stop@{stop}}
\index{stop@{stop}!slsReceiverUsers@{sls\-Receiver\-Users}}
\paragraph[stop]{\setlength{\rightskip}{0pt plus 5cm}void sls\-Receiver\-Users::stop ()}\hfill}
\label{classslsReceiverUsers_394001d873a4b7912865a971d4d25f87}
stops listening to the TCP \& UDP port and exit receiver program
Referenced by main().
\subsubsection{Member Data Documentation}
\hypertarget{classslsReceiverUsers_8f262724fb99ecd3976214710d82dd18}{
\index{slsReceiverUsers@{sls\-Receiver\-Users}!receiver@{receiver}}
\index{receiver@{receiver}!slsReceiverUsers@{sls\-Receiver\-Users}}
\paragraph[receiver]{\setlength{\rightskip}{0pt plus 5cm}sls\-Receiver\-TCPIPInterface$\ast$ \hyperlink{classslsReceiverUsers_8f262724fb99ecd3976214710d82dd18}{sls\-Receiver\-Users::receiver}\hspace{0.3cm}{\tt \mbox{[}static\mbox{]}}}\hfill}
\label{classslsReceiverUsers_8f262724fb99ecd3976214710d82dd18}
Definition at line 87 of file sls\-Receiver\-Users.h.
The documentation for this class was generated from the following file:\begin{CompactItemize}
\item
\hyperlink{slsReceiverUsers_8h}{sls\-Receiver\-Users.h}\end{CompactItemize}

View File

@@ -1,11 +0,0 @@
\hypertarget{detectorData_8h}{
\subsection{detector\-Data.h File Reference}
\label{detectorData_8h}\index{detectorData.h@{detectorData.h}}
}
{\tt \#include $<$unistd.h$>$}\par
{\tt \#include $<$cstring$>$}\par
\subsubsection*{Classes}
\begin{CompactItemize}
\item
class \hyperlink{classdetectorData}{detector\-Data}
\begin{CompactList}\small\item\em data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.) \item\end{CompactList}\end{CompactItemize}

View File

@@ -1,77 +0,0 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{doxygen}
\RequirePackage{calc}
\RequirePackage{array}
\pagestyle{fancyplain}
\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\lhead[\fancyplain{}{\bfseries\thepage}]
{\fancyplain{}{\bfseries\rightmark}}
\rhead[\fancyplain{}{\bfseries\leftmark}]
{\fancyplain{}{\bfseries\thepage}}
\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Mon May 26 17:07:05 2014 by Doxygen }]{}
\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Mon May 26 17:07:05 2014 by Doxygen }}
\cfoot{}
\newenvironment{Code}
{\footnotesize}
{\normalsize}
\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
\newenvironment{DocInclude}
{\footnotesize}
{\normalsize}
\newenvironment{VerbInclude}
{\footnotesize}
{\normalsize}
\newenvironment{Image}
{\begin{figure}[H]}
{\end{figure}}
\newenvironment{ImageNoCaption}{}{}
\newenvironment{CompactList}
{\begin{list}{}{
\setlength{\leftmargin}{0.5cm}
\setlength{\itemsep}{0pt}
\setlength{\parsep}{0pt}
\setlength{\topsep}{0pt}
\renewcommand{\makelabel}{\hfill}}}
{\end{list}}
\newenvironment{CompactItemize}
{
\begin{itemize}
\setlength{\itemsep}{-3pt}
\setlength{\parsep}{0pt}
\setlength{\topsep}{0pt}
\setlength{\partopsep}{0pt}
}
{\end{itemize}}
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
\newlength{\tmplength}
\newenvironment{TabularC}[1]
{
\setlength{\tmplength}
{\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
\par\begin{tabular*}{\linewidth}
{*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
}
{\end{tabular*}\par}
\newcommand{\entrylabel}[1]{
{\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}}
\newenvironment{Desc}
{\begin{list}{}
{
\settowidth{\labelwidth}{40pt}
\setlength{\leftmargin}{\labelwidth}
\setlength{\parsep}{0pt}
\setlength{\itemsep}{-4pt}
\renewcommand{\makelabel}{\entrylabel}
}
}
{\end{list}}
\newenvironment{Indent}
{\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
\item[]\ignorespaces}
{\unskip\end{list}}
\setlength{\parindent}{0cm}
\setlength{\parskip}{0.2cm}
\addtocounter{secnumdepth}{1}
\sloppy
\usepackage[T1]{fontenc}

View File

@@ -1,8 +0,0 @@
\subsection{File List}
Here is a list of all files with brief descriptions:\begin{CompactList}
\item\contentsline{section}{\hyperlink{detectorData_8h}{detector\-Data.h} }{\pageref{detectorData_8h}}{}
\item\contentsline{section}{\hyperlink{mainClient_8cpp}{main\-Client.cpp} }{\pageref{mainClient_8cpp}}{}
\item\contentsline{section}{\hyperlink{mainReceiver_8cpp}{main\-Receiver.cpp} }{\pageref{mainReceiver_8cpp}}{}
\item\contentsline{section}{\hyperlink{slsDetectorUsers_8h}{sls\-Detector\-Users.h} }{\pageref{slsDetectorUsers_8h}}{}
\item\contentsline{section}{\hyperlink{slsReceiverUsers_8h}{sls\-Receiver\-Users.h} }{\pageref{slsReceiverUsers_8h}}{}
\end{CompactList}

View File

@@ -1,26 +0,0 @@
\subsection*{API for SLS detectors data acquisition}
Although the SLS detectors group delvelops several types of detectors (1/2D, counting/integrating etc.) it is common interest of the group to use a common platfor for data acquisition
The architecture of the acquisitions system is intended as follows: \begin{itemize}
\item A socket server running on the detector (or more than one in some special cases) \item C++ classes common to all detectors for client-server communication. These can be supplied to users as libraries and embedded also in acquisition systems which are not developed by the SLS \item the possibility of using a Qt-based graphical user interface (with eventually root analisys capabilities) \item the possibility of running all commands from command line. In order to ensure a fast operation of this so called \char`\"{}text client\char`\"{} the detector parameters should not be re-initialized everytime. For this reason a shared memory block is allocated where the main detector flags and parameters are stored \item a Root library for data postprocessing and detector calibration (energy, angle).\end{itemize}
\hyperlink{classslsDetectorUsers}{sls\-Detector\-Users} is a class to control the detector which should be instantiated by the users in their acquisition software (EPICS, spec etc.). A callback for dislaying the data can be registered. More advanced configuration functions are not implemented and can be written in a configuration file tha can be read/written.
\hyperlink{classslsReceiverUsers}{sls\-Receiver\-Users} is a class to receive the data for detectors with external data receiver (e.g. GOTTHARD). Callbacks can be registered to process the data or save them in specific formats.
\hyperlink{classdetectorData}{detector\-Data} is a structure containing the data and additional information which is used to return the data e.g. to the GUI for displaying them.
You can find examples of how this classes can be instatiated in \hyperlink{mainClient_8cpp}{main\-Client.cpp} and \hyperlink{mainReceiver_8cpp}{main\-Receiver.cpp}
\begin{Desc}
\item[Authors:]\href{mailto:anna.bergamaschi@psi.ch}{\tt Anna Bergamaschi}, \href{mailto:dhanya.maliakal@psi.ch}{\tt Dhanya Maliakal} \end{Desc}
\begin{Desc}
\item[Version:]0.2 \subsubsection*{Currently supported detectors}\end{Desc}
\begin{itemize}
\item MYTHEN \item GOTTHARD controls \item GOTTHARD data receiver \paragraph*{Coming soon}\end{itemize}
\begin{itemize}
\item EIGER \end{itemize}

View File

@@ -1,79 +0,0 @@
\hypertarget{mainClient_8cpp}{
\subsection{main\-Client.cpp File Reference}
\label{mainClient_8cpp}\index{mainClient.cpp@{mainClient.cpp}}
}
{\tt \#include $<$iostream$>$}\par
{\tt \#include \char`\"{}sls\-Detector\-Users.h\char`\"{}}\par
{\tt \#include \char`\"{}detector\-Data.h\char`\"{}}\par
\subsubsection*{Functions}
\begin{CompactItemize}
\item
int \hyperlink{mainClient_8cpp_21ef7438e7f0ed24a190513fb8e6af8a}{data\-Callback} (\hyperlink{classdetectorData}{detector\-Data} $\ast$p\-Data, int iframe, void $\ast$p\-Arg)
\item
int \hyperlink{mainClient_8cpp_0ddf1224851353fc92bfbff6f499fa97}{main} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
\end{CompactItemize}
\subsubsection{Detailed Description}
This file is an example of how to implement the \hyperlink{classslsDetectorUsers}{sls\-Detector\-Users} class You can compile it linking it to the sls\-Detector library
gcc \hyperlink{mainClient_8cpp}{main\-Client.cpp} -L lib -l Sls\-Detector -lm -lpthread
where lib is the location of lib\-Sls\-Detector.so
Definition in file \hyperlink{mainClient_8cpp-source}{main\-Client.cpp}.
\subsubsection{Function Documentation}
\hypertarget{mainClient_8cpp_21ef7438e7f0ed24a190513fb8e6af8a}{
\index{mainClient.cpp@{main\-Client.cpp}!dataCallback@{dataCallback}}
\index{dataCallback@{dataCallback}!mainClient.cpp@{main\-Client.cpp}}
\paragraph[dataCallback]{\setlength{\rightskip}{0pt plus 5cm}int data\-Callback (\hyperlink{classdetectorData}{detector\-Data} $\ast$ {\em p\-Data}, int {\em iframe}, void $\ast$ {\em p\-Arg})}\hfill}
\label{mainClient_8cpp_21ef7438e7f0ed24a190513fb8e6af8a}
Definition of the data callback which simply prints out the number of points received and teh frame number
Definition at line 19 of file main\-Client.cpp.
References detector\-Data::npoints, and detector\-Data::npy.
Referenced by main().\hypertarget{mainClient_8cpp_0ddf1224851353fc92bfbff6f499fa97}{
\index{mainClient.cpp@{main\-Client.cpp}!main@{main}}
\index{main@{main}!mainClient.cpp@{main\-Client.cpp}}
\paragraph[main]{\setlength{\rightskip}{0pt plus 5cm}int main (int {\em argc}, char $\ast$ {\em argv}\mbox{[}$\,$\mbox{]})}\hfill}
\label{mainClient_8cpp_0ddf1224851353fc92bfbff6f499fa97}
example of a main program using the \hyperlink{classslsDetectorUsers}{sls\-Detector\-Users} class
if specified, argv\mbox{[}2\mbox{]} is used as detector ID (default is 0)
\hyperlink{classslsDetectorUsers}{sls\-Detector\-Users} is instantiated
if specified, argv\mbox{[}1\mbox{]} is used as detector config file (necessary at least the first time it is called to properly configure advanced settings in the shared memory)
Setting the detector online (should be by default
Load setup file if argv\mbox{[}2\mbox{]} specified
defining the detector size
registering data callback
checking detector status and exiting if not idle
checking and setting detector settings
Settings exposure time to 10ms
Settings exposure time to 100ms
Settingsnumber of frames to 30
start measurement
returning when acquisition is finished or data are avilable
Definition at line 26 of file main\-Client.cpp.
References data\-Callback(), sls\-Detector\-Users::get\-Command(), sls\-Detector\-Users::get\-Detector\-Developer(), sls\-Detector\-Users::get\-Detector\-Settings(), sls\-Detector\-Users::get\-Detector\-Size(), sls\-Detector\-Users::get\-Detector\-Status(), sls\-Detector\-Users::read\-Configuration\-File(), sls\-Detector\-Users::register\-Data\-Callback(), sls\-Detector\-Users::retrieve\-Detector\-Setup(), sls\-Detector\-Users::run\-Status\-Type(), sls\-Detector\-Users::set\-Detector\-Size(), sls\-Detector\-Users::set\-Exposure\-Period(), sls\-Detector\-Users::set\-Exposure\-Time(), sls\-Detector\-Users::set\-Number\-Of\-Frames(), sls\-Detector\-Users::set\-Online(), sls\-Detector\-Users::set\-Settings(), and sls\-Detector\-Users::start\-Measurement().

View File

@@ -1,35 +0,0 @@
\hypertarget{mainReceiver_8cpp}{
\subsection{main\-Receiver.cpp File Reference}
\label{mainReceiver_8cpp}\index{mainReceiver.cpp@{mainReceiver.cpp}}
}
{\tt \#include \char`\"{}sls\-Receiver\-Users.h\char`\"{}}\par
{\tt \#include $<$iostream$>$}\par
\subsubsection*{Functions}
\begin{CompactItemize}
\item
int \hyperlink{mainReceiver_8cpp_0ddf1224851353fc92bfbff6f499fa97}{main} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
\end{CompactItemize}
\subsubsection{Detailed Description}
This file is an example of how to implement the \hyperlink{classslsDetectorUsers}{sls\-Detector\-Users} class You can compile it linking it to the sls\-Detector library
gcc \hyperlink{mainReceiver_8cpp}{main\-Receiver.cpp} -L lib -l Sls\-Detector -lm -lpthread
where lib is the location of lib\-Sls\-Detector.so
Definition in file \hyperlink{mainReceiver_8cpp-source}{main\-Receiver.cpp}.
\subsubsection{Function Documentation}
\hypertarget{mainReceiver_8cpp_0ddf1224851353fc92bfbff6f499fa97}{
\index{mainReceiver.cpp@{main\-Receiver.cpp}!main@{main}}
\index{main@{main}!mainReceiver.cpp@{main\-Receiver.cpp}}
\paragraph[main]{\setlength{\rightskip}{0pt plus 5cm}int main (int {\em argc}, char $\ast$ {\em argv}\mbox{[}$\,$\mbox{]})}\hfill}
\label{mainReceiver_8cpp_0ddf1224851353fc92bfbff6f499fa97}
Definition at line 25 of file main\-Receiver.cpp.
References sls\-Receiver\-Users::start(), and sls\-Receiver\-Users::stop().

View File

@@ -1,4 +0,0 @@
\subsection{Namespace List}
Here is a list of all namespaces with brief descriptions:\begin{CompactList}
\item\contentsline{section}{\hyperlink{namespacestd}{std} }{\pageref{namespacestd}}{}
\end{CompactList}

View File

@@ -1,6 +0,0 @@
\hypertarget{namespacestd}{
\subsection{std Namespace Reference}
\label{namespacestd}\index{std@{std}}
}

View File

@@ -1,57 +0,0 @@
\documentclass[a4paper]{article}
\usepackage{makeidx}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{multicol}
\usepackage{float}
\usepackage{textcomp}
\usepackage{alltt}
\usepackage{times}
\ifx\pdfoutput\undefined
\usepackage[ps2pdf,
pagebackref=true,
colorlinks=true,
linkcolor=blue
]{hyperref}
\usepackage{pspicture}
\else
\usepackage[pdftex,
pagebackref=true,
colorlinks=true,
linkcolor=blue
]{hyperref}
\fi
\usepackage{doxygen}
\makeindex
\setcounter{tocdepth}{1}
\renewcommand{\footrulewidth}{0.4pt}
\begin{document}
\begin{titlepage}
\vspace*{7cm}
\begin{center}
{\Large Reference Manual}\\
\vspace*{1cm}
{\large Generated by Doxygen 1.4.7}\\
\vspace*{0.5cm}
{\small Mon May 26 17:07:05 2014}\\
\end{center}
\end{titlepage}
\pagenumbering{roman}
\tableofcontents
\pagenumbering{arabic}
\section{Main Page}
\label{index}\hypertarget{index}{}\input{index}
\section{Namespace Documentation}
\input{namespacestd}
\section{Class Documentation}
\input{classdetectorData}
\input{classslsDetectorUsers}
\input{classslsReceiverUsers}
\section{File Documentation}
\input{detectorData_8h}
\input{mainClient_8cpp}
\input{mainReceiver_8cpp}
\input{slsDetectorUsers_8h}
\input{slsReceiverUsers_8h}
\printindex
\end{document}

View File

@@ -1,16 +0,0 @@
\hypertarget{slsDetectorUsers_8h}{
\subsection{sls\-Detector\-Users.h File Reference}
\label{slsDetectorUsers_8h}\index{slsDetectorUsers.h@{slsDetectorUsers.h}}
}
{\tt \#include $<$stdint.h$>$}\par
{\tt \#include $<$string$>$}\par
\subsubsection*{Namespaces}
\begin{CompactItemize}
\item
namespace \hyperlink{namespacestd}{std}
\end{CompactItemize}
\subsubsection*{Classes}
\begin{CompactItemize}
\item
class \hyperlink{classslsDetectorUsers}{sls\-Detector\-Users}
\begin{CompactList}\small\item\em Class for detector functionalitiesto embed the detector controls in the users custom interface e.g. EPICS, Lima etc. \item\end{CompactList}\end{CompactItemize}

View File

@@ -1,11 +0,0 @@
\hypertarget{slsReceiverUsers_8h}{
\subsection{sls\-Receiver\-Users.h File Reference}
\label{slsReceiverUsers_8h}\index{slsReceiverUsers.h@{slsReceiverUsers.h}}
}
{\tt \#include $<$stdio.h$>$}\par
{\tt \#include $<$stdint.h$>$}\par
\subsubsection*{Classes}
\begin{CompactItemize}
\item
class \hyperlink{classslsReceiverUsers}{sls\-Receiver\-Users}
\begin{CompactList}\small\item\em Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data. \item\end{CompactList}\end{CompactItemize}

View File

@@ -1 +0,0 @@
../../slsReceiverSoftware/slsReceiver/slsReceiverUsers.h

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 863 KiB

View File

@@ -1,6 +1,5 @@
DESTDIR?=../docs
#manual-api manual-calwiz manual-client manual-gui manual-main
@@ -11,34 +10,50 @@ MAINTEXS= slsDetectorClientHowTo.tex
DVIS = $(MAINTEXS:.tex=.dvi)
PSS = $(MAINTEXS:.tex=.ps)
PDFS = $(MAINTEXS:.tex=.pdf)
#TARGETS=$(join $(DESTDIR)/, $(notdir $(MAINTEXS:.tex=.pdf)))
#destdir?!?!?
DVIS = $(MAINTEXS:.tex=.dvi)
PSS = $(MAINTEXS:.tex=.ps)
PDFS = $(MAINTEXS:.tex=.pdf)
HTMLS = $(MAINTEXS:%.tex=%)
#destdir?!?!?
all: $(PDFS) $(HTMLS)
all: docs pdf html
echo $(PWD)
echo $(PDFS)
echo $(HTMLS)
docs: createdocs docspdf docshtml removedocs
createdocs: slsDetectorClient.doxy slsDetectorCommand.cpp
doxygen slsDetectorClient.doxy
docspdf:
cd slsDetectorClientDocs/latex && make
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
mv slsDetectorClientDocs/latex/refman.pdf $(DESTDIR)/pdf/slsDetectorClientDocs.pdf
docshtml:
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
$(shell test -d $(DESTDIR)/html/slsDetectorClientDocs && rm -r $(DESTDIR)/html/slsDetectorClientDocs)
mv slsDetectorClientDocs/html $(DESTDIR)/html/slsDetectorClientDocs
removedocs:
rm -rf slsDetectorClientDocs;
pdf: $(PDFS)
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
mv $(PDFS) $(DESTDIR)/pdf
html: $(HTMLS)
$(HTMLS): $(MAINTEXS)
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
$(shell test -d $(DESTDIR)/html/$@ && rm -r $(DESTDIR)/html/$@)
latex $@.tex
latex2html -split 4 $@.tex
mv $@ $(DESTDIR)/html
%.dvi : %.tex
@@ -54,4 +69,10 @@ $(HTMLS): $(MAINTEXS)
clean:
echo "cleaning for manual-client"
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(HTMLS)
rm -rf slsDetectorClientDocs
rm -rf $(DESTDIR)/html/slsDetectorClientDocs
rm -rf $(DESTDIR)/html/slsDetectorClientHowTo
rm -rf $(DESTDIR)/pdf/slsDetectorClientDocs.pdf
rm -rf $(DESTDIR)/pdf/slsDetectorClientHowTo.pdf

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -81,6 +81,6 @@ LATEX_HIDE_INDICES = YES
PREDEFINED = __cplusplus
INPUT = slsDetector/slsDetectorUsers.h slsDetectorAnalysis/detectorData.h
INPUT = slsDetectorCommand.cpp
OUTPUT_DIRECTORY = slsDetectorUsersDocs
OUTPUT_DIRECTORY = slsDetectorClientDocs

View File

@@ -125,7 +125,7 @@ Refer to detailed documentation to understand how the different timing modes wor
Refer to detailed documentation to understand how the different timing modes work.
\item[dr n] Sets the dynamic range n (in bits) of the data for a photon counting detector. For \E it can be set to 4, 8, 16 (but the real counter depth will still be limited to 12 bits) or 32 when one wants to activate the internal subframe summing mode.
\item[flags s] Sets some particular flags for your detector. For MYTHEN s can be \textit{none}, \textit{storeinram} (for buffered readout) or \textit{tot} (for time over threshold). For \E, s can be {\it{continous}} (for continous readout), \textit{storeinram} (for buffered readout), \textit{parallel} for parallel exposure to the next frame and readout of the previous frame, \textit{nonparallel} to decouple sequentially readout and exposure, \textit{safe} (rowclock interleaved).
\item[flags s] Sets some particular flags for your detector. For MYTHEN s can be \textit{none}, \textit{storeinram} (for buffered readout) or \textit{tot} (for time over threshold). For \E, s can be {\it{continous}} (for continous readout- still buffer on memories happens), \textit{storeinram} (for buffered readout. Do not use as has no graet advantages), \textit{parallel} for parallel exposure to the next frame and readout of the previous frame, \textit{nonparallel} to decouple sequentially readout and exposure, \textit{safe} (rowclock interleaved).
%\item[timestamp]
\item[help cmd] Returns the help for command cmd.
\item[lock] Locks (1) or unlocks (0) the detector to this particular control PC. An be unlocked again only from the same PC or by rebooting the detector.
@@ -395,7 +395,7 @@ For some commands, an additional argument \verb=arg= is needed.
\subsection{Standard commands}
All the commends return two strings, where string1 is the command, string2 is teh actual returned string.
\begin{description}
\item[config fname]
@@ -403,9 +403,11 @@ Dumps the current configuration of the detector to the file fname.
\item[parameters fname]
Dumps the current acquisition parameters of the detector to the file fname.
\item[settings]
Returns the current settings of the detector.
Returns the current settings of the detector. Returns a string
\item[threshold]
For photon counting detectors, returns the detector threshold in eV, -1 if undefined.
For photon counting detectors, returns the detector threshold in eV, -1 if undefined. Returns ``threshold value\_in\_eV''. If it fails, the returned threshold is the old set value.
\item[timing]
Returns the acquisition timing mode of the detector.
Refer to the detailed documentation to understand how the different timing modes work.
@@ -415,10 +417,10 @@ Returns the path where the output files are saved to.
Returns the prefix of the file name for the data output.
\item[enablefwrite] Returns if data are written to file (1) or not (0).
\item[exptime]
Returns the exposure time of a single acquisition in seconds.
Returns the exposure time of a single acquisition in seconds. Example: "exptime 1.000000000''
Refer to detailed documentation to understand how the different timing modes work.
\item[period]
Returns the frames period (in s).
Returns the frames period (in s). Example: ``period 1.000000000''
Refer to detailed documentation to understand how the different timing modes work.
\item[delay]
Returns the delay after trigger in triggered mode (in s).
@@ -427,18 +429,19 @@ Refer to detailed documentation to understand how the different timing modes wor
Returns the number of gates per frame in gated (stroboscopic) mode.
Refer to detailed documentation to understand how the different timing modes work.
\item[frames]
Returns the number of frames acquired sequentially per cycle (e.g. after each trigger), with the exposure time defined by exptime and the period defined by period (unless in gated mode).
Returns the number of frames acquired sequentially per cycle (e.g. after each trigger), with the exposure time defined by exptime and the period defined by period (unless in gated mode). Returned as a string to be interpreted as an integer ``frames integer''
Note that the total number of images is frames times cycles.
Refer to detailed documentation to understand how the different timing modes work.
\item[cycles n]
Returns the number of cycles (e.g. number of triggers).
Returns the number of cycles (e.g. number of triggers). Returned as atring to be interpreted as an integer ``cycles integer''
Note that the total number of images is frames times cycles.
Refer to detailed documentation to understand how the different timing modes work.
\item[probes] Returns the number of probes to accumulate for stroboscopic measurements.
Refer to detailed documentation to understand how the different timing modes work.
\item[measurements] Returns the number of repetitions of the acquisitions (non real time!).
Refer to detailed documentation to understand how the different timing modes work.
\item[dr] Returns the dynamic range n (in bits) of the data for a photon counting detector.
\item[dr] Returns the dynamic range n (in bits) of the data for a photon counting detector. Returns a string that should be interpreted as an integer.
\item[flags s] Returns the flags set for your detector.
\item[help cmd] Returns the help for command cmd.
\item[lock] Returns if the detector is locked to a single PC.
@@ -576,9 +579,15 @@ Advanced commands to configure the detector system. Should be left to the config
\item[stopport]Returns the port used by the sockets to stop/get the status of the detector.
%\item[add s] Avoid using it. Adds the controller s to the detector structure.
%\item[remove i] Avoid using it. Removes the controller in position i from the detector structure.
\item[id[:i]] returns the id of the detector structure. i is the detector position in a multi detector system
\item[id[:i]] returns the id of the detector structure. i is the detector position in a multi detector system
\item[free] Avoid using it. Frees the shared memory.
\end{description}
Settable communication parameters:
\begin{description}
\item[txndelay\_left] \E advanced: Set transmission delay of sending the left port frame
\item[txndelay\_right] \E advanced: Set transmission delay of sending the right port frame
\item[txndelay\_frame] \E advanced: Set transmission delay of sending the entire frame In addition to left and right. This value has to be greater than the maximum of the transmission delays of each port.
\end{description}
\subsubsection{Receiver - GOTTHARD only}
@@ -598,7 +607,7 @@ Advanced commands to configure the detector system. Should be left to the config
\item[r\_online b] Returns whether the receiver in online (1) or offline (0) mode.
\item[r\_checkonline] Returns whether the receiver in online (1) or offline (0) mode.
\item[framescaught] Returns the number of frames received.
\item[framescaught] Returns the number of frames received. Returns: "framescaught n''
\item[resetframescaught n] Sets the number of frames received to 1
\item[frameindex] Returns the index of the last frame received.
\item[r\_lock] Returns whether the receiver is locked (1) or unlocked (0).
@@ -654,23 +663,31 @@ Advanced settings changing the analog or digital performance of the acquisition.
\item[ib\_test\_c] Returns ib\_test\_c
\item[vsvp] Returns vsvp
\item [vsvn] Returns vsvn
\item [vtr] Returns vtr
\item [vrf] Returns vrf
\item [vrs] Returns vrs
\item [vtgstv] Returns vtgstv
\item[vcmp\_ll] Returns vcmp\_ll
\item [vcmp\_lr] Returns vcmp\_lr
\item [vcmp\_rl] Returns vcmp\_rl
\item [vcmp\_rr] Returns vcmp\_rr
\item [vcall] Returns vcall
\item [rxb\_rb] Returns rxb\_rb
\item [rxb\_lb] Returns rxb\_rb
\item [vcp] Returns vcp
\item [vcn] Returns vcn
\item [vis] Returns vis
\item [vtr] Returns vtr trim strength (\E)
\item [vrf] Returns vrf preamp gain (\E)
\item [vrs] Returns vrs shaper gain (\E)
\item [vtgstv] Returns vtgstv (\E)
\item[vcmp\_ll] Returns vcmp\_ll (\E) leftmost chip theshold
\item [vcmp\_lr] Returns vcmp\_lr (\E) second to leftmost chip theshold
\item [vcmp\_rl] Returns vcmp\_rl (\E) second to rightmost chip theshold
\item [vcmp\_rr] Returns vcmp\_rr (\E) rightmost chip theshold
\item [vcall] Returns vcall calibration stength (\E)
\item [rxb\_rb] Returns rxb\_rb rightmost chip value to decode 0-1 in the readout
\item [rxb\_lb] Returns rxb\_lb leftmost chip value to decode 0-1 in the readout
\item [vcp] Returns vcp cascode p value (\E)
\item [vcn] Returns vcn cascode n value (\E)
\item [vis] Returns vis shaper current (\E)
\item [iodelay] Returns iodelay
\item[temp\_adc] Returns the temperature of the ADCs
\item[temp\_fpga] Returns the temperature of the FPGA.
\item[temp\_fpgaext] Returns the temperature close to the fpga (\E).
\item[temp\_10ge] Returns the temperature close to the 10GE (\E).
\item[temp\_dcdc] Returns the temperature close to the dc dc converter (\E).
\item[temp\_sodl] Returns the temperature close to the left so-dimm memory (\E).
\item[temp\_sodr] Returns the temperature close to the right so-dimm memory (\E).
\item[temp\_fpgafl] Returns the temperature of the left front end board fpga (\E).
\item[temp\_fpgafr] Returns the temperature of the right front end board fpga (\E).
\item[reg a] Write to register of address a the data d
\item[clkdivider] Returns the clock divider for the readout.
\item[setlength] Returns the length of the set/reset signals in the acquisition.

View File

@@ -0,0 +1 @@
../../slsDetectorSoftware/slsDetector/slsDetectorCommand.cpp

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

View File

@@ -8,40 +8,32 @@ TEX=latex
MAINTEXS= slsDetectorGuiHowTo.tex
#TEXS=
DVIS = $(MAINTEXS:.tex=.dvi)
PSS = $(MAINTEXS:.tex=.ps)
PDFS = $(MAINTEXS:.tex=.pdf)
#TARGETS=$(join $(DESTDIR)/, $(notdir $(MAINTEXS:.tex=.pdf)))
#destdir?!?!?
DVIS = $(MAINTEXS:.tex=.dvi)
PSS = $(MAINTEXS:.tex=.ps)
PDFS = $(MAINTEXS:.tex=.pdf)
HTMLS = $(MAINTEXS:%.tex=%)
#destdir?!?!?
all: $(PDFS) $(HTMLS)
all: pdf html
echo $(PWD)
echo $(PDFS)
echo $(HTMLS)
pdf: $(PDFS)
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
mv $(PDFS) $(DESTDIR)/pdf
html: $(HTMLS)
$(HTMLS): $(TEXS) $(MAINTEXS)
$(HTMLS): $(MAINTEXS)
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
$(shell test -d $(DESTDIR)/html/$@ && rm -r $(DESTDIR)/html/$@)
latex $@.tex
latex2html -split 4 $@.tex
mv $@ $(DESTDIR)/html
%.dvi : %.tex $(TEXS)
latex $<
@@ -57,3 +49,5 @@ $(HTMLS): $(TEXS) $(MAINTEXS)
clean:
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(HTMLS)
rm -rf $(DESTDIR)/html/slsDetectorGuiHowTo
rm -rf $(DESTDIR)/pdf/slsDetectorGuiHowTo.pdf

View File

@@ -1,42 +1,58 @@
DESTDIR=../
DESTDIR=../docs
TEX=latex
MAINTEXS= slsDetectors-FAQ.tex slsDetectorInstall.tex
MAINTEXS2= slsDetectorInstall.tex
MAINTEXS=slsDetectors-FAQ.tex
TEXS=slsDetector-softFAQ.tex singlePhotonCounting-FAQ.tex angConv-FAQ.tex generalDet-FAQ.tex
DVIS = $(MAINTEXS:.tex=.dvi)
PSS = $(MAINTEXS:.tex=.ps)
PDFS = $(MAINTEXS:.tex=.pdf)
PDFS2 = $(MAINTEXS2:.tex=.pdf)
HTMLS = $(MAINTEXS:%.tex=%)
HTMLS2 = $(MAINTEXS2:%.tex=%)
#destdir?!?!?
all: $(PDFS) $(HTMLS)
all: pdf html
echo $(PWD)
echo $(PDFS)
echo $(PDFS2)
echo $(HTMLS)
echo $(HTMLS2)
pdf: $(PDFS)
pdf: $(PDFS) $(PDFS2)
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
$(shell test -d $(DESTDIR)/pdf || mkdir -p $(DESTDIR)/pdf)
mv $(PDFS) $(DESTDIR)/pdf
mv $(PDFS) $(DESTDIR)/pdf
mv $(PDFS2) $(DESTDIR)/pdf
html: $(HTMLS)
html: $(HTMLS) $(HTMLS2)
$(HTMLS): $(TEXS) $(MAINTEXS)
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
$(shell test -d $(DESTDIR)/html/$@ && rm -fr $(DESTDIR)/html/$@)
echo "***************************** $@"
latex $@.tex
latex2html -split 4 $@.tex
mv $(HTMLS) $(DESTDIR)/html
latex2html $@.tex
mv $@ $(DESTDIR)/html
$(HTMLS2): $(MAINTEXS2)
$(shell test -d $(DESTDIR) || mkdir -p $(DESTDIR))
$(shell test -d $(DESTDIR)/html || mkdir -p $(DESTDIR)/html)
$(shell test -d $(DESTDIR)/html/$@ && rm -fr $(DESTDIR)/html/$@)
echo "***************************** $@"
latex $@.tex
latex2html -split 16 -no_navigation -info "" -address "" -long_titles 5 -link 0 $@.tex
#-show_section_numbers $@.tex
# -local_icons
mv $@ $(DESTDIR)/html
%.dvi : %.tex $(TEXS)
@@ -52,4 +68,8 @@ $(HTMLS): $(TEXS) $(MAINTEXS)
clean:
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(HTMLS)
rm -rf *.aux *.log *.toc *.out $(DVIS) $(PSS) $(PDFS) $(PDFS2) $(HTMLS) $(HTMLS2)
rm -rf $(DESTDIR)/html/slsDetectors-FAQ
rm -rf $(DESTDIR)/html/slsDetectorInstall
rm -rf $(DESTDIR)/pdf/slsDetectors-FAQ.pdf
rm -rf $(DESTDIR)/pdf/slsDetectorInstall.pdf

View File

@@ -0,0 +1,674 @@
%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 0 0 567 548
%%Title: /afs/psi.ch/project/mythen/root_macros20100305/effiSiHardXRays2.eps: c1
%%Creator: ROOT Version 5.20/00
%%CreationDate: Tue Jan 29 15:39:22 2013
%%EndComments
%%BeginProlog
80 dict begin
/s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def
/sw {stringwidth} def /r {rotate} def /rl {roll} def /R {repeat} def
/d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def
/c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def
/cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def
/box {m dup 0 exch d exch 0 d 0 exch neg d cl} def
/NC{systemdict begin initclip end}def/C{NC box clip newpath}def
/bl {box s} def /bf {box f} def /Y { 0 exch d} def /X { 0 d} def
/mp {newpath /y exch def /x exch def} def
/side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def
/mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def
/mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def
/mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def
/m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def
/m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def
/m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def
/m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d
0 w3 neg d w3 neg 0 d cl s } def
/m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl fill gr} def
/m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t
4 {side} repeat cl s gr} def
/m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2
sub m w w d s} def
/m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def
/m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def
/reEncode {exch findfont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse } forall /Encoding exch def currentdict end dup /FontName get exch definefont pop } def [/Times-Bold /Times-Italic /Times-BoldItalic /Helvetica
/Helvetica-Oblique /Helvetica-Bold /Helvetica-BoldOblique /Courier /Courier-Oblique /Courier-Bold /Courier-BoldOblique /Times-Roman /AvantGarde-Book /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique /Bookman-Demi
/Bookman-DemiItalic /Bookman-Light /Bookman-LightItalic /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /NewCenturySchlbk-Roman /NewCenturySchlbk-Bold
/NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /Palatino-Bold /Palatino-BoldItalic /Palatino-Italic /Palatino-Roman ] {ISOLatin1Encoding reEncode } forall
/oshow {gsave [] 0 sd true charpath stroke gr} def
/stwn { /fs exch def /fn exch def /text exch def fn findfont fs sf
text sw pop xs add /xs exch def} def
/stwb { /fs exch def /fn exch def /nbas exch def /textf exch deftextf length /tlen exch def nbas tlen gt {/nbas tlendef} iffn findfont fs sf textf dup length nbas sub nbas getinterval sw
pop neg xs add /xs exch def} def
%%EndProlog
%%BeginSetup
%%EndSetup
newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 6 lw 1 1 1 c 2268 2191 0 0 bf black 3 lw 1 1 1 c 1951 1709 249 219 bf black 1951 1709 249 219 bl 1 1 1 c 1951 1709 249 219 bf black 1951 1709 249 219 bl 1 1 1 c 0.967333 0.186667 0 c 20 86
249 219 bf 0.673333 0.0666667 0 c 19 86 269 219 bf 0.608 0.04 0 c 20 86 288 219 bf 0.575333 0.0266667 0 c 19 86 308 219 bf 0.542667 0.0133333 0 c 20 86 327 219 bf 19 86 347 219 bf 20 86 366 219 bf 19 86 386 219 bf 20 86 405 219 bf 19 86 425 219 bf
20 86 444 219 bf 19 86 464 219 bf 20 86 483 219 bf 19 86 503 219 bf 20 86 522 219 bf 19 86 542 219 bf 20 86 561 219 bf 19 86 581 219 bf 20 86 600 219 bf 19 86 620 219 bf 20 86 639 219 bf 20 86 659 219 bf 19 86 679 219 bf 20 86 698 219 bf 19 86 718
219 bf 20 86 737 219 bf 19 86 757 219 bf 20 86 776 219 bf 19 86 796 219 bf 20 86 815 219 bf 19 86 835 219 bf 20 86 854 219 bf 19 86 874 219 bf 20 86 893 219 bf 19 86 913 219 bf 20 86 932 219 bf 19 86 952 219 bf 20 86 971 219 bf 19 86 991 219 bf 20
86 1010 219 bf 19 86 1030 219 bf 20 86 1049 219 bf 19 86 1069 219 bf 20 86 1088 219 bf 19 86 1108 219 bf 20 86 1127 219 bf 19 86 1147 219 bf 20 86 1166 219 bf 19 86 1186 219 bf 20 86 1205 219 bf 19 86 1225 219 bf 20 86 1244 219 bf 19 86 1264 219 bf
20 86 1283 219 bf 19 86 1303 219 bf 20 86 1322 219 bf 19 86 1342 219 bf 20 86 1361 219 bf 19 86 1381 219 bf 20 86 1400 219 bf 19 86 1420 219 bf 20 86 1439 219 bf 19 86 1459 219 bf 20 86 1478 219 bf 19 86 1498 219 bf 20 86 1517 219 bf 19 86 1537 219
bf 20 86 1556 219 bf 19 86 1576 219 bf 20 86 1595 219 bf 19 86 1615 219 bf 20 86 1634 219 bf 19 86 1654 219 bf 20 86 1673 219 bf 19 86 1693 219 bf 20 86 1712 219 bf 19 86 1732 219 bf 20 86 1751 219 bf 19 86 1771 219 bf 20 86 1790 219 bf 19 86 1810
219 bf 20 86 1829 219 bf 19 86 1849 219 bf 20 86 1868 219 bf 19 86 1888 219 bf 20 86 1907 219 bf 19 86 1927 219 bf 20 86 1946 219 bf 19 86 1966 219 bf 20 86 1985 219 bf 19 86 2005 219 bf 20 86 2024 219 bf 19 86 2044 219 bf 20 86 2063 219 bf 19 86
2083 219 bf 20 86 2102 219 bf 19 86 2122 219 bf 20 86 2141 219 bf 19 86 2161 219 bf 20 86 2180 219 bf 0.967333 0.186667 0 c 20 85 249 305 bf 0.706 0.08 0 c 19 85 269 305 bf 0.608 0.04 0 c 20 85 288 305 bf 0.575333 0.0266667 0 c 19 85 308 305 bf
0.542667 0.0133333 0 c 20 85 327 305 bf 19 85 347 305 bf 20 85 366 305 bf 19 85 386 305 bf 20 85 405 305 bf 19 85 425 305 bf 20 85 444 305 bf 19 85 464 305 bf 20 85 483 305 bf 19 85 503 305 bf 20 85 522 305 bf 19 85 542 305 bf 20 85 561 305 bf 19
85 581 305 bf 20 85 600 305 bf 19 85 620 305 bf 20 85 639 305 bf 20 85 659 305 bf 19 85 679 305 bf 20 85 698 305 bf 19 85 718 305 bf 20 85 737 305 bf 19 85 757 305 bf 20 85 776 305 bf 19 85 796 305 bf 20 85 815 305 bf 19 85 835 305 bf 20 85 854 305
bf 19 85 874 305 bf 20 85 893 305 bf 19 85 913 305 bf 20 85 932 305 bf 19 85 952 305 bf 20 85 971 305 bf 19 85 991 305 bf 20 85 1010 305 bf 19 85 1030 305 bf 20 85 1049 305 bf 19 85 1069 305 bf 20 85 1088 305 bf 19 85 1108 305 bf 20 85 1127 305 bf
19 85 1147 305 bf 20 85 1166 305 bf 19 85 1186 305 bf 20 85 1205 305 bf 19 85 1225 305 bf 20 85 1244 305 bf 19 85 1264 305 bf 20 85 1283 305 bf 19 85 1303 305 bf 20 85 1322 305 bf 19 85 1342 305 bf 20 85 1361 305 bf 19 85 1381 305 bf 20 85 1400 305
bf 19 85 1420 305 bf 20 85 1439 305 bf 19 85 1459 305 bf 20 85 1478 305 bf 19 85 1498 305 bf 20 85 1517 305 bf 19 85 1537 305 bf 20 85 1556 305 bf 19 85 1576 305 bf 20 85 1595 305 bf 19 85 1615 305 bf 20 85 1634 305 bf 19 85 1654 305 bf 20 85 1673
305 bf 19 85 1693 305 bf 20 85 1712 305 bf 19 85 1732 305 bf 20 85 1751 305 bf 19 85 1771 305 bf 20 85 1790 305 bf 19 85 1810 305 bf 20 85 1829 305 bf 19 85 1849 305 bf 20 85 1868 305 bf 19 85 1888 305 bf 20 85 1907 305 bf 19 85 1927 305 bf 20 85
1946 305 bf 19 85 1966 305 bf 20 85 1985 305 bf 19 85 2005 305 bf 20 85 2024 305 bf 19 85 2044 305 bf 20 85 2063 305 bf 19 85 2083 305 bf 20 85 2102 305 bf 19 85 2122 305 bf 20 85 2141 305 bf 19 85 2161 305 bf 20 85 2180 305 bf 0.956667 0.466667
0.04 c 20 85 249 390 bf 0.902 0.16 0 c 19 85 269 390 bf 0.771333 0.106667 0 c 20 85 288 390 bf 0.706 0.08 0 c 19 85 308 390 bf 0.673333 0.0666667 0 c 20 85 327 390 bf 0.640667 0.0533333 0 c 19 85 347 390 bf 0.608 0.04 0 c 20 85 366 390 bf 0.575333
0.0266667 0 c 19 85 386 390 bf 20 85 405 390 bf 19 85 425 390 bf 0.542667 0.0133333 0 c 20 85 444 390 bf 19 85 464 390 bf 20 85 483 390 bf 19 85 503 390 bf 20 85 522 390 bf 19 85 542 390 bf 20 85 561 390 bf 19 85 581 390 bf 20 85 600 390 bf 19 85
620 390 bf 20 85 639 390 bf 20 85 659 390 bf 19 85 679 390 bf 20 85 698 390 bf 19 85 718 390 bf 20 85 737 390 bf 19 85 757 390 bf 20 85 776 390 bf 19 85 796 390 bf 20 85 815 390 bf 19 85 835 390 bf 20 85 854 390 bf 19 85 874 390 bf 20 85 893 390 bf
19 85 913 390 bf 20 85 932 390 bf 19 85 952 390 bf 20 85 971 390 bf 19 85 991 390 bf 20 85 1010 390 bf 19 85 1030 390 bf 20 85 1049 390 bf 19 85 1069 390 bf 20 85 1088 390 bf 19 85 1108 390 bf 20 85 1127 390 bf 19 85 1147 390 bf 20 85 1166 390 bf
19 85 1186 390 bf 20 85 1205 390 bf 19 85 1225 390 bf 20 85 1244 390 bf 19 85 1264 390 bf 20 85 1283 390 bf 19 85 1303 390 bf 20 85 1322 390 bf 19 85 1342 390 bf 20 85 1361 390 bf 19 85 1381 390 bf 20 85 1400 390 bf 19 85 1420 390 bf 20 85 1439 390
bf 19 85 1459 390 bf 20 85 1478 390 bf 19 85 1498 390 bf 20 85 1517 390 bf 19 85 1537 390 bf 20 85 1556 390 bf 19 85 1576 390 bf 20 85 1595 390 bf 19 85 1615 390 bf 20 85 1634 390 bf 19 85 1654 390 bf 20 85 1673 390 bf 19 85 1693 390 bf 20 85 1712
390 bf 19 85 1732 390 bf 20 85 1751 390 bf 19 85 1771 390 bf 20 85 1790 390 bf 19 85 1810 390 bf 20 85 1829 390 bf 19 85 1849 390 bf 20 85 1868 390 bf 19 85 1888 390 bf 20 85 1907 390 bf 19 85 1927 390 bf 20 85 1946 390 bf 19 85 1966 390 bf 20 85
1985 390 bf 19 85 2005 390 bf 20 85 2024 390 bf 19 85 2044 390 bf 20 85 2063 390 bf 19 85 2083 390 bf 20 85 2102 390 bf 19 85 2122 390 bf 20 85 2141 390 bf 19 85 2161 390 bf 20 85 2180 390 bf 0.944286 0.542857 0.0514286 c 20 86 249 475 bf 0.967333
0.186667 0 c 19 86 269 475 bf 0.836667 0.133333 0 c 20 86 288 475 bf 0.771333 0.106667 0 c 19 86 308 475 bf 0.706 0.08 0 c 20 86 327 475 bf 0.673333 0.0666667 0 c 19 86 347 475 bf 0.640667 0.0533333 0 c 20 86 366 475 bf 0.608 0.04 0 c 19 86 386 475
bf 20 86 405 475 bf 0.575333 0.0266667 0 c 19 86 425 475 bf 20 86 444 475 bf 19 86 464 475 bf 20 86 483 475 bf 0.542667 0.0133333 0 c 19 86 503 475 bf 20 86 522 475 bf 19 86 542 475 bf 20 86 561 475 bf 19 86 581 475 bf 20 86 600 475 bf 19 86 620
475 bf 20 86 639 475 bf 20 86 659 475 bf 19 86 679 475 bf 20 86 698 475 bf 19 86 718 475 bf 20 86 737 475 bf 19 86 757 475 bf 20 86 776 475 bf 19 86 796 475 bf 20 86 815 475 bf 19 86 835 475 bf 20 86 854 475 bf 19 86 874 475 bf 20 86 893 475 bf 19
86 913 475 bf 20 86 932 475 bf 19 86 952 475 bf 20 86 971 475 bf 19 86 991 475 bf 20 86 1010 475 bf 19 86 1030 475 bf 20 86 1049 475 bf 19 86 1069 475 bf 20 86 1088 475 bf 19 86 1108 475 bf 20 86 1127 475 bf 19 86 1147 475 bf 20 86 1166 475 bf 19
86 1186 475 bf 20 86 1205 475 bf 19 86 1225 475 bf 20 86 1244 475 bf 19 86 1264 475 bf 20 86 1283 475 bf 19 86 1303 475 bf 20 86 1322 475 bf 19 86 1342 475 bf 20 86 1361 475 bf 19 86 1381 475 bf 20 86 1400 475 bf 19 86 1420 475 bf 20 86 1439 475 bf
19 86 1459 475 bf 20 86 1478 475 bf 19 86 1498 475 bf 20 86 1517 475 bf 19 86 1537 475 bf 20 86 1556 475 bf 19 86 1576 475 bf 20 86 1595 475 bf 19 86 1615 475 bf 20 86 1634 475 bf 19 86 1654 475 bf 20 86 1673 475 bf 19 86 1693 475 bf 20 86 1712 475
bf 19 86 1732 475 bf 20 86 1751 475 bf 19 86 1771 475 bf 20 86 1790 475 bf 19 86 1810 475 bf 20 86 1829 475 bf 19 86 1849 475 bf 20 86 1868 475 bf 19 86 1888 475 bf 20 86 1907 475 bf 19 86 1927 475 bf 20 86 1946 475 bf 19 86 1966 475 bf 20 86 1985
475 bf 19 86 2005 475 bf 20 86 2024 475 bf 19 86 2044 475 bf 20 86 2063 475 bf 19 86 2083 475 bf 20 86 2102 475 bf 19 86 2122 475 bf 20 86 2141 475 bf 19 86 2161 475 bf 20 86 2180 475 bf 0.888571 0.885714 0.102857 c 20 85 249 561 bf 0.956667
0.466667 0.04 c 19 85 269 561 bf 0.981429 0.314286 0.0171429 c 20 85 288 561 bf 1 0.2 0 c 19 85 308 561 bf 0.934667 0.173333 0 c 20 85 327 561 bf 0.869333 0.146667 0 c 19 85 347 561 bf 0.836667 0.133333 0 c 20 85 366 561 bf 0.804 0.12 0 c 19 85 386
561 bf 0.771333 0.106667 0 c 20 85 405 561 bf 0.738667 0.0933333 0 c 19 85 425 561 bf 0.706 0.08 0 c 20 85 444 561 bf 19 85 464 561 bf 0.673333 0.0666667 0 c 20 85 483 561 bf 19 85 503 561 bf 0.640667 0.0533333 0 c 20 85 522 561 bf 19 85 542 561 bf
20 85 561 561 bf 0.608 0.04 0 c 19 85 581 561 bf 20 85 600 561 bf 19 85 620 561 bf 20 85 639 561 bf 20 85 659 561 bf 0.575333 0.0266667 0 c 19 85 679 561 bf 20 85 698 561 bf 19 85 718 561 bf 20 85 737 561 bf 19 85 757 561 bf 20 85 776 561 bf 19 85
796 561 bf 20 85 815 561 bf 19 85 835 561 bf 0.542667 0.0133333 0 c 20 85 854 561 bf 19 85 874 561 bf 20 85 893 561 bf 19 85 913 561 bf 20 85 932 561 bf 19 85 952 561 bf 20 85 971 561 bf 19 85 991 561 bf 20 85 1010 561 bf 19 85 1030 561 bf 20 85
1049 561 bf 19 85 1069 561 bf 20 85 1088 561 bf 19 85 1108 561 bf 20 85 1127 561 bf 19 85 1147 561 bf 20 85 1166 561 bf 19 85 1186 561 bf 20 85 1205 561 bf 19 85 1225 561 bf 20 85 1244 561 bf 19 85 1264 561 bf 20 85 1283 561 bf 19 85 1303 561 bf 20
85 1322 561 bf 19 85 1342 561 bf 20 85 1361 561 bf 19 85 1381 561 bf 20 85 1400 561 bf 19 85 1420 561 bf 20 85 1439 561 bf 19 85 1459 561 bf 20 85 1478 561 bf 19 85 1498 561 bf 20 85 1517 561 bf 19 85 1537 561 bf 20 85 1556 561 bf 19 85 1576 561 bf
20 85 1595 561 bf 19 85 1615 561 bf 20 85 1634 561 bf 19 85 1654 561 bf 20 85 1673 561 bf 19 85 1693 561 bf 20 85 1712 561 bf 19 85 1732 561 bf 20 85 1751 561 bf 19 85 1771 561 bf 20 85 1790 561 bf 19 85 1810 561 bf 20 85 1829 561 bf 19 85 1849 561
bf 20 85 1868 561 bf 19 85 1888 561 bf 20 85 1907 561 bf 19 85 1927 561 bf 20 85 1946 561 bf 19 85 1966 561 bf 20 85 1985 561 bf 19 85 2005 561 bf 20 85 2024 561 bf 19 85 2044 561 bf 20 85 2063 561 bf 19 85 2083 561 bf 20 85 2102 561 bf 19 85 2122
561 bf 20 85 2141 561 bf 19 85 2161 561 bf 20 85 2180 561 bf 0.7975 0.984167 0.193333 c 20 86 249 646 bf 0.925714 0.657143 0.0685714 c 19 86 269 646 bf 0.956667 0.466667 0.04 c 20 86 288 646 bf 0.975238 0.352381 0.0228571 c 19 86 308 646 bf
0.987619 0.27619 0.0114286 c 20 86 327 646 bf 1 0.2 0 c 19 86 347 646 bf 0.967333 0.186667 0 c 20 86 366 646 bf 0.934667 0.173333 0 c 19 86 386 646 bf 0.902 0.16 0 c 20 86 405 646 bf 0.869333 0.146667 0 c 19 86 425 646 bf 0.836667 0.133333 0 c 20
86 444 646 bf 0.804 0.12 0 c 19 86 464 646 bf 20 86 483 646 bf 0.771333 0.106667 0 c 19 86 503 646 bf 20 86 522 646 bf 0.738667 0.0933333 0 c 19 86 542 646 bf 20 86 561 646 bf 0.706 0.08 0 c 19 86 581 646 bf 20 86 600 646 bf 19 86 620 646 bf
0.673333 0.0666667 0 c 20 86 639 646 bf 20 86 659 646 bf 19 86 679 646 bf 20 86 698 646 bf 0.640667 0.0533333 0 c 19 86 718 646 bf 20 86 737 646 bf 19 86 757 646 bf 20 86 776 646 bf 19 86 796 646 bf 0.608 0.04 0 c 20 86 815 646 bf 19 86 835 646 bf
20 86 854 646 bf 19 86 874 646 bf 20 86 893 646 bf 19 86 913 646 bf 20 86 932 646 bf 19 86 952 646 bf 0.575333 0.0266667 0 c 20 86 971 646 bf 19 86 991 646 bf 20 86 1010 646 bf 19 86 1030 646 bf 20 86 1049 646 bf 19 86 1069 646 bf 20 86 1088 646 bf
19 86 1108 646 bf 20 86 1127 646 bf 19 86 1147 646 bf 20 86 1166 646 bf 19 86 1186 646 bf 20 86 1205 646 bf 19 86 1225 646 bf 0.542667 0.0133333 0 c 20 86 1244 646 bf 19 86 1264 646 bf 20 86 1283 646 bf 19 86 1303 646 bf 20 86 1322 646 bf 19 86
1342 646 bf 20 86 1361 646 bf 19 86 1381 646 bf 20 86 1400 646 bf 19 86 1420 646 bf 20 86 1439 646 bf 19 86 1459 646 bf 20 86 1478 646 bf 19 86 1498 646 bf 20 86 1517 646 bf 19 86 1537 646 bf 20 86 1556 646 bf 19 86 1576 646 bf 20 86 1595 646 bf 19
86 1615 646 bf 20 86 1634 646 bf 19 86 1654 646 bf 20 86 1673 646 bf 19 86 1693 646 bf 20 86 1712 646 bf 19 86 1732 646 bf 20 86 1751 646 bf 19 86 1771 646 bf 20 86 1790 646 bf 19 86 1810 646 bf 20 86 1829 646 bf 19 86 1849 646 bf 20 86 1868 646 bf
19 86 1888 646 bf 20 86 1907 646 bf 19 86 1927 646 bf 20 86 1946 646 bf 19 86 1966 646 bf 20 86 1985 646 bf 19 86 2005 646 bf 20 86 2024 646 bf 19 86 2044 646 bf 20 86 2063 646 bf 19 86 2083 646 bf 20 86 2102 646 bf 19 86 2122 646 bf 20 86 2141 646
bf 19 86 2161 646 bf 20 86 2180 646 bf 0.61625 0.944583 0.376667 c 20 85 249 732 bf 0.888571 0.885714 0.102857 c 19 85 269 732 bf 0.919524 0.695238 0.0742857 c 20 85 288 732 bf 0.938095 0.580952 0.0571429 c 19 85 308 732 bf 0.956667 0.466667 0.04 c
20 85 327 732 bf 0.962857 0.428571 0.0342857 c 19 85 347 732 bf 0.975238 0.352381 0.0228571 c 20 85 366 732 bf 0.981429 0.314286 0.0171429 c 19 85 386 732 bf 0.987619 0.27619 0.0114286 c 20 85 405 732 bf 0.99381 0.238095 0.00571429 c 19 85 425 732
bf 1 0.2 0 c 20 85 444 732 bf 0.967333 0.186667 0 c 19 85 464 732 bf 0.934667 0.173333 0 c 20 85 483 732 bf 19 85 503 732 bf 0.902 0.16 0 c 20 85 522 732 bf 19 85 542 732 bf 0.869333 0.146667 0 c 20 85 561 732 bf 19 85 581 732 bf 0.836667 0.133333
0 c 20 85 600 732 bf 19 85 620 732 bf 0.804 0.12 0 c 20 85 639 732 bf 20 85 659 732 bf 19 85 679 732 bf 0.771333 0.106667 0 c 20 85 698 732 bf 19 85 718 732 bf 20 85 737 732 bf 19 85 757 732 bf 0.738667 0.0933333 0 c 20 85 776 732 bf 19 85 796 732
bf 20 85 815 732 bf 19 85 835 732 bf 0.706 0.08 0 c 20 85 854 732 bf 19 85 874 732 bf 20 85 893 732 bf 19 85 913 732 bf 20 85 932 732 bf 0.673333 0.0666667 0 c 19 85 952 732 bf 20 85 971 732 bf 19 85 991 732 bf 20 85 1010 732 bf 19 85 1030 732 bf
20 85 1049 732 bf 19 85 1069 732 bf 0.640667 0.0533333 0 c 20 85 1088 732 bf 19 85 1108 732 bf 20 85 1127 732 bf 19 85 1147 732 bf 20 85 1166 732 bf 19 85 1186 732 bf 20 85 1205 732 bf 19 85 1225 732 bf 20 85 1244 732 bf 19 85 1264 732 bf 0.608
0.04 0 c 20 85 1283 732 bf 19 85 1303 732 bf 20 85 1322 732 bf 19 85 1342 732 bf 20 85 1361 732 bf 19 85 1381 732 bf 20 85 1400 732 bf 19 85 1420 732 bf 20 85 1439 732 bf 19 85 1459 732 bf 20 85 1478 732 bf 19 85 1498 732 bf 20 85 1517 732 bf 19 85
1537 732 bf 0.575333 0.0266667 0 c 20 85 1556 732 bf 19 85 1576 732 bf 20 85 1595 732 bf 19 85 1615 732 bf 20 85 1634 732 bf 19 85 1654 732 bf 20 85 1673 732 bf 19 85 1693 732 bf 20 85 1712 732 bf 19 85 1732 732 bf 20 85 1751 732 bf 19 85 1771 732
bf 20 85 1790 732 bf 19 85 1810 732 bf 20 85 1829 732 bf 19 85 1849 732 bf 20 85 1868 732 bf 19 85 1888 732 bf 20 85 1907 732 bf 19 85 1927 732 bf 20 85 1946 732 bf 19 85 1966 732 bf 20 85 1985 732 bf 19 85 2005 732 bf 20 85 2024 732 bf 0.542667
0.0133333 0 c 19 85 2044 732 bf 20 85 2063 732 bf 19 85 2083 732 bf 20 85 2102 732 bf 19 85 2122 732 bf 20 85 2141 732 bf 19 85 2161 732 bf 20 85 2180 732 bf 0.54375 0.92875 0.45 c 20 86 249 817 bf 0.882381 0.92381 0.108571 c 19 86 269 817 bf
0.913333 0.733333 0.08 c 20 86 288 817 bf 0.931905 0.619048 0.0628571 c 19 86 308 817 bf 0.944286 0.542857 0.0514286 c 20 86 327 817 bf 0.956667 0.466667 0.04 c 19 86 347 817 bf 0.969048 0.390476 0.0285714 c 20 86 366 817 bf 0.975238 0.352381
0.0228571 c 19 86 386 817 bf 0.981429 0.314286 0.0171429 c 20 86 405 817 bf 0.987619 0.27619 0.0114286 c 19 86 425 817 bf 0.99381 0.238095 0.00571429 c 20 86 444 817 bf 1 0.2 0 c 19 86 464 817 bf 20 86 483 817 bf 0.967333 0.186667 0 c 19 86 503 817
bf 0.934667 0.173333 0 c 20 86 522 817 bf 19 86 542 817 bf 0.902 0.16 0 c 20 86 561 817 bf 19 86 581 817 bf 0.869333 0.146667 0 c 20 86 600 817 bf 19 86 620 817 bf 0.836667 0.133333 0 c 20 86 639 817 bf 20 86 659 817 bf 19 86 679 817 bf 0.804 0.12
0 c 20 86 698 817 bf 19 86 718 817 bf 20 86 737 817 bf 19 86 757 817 bf 0.771333 0.106667 0 c 20 86 776 817 bf 19 86 796 817 bf 20 86 815 817 bf 19 86 835 817 bf 0.738667 0.0933333 0 c 20 86 854 817 bf 19 86 874 817 bf 20 86 893 817 bf 19 86 913
817 bf 20 86 932 817 bf 0.706 0.08 0 c 19 86 952 817 bf 20 86 971 817 bf 19 86 991 817 bf 20 86 1010 817 bf 19 86 1030 817 bf 20 86 1049 817 bf 0.673333 0.0666667 0 c 19 86 1069 817 bf 20 86 1088 817 bf 19 86 1108 817 bf 20 86 1127 817 bf 19 86
1147 817 bf 20 86 1166 817 bf 19 86 1186 817 bf 20 86 1205 817 bf 0.640667 0.0533333 0 c 19 86 1225 817 bf 20 86 1244 817 bf 19 86 1264 817 bf 20 86 1283 817 bf 19 86 1303 817 bf 20 86 1322 817 bf 19 86 1342 817 bf 20 86 1361 817 bf 19 86 1381 817
bf 20 86 1400 817 bf 19 86 1420 817 bf 0.608 0.04 0 c 20 86 1439 817 bf 19 86 1459 817 bf 20 86 1478 817 bf 19 86 1498 817 bf 20 86 1517 817 bf 19 86 1537 817 bf 20 86 1556 817 bf 19 86 1576 817 bf 20 86 1595 817 bf 19 86 1615 817 bf 20 86 1634 817
bf 19 86 1654 817 bf 20 86 1673 817 bf 19 86 1693 817 bf 20 86 1712 817 bf 19 86 1732 817 bf 20 86 1751 817 bf 0.575333 0.0266667 0 c 19 86 1771 817 bf 20 86 1790 817 bf 19 86 1810 817 bf 20 86 1829 817 bf 19 86 1849 817 bf 20 86 1868 817 bf 19 86
1888 817 bf 20 86 1907 817 bf 19 86 1927 817 bf 20 86 1946 817 bf 19 86 1966 817 bf 20 86 1985 817 bf 19 86 2005 817 bf 20 86 2024 817 bf 19 86 2044 817 bf 20 86 2063 817 bf 19 86 2083 817 bf 20 86 2102 817 bf 19 86 2122 817 bf 20 86 2141 817 bf 19
86 2161 817 bf 20 86 2180 817 bf 0.3625 0.889167 0.633333 c 20 85 249 903 bf 0.76125 0.97625 0.23 c 19 85 269 903 bf 0.882381 0.92381 0.108571 c 20 85 288 903 bf 0.900952 0.809524 0.0914286 c 19 85 308 903 bf 0.913333 0.733333 0.08 c 20 85 327 903
bf 0.925714 0.657143 0.0685714 c 19 85 347 903 bf 0.938095 0.580952 0.0571429 c 20 85 366 903 bf 0.944286 0.542857 0.0514286 c 19 85 386 903 bf 0.950476 0.504762 0.0457143 c 20 85 405 903 bf 0.956667 0.466667 0.04 c 19 85 425 903 bf 0.962857
0.428571 0.0342857 c 20 85 444 903 bf 0.969048 0.390476 0.0285714 c 19 85 464 903 bf 0.975238 0.352381 0.0228571 c 20 85 483 903 bf 0.981429 0.314286 0.0171429 c 19 85 503 903 bf 20 85 522 903 bf 0.987619 0.27619 0.0114286 c 19 85 542 903 bf 20 85
561 903 bf 0.99381 0.238095 0.00571429 c 19 85 581 903 bf 20 85 600 903 bf 1 0.2 0 c 19 85 620 903 bf 20 85 639 903 bf 0.967333 0.186667 0 c 20 85 659 903 bf 19 85 679 903 bf 20 85 698 903 bf 0.934667 0.173333 0 c 19 85 718 903 bf 20 85 737 903 bf
19 85 757 903 bf 0.902 0.16 0 c 20 85 776 903 bf 19 85 796 903 bf 20 85 815 903 bf 0.869333 0.146667 0 c 19 85 835 903 bf 20 85 854 903 bf 19 85 874 903 bf 20 85 893 903 bf 0.836667 0.133333 0 c 19 85 913 903 bf 20 85 932 903 bf 19 85 952 903 bf 20
85 971 903 bf 19 85 991 903 bf 0.804 0.12 0 c 20 85 1010 903 bf 19 85 1030 903 bf 20 85 1049 903 bf 19 85 1069 903 bf 20 85 1088 903 bf 19 85 1108 903 bf 0.771333 0.106667 0 c 20 85 1127 903 bf 19 85 1147 903 bf 20 85 1166 903 bf 19 85 1186 903 bf
20 85 1205 903 bf 19 85 1225 903 bf 20 85 1244 903 bf 0.738667 0.0933333 0 c 19 85 1264 903 bf 20 85 1283 903 bf 19 85 1303 903 bf 20 85 1322 903 bf 19 85 1342 903 bf 20 85 1361 903 bf 19 85 1381 903 bf 20 85 1400 903 bf 0.706 0.08 0 c 19 85 1420
903 bf 20 85 1439 903 bf 19 85 1459 903 bf 20 85 1478 903 bf 19 85 1498 903 bf 20 85 1517 903 bf 19 85 1537 903 bf 20 85 1556 903 bf 19 85 1576 903 bf 20 85 1595 903 bf 19 85 1615 903 bf 0.673333 0.0666667 0 c 20 85 1634 903 bf 19 85 1654 903 bf 20
85 1673 903 bf 19 85 1693 903 bf 20 85 1712 903 bf 19 85 1732 903 bf 20 85 1751 903 bf 19 85 1771 903 bf 20 85 1790 903 bf 19 85 1810 903 bf 20 85 1829 903 bf 19 85 1849 903 bf 20 85 1868 903 bf 0.640667 0.0533333 0 c 19 85 1888 903 bf 20 85 1907
903 bf 19 85 1927 903 bf 20 85 1946 903 bf 19 85 1966 903 bf 20 85 1985 903 bf 19 85 2005 903 bf 20 85 2024 903 bf 19 85 2044 903 bf 20 85 2063 903 bf 19 85 2083 903 bf 20 85 2102 903 bf 19 85 2122 903 bf 20 85 2141 903 bf 19 85 2161 903 bf 20 85
2180 903 bf 0.25375 0.865417 0.743333 c 20 85 249 988 bf 0.61625 0.944583 0.376667 c 19 85 269 988 bf 0.7975 0.984167 0.193333 c 20 85 288 988 bf 0.87619 0.961905 0.114286 c 19 85 308 988 bf 0.894762 0.847619 0.0971429 c 20 85 327 988 bf 0.907143
0.771429 0.0857143 c 19 85 347 988 bf 0.913333 0.733333 0.08 c 20 85 366 988 bf 0.925714 0.657143 0.0685714 c 19 85 386 988 bf 0.931905 0.619048 0.0628571 c 20 85 405 988 bf 0.938095 0.580952 0.0571429 c 19 85 425 988 bf 0.944286 0.542857 0.0514286
c 20 85 444 988 bf 0.950476 0.504762 0.0457143 c 19 85 464 988 bf 0.956667 0.466667 0.04 c 20 85 483 988 bf 19 85 503 988 bf 0.962857 0.428571 0.0342857 c 20 85 522 988 bf 0.969048 0.390476 0.0285714 c 19 85 542 988 bf 20 85 561 988 bf 0.975238
0.352381 0.0228571 c 19 85 581 988 bf 20 85 600 988 bf 0.981429 0.314286 0.0171429 c 19 85 620 988 bf 20 85 639 988 bf 20 85 659 988 bf 0.987619 0.27619 0.0114286 c 19 85 679 988 bf 20 85 698 988 bf 0.99381 0.238095 0.00571429 c 19 85 718 988 bf 20
85 737 988 bf 19 85 757 988 bf 1 0.2 0 c 20 85 776 988 bf 19 85 796 988 bf 20 85 815 988 bf 19 85 835 988 bf 0.967333 0.186667 0 c 20 85 854 988 bf 19 85 874 988 bf 20 85 893 988 bf 0.934667 0.173333 0 c 19 85 913 988 bf 20 85 932 988 bf 19 85 952
988 bf 20 85 971 988 bf 19 85 991 988 bf 0.902 0.16 0 c 20 85 1010 988 bf 19 85 1030 988 bf 20 85 1049 988 bf 19 85 1069 988 bf 20 85 1088 988 bf 0.869333 0.146667 0 c 19 85 1108 988 bf 20 85 1127 988 bf 19 85 1147 988 bf 20 85 1166 988 bf 19 85
1186 988 bf 20 85 1205 988 bf 0.836667 0.133333 0 c 19 85 1225 988 bf 20 85 1244 988 bf 19 85 1264 988 bf 20 85 1283 988 bf 19 85 1303 988 bf 20 85 1322 988 bf 19 85 1342 988 bf 0.804 0.12 0 c 20 85 1361 988 bf 19 85 1381 988 bf 20 85 1400 988 bf
19 85 1420 988 bf 20 85 1439 988 bf 19 85 1459 988 bf 20 85 1478 988 bf 19 85 1498 988 bf 0.771333 0.106667 0 c 20 85 1517 988 bf 19 85 1537 988 bf 20 85 1556 988 bf 19 85 1576 988 bf 20 85 1595 988 bf 19 85 1615 988 bf 20 85 1634 988 bf 19 85 1654
988 bf 20 85 1673 988 bf 19 85 1693 988 bf 0.738667 0.0933333 0 c 20 85 1712 988 bf 19 85 1732 988 bf 20 85 1751 988 bf 19 85 1771 988 bf 20 85 1790 988 bf 19 85 1810 988 bf 20 85 1829 988 bf 19 85 1849 988 bf 20 85 1868 988 bf 19 85 1888 988 bf 20
85 1907 988 bf 19 85 1927 988 bf 0.706 0.08 0 c 20 85 1946 988 bf 19 85 1966 988 bf 20 85 1985 988 bf 19 85 2005 988 bf 20 85 2024 988 bf 19 85 2044 988 bf 20 85 2063 988 bf 19 85 2083 988 bf 20 85 2102 988 bf 19 85 2122 988 bf 20 85 2141 988 bf 19
85 2161 988 bf 20 85 2180 988 bf 0.145 0.841667 0.853333 c 20 86 249 1073 bf 0.54375 0.92875 0.45 c 19 86 269 1073 bf 0.725 0.968333 0.266667 c 20 86 288 1073 bf 0.83375 0.992083 0.156667 c 19 86 308 1073 bf 0.882381 0.92381 0.108571 c 20 86 327
1073 bf 0.888571 0.885714 0.102857 c 19 86 347 1073 bf 0.900952 0.809524 0.0914286 c 20 86 366 1073 bf 0.907143 0.771429 0.0857143 c 19 86 386 1073 bf 0.919524 0.695238 0.0742857 c 20 86 405 1073 bf 0.925714 0.657143 0.0685714 c 19 86 425 1073 bf
0.931905 0.619048 0.0628571 c 20 86 444 1073 bf 19 86 464 1073 bf 0.938095 0.580952 0.0571429 c 20 86 483 1073 bf 0.944286 0.542857 0.0514286 c 19 86 503 1073 bf 0.950476 0.504762 0.0457143 c 20 86 522 1073 bf 19 86 542 1073 bf 0.956667 0.466667
0.04 c 20 86 561 1073 bf 19 86 581 1073 bf 0.962857 0.428571 0.0342857 c 20 86 600 1073 bf 19 86 620 1073 bf 0.969048 0.390476 0.0285714 c 20 86 639 1073 bf 20 86 659 1073 bf 0.975238 0.352381 0.0228571 c 19 86 679 1073 bf 20 86 698 1073 bf 19 86
718 1073 bf 0.981429 0.314286 0.0171429 c 20 86 737 1073 bf 19 86 757 1073 bf 20 86 776 1073 bf 0.987619 0.27619 0.0114286 c 19 86 796 1073 bf 20 86 815 1073 bf 19 86 835 1073 bf 0.99381 0.238095 0.00571429 c 20 86 854 1073 bf 19 86 874 1073 bf 20
86 893 1073 bf 19 86 913 1073 bf 1 0.2 0 c 20 86 932 1073 bf 19 86 952 1073 bf 20 86 971 1073 bf 19 86 991 1073 bf 0.967333 0.186667 0 c 20 86 1010 1073 bf 19 86 1030 1073 bf 20 86 1049 1073 bf 19 86 1069 1073 bf 20 86 1088 1073 bf 0.934667
0.173333 0 c 19 86 1108 1073 bf 20 86 1127 1073 bf 19 86 1147 1073 bf 20 86 1166 1073 bf 19 86 1186 1073 bf 0.902 0.16 0 c 20 86 1205 1073 bf 19 86 1225 1073 bf 20 86 1244 1073 bf 19 86 1264 1073 bf 20 86 1283 1073 bf 19 86 1303 1073 bf 20 86 1322
1073 bf 0.869333 0.146667 0 c 19 86 1342 1073 bf 20 86 1361 1073 bf 19 86 1381 1073 bf 20 86 1400 1073 bf 19 86 1420 1073 bf 20 86 1439 1073 bf 19 86 1459 1073 bf 20 86 1478 1073 bf 0.836667 0.133333 0 c 19 86 1498 1073 bf 20 86 1517 1073 bf 19 86
1537 1073 bf 20 86 1556 1073 bf 19 86 1576 1073 bf 20 86 1595 1073 bf 19 86 1615 1073 bf 20 86 1634 1073 bf 0.804 0.12 0 c 19 86 1654 1073 bf 20 86 1673 1073 bf 19 86 1693 1073 bf 20 86 1712 1073 bf 19 86 1732 1073 bf 20 86 1751 1073 bf 19 86 1771
1073 bf 20 86 1790 1073 bf 19 86 1810 1073 bf 20 86 1829 1073 bf 19 86 1849 1073 bf 0.771333 0.106667 0 c 20 86 1868 1073 bf 19 86 1888 1073 bf 20 86 1907 1073 bf 19 86 1927 1073 bf 20 86 1946 1073 bf 19 86 1966 1073 bf 20 86 1985 1073 bf 19 86
2005 1073 bf 20 86 2024 1073 bf 19 86 2044 1073 bf 20 86 2063 1073 bf 19 86 2083 1073 bf 20 86 2102 1073 bf 0.738667 0.0933333 0 c 19 86 2122 1073 bf 20 86 2141 1073 bf 19 86 2161 1073 bf 20 86 2180 1073 bf 0.0725 0.825833 0.926667 c 20 85 249 1159
bf 0.435 0.905 0.56 c 19 85 269 1159 bf 0.61625 0.944583 0.376667 c 20 85 288 1159 bf 0.76125 0.97625 0.23 c 19 85 308 1159 bf 0.83375 0.992083 0.156667 c 20 85 327 1159 bf 0.87619 0.961905 0.114286 c 19 85 347 1159 bf 0.888571 0.885714 0.102857 c
20 85 366 1159 bf 0.894762 0.847619 0.0971429 c 19 85 386 1159 bf 0.900952 0.809524 0.0914286 c 20 85 405 1159 bf 0.907143 0.771429 0.0857143 c 19 85 425 1159 bf 0.913333 0.733333 0.08 c 20 85 444 1159 bf 0.919524 0.695238 0.0742857 c 19 85 464
1159 bf 0.925714 0.657143 0.0685714 c 20 85 483 1159 bf 19 85 503 1159 bf 0.931905 0.619048 0.0628571 c 20 85 522 1159 bf 0.938095 0.580952 0.0571429 c 19 85 542 1159 bf 20 85 561 1159 bf 0.944286 0.542857 0.0514286 c 19 85 581 1159 bf 20 85 600
1159 bf 0.950476 0.504762 0.0457143 c 19 85 620 1159 bf 20 85 639 1159 bf 0.956667 0.466667 0.04 c 20 85 659 1159 bf 19 85 679 1159 bf 0.962857 0.428571 0.0342857 c 20 85 698 1159 bf 19 85 718 1159 bf 20 85 737 1159 bf 0.969048 0.390476 0.0285714 c
19 85 757 1159 bf 20 85 776 1159 bf 19 85 796 1159 bf 0.975238 0.352381 0.0228571 c 20 85 815 1159 bf 19 85 835 1159 bf 20 85 854 1159 bf 0.981429 0.314286 0.0171429 c 19 85 874 1159 bf 20 85 893 1159 bf 19 85 913 1159 bf 20 85 932 1159 bf 0.987619
0.27619 0.0114286 c 19 85 952 1159 bf 20 85 971 1159 bf 19 85 991 1159 bf 20 85 1010 1159 bf 0.99381 0.238095 0.00571429 c 19 85 1030 1159 bf 20 85 1049 1159 bf 19 85 1069 1159 bf 20 85 1088 1159 bf 19 85 1108 1159 bf 1 0.2 0 c 20 85 1127 1159 bf
19 85 1147 1159 bf 20 85 1166 1159 bf 19 85 1186 1159 bf 20 85 1205 1159 bf 19 85 1225 1159 bf 0.967333 0.186667 0 c 20 85 1244 1159 bf 19 85 1264 1159 bf 20 85 1283 1159 bf 19 85 1303 1159 bf 20 85 1322 1159 bf 19 85 1342 1159 bf 0.934667 0.173333
0 c 20 85 1361 1159 bf 19 85 1381 1159 bf 20 85 1400 1159 bf 19 85 1420 1159 bf 20 85 1439 1159 bf 19 85 1459 1159 bf 20 85 1478 1159 bf 19 85 1498 1159 bf 0.902 0.16 0 c 20 85 1517 1159 bf 19 85 1537 1159 bf 20 85 1556 1159 bf 19 85 1576 1159 bf
20 85 1595 1159 bf 19 85 1615 1159 bf 20 85 1634 1159 bf 19 85 1654 1159 bf 0.869333 0.146667 0 c 20 85 1673 1159 bf 19 85 1693 1159 bf 20 85 1712 1159 bf 19 85 1732 1159 bf 20 85 1751 1159 bf 19 85 1771 1159 bf 20 85 1790 1159 bf 19 85 1810 1159
bf 20 85 1829 1159 bf 19 85 1849 1159 bf 0.836667 0.133333 0 c 20 85 1868 1159 bf 19 85 1888 1159 bf 20 85 1907 1159 bf 19 85 1927 1159 bf 20 85 1946 1159 bf 19 85 1966 1159 bf 20 85 1985 1159 bf 19 85 2005 1159 bf 20 85 2024 1159 bf 19 85 2044
1159 bf 20 85 2063 1159 bf 19 85 2083 1159 bf 0.804 0.12 0 c 20 85 2102 1159 bf 19 85 2122 1159 bf 20 85 2141 1159 bf 19 85 2161 1159 bf 20 85 2180 1159 bf 0 0.81 1 c 20 86 249 1244 bf 0.39875 0.897083 0.596667 c 19 86 269 1244 bf 0.58 0.936667
0.413333 c 20 86 288 1244 bf 0.68875 0.960417 0.303333 c 19 86 308 1244 bf 0.76125 0.97625 0.23 c 20 86 327 1244 bf 0.83375 0.992083 0.156667 c 19 86 347 1244 bf 0.87619 0.961905 0.114286 c 20 86 366 1244 bf 0.882381 0.92381 0.108571 c 19 86 386
1244 bf 0.888571 0.885714 0.102857 c 20 86 405 1244 bf 0.900952 0.809524 0.0914286 c 19 86 425 1244 bf 0.907143 0.771429 0.0857143 c 20 86 444 1244 bf 19 86 464 1244 bf 0.913333 0.733333 0.08 c 20 86 483 1244 bf 0.919524 0.695238 0.0742857 c 19 86
503 1244 bf 0.925714 0.657143 0.0685714 c 20 86 522 1244 bf 19 86 542 1244 bf 0.931905 0.619048 0.0628571 c 20 86 561 1244 bf 19 86 581 1244 bf 0.938095 0.580952 0.0571429 c 20 86 600 1244 bf 19 86 620 1244 bf 0.944286 0.542857 0.0514286 c 20 86
639 1244 bf 20 86 659 1244 bf 0.950476 0.504762 0.0457143 c 19 86 679 1244 bf 20 86 698 1244 bf 19 86 718 1244 bf 0.956667 0.466667 0.04 c 20 86 737 1244 bf 19 86 757 1244 bf 0.962857 0.428571 0.0342857 c 20 86 776 1244 bf 19 86 796 1244 bf 20 86
815 1244 bf 0.969048 0.390476 0.0285714 c 19 86 835 1244 bf 20 86 854 1244 bf 19 86 874 1244 bf 20 86 893 1244 bf 0.975238 0.352381 0.0228571 c 19 86 913 1244 bf 20 86 932 1244 bf 19 86 952 1244 bf 20 86 971 1244 bf 0.981429 0.314286 0.0171429 c 19
86 991 1244 bf 20 86 1010 1244 bf 19 86 1030 1244 bf 20 86 1049 1244 bf 19 86 1069 1244 bf 0.987619 0.27619 0.0114286 c 20 86 1088 1244 bf 19 86 1108 1244 bf 20 86 1127 1244 bf 19 86 1147 1244 bf 20 86 1166 1244 bf 0.99381 0.238095 0.00571429 c 19
86 1186 1244 bf 20 86 1205 1244 bf 19 86 1225 1244 bf 20 86 1244 1244 bf 19 86 1264 1244 bf 20 86 1283 1244 bf 1 0.2 0 c 19 86 1303 1244 bf 20 86 1322 1244 bf 19 86 1342 1244 bf 20 86 1361 1244 bf 19 86 1381 1244 bf 20 86 1400 1244 bf 0.967333
0.186667 0 c 19 86 1420 1244 bf 20 86 1439 1244 bf 19 86 1459 1244 bf 20 86 1478 1244 bf 19 86 1498 1244 bf 20 86 1517 1244 bf 19 86 1537 1244 bf 20 86 1556 1244 bf 0.934667 0.173333 0 c 19 86 1576 1244 bf 20 86 1595 1244 bf 19 86 1615 1244 bf 20
86 1634 1244 bf 19 86 1654 1244 bf 20 86 1673 1244 bf 19 86 1693 1244 bf 20 86 1712 1244 bf 0.902 0.16 0 c 19 86 1732 1244 bf 20 86 1751 1244 bf 19 86 1771 1244 bf 20 86 1790 1244 bf 19 86 1810 1244 bf 20 86 1829 1244 bf 19 86 1849 1244 bf 20 86
1868 1244 bf 19 86 1888 1244 bf 20 86 1907 1244 bf 0.869333 0.146667 0 c 19 86 1927 1244 bf 20 86 1946 1244 bf 19 86 1966 1244 bf 20 86 1985 1244 bf 19 86 2005 1244 bf 20 86 2024 1244 bf 19 86 2044 1244 bf 20 86 2063 1244 bf 19 86 2083 1244 bf 20
86 2102 1244 bf 19 86 2122 1244 bf 20 86 2141 1244 bf 0.836667 0.133333 0 c 19 86 2161 1244 bf 20 86 2180 1244 bf 0 0.729 0.951 c 20 85 249 1330 bf 0.29 0.873333 0.706667 c 19 85 269 1330 bf 0.47125 0.912917 0.523333 c 20 85 288 1330 bf 0.58
0.936667 0.413333 c 19 85 308 1330 bf 0.68875 0.960417 0.303333 c 20 85 327 1330 bf 0.76125 0.97625 0.23 c 19 85 347 1330 bf 0.7975 0.984167 0.193333 c 20 85 366 1330 bf 0.87 1 0.12 c 19 85 386 1330 bf 0.87619 0.961905 0.114286 c 20 85 405 1330 bf
0.882381 0.92381 0.108571 c 19 85 425 1330 bf 0.888571 0.885714 0.102857 c 20 85 444 1330 bf 0.894762 0.847619 0.0971429 c 19 85 464 1330 bf 0.900952 0.809524 0.0914286 c 20 85 483 1330 bf 19 85 503 1330 bf 0.907143 0.771429 0.0857143 c 20 85 522
1330 bf 0.913333 0.733333 0.08 c 19 85 542 1330 bf 20 85 561 1330 bf 0.919524 0.695238 0.0742857 c 19 85 581 1330 bf 20 85 600 1330 bf 0.925714 0.657143 0.0685714 c 19 85 620 1330 bf 20 85 639 1330 bf 0.931905 0.619048 0.0628571 c 20 85 659 1330 bf
19 85 679 1330 bf 0.938095 0.580952 0.0571429 c 20 85 698 1330 bf 19 85 718 1330 bf 20 85 737 1330 bf 0.944286 0.542857 0.0514286 c 19 85 757 1330 bf 20 85 776 1330 bf 19 85 796 1330 bf 0.950476 0.504762 0.0457143 c 20 85 815 1330 bf 19 85 835 1330
bf 20 85 854 1330 bf 0.956667 0.466667 0.04 c 19 85 874 1330 bf 20 85 893 1330 bf 19 85 913 1330 bf 20 85 932 1330 bf 0.962857 0.428571 0.0342857 c 19 85 952 1330 bf 20 85 971 1330 bf 19 85 991 1330 bf 20 85 1010 1330 bf 0.969048 0.390476 0.0285714
c 19 85 1030 1330 bf 20 85 1049 1330 bf 19 85 1069 1330 bf 20 85 1088 1330 bf 0.975238 0.352381 0.0228571 c 19 85 1108 1330 bf 20 85 1127 1330 bf 19 85 1147 1330 bf 20 85 1166 1330 bf 19 85 1186 1330 bf 0.981429 0.314286 0.0171429 c 20 85 1205 1330
bf 19 85 1225 1330 bf 20 85 1244 1330 bf 19 85 1264 1330 bf 20 85 1283 1330 bf 19 85 1303 1330 bf 0.987619 0.27619 0.0114286 c 20 85 1322 1330 bf 19 85 1342 1330 bf 20 85 1361 1330 bf 19 85 1381 1330 bf 20 85 1400 1330 bf 19 85 1420 1330 bf 20 85
1439 1330 bf 0.99381 0.238095 0.00571429 c 19 85 1459 1330 bf 20 85 1478 1330 bf 19 85 1498 1330 bf 20 85 1517 1330 bf 19 85 1537 1330 bf 20 85 1556 1330 bf 19 85 1576 1330 bf 20 85 1595 1330 bf 1 0.2 0 c 19 85 1615 1330 bf 20 85 1634 1330 bf 19 85
1654 1330 bf 20 85 1673 1330 bf 19 85 1693 1330 bf 20 85 1712 1330 bf 19 85 1732 1330 bf 20 85 1751 1330 bf 0.967333 0.186667 0 c 19 85 1771 1330 bf 20 85 1790 1330 bf 19 85 1810 1330 bf 20 85 1829 1330 bf 19 85 1849 1330 bf 20 85 1868 1330 bf 19
85 1888 1330 bf 20 85 1907 1330 bf 19 85 1927 1330 bf 20 85 1946 1330 bf 0.934667 0.173333 0 c 19 85 1966 1330 bf 20 85 1985 1330 bf 19 85 2005 1330 bf 20 85 2024 1330 bf 19 85 2044 1330 bf 20 85 2063 1330 bf 19 85 2083 1330 bf 20 85 2102 1330 bf
19 85 2122 1330 bf 20 85 2141 1330 bf 19 85 2161 1330 bf 0.902 0.16 0 c 20 85 2180 1330 bf 0 0.675 0.918333 c 20 86 249 1415 bf 0.2175 0.8575 0.78 c 19 86 269 1415 bf 0.39875 0.897083 0.596667 c 20 86 288 1415 bf 0.5075 0.920833 0.486667 c 19 86
308 1415 bf 0.61625 0.944583 0.376667 c 20 86 327 1415 bf 0.68875 0.960417 0.303333 c 19 86 347 1415 bf 0.725 0.968333 0.266667 c 20 86 366 1415 bf 0.7975 0.984167 0.193333 c 19 86 386 1415 bf 0.83375 0.992083 0.156667 c 20 86 405 1415 bf 0.87 1
0.12 c 19 86 425 1415 bf 0.87619 0.961905 0.114286 c 20 86 444 1415 bf 0.882381 0.92381 0.108571 c 19 86 464 1415 bf 0.888571 0.885714 0.102857 c 20 86 483 1415 bf 19 86 503 1415 bf 0.894762 0.847619 0.0971429 c 20 86 522 1415 bf 0.900952 0.809524
0.0914286 c 19 86 542 1415 bf 20 86 561 1415 bf 0.907143 0.771429 0.0857143 c 19 86 581 1415 bf 20 86 600 1415 bf 0.913333 0.733333 0.08 c 19 86 620 1415 bf 20 86 639 1415 bf 0.919524 0.695238 0.0742857 c 20 86 659 1415 bf 19 86 679 1415 bf
0.925714 0.657143 0.0685714 c 20 86 698 1415 bf 19 86 718 1415 bf 20 86 737 1415 bf 0.931905 0.619048 0.0628571 c 19 86 757 1415 bf 20 86 776 1415 bf 19 86 796 1415 bf 0.938095 0.580952 0.0571429 c 20 86 815 1415 bf 19 86 835 1415 bf 20 86 854 1415
bf 0.944286 0.542857 0.0514286 c 19 86 874 1415 bf 20 86 893 1415 bf 19 86 913 1415 bf 20 86 932 1415 bf 0.950476 0.504762 0.0457143 c 19 86 952 1415 bf 20 86 971 1415 bf 19 86 991 1415 bf 20 86 1010 1415 bf 0.956667 0.466667 0.04 c 19 86 1030 1415
bf 20 86 1049 1415 bf 19 86 1069 1415 bf 20 86 1088 1415 bf 0.962857 0.428571 0.0342857 c 19 86 1108 1415 bf 20 86 1127 1415 bf 19 86 1147 1415 bf 20 86 1166 1415 bf 19 86 1186 1415 bf 20 86 1205 1415 bf 0.969048 0.390476 0.0285714 c 19 86 1225
1415 bf 20 86 1244 1415 bf 19 86 1264 1415 bf 20 86 1283 1415 bf 19 86 1303 1415 bf 0.975238 0.352381 0.0228571 c 20 86 1322 1415 bf 19 86 1342 1415 bf 20 86 1361 1415 bf 19 86 1381 1415 bf 20 86 1400 1415 bf 19 86 1420 1415 bf 20 86 1439 1415 bf
0.981429 0.314286 0.0171429 c 19 86 1459 1415 bf 20 86 1478 1415 bf 19 86 1498 1415 bf 20 86 1517 1415 bf 19 86 1537 1415 bf 20 86 1556 1415 bf 19 86 1576 1415 bf 0.987619 0.27619 0.0114286 c 20 86 1595 1415 bf 19 86 1615 1415 bf 20 86 1634 1415 bf
19 86 1654 1415 bf 20 86 1673 1415 bf 19 86 1693 1415 bf 20 86 1712 1415 bf 19 86 1732 1415 bf 0.99381 0.238095 0.00571429 c 20 86 1751 1415 bf 19 86 1771 1415 bf 20 86 1790 1415 bf 19 86 1810 1415 bf 20 86 1829 1415 bf 19 86 1849 1415 bf 20 86
1868 1415 bf 19 86 1888 1415 bf 20 86 1907 1415 bf 19 86 1927 1415 bf 1 0.2 0 c 20 86 1946 1415 bf 19 86 1966 1415 bf 20 86 1985 1415 bf 19 86 2005 1415 bf 20 86 2024 1415 bf 19 86 2044 1415 bf 20 86 2063 1415 bf 19 86 2083 1415 bf 20 86 2102 1415
bf 19 86 2122 1415 bf 20 86 2141 1415 bf 0.967333 0.186667 0 c 19 86 2161 1415 bf 20 86 2180 1415 bf 0 0.675 0.918333 c 20 85 249 1501 bf 0.2175 0.8575 0.78 c 19 85 269 1501 bf 0.39875 0.897083 0.596667 c 20 85 288 1501 bf 0.5075 0.920833 0.486667
c 19 85 308 1501 bf 0.58 0.936667 0.413333 c 20 85 327 1501 bf 0.6525 0.9525 0.34 c 19 85 347 1501 bf 0.725 0.968333 0.266667 c 20 85 366 1501 bf 0.76125 0.97625 0.23 c 19 85 386 1501 bf 0.7975 0.984167 0.193333 c 20 85 405 1501 bf 0.83375 0.992083
0.156667 c 19 85 425 1501 bf 0.87 1 0.12 c 20 85 444 1501 bf 0.87619 0.961905 0.114286 c 19 85 464 1501 bf 0.882381 0.92381 0.108571 c 20 85 483 1501 bf 0.888571 0.885714 0.102857 c 19 85 503 1501 bf 0.894762 0.847619 0.0971429 c 20 85 522 1501 bf
19 85 542 1501 bf 0.900952 0.809524 0.0914286 c 20 85 561 1501 bf 19 85 581 1501 bf 0.907143 0.771429 0.0857143 c 20 85 600 1501 bf 19 85 620 1501 bf 0.913333 0.733333 0.08 c 20 85 639 1501 bf 20 85 659 1501 bf 0.919524 0.695238 0.0742857 c 19 85
679 1501 bf 20 85 698 1501 bf 0.925714 0.657143 0.0685714 c 19 85 718 1501 bf 20 85 737 1501 bf 19 85 757 1501 bf 0.931905 0.619048 0.0628571 c 20 85 776 1501 bf 19 85 796 1501 bf 20 85 815 1501 bf 0.938095 0.580952 0.0571429 c 19 85 835 1501 bf 20
85 854 1501 bf 19 85 874 1501 bf 20 85 893 1501 bf 0.944286 0.542857 0.0514286 c 19 85 913 1501 bf 20 85 932 1501 bf 19 85 952 1501 bf 0.950476 0.504762 0.0457143 c 20 85 971 1501 bf 19 85 991 1501 bf 20 85 1010 1501 bf 19 85 1030 1501 bf 20 85
1049 1501 bf 0.956667 0.466667 0.04 c 19 85 1069 1501 bf 20 85 1088 1501 bf 19 85 1108 1501 bf 20 85 1127 1501 bf 0.962857 0.428571 0.0342857 c 19 85 1147 1501 bf 20 85 1166 1501 bf 19 85 1186 1501 bf 20 85 1205 1501 bf 19 85 1225 1501 bf 20 85
1244 1501 bf 0.969048 0.390476 0.0285714 c 19 85 1264 1501 bf 20 85 1283 1501 bf 19 85 1303 1501 bf 20 85 1322 1501 bf 19 85 1342 1501 bf 20 85 1361 1501 bf 0.975238 0.352381 0.0228571 c 19 85 1381 1501 bf 20 85 1400 1501 bf 19 85 1420 1501 bf 20
85 1439 1501 bf 19 85 1459 1501 bf 20 85 1478 1501 bf 0.981429 0.314286 0.0171429 c 19 85 1498 1501 bf 20 85 1517 1501 bf 19 85 1537 1501 bf 20 85 1556 1501 bf 19 85 1576 1501 bf 20 85 1595 1501 bf 19 85 1615 1501 bf 20 85 1634 1501 bf 0.987619
0.27619 0.0114286 c 19 85 1654 1501 bf 20 85 1673 1501 bf 19 85 1693 1501 bf 20 85 1712 1501 bf 19 85 1732 1501 bf 20 85 1751 1501 bf 19 85 1771 1501 bf 20 85 1790 1501 bf 19 85 1810 1501 bf 0.99381 0.238095 0.00571429 c 20 85 1829 1501 bf 19 85
1849 1501 bf 20 85 1868 1501 bf 19 85 1888 1501 bf 20 85 1907 1501 bf 19 85 1927 1501 bf 20 85 1946 1501 bf 19 85 1966 1501 bf 20 85 1985 1501 bf 19 85 2005 1501 bf 1 0.2 0 c 20 85 2024 1501 bf 19 85 2044 1501 bf 20 85 2063 1501 bf 19 85 2083 1501
bf 20 85 2102 1501 bf 19 85 2122 1501 bf 20 85 2141 1501 bf 19 85 2161 1501 bf 20 85 2180 1501 bf 0 0.621 0.885667 c 20 86 249 1586 bf 0.145 0.841667 0.853333 c 19 86 269 1586 bf 0.32625 0.88125 0.67 c 20 86 288 1586 bf 0.435 0.905 0.56 c 19 86 308
1586 bf 0.5075 0.920833 0.486667 c 20 86 327 1586 bf 0.58 0.936667 0.413333 c 19 86 347 1586 bf 0.6525 0.9525 0.34 c 20 86 366 1586 bf 0.68875 0.960417 0.303333 c 19 86 386 1586 bf 0.76125 0.97625 0.23 c 20 86 405 1586 bf 0.7975 0.984167 0.193333 c
19 86 425 1586 bf 0.83375 0.992083 0.156667 c 20 86 444 1586 bf 19 86 464 1586 bf 0.87 1 0.12 c 20 86 483 1586 bf 0.87619 0.961905 0.114286 c 19 86 503 1586 bf 0.882381 0.92381 0.108571 c 20 86 522 1586 bf 19 86 542 1586 bf 0.888571 0.885714
0.102857 c 20 86 561 1586 bf 19 86 581 1586 bf 0.894762 0.847619 0.0971429 c 20 86 600 1586 bf 0.900952 0.809524 0.0914286 c 19 86 620 1586 bf 20 86 639 1586 bf 20 86 659 1586 bf 0.907143 0.771429 0.0857143 c 19 86 679 1586 bf 20 86 698 1586 bf
0.913333 0.733333 0.08 c 19 86 718 1586 bf 20 86 737 1586 bf 19 86 757 1586 bf 0.919524 0.695238 0.0742857 c 20 86 776 1586 bf 19 86 796 1586 bf 20 86 815 1586 bf 0.925714 0.657143 0.0685714 c 19 86 835 1586 bf 20 86 854 1586 bf 19 86 874 1586 bf
0.931905 0.619048 0.0628571 c 20 86 893 1586 bf 19 86 913 1586 bf 20 86 932 1586 bf 19 86 952 1586 bf 0.938095 0.580952 0.0571429 c 20 86 971 1586 bf 19 86 991 1586 bf 20 86 1010 1586 bf 19 86 1030 1586 bf 0.944286 0.542857 0.0514286 c 20 86 1049
1586 bf 19 86 1069 1586 bf 20 86 1088 1586 bf 19 86 1108 1586 bf 0.950476 0.504762 0.0457143 c 20 86 1127 1586 bf 19 86 1147 1586 bf 20 86 1166 1586 bf 19 86 1186 1586 bf 20 86 1205 1586 bf 19 86 1225 1586 bf 0.956667 0.466667 0.04 c 20 86 1244
1586 bf 19 86 1264 1586 bf 20 86 1283 1586 bf 19 86 1303 1586 bf 20 86 1322 1586 bf 0.962857 0.428571 0.0342857 c 19 86 1342 1586 bf 20 86 1361 1586 bf 19 86 1381 1586 bf 20 86 1400 1586 bf 19 86 1420 1586 bf 20 86 1439 1586 bf 19 86 1459 1586 bf
0.969048 0.390476 0.0285714 c 20 86 1478 1586 bf 19 86 1498 1586 bf 20 86 1517 1586 bf 19 86 1537 1586 bf 20 86 1556 1586 bf 19 86 1576 1586 bf 20 86 1595 1586 bf 0.975238 0.352381 0.0228571 c 19 86 1615 1586 bf 20 86 1634 1586 bf 19 86 1654 1586
bf 20 86 1673 1586 bf 19 86 1693 1586 bf 20 86 1712 1586 bf 19 86 1732 1586 bf 20 86 1751 1586 bf 0.981429 0.314286 0.0171429 c 19 86 1771 1586 bf 20 86 1790 1586 bf 19 86 1810 1586 bf 20 86 1829 1586 bf 19 86 1849 1586 bf 20 86 1868 1586 bf 19 86
1888 1586 bf 20 86 1907 1586 bf 19 86 1927 1586 bf 20 86 1946 1586 bf 0.987619 0.27619 0.0114286 c 19 86 1966 1586 bf 20 86 1985 1586 bf 19 86 2005 1586 bf 20 86 2024 1586 bf 19 86 2044 1586 bf 20 86 2063 1586 bf 19 86 2083 1586 bf 20 86 2102 1586
bf 19 86 2122 1586 bf 20 86 2141 1586 bf 0.99381 0.238095 0.00571429 c 19 86 2161 1586 bf 20 86 2180 1586 bf 0 0.594 0.869333 c 20 85 249 1672 bf 0.0725 0.825833 0.926667 c 19 85 269 1672 bf 0.25375 0.865417 0.743333 c 20 85 288 1672 bf 0.39875
0.897083 0.596667 c 19 85 308 1672 bf 0.47125 0.912917 0.523333 c 20 85 327 1672 bf 0.54375 0.92875 0.45 c 19 85 347 1672 bf 0.61625 0.944583 0.376667 c 20 85 366 1672 bf 0.6525 0.9525 0.34 c 19 85 386 1672 bf 0.68875 0.960417 0.303333 c 20 85 405
1672 bf 0.725 0.968333 0.266667 c 19 85 425 1672 bf 0.76125 0.97625 0.23 c 20 85 444 1672 bf 0.7975 0.984167 0.193333 c 19 85 464 1672 bf 0.83375 0.992083 0.156667 c 20 85 483 1672 bf 0.87 1 0.12 c 19 85 503 1672 bf 20 85 522 1672 bf 0.87619
0.961905 0.114286 c 19 85 542 1672 bf 0.882381 0.92381 0.108571 c 20 85 561 1672 bf 19 85 581 1672 bf 0.888571 0.885714 0.102857 c 20 85 600 1672 bf 19 85 620 1672 bf 0.894762 0.847619 0.0971429 c 20 85 639 1672 bf 20 85 659 1672 bf 0.900952
0.809524 0.0914286 c 19 85 679 1672 bf 20 85 698 1672 bf 19 85 718 1672 bf 0.907143 0.771429 0.0857143 c 20 85 737 1672 bf 19 85 757 1672 bf 0.913333 0.733333 0.08 c 20 85 776 1672 bf 19 85 796 1672 bf 20 85 815 1672 bf 0.919524 0.695238 0.0742857
c 19 85 835 1672 bf 20 85 854 1672 bf 19 85 874 1672 bf 20 85 893 1672 bf 0.925714 0.657143 0.0685714 c 19 85 913 1672 bf 20 85 932 1672 bf 19 85 952 1672 bf 0.931905 0.619048 0.0628571 c 20 85 971 1672 bf 19 85 991 1672 bf 20 85 1010 1672 bf 19 85
1030 1672 bf 20 85 1049 1672 bf 0.938095 0.580952 0.0571429 c 19 85 1069 1672 bf 20 85 1088 1672 bf 19 85 1108 1672 bf 20 85 1127 1672 bf 0.944286 0.542857 0.0514286 c 19 85 1147 1672 bf 20 85 1166 1672 bf 19 85 1186 1672 bf 20 85 1205 1672 bf 19
85 1225 1672 bf 20 85 1244 1672 bf 0.950476 0.504762 0.0457143 c 19 85 1264 1672 bf 20 85 1283 1672 bf 19 85 1303 1672 bf 20 85 1322 1672 bf 19 85 1342 1672 bf 0.956667 0.466667 0.04 c 20 85 1361 1672 bf 19 85 1381 1672 bf 20 85 1400 1672 bf 19 85
1420 1672 bf 20 85 1439 1672 bf 19 85 1459 1672 bf 20 85 1478 1672 bf 0.962857 0.428571 0.0342857 c 19 85 1498 1672 bf 20 85 1517 1672 bf 19 85 1537 1672 bf 20 85 1556 1672 bf 19 85 1576 1672 bf 20 85 1595 1672 bf 19 85 1615 1672 bf 0.969048
0.390476 0.0285714 c 20 85 1634 1672 bf 19 85 1654 1672 bf 20 85 1673 1672 bf 19 85 1693 1672 bf 20 85 1712 1672 bf 19 85 1732 1672 bf 20 85 1751 1672 bf 19 85 1771 1672 bf 20 85 1790 1672 bf 0.975238 0.352381 0.0228571 c 19 85 1810 1672 bf 20 85
1829 1672 bf 19 85 1849 1672 bf 20 85 1868 1672 bf 19 85 1888 1672 bf 20 85 1907 1672 bf 19 85 1927 1672 bf 20 85 1946 1672 bf 19 85 1966 1672 bf 0.981429 0.314286 0.0171429 c 20 85 1985 1672 bf 19 85 2005 1672 bf 20 85 2024 1672 bf 19 85 2044 1672
bf 20 85 2063 1672 bf 19 85 2083 1672 bf 20 85 2102 1672 bf 19 85 2122 1672 bf 20 85 2141 1672 bf 19 85 2161 1672 bf 20 85 2180 1672 bf 0 0.54 0.836667 c 20 85 249 1757 bf 0.03625 0.817917 0.963333 c 19 85 269 1757 bf 0.2175 0.8575 0.78 c 20 85 288
1757 bf 0.32625 0.88125 0.67 c 19 85 308 1757 bf 0.435 0.905 0.56 c 20 85 327 1757 bf 0.5075 0.920833 0.486667 c 19 85 347 1757 bf 0.54375 0.92875 0.45 c 20 85 366 1757 bf 0.61625 0.944583 0.376667 c 19 85 386 1757 bf 0.6525 0.9525 0.34 c 20 85 405
1757 bf 0.68875 0.960417 0.303333 c 19 85 425 1757 bf 0.725 0.968333 0.266667 c 20 85 444 1757 bf 0.76125 0.97625 0.23 c 19 85 464 1757 bf 0.7975 0.984167 0.193333 c 20 85 483 1757 bf 19 85 503 1757 bf 0.83375 0.992083 0.156667 c 20 85 522 1757 bf
0.87 1 0.12 c 19 85 542 1757 bf 20 85 561 1757 bf 0.87619 0.961905 0.114286 c 19 85 581 1757 bf 20 85 600 1757 bf 0.882381 0.92381 0.108571 c 19 85 620 1757 bf 20 85 639 1757 bf 0.888571 0.885714 0.102857 c 20 85 659 1757 bf 19 85 679 1757 bf
0.894762 0.847619 0.0971429 c 20 85 698 1757 bf 19 85 718 1757 bf 20 85 737 1757 bf 0.900952 0.809524 0.0914286 c 19 85 757 1757 bf 20 85 776 1757 bf 0.907143 0.771429 0.0857143 c 19 85 796 1757 bf 20 85 815 1757 bf 19 85 835 1757 bf 0.913333
0.733333 0.08 c 20 85 854 1757 bf 19 85 874 1757 bf 20 85 893 1757 bf 19 85 913 1757 bf 0.919524 0.695238 0.0742857 c 20 85 932 1757 bf 19 85 952 1757 bf 20 85 971 1757 bf 19 85 991 1757 bf 0.925714 0.657143 0.0685714 c 20 85 1010 1757 bf 19 85
1030 1757 bf 20 85 1049 1757 bf 19 85 1069 1757 bf 0.931905 0.619048 0.0628571 c 20 85 1088 1757 bf 19 85 1108 1757 bf 20 85 1127 1757 bf 19 85 1147 1757 bf 20 85 1166 1757 bf 0.938095 0.580952 0.0571429 c 19 85 1186 1757 bf 20 85 1205 1757 bf 19
85 1225 1757 bf 20 85 1244 1757 bf 19 85 1264 1757 bf 0.944286 0.542857 0.0514286 c 20 85 1283 1757 bf 19 85 1303 1757 bf 20 85 1322 1757 bf 19 85 1342 1757 bf 20 85 1361 1757 bf 19 85 1381 1757 bf 20 85 1400 1757 bf 0.950476 0.504762 0.0457143 c
19 85 1420 1757 bf 20 85 1439 1757 bf 19 85 1459 1757 bf 20 85 1478 1757 bf 19 85 1498 1757 bf 20 85 1517 1757 bf 0.956667 0.466667 0.04 c 19 85 1537 1757 bf 20 85 1556 1757 bf 19 85 1576 1757 bf 20 85 1595 1757 bf 19 85 1615 1757 bf 20 85 1634
1757 bf 19 85 1654 1757 bf 20 85 1673 1757 bf 0.962857 0.428571 0.0342857 c 19 85 1693 1757 bf 20 85 1712 1757 bf 19 85 1732 1757 bf 20 85 1751 1757 bf 19 85 1771 1757 bf 20 85 1790 1757 bf 19 85 1810 1757 bf 20 85 1829 1757 bf 0.969048 0.390476
0.0285714 c 19 85 1849 1757 bf 20 85 1868 1757 bf 19 85 1888 1757 bf 20 85 1907 1757 bf 19 85 1927 1757 bf 20 85 1946 1757 bf 19 85 1966 1757 bf 20 85 1985 1757 bf 19 85 2005 1757 bf 20 85 2024 1757 bf 0.975238 0.352381 0.0228571 c 19 85 2044 1757
bf 20 85 2063 1757 bf 19 85 2083 1757 bf 20 85 2102 1757 bf 19 85 2122 1757 bf 20 85 2141 1757 bf 19 85 2161 1757 bf 20 85 2180 1757 bf 0 0.513 0.820333 c 20 86 249 1842 bf 0 0.783 0.983667 c 19 86 269 1842 bf 0.145 0.841667 0.853333 c 20 86 288
1842 bf 0.29 0.873333 0.706667 c 19 86 308 1842 bf 0.3625 0.889167 0.633333 c 20 86 327 1842 bf 0.435 0.905 0.56 c 19 86 347 1842 bf 0.5075 0.920833 0.486667 c 20 86 366 1842 bf 0.54375 0.92875 0.45 c 19 86 386 1842 bf 0.58 0.936667 0.413333 c 20
86 405 1842 bf 0.61625 0.944583 0.376667 c 19 86 425 1842 bf 0.6525 0.9525 0.34 c 20 86 444 1842 bf 0.68875 0.960417 0.303333 c 19 86 464 1842 bf 0.725 0.968333 0.266667 c 20 86 483 1842 bf 0.76125 0.97625 0.23 c 19 86 503 1842 bf 20 86 522 1842 bf
0.7975 0.984167 0.193333 c 19 86 542 1842 bf 0.83375 0.992083 0.156667 c 20 86 561 1842 bf 19 86 581 1842 bf 0.87 1 0.12 c 20 86 600 1842 bf 19 86 620 1842 bf 0.87619 0.961905 0.114286 c 20 86 639 1842 bf 20 86 659 1842 bf 0.882381 0.92381 0.108571
c 19 86 679 1842 bf 20 86 698 1842 bf 19 86 718 1842 bf 0.888571 0.885714 0.102857 c 20 86 737 1842 bf 19 86 757 1842 bf 0.894762 0.847619 0.0971429 c 20 86 776 1842 bf 19 86 796 1842 bf 20 86 815 1842 bf 0.900952 0.809524 0.0914286 c 19 86 835
1842 bf 20 86 854 1842 bf 19 86 874 1842 bf 20 86 893 1842 bf 0.907143 0.771429 0.0857143 c 19 86 913 1842 bf 20 86 932 1842 bf 19 86 952 1842 bf 0.913333 0.733333 0.08 c 20 86 971 1842 bf 19 86 991 1842 bf 20 86 1010 1842 bf 19 86 1030 1842 bf
0.919524 0.695238 0.0742857 c 20 86 1049 1842 bf 19 86 1069 1842 bf 20 86 1088 1842 bf 19 86 1108 1842 bf 20 86 1127 1842 bf 0.925714 0.657143 0.0685714 c 19 86 1147 1842 bf 20 86 1166 1842 bf 19 86 1186 1842 bf 20 86 1205 1842 bf 19 86 1225 1842
bf 0.931905 0.619048 0.0628571 c 20 86 1244 1842 bf 19 86 1264 1842 bf 20 86 1283 1842 bf 19 86 1303 1842 bf 20 86 1322 1842 bf 19 86 1342 1842 bf 0.938095 0.580952 0.0571429 c 20 86 1361 1842 bf 19 86 1381 1842 bf 20 86 1400 1842 bf 19 86 1420
1842 bf 20 86 1439 1842 bf 19 86 1459 1842 bf 0.944286 0.542857 0.0514286 c 20 86 1478 1842 bf 19 86 1498 1842 bf 20 86 1517 1842 bf 19 86 1537 1842 bf 20 86 1556 1842 bf 19 86 1576 1842 bf 20 86 1595 1842 bf 0.950476 0.504762 0.0457143 c 19 86
1615 1842 bf 20 86 1634 1842 bf 19 86 1654 1842 bf 20 86 1673 1842 bf 19 86 1693 1842 bf 20 86 1712 1842 bf 19 86 1732 1842 bf 20 86 1751 1842 bf 0.956667 0.466667 0.04 c 19 86 1771 1842 bf 20 86 1790 1842 bf 19 86 1810 1842 bf 20 86 1829 1842 bf
19 86 1849 1842 bf 20 86 1868 1842 bf 19 86 1888 1842 bf 20 86 1907 1842 bf 19 86 1927 1842 bf 0.962857 0.428571 0.0342857 c 20 86 1946 1842 bf 19 86 1966 1842 bf 20 86 1985 1842 bf 19 86 2005 1842 bf 20 86 2024 1842 bf 19 86 2044 1842 bf 20 86
2063 1842 bf 19 86 2083 1842 bf 20 86 2102 1842 bf 19 86 2122 1842 bf 20 86 2141 1842 bf 0.969048 0.390476 0.0285714 c 19 86 2161 1842 bf 20 86 2180 1842 bf 1 1 1 c black 6 lw 249 219 m 1951 X s
gsave 2268 2191 0 0 C 1422 11 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (Thickness \(mm\)) show NC gr 249 276 m -57 Y s 298 247 m -28 Y s 347 247 m -28 Y s 396 247 m -28 Y s 444 247 m -28 Y s 493 276 m -57 Y s 542 247 m -28 Y s 591 247 m -28
Y s 639 247 m -28 Y s 688 247 m -28 Y s 737 276 m -57 Y s 786 247 m -28 Y s 835 247 m -28 Y s 883 247 m -28 Y s 932 247 m -28 Y s 981 276 m -57 Y s 1030 247 m -28 Y s 1078 247 m -28 Y s 1127 247 m -28 Y s 1176 247 m -28 Y s 1225 276 m -57 Y s 1273
247 m -28 Y s 1322 247 m -28 Y s 1371 247 m -28 Y s 1420 247 m -28 Y s 1468 276 m -57 Y s 1517 247 m -28 Y s 1566 247 m -28 Y s 1615 247 m -28 Y s 1663 247 m -28 Y s 1712 276 m -57 Y s 1761 247 m -28 Y s 1810 247 m -28 Y s 1858 247 m -28 Y s 1907
247 m -28 Y s 1956 276 m -57 Y s 2005 247 m -28 Y s 2053 247 m -28 Y s 2102 247 m -28 Y s 2151 247 m -28 Y s 2200 276 m -57 Y s
gsave 2268 2191 0 0 C 225 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (0) show NC gr
gsave 2268 2191 0 0 C 476 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (1) show NC gr
gsave 2268 2191 0 0 C 712 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (2) show NC gr
gsave 2268 2191 0 0 C 957 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (3) show NC gr
gsave 2268 2191 0 0 C 1199 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (4) show NC gr
gsave 2268 2191 0 0 C 1444 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (5) show NC gr
gsave 2268 2191 0 0 C 1687 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (6) show NC gr
gsave 2268 2191 0 0 C 1932 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (7) show NC gr
gsave 2268 2191 0 0 C 2177 140 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (8) show NC gr 249 219 m 1709 Y s
gsave 2268 2191 0 0 C 83 1333 t 90 r /Helvetica-Bold findfont 102.56 sf 0 0 m (Energy\(keV\)) show NC gr 303 333 m -54 X s 276 379 m -27 X s 276 424 m -27 X s 276 470 m -27 X s 276 515 m -27 X s 303 561 m -54 X s 276 606 m -27 X s 276 652 m -27 X
s 276 698 m -27 X s 276 743 m -27 X s 303 789 m -54 X s 276 834 m -27 X s 276 880 m -27 X s 276 925 m -27 X s 276 971 m -27 X s 303 1017 m -54 X s 276 1062 m -27 X s 276 1108 m -27 X s 276 1153 m -27 X s 276 1199 m -27 X s 303 1244 m -54 X s 276
1290 m -27 X s 276 1336 m -27 X s 276 1381 m -27 X s 276 1427 m -27 X s 303 1472 m -54 X s 276 1518 m -27 X s 276 1563 m -27 X s 276 1609 m -27 X s 276 1654 m -27 X s 303 1700 m -54 X s 276 1746 m -27 X s 276 1791 m -27 X s 276 1837 m -27 X s 276
1882 m -27 X s 303 1928 m -54 X s 303 333 m -54 X s 276 287 m -27 X s 276 242 m -27 X s
gsave 2268 2191 0 0 C 148 296 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (10) show NC gr
gsave 2268 2191 0 0 C 148 524 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (20) show NC gr
gsave 2268 2191 0 0 C 148 752 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (30) show NC gr
gsave 2268 2191 0 0 C 148 980 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (40) show NC gr
gsave 2268 2191 0 0 C 148 1208 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (50) show NC gr
gsave 2268 2191 0 0 C 148 1436 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (60) show NC gr
gsave 2268 2191 0 0 C 148 1664 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (70) show NC gr
gsave 2268 2191 0 0 C 148 1892 t 0 r /Helvetica-Bold findfont 82.6178 sf 0 0 m (80) show NC gr
gsave 2268 2191 0 0 C 268 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 78) show NC gr
gsave 2268 2191 0 0 C 365 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 99) show NC gr
gsave 2268 2191 0 0 C 459 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 556 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 652 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 749 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 849 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 946 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1043 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1140 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1236 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1336 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1433 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1530 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1627 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1726 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1823 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1920 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 2017 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 2117 245 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 268 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 75) show NC gr
gsave 2268 2191 0 0 C 365 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 98) show NC gr
gsave 2268 2191 0 0 C 459 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 556 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 652 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 749 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 849 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 946 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1043 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1140 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1236 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1336 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1433 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1530 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1627 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1726 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1823 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1920 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 2017 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 2117 330 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 268 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 45) show NC gr
gsave 2268 2191 0 0 C 365 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 83) show NC gr
gsave 2268 2191 0 0 C 464 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 95) show NC gr
gsave 2268 2191 0 0 C 561 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 98) show NC gr
gsave 2268 2191 0 0 C 652 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 749 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 849 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 946 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1043 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1140 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1236 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1336 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1433 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1530 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1627 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1726 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1823 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1920 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 2017 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 2117 416 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 268 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 37) show NC gr
gsave 2268 2191 0 0 C 365 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 75) show NC gr
gsave 2268 2191 0 0 C 464 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 90) show NC gr
gsave 2268 2191 0 0 C 561 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 96) show NC gr
gsave 2268 2191 0 0 C 658 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 98) show NC gr
gsave 2268 2191 0 0 C 755 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 99) show NC gr
gsave 2268 2191 0 0 C 849 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 946 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1043 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1140 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1236 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1336 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1433 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1530 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1627 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1726 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1823 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1920 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 2017 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 2117 501 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 268 584 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
gsave 2268 2191 0 0 C 365 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 43) show NC gr
gsave 2268 2191 0 0 C 467 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 61) show NC gr
gsave 2268 2191 0 0 C 561 584 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 74) show NC gr
gsave 2268 2191 0 0 C 658 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 82) show NC gr
gsave 2268 2191 0 0 C 755 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 88) show NC gr
gsave 2268 2191 0 0 C 855 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 92) show NC gr
gsave 2268 2191 0 0 C 952 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 94) show NC gr
gsave 2268 2191 0 0 C 1048 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 96) show NC gr
gsave 2268 2191 0 0 C 1145 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 97) show NC gr
gsave 2268 2191 0 0 C 1242 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 98) show NC gr
gsave 2268 2191 0 0 C 1342 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 99) show NC gr
gsave 2268 2191 0 0 C 1439 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 99) show NC gr
gsave 2268 2191 0 0 C 1536 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 99) show NC gr
gsave 2268 2191 0 0 C 1627 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1726 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1823 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 1920 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 2017 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 2117 587 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m (100) show NC gr
gsave 2268 2191 0 0 C 271 669 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
gsave 2268 2191 0 0 C 365 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 29) show NC gr
gsave 2268 2191 0 0 C 464 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 43) show NC gr
gsave 2268 2191 0 0 C 561 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 55) show NC gr
gsave 2268 2191 0 0 C 658 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 64) show NC gr
gsave 2268 2191 0 0 C 758 669 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 71) show NC gr
gsave 2268 2191 0 0 C 855 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 77) show NC gr
gsave 2268 2191 0 0 C 952 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 82) show NC gr
gsave 2268 2191 0 0 C 1048 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 86) show NC gr
gsave 2268 2191 0 0 C 1145 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 88) show NC gr
gsave 2268 2191 0 0 C 1245 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 91) show NC gr
gsave 2268 2191 0 0 C 1342 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 93) show NC gr
gsave 2268 2191 0 0 C 1439 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 94) show NC gr
gsave 2268 2191 0 0 C 1536 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 95) show NC gr
gsave 2268 2191 0 0 C 1632 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 96) show NC gr
gsave 2268 2191 0 0 C 1732 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 97) show NC gr
gsave 2268 2191 0 0 C 1829 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 98) show NC gr
gsave 2268 2191 0 0 C 1926 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 98) show NC gr
gsave 2268 2191 0 0 C 2023 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 99) show NC gr
gsave 2268 2191 0 0 C 2122 672 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 99) show NC gr
gsave 2268 2191 0 0 C 273 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
gsave 2268 2191 0 0 C 365 755 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
gsave 2268 2191 0 0 C 464 755 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 27) show NC gr
gsave 2268 2191 0 0 C 561 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 36) show NC gr
gsave 2268 2191 0 0 C 658 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 43) show NC gr
gsave 2268 2191 0 0 C 755 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 50) show NC gr
gsave 2268 2191 0 0 C 855 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 56) show NC gr
gsave 2268 2191 0 0 C 954 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 61) show NC gr
gsave 2268 2191 0 0 C 1048 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 66) show NC gr
gsave 2268 2191 0 0 C 1145 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 70) show NC gr
gsave 2268 2191 0 0 C 1242 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 73) show NC gr
gsave 2268 2191 0 0 C 1342 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 76) show NC gr
gsave 2268 2191 0 0 C 1439 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 79) show NC gr
gsave 2268 2191 0 0 C 1536 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 82) show NC gr
gsave 2268 2191 0 0 C 1632 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 84) show NC gr
gsave 2268 2191 0 0 C 1732 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 86) show NC gr
gsave 2268 2191 0 0 C 1829 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 87) show NC gr
gsave 2268 2191 0 0 C 1926 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 89) show NC gr
gsave 2268 2191 0 0 C 2023 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 90) show NC gr
gsave 2268 2191 0 0 C 2125 758 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 91) show NC gr
gsave 2268 2191 0 0 C 273 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
gsave 2268 2191 0 0 C 365 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
gsave 2268 2191 0 0 C 464 840 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 24) show NC gr
gsave 2268 2191 0 0 C 561 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 32) show NC gr
gsave 2268 2191 0 0 C 658 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 39) show NC gr
gsave 2268 2191 0 0 C 755 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 45) show NC gr
gsave 2268 2191 0 0 C 858 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 51) show NC gr
gsave 2268 2191 0 0 C 952 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 56) show NC gr
gsave 2268 2191 0 0 C 1048 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 60) show NC gr
gsave 2268 2191 0 0 C 1145 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 64) show NC gr
gsave 2268 2191 0 0 C 1242 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 68) show NC gr
gsave 2268 2191 0 0 C 1345 840 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 71) show NC gr
gsave 2268 2191 0 0 C 1439 840 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 74) show NC gr
gsave 2268 2191 0 0 C 1536 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 77) show NC gr
gsave 2268 2191 0 0 C 1632 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 79) show NC gr
gsave 2268 2191 0 0 C 1735 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 81) show NC gr
gsave 2268 2191 0 0 C 1829 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 83) show NC gr
gsave 2268 2191 0 0 C 1926 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 85) show NC gr
gsave 2268 2191 0 0 C 2023 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 87) show NC gr
gsave 2268 2191 0 0 C 2122 843 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 88) show NC gr
gsave 2268 2191 0 0 C 273 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
gsave 2268 2191 0 0 C 370 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
gsave 2268 2191 0 0 C 464 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
gsave 2268 2191 0 0 C 561 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 20) show NC gr
gsave 2268 2191 0 0 C 658 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 25) show NC gr
gsave 2268 2191 0 0 C 755 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 30) show NC gr
gsave 2268 2191 0 0 C 855 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 34) show NC gr
gsave 2268 2191 0 0 C 952 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 38) show NC gr
gsave 2268 2191 0 0 C 1048 926 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 42) show NC gr
gsave 2268 2191 0 0 C 1145 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 46) show NC gr
gsave 2268 2191 0 0 C 1242 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 49) show NC gr
gsave 2268 2191 0 0 C 1342 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 52) show NC gr
gsave 2268 2191 0 0 C 1439 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 55) show NC gr
gsave 2268 2191 0 0 C 1536 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 58) show NC gr
gsave 2268 2191 0 0 C 1635 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 61) show NC gr
gsave 2268 2191 0 0 C 1732 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 63) show NC gr
gsave 2268 2191 0 0 C 1829 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 66) show NC gr
gsave 2268 2191 0 0 C 1926 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 68) show NC gr
gsave 2268 2191 0 0 C 2023 929 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 70) show NC gr
gsave 2268 2191 0 0 C 2122 926 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 72) show NC gr
gsave 2268 2191 0 0 C 273 1011 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
gsave 2268 2191 0 0 C 370 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
gsave 2268 2191 0 0 C 467 1011 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
gsave 2268 2191 0 0 C 561 1011 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
gsave 2268 2191 0 0 C 658 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
gsave 2268 2191 0 0 C 755 1011 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 22) show NC gr
gsave 2268 2191 0 0 C 855 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 25) show NC gr
gsave 2268 2191 0 0 C 952 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 28) show NC gr
gsave 2268 2191 0 0 C 1048 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 32) show NC gr
gsave 2268 2191 0 0 C 1145 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 35) show NC gr
gsave 2268 2191 0 0 C 1242 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 37) show NC gr
gsave 2268 2191 0 0 C 1342 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 40) show NC gr
gsave 2268 2191 0 0 C 1439 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 43) show NC gr
gsave 2268 2191 0 0 C 1536 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 45) show NC gr
gsave 2268 2191 0 0 C 1632 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 48) show NC gr
gsave 2268 2191 0 0 C 1732 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 50) show NC gr
gsave 2268 2191 0 0 C 1829 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 52) show NC gr
gsave 2268 2191 0 0 C 1926 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 54) show NC gr
gsave 2268 2191 0 0 C 2023 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 56) show NC gr
gsave 2268 2191 0 0 C 2122 1014 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 58) show NC gr
gsave 2268 2191 0 0 C 273 1097 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
gsave 2268 2191 0 0 C 370 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
gsave 2268 2191 0 0 C 470 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
gsave 2268 2191 0 0 C 561 1097 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
gsave 2268 2191 0 0 C 658 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
gsave 2268 2191 0 0 C 755 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
gsave 2268 2191 0 0 C 855 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 20) show NC gr
gsave 2268 2191 0 0 C 952 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 23) show NC gr
gsave 2268 2191 0 0 C 1048 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 26) show NC gr
gsave 2268 2191 0 0 C 1145 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 28) show NC gr
gsave 2268 2191 0 0 C 1245 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 31) show NC gr
gsave 2268 2191 0 0 C 1342 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 33) show NC gr
gsave 2268 2191 0 0 C 1439 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 35) show NC gr
gsave 2268 2191 0 0 C 1536 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 38) show NC gr
gsave 2268 2191 0 0 C 1632 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 40) show NC gr
gsave 2268 2191 0 0 C 1732 1097 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 42) show NC gr
gsave 2268 2191 0 0 C 1829 1097 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 44) show NC gr
gsave 2268 2191 0 0 C 1926 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 46) show NC gr
gsave 2268 2191 0 0 C 2023 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 48) show NC gr
gsave 2268 2191 0 0 C 2122 1100 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 49) show NC gr
gsave 2268 2191 0 0 C 276 1182 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
gsave 2268 2191 0 0 C 370 1182 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 4) show NC gr
gsave 2268 2191 0 0 C 470 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
gsave 2268 2191 0 0 C 567 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
gsave 2268 2191 0 0 C 661 1182 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
gsave 2268 2191 0 0 C 755 1182 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
gsave 2268 2191 0 0 C 855 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 16) show NC gr
gsave 2268 2191 0 0 C 952 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
gsave 2268 2191 0 0 C 1048 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 20) show NC gr
gsave 2268 2191 0 0 C 1145 1182 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 22) show NC gr
gsave 2268 2191 0 0 C 1242 1182 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 24) show NC gr
gsave 2268 2191 0 0 C 1342 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 26) show NC gr
gsave 2268 2191 0 0 C 1439 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 28) show NC gr
gsave 2268 2191 0 0 C 1536 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 30) show NC gr
gsave 2268 2191 0 0 C 1632 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 32) show NC gr
gsave 2268 2191 0 0 C 1732 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 34) show NC gr
gsave 2268 2191 0 0 C 1829 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 36) show NC gr
gsave 2268 2191 0 0 C 1926 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 37) show NC gr
gsave 2268 2191 0 0 C 2023 1185 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 39) show NC gr
gsave 2268 2191 0 0 C 2125 1182 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 41) show NC gr
gsave 2268 2191 0 0 C 276 1268 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
gsave 2268 2191 0 0 C 370 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
gsave 2268 2191 0 0 C 470 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
gsave 2268 2191 0 0 C 567 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
gsave 2268 2191 0 0 C 658 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
gsave 2268 2191 0 0 C 755 1268 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
gsave 2268 2191 0 0 C 855 1268 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
gsave 2268 2191 0 0 C 952 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 16) show NC gr
gsave 2268 2191 0 0 C 1048 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
gsave 2268 2191 0 0 C 1145 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 19) show NC gr
gsave 2268 2191 0 0 C 1245 1268 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 21) show NC gr
gsave 2268 2191 0 0 C 1342 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 23) show NC gr
gsave 2268 2191 0 0 C 1439 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 25) show NC gr
gsave 2268 2191 0 0 C 1536 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 26) show NC gr
gsave 2268 2191 0 0 C 1632 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 28) show NC gr
gsave 2268 2191 0 0 C 1732 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 30) show NC gr
gsave 2268 2191 0 0 C 1832 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 31) show NC gr
gsave 2268 2191 0 0 C 1926 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 33) show NC gr
gsave 2268 2191 0 0 C 2023 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 34) show NC gr
gsave 2268 2191 0 0 C 2122 1271 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 36) show NC gr
gsave 2268 2191 0 0 C 276 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
gsave 2268 2191 0 0 C 370 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
gsave 2268 2191 0 0 C 470 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 4) show NC gr
gsave 2268 2191 0 0 C 567 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
gsave 2268 2191 0 0 C 664 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
gsave 2268 2191 0 0 C 761 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
gsave 2268 2191 0 0 C 858 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
gsave 2268 2191 0 0 C 952 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
gsave 2268 2191 0 0 C 1048 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
gsave 2268 2191 0 0 C 1145 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
gsave 2268 2191 0 0 C 1242 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
gsave 2268 2191 0 0 C 1342 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
gsave 2268 2191 0 0 C 1439 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 20) show NC gr
gsave 2268 2191 0 0 C 1538 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 21) show NC gr
gsave 2268 2191 0 0 C 1632 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 22) show NC gr
gsave 2268 2191 0 0 C 1732 1353 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 24) show NC gr
gsave 2268 2191 0 0 C 1829 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 25) show NC gr
gsave 2268 2191 0 0 C 1926 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 26) show NC gr
gsave 2268 2191 0 0 C 2023 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 28) show NC gr
gsave 2268 2191 0 0 C 2122 1356 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 29) show NC gr
gsave 2268 2191 0 0 C 276 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
gsave 2268 2191 0 0 C 370 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
gsave 2268 2191 0 0 C 470 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
gsave 2268 2191 0 0 C 567 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
gsave 2268 2191 0 0 C 664 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
gsave 2268 2191 0 0 C 761 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 7) show NC gr
gsave 2268 2191 0 0 C 860 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
gsave 2268 2191 0 0 C 952 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
gsave 2268 2191 0 0 C 1051 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
gsave 2268 2191 0 0 C 1145 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
gsave 2268 2191 0 0 C 1242 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
gsave 2268 2191 0 0 C 1342 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
gsave 2268 2191 0 0 C 1439 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 16) show NC gr
gsave 2268 2191 0 0 C 1536 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
gsave 2268 2191 0 0 C 1632 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
gsave 2268 2191 0 0 C 1732 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 19) show NC gr
gsave 2268 2191 0 0 C 1832 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 21) show NC gr
gsave 2268 2191 0 0 C 1926 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 22) show NC gr
gsave 2268 2191 0 0 C 2023 1442 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 23) show NC gr
gsave 2268 2191 0 0 C 2122 1439 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 24) show NC gr
gsave 2268 2191 0 0 C 276 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
gsave 2268 2191 0 0 C 370 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
gsave 2268 2191 0 0 C 470 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
gsave 2268 2191 0 0 C 567 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
gsave 2268 2191 0 0 C 664 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
gsave 2268 2191 0 0 C 761 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 7) show NC gr
gsave 2268 2191 0 0 C 860 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
gsave 2268 2191 0 0 C 952 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
gsave 2268 2191 0 0 C 1051 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
gsave 2268 2191 0 0 C 1145 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
gsave 2268 2191 0 0 C 1242 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 13) show NC gr
gsave 2268 2191 0 0 C 1342 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
gsave 2268 2191 0 0 C 1439 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
gsave 2268 2191 0 0 C 1536 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
gsave 2268 2191 0 0 C 1632 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
gsave 2268 2191 0 0 C 1732 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 19) show NC gr
gsave 2268 2191 0 0 C 1829 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 20) show NC gr
gsave 2268 2191 0 0 C 1929 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 21) show NC gr
gsave 2268 2191 0 0 C 2023 1524 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 22) show NC gr
gsave 2268 2191 0 0 C 2122 1527 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 23) show NC gr
gsave 2268 2191 0 0 C 276 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
gsave 2268 2191 0 0 C 370 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
gsave 2268 2191 0 0 C 470 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
gsave 2268 2191 0 0 C 567 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 4) show NC gr
gsave 2268 2191 0 0 C 664 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
gsave 2268 2191 0 0 C 761 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
gsave 2268 2191 0 0 C 860 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 7) show NC gr
gsave 2268 2191 0 0 C 957 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
gsave 2268 2191 0 0 C 1054 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
gsave 2268 2191 0 0 C 1145 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
gsave 2268 2191 0 0 C 1245 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
gsave 2268 2191 0 0 C 1342 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
gsave 2268 2191 0 0 C 1439 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 13) show NC gr
gsave 2268 2191 0 0 C 1536 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
gsave 2268 2191 0 0 C 1632 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
gsave 2268 2191 0 0 C 1732 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 16) show NC gr
gsave 2268 2191 0 0 C 1829 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
gsave 2268 2191 0 0 C 1926 1610 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
gsave 2268 2191 0 0 C 2023 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 18) show NC gr
gsave 2268 2191 0 0 C 2122 1612 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 19) show NC gr
gsave 2268 2191 0 0 C 273 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 0) show NC gr
gsave 2268 2191 0 0 C 373 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
gsave 2268 2191 0 0 C 470 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
gsave 2268 2191 0 0 C 567 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
gsave 2268 2191 0 0 C 664 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 4) show NC gr
gsave 2268 2191 0 0 C 761 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
gsave 2268 2191 0 0 C 860 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
gsave 2268 2191 0 0 C 957 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 7) show NC gr
gsave 2268 2191 0 0 C 1054 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
gsave 2268 2191 0 0 C 1151 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
gsave 2268 2191 0 0 C 1242 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
gsave 2268 2191 0 0 C 1345 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
gsave 2268 2191 0 0 C 1442 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
gsave 2268 2191 0 0 C 1536 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
gsave 2268 2191 0 0 C 1632 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 13) show NC gr
gsave 2268 2191 0 0 C 1732 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
gsave 2268 2191 0 0 C 1829 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
gsave 2268 2191 0 0 C 1926 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 16) show NC gr
gsave 2268 2191 0 0 C 2023 1698 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 16) show NC gr
gsave 2268 2191 0 0 C 2122 1695 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 17) show NC gr
gsave 2268 2191 0 0 C 273 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 0) show NC gr
gsave 2268 2191 0 0 C 373 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
gsave 2268 2191 0 0 C 470 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
gsave 2268 2191 0 0 C 567 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
gsave 2268 2191 0 0 C 664 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 4) show NC gr
gsave 2268 2191 0 0 C 761 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
gsave 2268 2191 0 0 C 860 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
gsave 2268 2191 0 0 C 957 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
gsave 2268 2191 0 0 C 1054 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 7) show NC gr
gsave 2268 2191 0 0 C 1151 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
gsave 2268 2191 0 0 C 1248 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
gsave 2268 2191 0 0 C 1348 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
gsave 2268 2191 0 0 C 1439 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
gsave 2268 2191 0 0 C 1538 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
gsave 2268 2191 0 0 C 1635 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
gsave 2268 2191 0 0 C 1732 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
gsave 2268 2191 0 0 C 1829 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 13) show NC gr
gsave 2268 2191 0 0 C 1926 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
gsave 2268 2191 0 0 C 2023 1781 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 14) show NC gr
gsave 2268 2191 0 0 C 2122 1783 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 15) show NC gr
gsave 2268 2191 0 0 C 273 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 0) show NC gr
gsave 2268 2191 0 0 C 373 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 1) show NC gr
gsave 2268 2191 0 0 C 470 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
gsave 2268 2191 0 0 C 567 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 2) show NC gr
gsave 2268 2191 0 0 C 664 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 3) show NC gr
gsave 2268 2191 0 0 C 761 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 4) show NC gr
gsave 2268 2191 0 0 C 860 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 4) show NC gr
gsave 2268 2191 0 0 C 957 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 5) show NC gr
gsave 2268 2191 0 0 C 1054 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 6) show NC gr
gsave 2268 2191 0 0 C 1151 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 7) show NC gr
gsave 2268 2191 0 0 C 1248 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 7) show NC gr
gsave 2268 2191 0 0 C 1348 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
gsave 2268 2191 0 0 C 1444 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 8) show NC gr
gsave 2268 2191 0 0 C 1541 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 9) show NC gr
gsave 2268 2191 0 0 C 1632 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
gsave 2268 2191 0 0 C 1732 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 10) show NC gr
gsave 2268 2191 0 0 C 1832 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 11) show NC gr
gsave 2268 2191 0 0 C 1926 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
gsave 2268 2191 0 0 C 2023 1866 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 12) show NC gr
gsave 2268 2191 0 0 C 2122 1869 t 0 r /Helvetica-Bold findfont 39.8845 sf 0 0 m ( 13) show NC gr 1 1 1 c 1573 132 225 1951 bf black
gsave 2268 2191 0 0 C 305 1980 t 0 r /Helvetica-Bold findfont 102.56 sf 0 0 m (Silicon Sensor Efficiency \(%\)) show NC gr
gr gr
showpage
end
%%EOF

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