Compare commits

...

977 Commits
2.2.0 ... 3.0.1

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

View File

@ -1,21 +1,50 @@
cmake_minimum_required(VERSION 2.8)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
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)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-misleading-indentation")
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)
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)

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
@ -19,6 +20,8 @@ CALWIZDIR = $(WD)/calibrationWizards
MANDIR = $(WD)/manual
CALIBDIR = $(WD)/slsDetectorCalibration
TABSPACE := "\t"
INCLUDES=-I. -I$(LIBRARYDIR)/commonFiles -I$(LIBRARYDIR)/slsDetector -I$(LIBRARYDIR)/usersFunctions -I$(LIBRARYDIR)/multiSlsDetector -I$(LIBRARYDIR)/slsDetectorUtils -I$(LIBRARYDIR)/slsDetectorCommand -I$(LIBRARYDIR)/slsDetectorAnalysis -I$(LIBRARYDIR)/slsReceiverInterface -I$(LIBRARYRXRDIR)/include -I$(LIBRARYDIR)/threadFiles -I$(ASM)
@ -27,14 +30,15 @@ INCLUDESRXR += -I. -I$(LIBRARYRXRDIR)/include -I$(CALIBDIR) -I$(ASM)
$(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 +46,61 @@ 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)'
@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 +117,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 +149,8 @@ clean:
cd $(CALWIZDIR) && $(MAKE) clean
cd manual && $(MAKE) clean
cd $(DOCDIR) && rm -rf *
rm -rf slsDetectorPackageDocs;
rm -rf $(DETAILDOC)
#install_lib:
@ -174,7 +221,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,9 +5,10 @@
CC = g++
CXX = $(CC)
ASM=$(shell echo "/lib/modules/`uname -r`/build/include")
LDFLAGDET = -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsDetector -L/usr/lib64/ -lpthread
LDFLAGRXR = -L$(LIBDIR) -Wl,-rpath=$(LIBDIR) -lSlsReceiver -L/usr/lib64/ -lpthread
FLAGS= -Wall #-DEIGER_DEBUG2 -DEIGER_DEBUG -DEIGER_DEBUG3 #-DFIFO_DEBUG
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
# -DVERBOSE
# Setting up the verbose flags
@ -19,26 +20,17 @@ ifeq ($(DEBUG),2)
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,42 +1,82 @@
# slsDetector package
### Binaries
Documentation to obtain the binaries via the conda package is available [here.](https://github.com/slsdetectorgroup/sls_detector_software)
## 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 --branch 3.0.1
```
$ 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
* 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>
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

350
RELEASE.txt Normal file
View File

@ -0,0 +1,350 @@
SLS Detector Package 3.0.1 released on 2018-02-12
=================================================
INTRODUCTION
This document describes the differences between 3.0.0 and 3.0.1 release.
The conda package of the binaries can be downloaded from
https://github.com/erikfrojdh/sls_detector_software.git
The conda package of the python API wrap-around to the software package is at
https://github.com/slsdetectorgroup/sls_detector.git
Manual (both HTML and pdf versions) are provided in
manual/docs/
Documentation from Source Code can be found for the Command Line and C++ API in
html:
manual/docs/html/slsDetectorClientDocs/index.html
manual/docs/html/slsDetectorUsersDocs/index.html
pdf:
manual/docs/pdf/slsDetectorClientDocs.pdf
manual/docs/pdf/slsDetectorUsersDocs.pdf
Documentation to the python API is available at
https://slsdetectorgroup.github.io/sls_detector/
Example including binaries for detector and receiver user classes can be found in
manual/manual-api
User documentation can also be accessed directly at this location:
https://www.psi.ch/detectors/users-support
If you have any software related questions or comments, please send them to:
dhanya.thattil@psi.ch
anna.bergamaschi@psi.ch
If you have any python related questions or comments, please send them to:
erik.frojdh@psi.ch
CONTENTS
- Firmware Requirements
- Changes in User Interface
- New Features
- Resolved Issues
- Known Issues
Firmware Requirements
=====================
Please refer to the link below for more details on the firmware versions.
https://www.psi.ch/detectors/firmware.
Gotthard
========
Minimum compatible version : old one
Latest version : 08.02.2018 (50um and 25um Master)
09.02.2018 (25 um Slave)
-Can not be upgraded remotely.
Eiger
=====
Minimum compatible version : 16
Latest version : 21
-Can be upgraded remotely via bit files.
Jungfrau
========
Minimum compatible version : 13.11.2017
Latest version : 13.11.2017
-Can be upgraded remotely via sls_detector_put programfpga <pof>.
Changes in User Interface
=========================
Client
------
1. Additional functions added for advanced users in users class:
(setSpeed, setClockDivider, setReadOutFlags, setDac, getADC,
setAllTrimbits, startReceiver, stopReceiver,
startAcquisition non blocking, setReceiverSilentMode, setHighVoltage,
enableDataStreamingToClient, enableDataStreamingFromReceiver,
setReceiverDataStreamingOutPort, setClientDataStreamingInPort)
2. Zmq set up for client and receiver are separated.
zmqport for client and rx_zmqport for receiver. By default, they are the
same for the slsDetectorGui to work.
3. Users example also works without config file, where detector already
configured in shared memory.
4. Use "sls_detector_get busy 0" to clear acquiring flag in shared memory
caused due to an earlier interrupted acquisition from Ctrl+C"
5. Set bit, clear bit, read register and write register cannot give -1 for
inconsistent values from multiple detectors. One has to check error from
API or read the values individually.
6. multiSlsDetector::char* getSettingsFile() function signature has been
changed to string getSettingsFile().
Receiver
--------
7. Modified the help manaual/main-api/mainReceiver.cpp to make it more
robust (handling child process exit) and flexible to determine upon
start up the number of receivers (child processes), the start TCP port
and whether to call back data.
detReceiver is now executed with [start tcp port] [number of receivers]
[1 for call back, 0 for none] as arguments.
By default, start tcp port is 1954, number of receivers is 1, and call
back is initiated.
8. rx_datastream to enable/disable data streaming in receiver. Using the GUI
or registering data call back in client automatically enables zmq in
receiver and client. "externalgui" is removed from the command line. Use
this command instead.
9. Rx_tcpport argument to the slsReceiver can be given using -t.
Eg. slsReceiver -t1955
New Features
============
Package
-------
1. In addition to the C++ API, the Python API is also now provided.
2. CMAKE now with debug flag and rpath, show warnings, compile only certain
components (such as receiver or gui)
3. One repository for entire package and made available at github.
4. One can do --version or -v to all the binaries to find out the release
version of the particular executable.
5. All the software version numbers have only date in format YYMMDD.
Client
------
6. Parallelized more commands to detector. Beneficial for large detectors.
(setTimer, setFileIndex, setOnline, setReceiverOnline, getReceiverStatus,
resetFramesCaught, setFrameIndex, setFileName, getFramesCaughtByReceiver,
setDynamicRange, setRateCorrection)
Option to also use "sls_detector_put threaded 0" to improve speed by
eliminating progress display during acquisition. Effective only for
large detectors.
Detector Server
---------------
7. (Eiger) Virtual class to execute on pc.
8. One can now read temperatures during acquisition. It goes via the stop
server.
9. (Jungfrau) One can start server in "debug" mode and then program the
new firmware via software command "sls_detector_put programfpga xx.pof".
10. (Jungfrau) Server can exit on start up if either the firmware or the
server is incompatible with each other.
11. (Jungfrau) One is able to set transmission delay (ms) of image for each
individual detector using "txndelay_frame" command. Beneficial for
large detectors.
12. (Jungfrau) One can set a threshold temperature (temp_threshold) and
enable the temperature control feature (temp_control). When the
temperature (temp_fpga) overshoots the threshold temperature, it will
set the temperature event (temp_event) and power off the chip. One must
then switch off the detector and check cooling. Switching back on starts
with defaults.
13. (25um Gotthard) Added start acquisition delay to master module.
14. (Gotthard) New constraints include minimum exposure time is 186 ns and
minimum period is 1278 ns + current exposure time.
Receiver
--------
14. The detectorip and rx_udpip does not have to be in the same subnet anymore.
Add the following commands after rx_hostname in config file to overwrite
mac configuration:
rx_udpmac [router mac]
configuremac 0
15. Added silent mode to receiver using command r_silent [i] from client.
It might be beneficial for max frame rate applications.
16. Receiver print out can handle black or white backgrounds.
17. zmq package included updated to v4.0.8.
18. Zmq streaming from receiver also sends file index in json header.
Gui
---
18. If acquisition is done, but "stop dummy packet" to the gui was lost in
the network, stop acquisition command will restream it so that the gui
doesnt hang forever. This is used only for very fast detectors like
Moench.
Resolved Issues
===============
Client
------
1. gethostbyname used in connecting to sockets was not thread safe for
multiple detectors. Using getaddrinfo for stability in multi threaded
environment.
2. Updated writing content of config and parameter dump into files.
3. More locking to handle main and processing threads using the threadpool.
Removing unlock twice, which is undefined behavior.
Detector Server
---------------
4. (Eiger) The hardware MAC of the detector is used during configuration
and relayed back to client. Similarly, hardware IP for 1 Gbe data mode.
5. (Eiger) Status will return error if there was the unlikely trouble
reading status register in the front end board. Earlier, it would only
return idle.
6. (Jungfrau) patch server v3.0.0.6.3
Able to set settings, high voltage now correctly reads 0 when
switched off, dacs are properly set.
7. (Jungfrau) FPGA reset and programming FPGA firmware via software is done
properly
8. (Gotthard) patch server v3.0.0.5.1
Able to read temperature properly.
9. (Gotthard) butst mode if set too fast had unwanted behavior such as
sending same image continuously. Now it is handled to display error
and stop acquisition.
10. (Gotthard) completely removed the possibility to set timing modes
other than auto and trigger as they are not implemented anyway. Also
signal index 1, 2 and 3 are reserved and hence, cannot be configured for
an external trigger.
11. Non Mythen and non Eiger detectors can also now get settings file from
board.
12. (Gotthard) Did not get first few images initially after configuring MAC
of detector. Fixed.
Receiver
--------
12. Made it easier to disable the standard receiver and fixing bugs related
to the use of a custom one.
13. (Jungfrau) HDF5 dimensions (npixelsY) required for mapping fixed.
14. patch2-v3.0.0-slsReceiverSoftware.patch
x, y and z coordinates in the call backs and the files are hardcoded
for this release.
15. Rest implementation (not used by standard receiver) removed.
Gui
---
16. patch1-v3.0.0-slsDetectorGui.patch
(Eiger) In expert mode and in advanced tab, when trimbits
loaded are different for every pixel, the gui complains and sets
all trimbits to zero. This has been resolved. Now, the "Set All
Trimbits" field is just set to -1.
17. Fixed segmentation fault of xputsn properly.
18. Upon clicking on "Start", clears acquiring flag in shared memory
caused due to an earlier interrupted acquisition from Ctrl+C"
19. Fixed plotting twice caused due to unzooming the first time.
20. Removed option for compression in Gui as it is not available currently.
21. Can also show Jungfrau multi detector in x direction in gui.
22. Switching tabs sometimes results in delay and gates fields being incorrectly
enabled. Fixed.
Known Issues
============
Client
------
1. File name prefix can only be done at multi deector level. Changing at
individual detector level will not include scan or position variables.
Detector Server
---------------
2. Standard header fills x-coord in 1D. y-coord and z-coord is not
implemented (3D).
Receiver
--------
3. HDF5 compression and filters are not implemented yet.

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

193
cmk.sh Executable file
View File

@ -0,0 +1,193 @@
#!/bin/bash
BUILDDIR="build"
HDF5DIR="/opt/hdf5v1.10.0"
HDF5=0
COMPILERTHREADS=0
TEXTCLIENT=0
RECEIVER=0
GUI=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
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:trg" 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
;;
\?)
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
CMAKE_POST+=" -DCMAKE_BUILD_TYPE=Debug "
#hdf5 rebuild
if [ $HDF5 -eq 1 ]; then
CMAKE_PRE+="HDF5_ROOT="$HDF5DIR
CMAKE_POST+=" -DUSE_HDF5=ON "
#normal mode rebuild
else
CMAKE_POST+=" -DUSE_HDF5=OFF "
fi
#enter build dir
cd $BUILDDIR;
echo "in "$PWD
#cmake
if [ $REBUILD -eq 1 ]; then
rm -f CMakeCache.txt
BUILDCOMMAND="$CMAKE_PRE cmake $CMAKE_POST .."
echo $BUILDCOMMAND
eval $BUILDCOMMAND
fi
#make clean
if [ $CLEAN -eq 1 ]; then
make clean;
fi
#make
if [ $COMPILERTHREADS -gt 0 ]; then
BUILDCOMMAND="make -j$COMPILERTHREADS"
echo $BUILDCOMMAND
eval $BUILDCOMMAND
else
make
fi

22
evalVersionVariables.sh Normal file
View File

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

View File

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

24
examples/eiger_1Gb.config Normal file
View File

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

View File

@ -1,5 +1,5 @@
type Gotthard+
0:hostname bchip007
hostname bchip007
#0:port 1952
#0:stopport 1953
#0:rx_tcpport 1956 must also have this in receiver config file
@ -10,9 +10,6 @@ type Gotthard+
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

18
examples/jungfrau.config Normal file
View File

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

View File

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

View File

@ -2,7 +2,6 @@
detsizechan 2560 1
#type Gotthard+
hostname bchip007+bchip009+
#0:hostname bchip007
@ -16,9 +15,6 @@ hostname bchip007+bchip009+
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
@ -39,9 +35,6 @@ hostname bchip007+bchip009+
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

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,13 @@
No implementation found for style `graphicx'
No implementation found for style `eucal'
No implementation found for style `amsxtra'
No implementation found for style `upref'
No implementation found for style `layout'
No implementation found for style `calc'
No implementation found for style `framed'
? brace missing for \
Substitution of arg to newlabelxx delayed.
? brace missing for \textit

View File

@ -0,0 +1,101 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2008 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Footnotes</TITLE>
<META NAME="description" CONTENT="Footnotes">
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
</HEAD>
<BODY >
<DL>
<DT><A NAME="foot1316">... tab&nbsp;</A><A
HREF="MYTHEN.html#tex2html20"><SUP>3.1</SUP></A></DT>
<DD>The default name of the calibrated trimfiles is <I>trimbits/beamline/</I><I>settings</I><I>/noise.snxxx</I> where <I>settings</I> is the chosen settings. You can change it in <I>src/qDetector.h</I> and then recompile the acquisition program as described in&nbsp;<A HREF="#sec:installation"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]"
SRC="file:/usr/share/latex2html/icons/crossref.png"></A>.
<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
<DT><A NAME="foot1317">....snxxx&nbsp;</A><A
HREF="MYTHEN.html#tex2html21"><SUP>3.2</SUP></A></DT>
<DD>The default name of the calibration file <I>calibration/</I><I>settings</I><I>.snxxx</I> where <I>settings</I> is the chosen settings. You can change it in <I>src/qDetector.h</I> and then recompile the acquisition program.
<PRE>.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
</PRE>
</DD>
</DL>
</BODY>
</HTML>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 682 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 471 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -0,0 +1,41 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2008 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>SLS Detectors
Frequently Asked Questions</TITLE>
<META NAME="description" CONTENT="SLS Detectors
Frequently Asked Questions">
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
</HEAD>
<BODY >
<P>
<H1 ALIGN=CENTER>SLS Detectors
<BR>
Frequently Asked Questions</H1>
<P ALIGN=CENTER><STRONG>Anna Bergamaschi</STRONG>
</P>
<BR><P ALIGN=CENTER><B>Date:</B> February 27, 2018</P>
<HR>
<BR><HR>
</BODY>
</HTML>

View File

@ -0,0 +1,134 @@
# LaTeX2HTML 2008 (1.71)
# Associate internals original text with physical files.
$key = q/sec:usersFunc/;
$ref_files{$key} = "$dir".q|How_can_detector_movement_p.html|;
$noresave{$key} = "$nosave";
$key = q/sec:merging/;
$ref_files{$key} = "$dir".q|How_are_different_positions.html|;
$noresave{$key} = "$nosave";
$key = q/sec:timing/;
$ref_files{$key} = "$dir".q|How_can_I_synchronize_my.html|;
$noresave{$key} = "$nosave";
$key = q/fig:gating/;
$ref_files{$key} = "$dir".q|How_can_I_synchronize_my.html|;
$noresave{$key} = "$nosave";
$key = q/sec:improvetrimming/;
$ref_files{$key} = "$dir".q|MYTHEN.html|;
$noresave{$key} = "$nosave";
$key = q/fig:multidet/;
$ref_files{$key} = "$dir".q|How_can_I_control_many.html|;
$noresave{$key} = "$nosave";
$key = q/eq:acqflow/;
$ref_files{$key} = "$dir".q|Which_is_sequence_acquisiti.html|;
$noresave{$key} = "$nosave";
$key = q/fig:autotiming/;
$ref_files{$key} = "$dir".q|How_can_I_synchronize_my.html|;
$noresave{$key} = "$nosave";
$key = q/sec:3/;
$ref_files{$key} = "$dir".q|Scaling_Poisson_variates.html|;
$noresave{$key} = "$nosave";
$key = q/fig:samplefluo/;
$ref_files{$key} = "$dir".q|How_do_I_chose_comparator.html|;
$noresave{$key} = "$nosave";
$key = q/fig:settings/;
$ref_files{$key} = "$dir".q|MYTHEN.html|;
$noresave{$key} = "$nosave";
$key = q/sec:2/;
$ref_files{$key} = "$dir".q|Advanced_binning.html|;
$noresave{$key} = "$nosave";
$key = q/fig:effidet/;
$ref_files{$key} = "$dir".q|Sensors.html|;
$noresave{$key} = "$nosave";
$key = q/sec:11/;
$ref_files{$key} = "$dir".q|Basic_binning.html|;
$noresave{$key} = "$nosave";
$key = q/fig:thrscanfluo/;
$ref_files{$key} = "$dir".q|How_do_I_chose_comparator.html|;
$noresave{$key} = "$nosave";
$key = q/sec:dataFormat/;
$ref_files{$key} = "$dir".q|In_which_data_format_are.html|;
$noresave{$key} = "$nosave";
$key = q/fig:mythensett/;
$ref_files{$key} = "$dir".q|Frontend_electronics.html|;
$noresave{$key} = "$nosave";
$key = q/sec:sync/;
$ref_files{$key} = "$dir".q|How_can_several_controllers.html|;
$noresave{$key} = "$nosave";
$key = q/fig:badff/;
$ref_files{$key} = "$dir".q|Why_isn_t_my_flat_field_fla.html|;
$noresave{$key} = "$nosave";
$key = q/fig:datareceiver/;
$ref_files{$key} = "$dir".q|How_can_I_configure_data.html|;
$noresave{$key} = "$nosave";
$key = q/fig:effiback/;
$ref_files{$key} = "$dir".q|Sensors.html|;
$noresave{$key} = "$nosave";
$key = q/fig:trig/;
$ref_files{$key} = "$dir".q|How_can_I_synchronize_my.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ffsetup/;
$ref_files{$key} = "$dir".q|Dynamic_acquisition_flat_fi.html|;
$noresave{$key} = "$nosave";
$key = q/fig:thresholdscanuntrimmed/;
$ref_files{$key} = "$dir".q|MYTHEN.html|;
$noresave{$key} = "$nosave";
$key = q/fig:trimdistribution/;
$ref_files{$key} = "$dir".q|MYTHEN.html|;
$noresave{$key} = "$nosave";
$key = q/sec:angcal/;
$ref_files{$key} = "$dir".q|How_is_channel_number_cover.html|;
$noresave{$key} = "$nosave";
$key = q/sec:trimdir/;
$ref_files{$key} = "$dir".q|What_are_settings_calibrati.html|;
$noresave{$key} = "$nosave";
$key = q/fig:trimplot/;
$ref_files{$key} = "$dir".q|MYTHEN.html|;
$noresave{$key} = "$nosave";
$key = q/fig:thresholdscantrimmed/;
$ref_files{$key} = "$dir".q|MYTHEN.html|;
$noresave{$key} = "$nosave";
$key = q/sec:noisetrim/;
$ref_files{$key} = "$dir".q|MYTHEN.html|;
$noresave{$key} = "$nosave";
$key = q/sec:encal/;
$ref_files{$key} = "$dir".q|In_what_consists_energy_cal.html|;
$noresave{$key} = "$nosave";
$key = q/fig:thrscan/;
$ref_files{$key} = "$dir".q|How_do_I_chose_comparator.html|;
$noresave{$key} = "$nosave";
1;

View File

@ -0,0 +1,269 @@
# LaTeX2HTML 2008 (1.71)
# Associate labels original text with physical files.
$key = q/sec:usersFunc/;
$external_labels{$key} = "$URL/" . q|How_can_detector_movement_p.html|;
$noresave{$key} = "$nosave";
$key = q/sec:merging/;
$external_labels{$key} = "$URL/" . q|How_are_different_positions.html|;
$noresave{$key} = "$nosave";
$key = q/sec:timing/;
$external_labels{$key} = "$URL/" . q|How_can_I_synchronize_my.html|;
$noresave{$key} = "$nosave";
$key = q/fig:gating/;
$external_labels{$key} = "$URL/" . q|How_can_I_synchronize_my.html|;
$noresave{$key} = "$nosave";
$key = q/sec:improvetrimming/;
$external_labels{$key} = "$URL/" . q|MYTHEN.html|;
$noresave{$key} = "$nosave";
$key = q/fig:multidet/;
$external_labels{$key} = "$URL/" . q|How_can_I_control_many.html|;
$noresave{$key} = "$nosave";
$key = q/eq:acqflow/;
$external_labels{$key} = "$URL/" . q|Which_is_sequence_acquisiti.html|;
$noresave{$key} = "$nosave";
$key = q/fig:autotiming/;
$external_labels{$key} = "$URL/" . q|How_can_I_synchronize_my.html|;
$noresave{$key} = "$nosave";
$key = q/sec:3/;
$external_labels{$key} = "$URL/" . q|Scaling_Poisson_variates.html|;
$noresave{$key} = "$nosave";
$key = q/fig:samplefluo/;
$external_labels{$key} = "$URL/" . q|How_do_I_chose_comparator.html|;
$noresave{$key} = "$nosave";
$key = q/fig:settings/;
$external_labels{$key} = "$URL/" . q|MYTHEN.html|;
$noresave{$key} = "$nosave";
$key = q/sec:2/;
$external_labels{$key} = "$URL/" . q|Advanced_binning.html|;
$noresave{$key} = "$nosave";
$key = q/fig:effidet/;
$external_labels{$key} = "$URL/" . q|Sensors.html|;
$noresave{$key} = "$nosave";
$key = q/sec:11/;
$external_labels{$key} = "$URL/" . q|Basic_binning.html|;
$noresave{$key} = "$nosave";
$key = q/fig:thrscanfluo/;
$external_labels{$key} = "$URL/" . q|How_do_I_chose_comparator.html|;
$noresave{$key} = "$nosave";
$key = q/sec:dataFormat/;
$external_labels{$key} = "$URL/" . q|In_which_data_format_are.html|;
$noresave{$key} = "$nosave";
$key = q/fig:mythensett/;
$external_labels{$key} = "$URL/" . q|Frontend_electronics.html|;
$noresave{$key} = "$nosave";
$key = q/sec:sync/;
$external_labels{$key} = "$URL/" . q|How_can_several_controllers.html|;
$noresave{$key} = "$nosave";
$key = q/fig:badff/;
$external_labels{$key} = "$URL/" . q|Why_isn_t_my_flat_field_fla.html|;
$noresave{$key} = "$nosave";
$key = q/fig:datareceiver/;
$external_labels{$key} = "$URL/" . q|How_can_I_configure_data.html|;
$noresave{$key} = "$nosave";
$key = q/fig:effiback/;
$external_labels{$key} = "$URL/" . q|Sensors.html|;
$noresave{$key} = "$nosave";
$key = q/fig:trig/;
$external_labels{$key} = "$URL/" . q|How_can_I_synchronize_my.html|;
$noresave{$key} = "$nosave";
$key = q/fig:ffsetup/;
$external_labels{$key} = "$URL/" . q|Dynamic_acquisition_flat_fi.html|;
$noresave{$key} = "$nosave";
$key = q/fig:thresholdscanuntrimmed/;
$external_labels{$key} = "$URL/" . q|MYTHEN.html|;
$noresave{$key} = "$nosave";
$key = q/fig:trimdistribution/;
$external_labels{$key} = "$URL/" . q|MYTHEN.html|;
$noresave{$key} = "$nosave";
$key = q/sec:angcal/;
$external_labels{$key} = "$URL/" . q|How_is_channel_number_cover.html|;
$noresave{$key} = "$nosave";
$key = q/sec:trimdir/;
$external_labels{$key} = "$URL/" . q|What_are_settings_calibrati.html|;
$noresave{$key} = "$nosave";
$key = q/fig:trimplot/;
$external_labels{$key} = "$URL/" . q|MYTHEN.html|;
$noresave{$key} = "$nosave";
$key = q/fig:thresholdscantrimmed/;
$external_labels{$key} = "$URL/" . q|MYTHEN.html|;
$noresave{$key} = "$nosave";
$key = q/sec:noisetrim/;
$external_labels{$key} = "$URL/" . q|MYTHEN.html|;
$noresave{$key} = "$nosave";
$key = q/sec:encal/;
$external_labels{$key} = "$URL/" . q|In_what_consists_energy_cal.html|;
$noresave{$key} = "$nosave";
$key = q/fig:thrscan/;
$external_labels{$key} = "$URL/" . q|How_do_I_chose_comparator.html|;
$noresave{$key} = "$nosave";
1;
# LaTeX2HTML 2008 (1.71)
# labels from external_latex_labels array.
$key = q/sec:usersFunc/;
$external_latex_labels{$key} = q|1.10|;
$noresave{$key} = "$nosave";
$key = q/sec:merging/;
$external_latex_labels{$key} = q|5.2|;
$noresave{$key} = "$nosave";
$key = q/sec:timing/;
$external_latex_labels{$key} = q|1.8|;
$noresave{$key} = "$nosave";
$key = q/fig:gating/;
$external_latex_labels{$key} = q|1.4|;
$noresave{$key} = "$nosave";
$key = q/sec:improvetrimming/;
$external_latex_labels{$key} = q|3.4.1|;
$noresave{$key} = "$nosave";
$key = q/fig:multidet/;
$external_latex_labels{$key} = q|1.1|;
$noresave{$key} = "$nosave";
$key = q/eq:acqflow/;
$external_latex_labels{$key} = q|1.7|;
$noresave{$key} = "$nosave";
$key = q/fig:autotiming/;
$external_latex_labels{$key} = q|1.3|;
$noresave{$key} = "$nosave";
$key = q/sec:3/;
$external_latex_labels{$key} = q|5.2.6|;
$noresave{$key} = "$nosave";
$key = q/fig:samplefluo/;
$external_latex_labels{$key} = q|3.4|;
$noresave{$key} = "$nosave";
$key = q/fig:settings/;
$external_latex_labels{$key} = q|3.1|;
$noresave{$key} = "$nosave";
$key = q/sec:2/;
$external_latex_labels{$key} = q|5.2.3|;
$noresave{$key} = "$nosave";
$key = q/fig:effidet/;
$external_latex_labels{$key} = q|2.1|;
$noresave{$key} = "$nosave";
$key = q/sec:11/;
$external_latex_labels{$key} = q|5.2.2|;
$noresave{$key} = "$nosave";
$key = q/fig:thrscanfluo/;
$external_latex_labels{$key} = q|3.3|;
$noresave{$key} = "$nosave";
$key = q/sec:dataFormat/;
$external_latex_labels{$key} = q|1.11|;
$noresave{$key} = "$nosave";
$key = q/fig:mythensett/;
$external_latex_labels{$key} = q|2.3|;
$noresave{$key} = "$nosave";
$key = q/sec:sync/;
$external_latex_labels{$key} = q|1.9|;
$noresave{$key} = "$nosave";
$key = q/fig:badff/;
$external_latex_labels{$key} = q|3.5|;
$noresave{$key} = "$nosave";
$key = q/fig:datareceiver/;
$external_latex_labels{$key} = q|1.2|;
$noresave{$key} = "$nosave";
$key = q/fig:effiback/;
$external_latex_labels{$key} = q|2.2|;
$noresave{$key} = "$nosave";
$key = q/fig:trig/;
$external_latex_labels{$key} = q|1.6|;
$noresave{$key} = "$nosave";
$key = q/fig:ffsetup/;
$external_latex_labels{$key} = q|3.6|;
$noresave{$key} = "$nosave";
$key = q/fig:thresholdscanuntrimmed/;
$external_latex_labels{$key} = q|3.7|;
$noresave{$key} = "$nosave";
$key = q/fig:trimdistribution/;
$external_latex_labels{$key} = q|3.8|;
$noresave{$key} = "$nosave";
$key = q/sec:angcal/;
$external_latex_labels{$key} = q|5.1|;
$noresave{$key} = "$nosave";
$key = q/sec:trimdir/;
$external_latex_labels{$key} = q|1.4|;
$noresave{$key} = "$nosave";
$key = q/fig:trimplot/;
$external_latex_labels{$key} = q|3.9|;
$noresave{$key} = "$nosave";
$key = q/fig:thresholdscantrimmed/;
$external_latex_labels{$key} = q|3.10|;
$noresave{$key} = "$nosave";
$key = q/sec:noisetrim/;
$external_latex_labels{$key} = q|3.4.1|;
$noresave{$key} = "$nosave";
$key = q/sec:encal/;
$external_latex_labels{$key} = q|3.5|;
$noresave{$key} = "$nosave";
$key = q/fig:thrscan/;
$external_latex_labels{$key} = q|3.2|;
$noresave{$key} = "$nosave";
1;

View File

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

View File

@ -0,0 +1,41 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2008 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>SLS Detectors
Frequently Asked Questions</TITLE>
<META NAME="description" CONTENT="SLS Detectors
Frequently Asked Questions">
<META NAME="keywords" CONTENT="slsDetectors-FAQ">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="slsDetectors-FAQ.css">
</HEAD>
<BODY >
<P>
<H1 ALIGN=CENTER>SLS Detectors
<BR>
Frequently Asked Questions</H1>
<P ALIGN=CENTER><STRONG>Anna Bergamaschi</STRONG>
</P>
<BR><P ALIGN=CENTER><B>Date:</B> February 27, 2018</P>
<HR>
<BR><HR>
</BODY>
</HTML>

Binary file not shown.

Binary file not shown.

View File

@ -1,28 +1,52 @@
INCLUDES = -I .
SRC_DET = mainClient.cpp
SRC_REC = mainReceiver.cpp
LIBDIR = ../../bin
LDFLAG_DET = -L$(LIBDIR) -lSlsDetector -L/usr/lib64/ -lpthread
LDFLAG_REC = -L$(LIBDIR) -lSlsReceiver -L/usr/lib64/ -lpthread
LIBDIR = .
LDFLAG_DET = -I. -L$(LIBDIR) -lSlsDetector -L/usr/lib64/ -pthread -lrt -L. -lzmq
LDFLAG_REC = -I. -L$(LIBDIR) -lSlsReceiver -L/usr/lib64/ -pthread -lrt -L. -lzmq
DESTDIR ?= ../docs
#all: detUser detReceiver
all: docs
all: docs detUser detReceiver
#all: docs
docs:
doxygen slsDetectorUsers.doxy
docs: createdocs docspdf docshtml removedocs
createdocs: slsDetectorUsers.doxy slsDetectorUsers.h detectorData.h slsReceiverUsers.h 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)
echo "creating receiver"
g++ -o detReceiver $(SRC_REC) $(INCLUDES) $(LDFLAG_REC) -lm -lstdc++
mkdir -p bin
g++ -o bin/detReceiver $(SRC_REC) $(INCLUDES) $(LDFLAG_REC) -lm -lstdc++
clean:
echo "cleaning"
rm -rf detUser detReceiver slsDetectorUsersDocs
echo "cleaning for manual-api"
rm -rf bin/detUser bin/detReceiver slsDetectorUsersDocs
rm -rf slsDetectorUsersDocs
rm -rf $(DESTDIR)/html/slsDetectorUsersDocs
rm -rf $(DESTDIR)/pdf/slsDetectorUsersDocs.pdf

1
manual/manual-api/ansi.h Symbolic link
View File

@ -0,0 +1 @@
../../slsReceiverSoftware/include/ansi.h

Binary file not shown.

Binary file not shown.

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

@ -0,0 +1 @@
../../build/bin/libSlsDetector.so

View File

@ -0,0 +1 @@
../../build/bin/libSlsReceiver.so

1
manual/manual-api/libzmq.a Symbolic link
View File

@ -0,0 +1 @@
../../slsReceiverSoftware/include/libzmq.a

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 -lpthread
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 */
slsDetectorUsers *pDetector = new slsDetectorUsers (id);
/** if specified, argv[1] is used as detector config file (necessary at least the first time it is called to properly configure advanced settings in the shared memory)*/
if (argc>=2)
pDetector->readConfigurationFile(argv[1]);
/** Setting the detector online (should be by default */
pDetector->setOnline(1);
/** 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);
/** - if receiver exists, enable data streaming from receiver to get the data */
pDetector->enableDataStreamingFromReceiver(1);
/** - create zmq sockets in client to enable data streaming in of data from receiver/different process */
pDetector->enableDataStreamingToClient(1);
/** 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();
while (1) {
usleep(100000);
status = pDetector->getDetectorStatus();
if (status == 0 || status == 1|| status == 3)
break;
}
/** - 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;
}
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;
/** - if provided, load detector settings */
if (argc>=3){
pDetector->retrieveDetectorSetup(argv[2]);
std::cout << "Detector measurement set-up done" << std::endl;
}
/** - 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,270 @@
/* 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 -lpthread
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"
"./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, 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",frames);
}
/**
* Get Receiver Data Call back
* Prints in different colors(for each receiver process) the different headers for each image call back.
* @param frameNumber frame number
* @param expLength real time exposure length (in 100ns) or sub frame number (Eiger 32 bit mode only)
* @param packetNumber number of packets caught for this frame
* @param bunchId bunch id from beamline
* @param timestamp time stamp in 10MHz clock (not implemented for most)
* @param modId module id (not implemented for most)
* @param xCoord x coordinates (detector id in 1D)
* @param yCoord y coordinates (not implemented)
* @param zCoord z coordinates (not implemented)
* @param debug debug values if any
* @param roundRNumber (not implemented)
* @param detType detector type see :: detectorType
* @param version version of standard header (structure format)
* @param datapointer pointer to data
* @param datasize data size in bytes
* @param p pointer to object
*/
void GetData(uint64_t frameNumber, uint32_t expLength, uint32_t packetNumber, uint64_t bunchId, uint64_t timestamp,
uint16_t modId, uint16_t xCoord, uint16_t yCoord, uint16_t zCoord, uint32_t debug, uint16_t roundRNumber, uint8_t detType, uint8_t version,
char* datapointer, uint32_t datasize, void* p){
PRINT_IN_COLOR (modId?modId:xCoord,
"#### %d GetData: ####\n"
"frameNumber: %llu\t\texpLength: %u\t\tpacketNumber: %u\t\tbunchId: %llu\t\ttimestamp: %llu\t\tmodId: %u\t\t"
"xCoord: %u\t\tyCoord: %u\t\tzCoord: %u\t\tdebug: %u\t\troundRNumber: %u\t\tdetType: %u\t\t"
"version: %u\t\tfirstbytedata: 0x%x\t\tdatsize: %u\n\n",
xCoord, frameNumber, expLength, packetNumber, bunchId, timestamp, modId,
xCoord, yCoord, zCoord, debug, roundRNumber, detType, version,
((uint8_t)(*((uint8_t*)(datapointer)))), datasize);
}
/**
* 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");
receiver->registerCallBackRawDataReady(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

@ -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>

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