Compare commits
977 Commits
Author | SHA1 | Date | |
---|---|---|---|
6126780660 | |||
9b7f9b1be1 | |||
26c829d766 | |||
3fde5c5b55 | |||
3e5f546ebe | |||
9833a7d330 | |||
8f9155e578 | |||
12e4530702 | |||
64c18469bd | |||
aa2c535b4f | |||
5849725b97 | |||
74f327a959 | |||
f67323d1cc | |||
de3bfd85a1 | |||
ac9d9f6a93 | |||
cef9ae39c3 | |||
d14234ee38 | |||
a4aa862ee4 | |||
0b017b886c | |||
7859df6aa3 | |||
ebe1ff4563 | |||
c3d6852f97 | |||
bacc4073f7 | |||
50b515f94d | |||
1e479a5c77 | |||
9322c176f2 | |||
639fdac232 | |||
76bd2c69bc | |||
77aa3fa215 | |||
bc6fc51f6a | |||
9fe7293dab | |||
3e417fdaa7 | |||
f8c90b6da6 | |||
b6e5fa1944 | |||
daff1c9a09 | |||
c7b345237a | |||
a12694b5d0 | |||
40ce08d33e | |||
19e77bf303 | |||
f95b9e8d8d | |||
9371208a2e | |||
472d96cd94 | |||
1609f1d495 | |||
7a6b6e1fea | |||
1b6ca913b2 | |||
18c2b8d725 | |||
a29e70c52f | |||
98010057ce | |||
14eff53798 | |||
2cf150bb30 | |||
d2a2a2729e | |||
298663f143 | |||
5c23fd6502 | |||
2429af754f | |||
ef574e6620 | |||
0dd0486aa5 | |||
7196bfb9a5 | |||
4338217bda | |||
0cb5941fc4 | |||
f7bf1ae2f1 | |||
dde032acc8 | |||
23c5a73285 | |||
94b61ea2c4 | |||
a6b917851c | |||
5198e67dbd | |||
ecf1e9fac1 | |||
618f6291cf | |||
e6bd874a88 | |||
5d04067973 | |||
c520f10409 | |||
1872deb1dd | |||
e6f475d7c4 | |||
aebc423fb2 | |||
ee9996908a | |||
caf2548391 | |||
8778fa0aca | |||
d15fd90e8d | |||
633284cbdd | |||
a3293f4335 | |||
3d0d86eb19 | |||
915e0d19ca | |||
44b8f482f0 | |||
e32a5263e8 | |||
e8d0bea1a0 | |||
1ecc194bf8 | |||
fbb8efa5f4 | |||
b78b2bb678 | |||
d9116ec0b9 | |||
b6f6122656 | |||
80c301f88e | |||
2feaa27c74 | |||
b398322fd2 | |||
66e0049ded | |||
7d48c2f8ee | |||
988baca7f6 | |||
afd2cd1923 | |||
2963d5c401 | |||
2f59d58a50 | |||
ca059db4e9 | |||
43a1d73522 | |||
87d539a040 | |||
3edac42ed3 | |||
17d26869b5 | |||
933d34590b | |||
eb57e3a1d3 | |||
2cc5557ec8 | |||
7f80b77060 | |||
ab4f364267 | |||
3a18a0a6cf | |||
fd03cf5b0f | |||
b3d6bc1800 | |||
0242db7e7a | |||
41240ac135 | |||
061abf7be0 | |||
2d6e4c95a2 | |||
a87687199f | |||
d879379aa4 | |||
8fc3d97e78 | |||
beabd03be2 | |||
348a426242 | |||
68d6c514a9 | |||
834794ad98 | |||
6690335971 | |||
bc8c706150 | |||
e39bee0113 | |||
a4dc00b252 | |||
6438238b55 | |||
0649626842 | |||
e7f7e0f280 | |||
735b8ea206 | |||
56c504abbb | |||
4d6346e678 | |||
dc7e448759 | |||
e658cbacda | |||
1e6c6dea71 | |||
8da5b8318f | |||
03de29de90 | |||
bb3e5351b4 | |||
d6a4f83a99 | |||
29d66e455d | |||
e19d564364 | |||
8c123982d2 | |||
40a7b3983a | |||
bf9905ad2a | |||
c4a242e10a | |||
7436d6c8d3 | |||
b498043ea6 | |||
7aaf95a565 | |||
7b1f935da2 | |||
ce1ec97571 | |||
d00c837977 | |||
536203b6dc | |||
65b4c69847 | |||
61791c078c | |||
36802cdb14 | |||
e26cf3b673 | |||
aab62fccc1 | |||
73ce4abd58 | |||
c12b137b79 | |||
befdcf7f36 | |||
02f5c472a8 | |||
75ed2cd2e4 | |||
3be045f9b6 | |||
8fae982802 | |||
128ec88b5f | |||
d5fc158330 | |||
864e6e4c81 | |||
343d96ff16 | |||
4142328437 | |||
6c797988c7 | |||
215c262981 | |||
081b809078 | |||
9263567cd8 | |||
58e90a85be | |||
d1e3d50a87 | |||
a06f29f473 | |||
18422ce215 | |||
e9343a5bd0 | |||
70bf6eb4cb | |||
ca855e6d39 | |||
2227265357 | |||
baee38802b | |||
712c9a4524 | |||
b75985088d | |||
a351fa8f28 | |||
4825ace129 | |||
ba71529ff2 | |||
1fce54ec4b | |||
1dd300f713 | |||
d5c310a2db | |||
9f91b78696 | |||
d1eab6f750 | |||
c0a114345b | |||
386ef7766c | |||
375b1c9485 | |||
65d7922286 | |||
eb89e9bf96 | |||
9f733c1dfb | |||
59b5fe9424 | |||
16e4fbf8dd | |||
d40a2e0efa | |||
5eb8402742 | |||
dc5384f0f9 | |||
20dc338c90 | |||
b14ea217ee | |||
da3ca9f306 | |||
ad64df01c7 | |||
8538604c0f | |||
d23c9d52ed | |||
3b292bdeb6 | |||
856ad76247 | |||
4749e8c4e4 | |||
447451231c | |||
7860637b46 | |||
ea3c722552 | |||
4ecbfada5b | |||
d47abb140f | |||
6753f8ba6c | |||
8c45f94496 | |||
e023cb186f | |||
fd4dd5b1e9 | |||
167a6cff3e | |||
d00df32e49 | |||
2cc11f1ff0 | |||
49ba893d7e | |||
d1d530f0e7 | |||
a0c014eb7d | |||
23b415d837 | |||
a79864a5ae | |||
823d537825 | |||
d7137e0c75 | |||
2569ffbf10 | |||
b020270734 | |||
f647bdaa48 | |||
c1e735c1b4 | |||
4097c37b31 | |||
a89265faf8 | |||
8e0414d1b9 | |||
bbcf75bc09 | |||
065b4a8e0f | |||
2fca426ec0 | |||
875ca44c0b | |||
4c9cc1b477 | |||
f340eef4bc | |||
f192164e32 | |||
c69ae52e76 | |||
7dee07b9c5 | |||
0e8d2de253 | |||
fd34bab34b | |||
2b0d07387a | |||
eb4ab306c7 | |||
32d32dbcdc | |||
6d6133be59 | |||
bee751cebb | |||
fee95d228e | |||
ea0c436fc8 | |||
90fb8258ca | |||
dd1cf42a73 | |||
dda86cfe9b | |||
a3a30d9b50 | |||
b814515d0a | |||
0ae706d9a5 | |||
6693d08331 | |||
4903164f95 | |||
ef257d12e7 | |||
7e0af1cc7c | |||
52a9303a5e | |||
409519a3db | |||
70848c9891 | |||
dedc00f1bd | |||
e1c7176c00 | |||
53caebe0f3 | |||
739187943d | |||
fb0afc282d | |||
d24ab31d87 | |||
9255cdde8a | |||
7c344d4a39 | |||
7157b2817d | |||
acfd9acc6c | |||
18d5fd5a35 | |||
1881cb0010 | |||
1420921291 | |||
aab56ea943 | |||
045a7cfcb1 | |||
92f988ddc1 | |||
f4f03f659a | |||
e417885459 | |||
65fd5a3057 | |||
387b4ef457 | |||
c755a5b602 | |||
72b71cd680 | |||
5388b54eff | |||
75b94e6614 | |||
4aa0c8e24e | |||
40cb2993fb | |||
fe6e1c8868 | |||
eb78ae0fe1 | |||
8585a536ec | |||
338fb2af35 | |||
a6e520d969 | |||
eb32335194 | |||
a59309b13f | |||
f2f061ae18 | |||
d30a839eff | |||
948eb455e2 | |||
44bf4c52ed | |||
2aed12dcb9 | |||
96caf728c8 | |||
e51d178eaa | |||
0a446c425b | |||
6a8aad4c2b | |||
af98d2bb53 | |||
1c3b9c603c | |||
7134d0d0ed | |||
5873b5c9a8 | |||
271664f577 | |||
f2be03be05 | |||
7e37a1da4b | |||
18f014fd9e | |||
11d58beec2 | |||
88b1a5c66a | |||
a250565f44 | |||
378f4f0891 | |||
45ee8b2a2b | |||
fda9c85bb3 | |||
850ae77b43 | |||
6b6ad6efe0 | |||
ae066fab93 | |||
41db424837 | |||
3a79f0ad9b | |||
15b86a50d5 | |||
5b0fd60775 | |||
90f899c936 | |||
a95e2efdb0 | |||
54d231d3c6 | |||
bcea5a99a1 | |||
e6125c3c7f | |||
67cdfe8b41 | |||
c37d3feae9 | |||
c086e9c19f | |||
be37e315c9 | |||
91f3db6691 | |||
56aa4be358 | |||
7099bc3286 | |||
35dcdd62c9 | |||
84b0f9a91b | |||
91fece87b2 | |||
05c5ad711b | |||
ad4fdcfa1a | |||
2efe9cd40b | |||
07594e0607 | |||
c4c063534e | |||
705e1a762c | |||
a8b41ca813 | |||
0de9682e72 | |||
ce0aa98b3f | |||
57fee3d5ef | |||
891e76af0a | |||
67e92fdf68 | |||
13186e1ee2 | |||
14f97cbc10 | |||
6d2072f198 | |||
a78bc86bca | |||
5e11e0a7db | |||
319d883880 | |||
2d52058a55 | |||
e5c84fd11c | |||
598d163173 | |||
6f09a5abff | |||
fbb04f5ebe | |||
0bea688a83 | |||
19d973f5d6 | |||
92d5143f81 | |||
6332025bbc | |||
bdccddfe97 | |||
a236a7a9aa | |||
72c4cbe871 | |||
7ffd9b87b8 | |||
a657bac1b1 | |||
f4e2b819d2 | |||
634fbc748e | |||
8fde83499e | |||
5e90386fda | |||
2116070f02 | |||
02c193118b | |||
33894509e6 | |||
b208acf4a0 | |||
02f4b5f546 | |||
b2513cad23 | |||
4f28df03ab | |||
a7dab9a257 | |||
ca756dbeee | |||
760ca98ee4 | |||
960dc5c62f | |||
03d9e1d182 | |||
25886044ab | |||
4dd7cafe32 | |||
f78a7b201b | |||
4e374eb2cd | |||
5b80ef6d04 | |||
cc5862533e | |||
d58dd1d035 | |||
3b497eca36 | |||
f4a11533be | |||
fe24c8fb86 | |||
608f292e4f | |||
9868ca3eca | |||
de3c62fea4 | |||
4b6144c489 | |||
4838d6c037 | |||
ec4be4f2c0 | |||
e93f53f459 | |||
efad86335f | |||
70c2165df4 | |||
c1ea73d21c | |||
181616fb67 | |||
ed8e41a02c | |||
37f881017a | |||
cda7814c21 | |||
c87cb5d051 | |||
70a55428bc | |||
8c0b4ac216 | |||
60292ca0f8 | |||
fecac2c4d2 | |||
9167d113dc | |||
04ebc85fcc | |||
de5986e5dd | |||
7cfc6a9fd9 | |||
e0c29190a2 | |||
ff7b6c5abe | |||
269227b093 | |||
355c0a8c11 | |||
be95de0963 | |||
0dd6567ce4 | |||
638a69ad23 | |||
7115ac19b6 | |||
b20f994ac4 | |||
4adf3e9385 | |||
ae13fbce72 | |||
68840b4544 | |||
e2af1de83f | |||
7156d2e7b3 | |||
e2d451a400 | |||
3189bd5359 | |||
c3fce9822f | |||
ca02a8fd72 | |||
3c3a5062bd | |||
edfa8493d8 | |||
52223e61d4 | |||
827ce17fac | |||
96700d42b4 | |||
56e61de863 | |||
2932a954ab | |||
de7bb0b979 | |||
6ef4aa9715 | |||
e333eb15cd | |||
80c8ff9f20 | |||
3da71c9274 | |||
3a887eb604 | |||
c6549694a8 | |||
b9cd0054a9 | |||
cf5137723d | |||
945a7ed10f | |||
5ef0012518 | |||
94e3874545 | |||
722fb58010 | |||
d63933b2de | |||
c6c0819a5e | |||
45681f86ce | |||
50c5c12523 | |||
4f773120b2 | |||
4ffefc99a2 | |||
16fc44b3ab | |||
e8cfadaae3 | |||
ac6720e27d | |||
65c76e10be | |||
ae7255953d | |||
0bbee8d91e | |||
24d6d2c24a | |||
28e9605ab7 | |||
6b28201f72 | |||
ae49c04dcd | |||
87abe15227 | |||
5f90db723c | |||
2ab90ae2ed | |||
4b7970c191 | |||
3cf092d058 | |||
0be51b69fb | |||
57537a350f | |||
2b030abf0d | |||
e8217b0867 | |||
83bb7c99ea | |||
24d0d776b7 | |||
f4b01bc18b | |||
509d81ba7d | |||
eaed8bab08 | |||
3c59b3b8dd | |||
2935722b98 | |||
af5f61bd95 | |||
8bc039c95f | |||
b0b3701fcf | |||
c489aeb9dc | |||
db983c5439 | |||
ca6fff9648 | |||
5de120f7e7 | |||
c21f7f371a | |||
03cc80dc3c | |||
413a944e70 | |||
25ece55d7f | |||
4d493504e3 | |||
bb917b70f3 | |||
c0d0ebb104 | |||
f8060ef757 | |||
193139f06f | |||
f92a6e58d3 | |||
8e1a841b42 | |||
6a2c0ac86d | |||
9bb8a94c55 | |||
f8bb6a04a9 | |||
1e7932f09c | |||
02b6228856 | |||
bcf5e1fc0b | |||
3fb92aa9dd | |||
77d688e508 | |||
1ec3a69e29 | |||
aca3b4ca1b | |||
0c6fcc1186 | |||
92ae104f39 | |||
ae6884949b | |||
1a313e4d5d | |||
e8d83a085f | |||
c724756b5f | |||
ad3e3ce255 | |||
f084efd263 | |||
af079f3168 | |||
11943c4b5c | |||
389f356a3a | |||
0219d09067 | |||
df11f41416 | |||
97330b65ca | |||
eed951016b | |||
39847c5db6 | |||
12592c1206 | |||
cb90c3722d | |||
851914f0ae | |||
e85973ec8b | |||
7a30ab25bd | |||
5a45f15c7f | |||
558e5e2e9a | |||
82d21b6971 | |||
ccc60dacf4 | |||
517dfdf523 | |||
43ba40ec4c | |||
557d190236 | |||
5c6a99afca | |||
c98c5e469b | |||
d827ccc115 | |||
a40d18f8b2 | |||
0cd18a3b7a | |||
ebe01104e7 | |||
6b8b6b4b3d | |||
31026576f4 | |||
2c58bc6a5c | |||
3ed2bcf3fa | |||
8f1e8b1196 | |||
c0d6958e37 | |||
d2d2959237 | |||
c31ee2d76f | |||
dc318d3f47 | |||
429bf7f13d | |||
96ce9ed7c1 | |||
41288302f4 | |||
039092f292 | |||
fbee70818a | |||
5027f66d77 | |||
f5773de068 | |||
88b6fabb0d | |||
37dd32f1b0 | |||
5713cd6092 | |||
3174bd1c85 | |||
eb4da5ff0c | |||
98d5758ba1 | |||
c49c07b34a | |||
058fcd8aba | |||
699cce713b | |||
a88aa53d82 | |||
7fa13a5d5d | |||
56b420d68b | |||
efd49ae92a | |||
71204172df | |||
6cb387e3a8 | |||
05b32ce26c | |||
b920e52218 | |||
f07816a0d1 | |||
c7d4582efa | |||
77dc4d3d77 | |||
1d073b6897 | |||
56aaaf2e07 | |||
e360077e09 | |||
0fcf768772 | |||
a5f3de61a9 | |||
915fd41bf6 | |||
497f5289e6 | |||
8a8e76e839 | |||
086beea501 | |||
1a522c6696 | |||
91f8987b6c | |||
5771a3c722 | |||
9d8faae375 | |||
2ddf4117d0 | |||
68cbb63355 | |||
7df21e1790 | |||
c25239a398 | |||
04165a9da8 | |||
0bacb903ea | |||
a1fd34ebb6 | |||
126ad92ed8 | |||
e3667f6827 | |||
39560969f4 | |||
f1a77c4146 | |||
68b1959a85 | |||
931a5840e8 | |||
f430152f61 | |||
e0b886e2cc | |||
ef9fd77850 | |||
672c42a20e | |||
dbce25fdea | |||
a583f3d6e2 | |||
cf0ef68cda | |||
be6925c504 | |||
14bba171e7 | |||
1e50bc4cc0 | |||
374b07a126 | |||
460a44a9b1 | |||
f944d7cae4 | |||
b4309a9f60 | |||
539ab79e99 | |||
99dad79572 | |||
26f9b1ccbd | |||
da4ffb235c | |||
b03e35a8d6 | |||
f8c04a6a51 | |||
7033d43e61 | |||
bd9f19f6c7 | |||
a4c07ba9a0 | |||
4b9a8c1dad | |||
b05e9c194a | |||
c01931e5a6 | |||
7afbd8f0f0 | |||
b6eb4cbb61 | |||
21e1fcf693 | |||
cfff7969e3 | |||
6bfbb075c8 | |||
1a74ceca3e | |||
7990dd6f77 | |||
f4857355b6 | |||
81d68bebc6 | |||
8992d51787 | |||
e79827384a | |||
4905f49108 | |||
073d30bf61 | |||
3515951bb8 | |||
fde7ddf832 | |||
7a8d0b8dad | |||
56645a48af | |||
a7d3006cda | |||
c2624daa9a | |||
2126e2a723 | |||
c2980b3c44 | |||
ca358e4d17 | |||
22796d0d27 | |||
e6f1a90ed7 | |||
6a80bc5b54 | |||
5dd2f273fc | |||
1ed4407c11 | |||
f7e4dbc99e | |||
57ae305c7d | |||
5d75d8371b | |||
bbbd4731d7 | |||
df01ca7e4b | |||
931e750d65 | |||
697fc5b85e | |||
cd86c708dc | |||
cffdf7fede | |||
c05b89a77d | |||
f66950d312 | |||
98cb8de478 | |||
1dc774d229 | |||
1c7ff1dd8c | |||
fe73e09aa4 | |||
b2caec384f | |||
1c221d5844 | |||
8b3864969c | |||
cbd1570a8c | |||
df71899244 | |||
48f853aa1a | |||
e2e25f6e62 | |||
68bbea17d1 | |||
2ec1e08081 | |||
3007694b77 | |||
c2af014dad | |||
a46a8cc686 | |||
9ab2c1eb1f | |||
84d07a3e0c | |||
8d6ceccf87 | |||
5176ad521f | |||
feb1ef4ea5 | |||
00e742e0e0 | |||
a95dbd2215 | |||
cbbdd8eeab | |||
8caab4e562 | |||
1537bb3298 | |||
cb7b8713cf | |||
3d8903b2da | |||
7f01ccc83f | |||
e1eba8dec3 | |||
3fbbeea434 | |||
47e5504203 | |||
d41abc2b1c | |||
b46da37932 | |||
d862f10d5c | |||
74ca3fcc9a | |||
73c97f1381 | |||
f516d24089 | |||
132a9bbfe9 | |||
e10bf9d897 | |||
c755a8974c | |||
0254ff0281 | |||
2465eafff0 | |||
5481e19709 | |||
5dbfbdb82b | |||
f74710998d | |||
db75f1c81e | |||
046ac97a9b | |||
b8f0dd5f38 | |||
0ea61a1e3f | |||
c012f2cda3 | |||
978af1009e | |||
39a985cbba | |||
06d60c981d | |||
0e2d0f07e8 | |||
e8e9e12302 | |||
781fea0a96 | |||
4aa73c607f | |||
a276b6b7f5 | |||
ea875a14f9 | |||
cb008bb700 | |||
4633c142a8 | |||
001d6415bf | |||
a182ca3660 | |||
bd363b2c93 | |||
205a3780d5 | |||
5e82b50a00 | |||
476f3162af | |||
b7291dffb9 | |||
15424149cd | |||
f53770a2fc | |||
0e9cf558b4 | |||
95bf19a417 | |||
8471765e30 | |||
6d7fb07a4c | |||
1e8c7bd637 | |||
a1fc93b398 | |||
0722ef3125 | |||
49b4ae2f56 | |||
e2d1d58acf | |||
44339d3b89 | |||
404bb4a653 | |||
066550d38c | |||
020eaded36 | |||
445da80df8 | |||
f937b8ca5d | |||
7901b6f463 | |||
e9f6dcf479 | |||
264485c8ff | |||
3525bb3f9f | |||
78d1504d66 | |||
c6cb499758 | |||
bc57ea5725 | |||
27f752ff9e | |||
b9275646ad | |||
9e2f2697c7 | |||
b6b0df62b6 | |||
0ba537e479 | |||
75ddf535dc | |||
b1de501bef | |||
0f3a63f101 | |||
3b4b2d707f | |||
f405aa1733 | |||
df0fdb7ecb | |||
91b7a87557 | |||
9468b9ca1e | |||
d7982e178e | |||
9cf5714a5b | |||
0c9ac8911a | |||
4730c8c0a9 | |||
43efb8acfd | |||
6ecca8fcb0 | |||
17cb63a57f | |||
4f83fcb001 | |||
ab94af6d29 | |||
7c725cc69b | |||
f0198d2d2e | |||
5ddccbdee4 | |||
8fb39b8c7e | |||
bd5293f4b1 | |||
b91180f5b2 | |||
7c3b5065a5 | |||
9aef802bea | |||
f7d85231f2 | |||
5b3a911e8d | |||
65f5e1c1ab | |||
b401a6c33b | |||
faefcc4799 | |||
1afb9e3e48 | |||
09d3372cc0 | |||
671587c029 | |||
fb0b0b96ec | |||
72d89fefc3 | |||
a11313fe96 | |||
aba3a67b80 | |||
cacb4c9d93 | |||
86490226ed | |||
eb203c93b2 | |||
2bb8fa596a | |||
bb52676f50 | |||
536f8937cb | |||
e8b14f8c8a | |||
aca09bcd4e | |||
fdb4fa28db | |||
93362963e2 | |||
33a7375c72 | |||
97bad0fcb9 | |||
059711af37 | |||
f0c5106764 | |||
4182615aa9 | |||
ff2c42e921 | |||
44be9829d4 | |||
e450f5ec6a | |||
70a7217353 | |||
7dfb1b7192 | |||
da8d535dae | |||
404be013a2 | |||
6d4c0d0d46 | |||
54371bc6be | |||
5c230e2ac5 | |||
0814f6369d | |||
9e658e7947 | |||
bf57be309f | |||
6f34dddb5a | |||
c47f2f3449 | |||
5dcacaae2a | |||
b9eb3d5a52 | |||
78078f4ef3 | |||
ea66f2d12f | |||
de16c2a7f1 | |||
aae4e3f993 | |||
911ff49238 | |||
6731c39ce2 | |||
81eade8ede | |||
78958c7699 | |||
575c9617c7 | |||
1ab80b0517 | |||
4b388f56b2 | |||
fb91ba25f3 | |||
4d5506a0a8 | |||
1413244617 | |||
dc77b07c92 | |||
9f68fc6f3b | |||
47a769e677 | |||
ecaa8e45a4 | |||
36e92c194d | |||
4a8f2b5a69 | |||
22e0332833 | |||
53be854efd | |||
0a1aaec708 | |||
cad8ffc0c6 | |||
8ebbfbb84b | |||
2ef44ec70b | |||
978b54dff9 | |||
300b014f73 | |||
1e94ec0c6a | |||
86018684c9 | |||
300bf85dae | |||
1cbbf9409f | |||
0ff79b7d5a | |||
0dccd78567 | |||
0e4c7a9494 | |||
679e747b5c | |||
b16757e8d1 | |||
daaf13d99c | |||
6c3165b31a | |||
e86e9361b6 | |||
50f8366bc2 | |||
f3bf331b5f | |||
73ec3903bf | |||
85cc0d8184 | |||
7e00d9f395 | |||
bd7f3567f8 | |||
bd0f72c60e | |||
2505369c08 | |||
ab4572f544 | |||
80fb0a99a8 | |||
bdff083402 | |||
053e05628f | |||
d8b0a13ee2 | |||
537260879a | |||
a7309be567 | |||
829ba49c1c | |||
fa6d18e9b2 | |||
fd42fad045 | |||
447c5bb8fe | |||
475f0692a0 | |||
2024eb5d6e | |||
cf8b53adff | |||
3aac30b8ee | |||
62de278f24 | |||
3b07afe3fc | |||
d90db50a60 | |||
f12df80c5b | |||
936dfea8a7 | |||
9e9c109898 | |||
9e21583331 | |||
19460a03f5 | |||
72c2fbee9c | |||
2cd38fefcd | |||
549e346ad4 | |||
111f8beab3 | |||
4c351ba686 | |||
a1f00518b8 | |||
3d2264fa56 | |||
3e9476cca2 | |||
54f92fb26c | |||
b260d08225 | |||
c89f6e649c | |||
5287441a65 | |||
9b3f4a3a66 | |||
1decd2dd89 | |||
490e756622 | |||
87ce1ed736 | |||
0896704de7 | |||
d95aaa2089 | |||
01d54a7a4c | |||
70a7d83175 | |||
f6927ad1bf | |||
bd31ac1d52 | |||
b16d087fd1 | |||
3563f0deec | |||
adb5ab5ed1 | |||
abb5bfb6e4 | |||
987aeda6fb | |||
d847a289a4 | |||
66c488b79a | |||
aa99d289c3 | |||
bb9208f8ee | |||
3eea80a121 | |||
68b13a0ecd | |||
12cd3d07a2 | |||
ebf44704b2 | |||
d555bc6e75 | |||
b5f7dc29af | |||
b403aa20a6 | |||
33092b6d85 | |||
aaab8d697a | |||
8b8d8449f2 | |||
545c5530e3 | |||
ae48a0e251 | |||
62ba3838ef | |||
cdcb413241 | |||
f8b34a16dd | |||
a971d87008 | |||
aba3319427 | |||
d3200dc76f | |||
e7621a6cd0 | |||
d6793a0802 | |||
37ba8f9a71 | |||
cb879c61ca |
10
.gitignore
vendored
@ -1,17 +1,11 @@
|
||||
.cproject
|
||||
.project
|
||||
bin/
|
||||
calibrationWizards/
|
||||
slsDetectorGui/
|
||||
slsDetectorSoftware/
|
||||
slsReceiverSoftware/
|
||||
slsDetectorCalibration/
|
||||
slsImageReconstruction/
|
||||
.settings
|
||||
JCTBGui/
|
||||
*.aux
|
||||
*.log
|
||||
*.out
|
||||
*.toc
|
||||
build
|
||||
tests
|
||||
docs/
|
||||
RELEASE.txt
|
||||
|
@ -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)
|
||||
|
98
Makefile
@ -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 ""
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
||||
|
82
README.md
@ -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
@ -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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
17
checkout.sh
@ -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
@ -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
@ -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`
|
||||
|
33
examples/eiger_10Gb.config
Normal 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
@ -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
|
@ -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
@ -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
|
||||
|
30
examples/jungfrau_two.config
Normal 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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,8 +0,0 @@
|
||||
#!/bin/bash
|
||||
git $1
|
||||
for i in sls*/; do
|
||||
cd $i
|
||||
echo $i
|
||||
git $1
|
||||
cd ..
|
||||
done
|
@ -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><>.
|
||||
|
||||
|
||||
|
13
manual/docs/html/slsDetectors-FAQ/WARNINGS
Normal 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
|
101
manual/docs/html/slsDetectors-FAQ/footnode.html
Normal 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 </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 <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 </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>
|
1583
manual/docs/html/slsDetectors-FAQ/images.pl
Normal file
2096
manual/docs/html/slsDetectors-FAQ/images.tex
Normal file
BIN
manual/docs/html/slsDetectors-FAQ/img1.png
Normal file
After Width: | Height: | Size: 242 B |
BIN
manual/docs/html/slsDetectors-FAQ/img10.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img11.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img12.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img13.png
Normal file
After Width: | Height: | Size: 682 B |
BIN
manual/docs/html/slsDetectors-FAQ/img14.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img15.png
Normal file
After Width: | Height: | Size: 223 B |
BIN
manual/docs/html/slsDetectors-FAQ/img16.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img17.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img18.png
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img19.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img2.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img20.png
Normal file
After Width: | Height: | Size: 255 B |
BIN
manual/docs/html/slsDetectors-FAQ/img21.png
Normal file
After Width: | Height: | Size: 471 B |
BIN
manual/docs/html/slsDetectors-FAQ/img22.png
Normal file
After Width: | Height: | Size: 269 B |
BIN
manual/docs/html/slsDetectors-FAQ/img23.png
Normal file
After Width: | Height: | Size: 259 B |
BIN
manual/docs/html/slsDetectors-FAQ/img24.png
Normal file
After Width: | Height: | Size: 416 B |
BIN
manual/docs/html/slsDetectors-FAQ/img25.png
Normal file
After Width: | Height: | Size: 485 B |
BIN
manual/docs/html/slsDetectors-FAQ/img26.png
Normal file
After Width: | Height: | Size: 461 B |
BIN
manual/docs/html/slsDetectors-FAQ/img27.png
Normal file
After Width: | Height: | Size: 473 B |
BIN
manual/docs/html/slsDetectors-FAQ/img28.png
Normal file
After Width: | Height: | Size: 348 B |
BIN
manual/docs/html/slsDetectors-FAQ/img29.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img3.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img30.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img31.png
Normal file
After Width: | Height: | Size: 9.0 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img32.png
Normal file
After Width: | Height: | Size: 578 B |
BIN
manual/docs/html/slsDetectors-FAQ/img33.png
Normal file
After Width: | Height: | Size: 495 B |
BIN
manual/docs/html/slsDetectors-FAQ/img34.png
Normal file
After Width: | Height: | Size: 550 B |
BIN
manual/docs/html/slsDetectors-FAQ/img35.png
Normal file
After Width: | Height: | Size: 159 B |
BIN
manual/docs/html/slsDetectors-FAQ/img36.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img4.png
Normal file
After Width: | Height: | Size: 211 B |
BIN
manual/docs/html/slsDetectors-FAQ/img5.png
Normal file
After Width: | Height: | Size: 215 B |
BIN
manual/docs/html/slsDetectors-FAQ/img6.png
Normal file
After Width: | Height: | Size: 161 B |
BIN
manual/docs/html/slsDetectors-FAQ/img7.png
Normal file
After Width: | Height: | Size: 9.8 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img8.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
manual/docs/html/slsDetectors-FAQ/img9.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
41
manual/docs/html/slsDetectors-FAQ/index.html
Normal 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>
|
134
manual/docs/html/slsDetectors-FAQ/internals.pl
Normal 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;
|
||||
|
269
manual/docs/html/slsDetectors-FAQ/labels.pl
Normal 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;
|
||||
|
30
manual/docs/html/slsDetectors-FAQ/slsDetectors-FAQ.css
Normal 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 */
|
41
manual/docs/html/slsDetectors-FAQ/slsDetectors-FAQ.html
Normal 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>
|
BIN
manual/docs/pdf/slsDetectorInstall.pdf
Normal file
BIN
manual/docs/pdf/slsDetectors-FAQ.pdf
Normal 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
@ -0,0 +1 @@
|
||||
../../slsReceiverSoftware/include/ansi.h
|
@ -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
|
||||
|
1
manual/manual-api/libSlsDetector.so
Symbolic link
@ -0,0 +1 @@
|
||||
../../build/bin/libSlsDetector.so
|
1
manual/manual-api/libSlsReceiver.so
Symbolic link
@ -0,0 +1 @@
|
||||
../../build/bin/libSlsReceiver.so
|
1
manual/manual-api/libzmq.a
Symbolic link
@ -0,0 +1 @@
|
||||
../../slsReceiverSoftware/include/libzmq.a
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li id="current"><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="classdetectorData.html">detectorData</a></td><td class="indexvalue">Data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.) </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td class="indexvalue">Class for detector functionalitiesto embed the detector controls in the users custom interface e.g. EPICS, Lima etc </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td class="indexvalue">Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data </td></tr>
|
||||
</table>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>detectorData Member List</h1>This is the complete list of members for <a class="el" href="classdetectorData.html">detectorData</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">detectorData</a>(double *val=NULL, double *err=NULL, double *ang=NULL, double p_ind=-1, const char *fname="", int np=-1, int ny=1)</td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td><code> [inline]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">fileName</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">npoints</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">npy</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">progressIndex</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a></td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">~detectorData</a>()</td><td><a class="el" href="classdetectorData.html">detectorData</a></td><td><code> [inline]</code></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>detectorData Class Reference</h1><!-- doxytag: class="detectorData" -->data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.)
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="detectorData_8h-source.html">detectorData.h</a>></code>
|
||||
<p>
|
||||
<a href="classdetectorData-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">detectorData</a> (double *val=NULL, double *err=NULL, double *ang=NULL, double p_ind=-1, const char *fname="", int np=-1, int ny=1)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">The constructor. <a href="#3f8538f5f634295fc40682b8aed47b31"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">~detectorData</a> ()</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">The destructor deletes also the arrays pointing to data/errors/angles if not NULL. <a href="#d32a037cc2bd6e8caf4556cbd4b88ec7"></a><br></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">double * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">pointer to the data <a href="#0f4e31d65f9616e83a2e5521453d0364"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">double * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">pointer to the errors <a href="#29cb1c6bb5635e918ae28505ccd0d8f9"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">double * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">pointer to the angles (NULL if no angular conversion) <a href="#cc9f9708b9ff2d840208cae843fb4b7a"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">progressIndex</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">file index <a href="#976b3287d46aed032487bbeed74132da"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">fileName</a> [1000]</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">file name <a href="#91d1e3466878def295a531c01bdeef6b"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">npoints</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">number of points <a href="#50aabf6f2c40587f8e915cf4913a2cfe"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">npy</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">dimensions in y coordinate <a href="#c289d259e7fd9445a9c04976a82cb324"></a><br></td></tr>
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.)
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00009">9</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
|
||||
<a class="anchor" name="3f8538f5f634295fc40682b8aed47b31"></a><!-- doxytag: member="detectorData::detectorData" ref="3f8538f5f634295fc40682b8aed47b31" args="(double *val=NULL, double *err=NULL, double *ang=NULL, double p_ind=-1, const char *fname="", int np=-1, int ny=1)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">detectorData::detectorData </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">double * </td>
|
||||
<td class="paramname"> <em>val</em> = <code>NULL</code>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">double * </td>
|
||||
<td class="paramname"> <em>err</em> = <code>NULL</code>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">double * </td>
|
||||
<td class="paramname"> <em>ang</em> = <code>NULL</code>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">double </td>
|
||||
<td class="paramname"> <em>p_ind</em> = <code>-1</code>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"> <em>fname</em> = <code>""</code>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>np</em> = <code>-1</code>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>ny</em> = <code>1</code></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
The constructor.
|
||||
<p>
|
||||
<dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>val</em> </td><td>pointer to the data </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>err</em> </td><td>pointer to errors </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>ang</em> </td><td>pointer to the angles </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>f_ind</em> </td><td>file index </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>fname</em> </td><td>file name to which the data are saved </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>np</em> </td><td>number of points in x coordinate defaults to the number of detector channels (1D detector) </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>ny</em> </td><td>dimension in y (1D detector) </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00020">20</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="detectorData_8h-source.html#l00031">fileName</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="d32a037cc2bd6e8caf4556cbd4b88ec7"></a><!-- doxytag: member="detectorData::~detectorData" ref="d32a037cc2bd6e8caf4556cbd4b88ec7" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">detectorData::~detectorData </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"><code> [inline]</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
The destructor deletes also the arrays pointing to data/errors/angles if not NULL.
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00025">25</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
References <a class="el" href="detectorData_8h-source.html#l00029">angles</a>, <a class="el" href="detectorData_8h-source.html#l00028">errors</a>, and <a class="el" href="detectorData_8h-source.html#l00025">values</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr><h2>Member Data Documentation</h2>
|
||||
<a class="anchor" name="cc9f9708b9ff2d840208cae843fb4b7a"></a><!-- doxytag: member="detectorData::angles" ref="cc9f9708b9ff2d840208cae843fb4b7a" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">double* <a class="el" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">detectorData::angles</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
pointer to the angles (NULL if no angular conversion)
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00029">29</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="detectorData_8h-source.html#l00025">~detectorData()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="29cb1c6bb5635e918ae28505ccd0d8f9"></a><!-- doxytag: member="detectorData::errors" ref="29cb1c6bb5635e918ae28505ccd0d8f9" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">double* <a class="el" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">detectorData::errors</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
pointer to the errors
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00028">28</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="detectorData_8h-source.html#l00025">~detectorData()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="91d1e3466878def295a531c01bdeef6b"></a><!-- doxytag: member="detectorData::fileName" ref="91d1e3466878def295a531c01bdeef6b" args="[1000]" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">char <a class="el" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">detectorData::fileName</a>[1000] </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
file name
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00031">31</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="detectorData_8h-source.html#l00020">detectorData()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="50aabf6f2c40587f8e915cf4913a2cfe"></a><!-- doxytag: member="detectorData::npoints" ref="50aabf6f2c40587f8e915cf4913a2cfe" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int <a class="el" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">detectorData::npoints</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
number of points
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00032">32</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="mainClient_8cpp-source.html#l00019">dataCallback()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="c289d259e7fd9445a9c04976a82cb324"></a><!-- doxytag: member="detectorData::npy" ref="c289d259e7fd9445a9c04976a82cb324" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int <a class="el" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">detectorData::npy</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
dimensions in y coordinate
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00033">33</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="mainClient_8cpp-source.html#l00019">dataCallback()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="976b3287d46aed032487bbeed74132da"></a><!-- doxytag: member="detectorData::progressIndex" ref="976b3287d46aed032487bbeed74132da" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">double <a class="el" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">detectorData::progressIndex</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
file index
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00030">30</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="0f4e31d65f9616e83a2e5521453d0364"></a><!-- doxytag: member="detectorData::values" ref="0f4e31d65f9616e83a2e5521453d0364" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">double* <a class="el" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">detectorData::values</a> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
pointer to the data
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="detectorData_8h-source.html#l00025">25</a> of file <a class="el" href="detectorData_8h-source.html">detectorData.h</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="detectorData_8h-source.html#l00025">~detectorData()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="detectorData_8h-source.html">detectorData.h</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>slsDetectorUsers Member List</h1>This is the complete list of members for <a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#5128e295a5b926ccabdb48083d324789">addFrame</a>(double *data, double pos, double i0, double t, string fname, double var)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#d6b968f4d520342324762c496ebeb481">dumpDetectorSetup</a>(string const fname)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#51f92b69e05e8ee2e0c547ec4a6e97da">enableAngularConversion</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#82efe2f57758d63d330d78b121f8e77e">enableCountRateCorrection</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#94c74499f7653116cd8aff9ec0d14c43">enableFlatFieldCorrection</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#e5bc1c9c8e7e6cb7c9cde06a3133d263">enablePixelMaskCorrection</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#6d54a79ae4cfdb808f5db9969537efd3">enableWriteToFile</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#9cbe00dac8a19b71de88ebbdf3b0ea29">finalizeDataset</a>(double *a, double *v, double *e, int &np)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#c9ea028f75a180534c8d00eeea0727d3">getBeamEnergy</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">getCommand</a>(int narg, char *args[], int pos=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">getDetectorDeveloper</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#2cbba4518b585064f7870ae2d39a8b8b">getDetectorFirmwareVersion</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#1c79314ceeda9b3085ca118e25882669">getDetectorSerialNumber</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">getDetectorSettings</a>(string s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [inline, static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#a66defec09b568a514e57b444dbe0d7f">getDetectorSettings</a>(int s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [inline, static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">getDetectorSize</a>(int &x0, int &y0, int &nx, int &ny)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#1857f2afea58227cb96ad92f5e562a5e">getDetectorSoftwareVersion</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">getDetectorStatus</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#5292a3d9c12696512b81bcc6c579a03c">getDetectorType</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#6e3467bf3c0c246f69f85d485d84dd62">getFileIndex</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#5f30c83e8bf07a92fad0916d43e3799c">getFileName</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#81969295c2b08f14e9c3d4fa1f7d4e16">getFilePath</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#0b20511a94205abd689f31bd1a2d4c18">getFlatFieldCorrectionDir</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#a83083f73523557e6129f33b59f38327">getFlatFieldCorrectionFile</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#588a5e1d231cd6778f6f78fdc53b9681">getMaximumDetectorSize</a>(int &nx, int &ny)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#09ded3b9c81e4544d42bb0697c3b7624">getModuleFirmwareVersion</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#5c0e9f8836e1a8a2d986408e4f5dfd3b">getModuleSerialNumber</a>(int imod=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#e6e5f06995e3ef110824adc5f8b095e9">getPositions</a>(double *pos=NULL)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#547feb09262a2f0fa1ec4de82e92ab63">getThisSoftwareVersion</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#fe8029788742125c44383817f89214ca">getThresholdEnergy</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#420880726f4036bf9da83edfcb2d6cf0">getTimingMode</a>(int f)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [inline, static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#e88a9626e4e661c1c0e1d27ba4a57d50">getTimingMode</a>(string s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [inline, static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#56fa8890298a01fc58baad413dfdf1c1">initDataset</a>(int refresh)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [virtual]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#5f7c26833decef59c1abfd7d745c4671">putCommand</a>(int narg, char *args[], int pos=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">readConfigurationFile</a>(string const fname)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#2a85e28ff08e3ec1e08bea3ba7d0fb08">registerAcquisitionFinishedCallback</a>(int(*func)(double, int, void *), void *pArg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#d1ab73675435879c2c5cef7adab02c32">registerConnectChannelsCallback</a>(int(*func)(void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">registerDataCallback</a>(int(*userCallback)(detectorData *d, int f, void *), void *pArg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#a94dd8fce8548ba8e79201ec50fe27d6">registerDisconnectChannelsCallback</a>(int(*func)(void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#1969785197030aa8e2d3c3d48a9cb45c">registerGetI0Callback</a>(double(*func)(int, void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#c2b87416288e657a209e1374c778eb16">registerGetPositionCallback</a>(double(*func)(void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#0f7c9bd3c46647d5dda2fa5312f3ef92">registerGoToPositionCallback</a>(int(*func)(double, void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#e807e9f4a015a4bbcb22e36b80577ea5">registerGoToPositionNoWaitCallback</a>(int(*func)(double, void *), void *arg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#898cf0db148f0d3de7d4725cc8342c56">registerRawDataCallback</a>(int(*userCallback)(double *p, int n, void *), void *pArg)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">retrieveDetectorSetup</a>(string const fname)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">runStatusType</a>(int s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [inline, static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#475938986407804877df4dcece97cc19">setBeamEnergy</a>(int e_eV)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#ff667cf0665154cdff5d5f3dbc3526ba">setBitDepth</a>(int i=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#99f67fab7edfe68cc8b2300e282ff3f2">setDelayAfterTrigger</a>(double t=-1, bool inseconds=false)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">setDetectorSize</a>(int x0=-1, int y0=-1, int nx=-1, int ny=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">setExposurePeriod</a>(double t=-1, bool inseconds=false)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">setExposureTime</a>(double t=-1, bool inseconds=false)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#6b92ea7e237c77aa5107d7aabf76fe2d">setFileIndex</a>(int i)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#ff4a8ff4852e50d4ec05204cbc7fea9e">setFileName</a>(string s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#d833e1051299e101a5b5097c598ba9cb">setFilePath</a>(string s)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#65b112dac3d8b94f219f4d64c13cf0f9">setFlatFieldCorrectionDir</a>(string dir)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#ad9e6da8683ba2887174505fd3b7d739">setFlatFieldCorrectionFile</a>(string fname="")</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#8b741851c4eaef4e29322c99fd17cb3b">setNumberOfCycles</a>(int64_t t=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">setNumberOfFrames</a>(int64_t t=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#61d4acb00c997c5e02be6a191401c4ce">setNumberOfGates</a>(int64_t t=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">setOnline</a>(int const online=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#f296c05ee6134fb8d53d08a025e89775">setPositions</a>(int nPos, double *pos)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#db084473ffe61960b86abdfa8efcc80d">setReceiverMode</a>(int n=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">setSettings</a>(int isettings=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#1354266fd1bfaccd58992a3f51bbbd1d">setThresholdEnergy</a>(int e_eV)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#e2825524756c4bdf418a6233e137b4d7">setTimingMode</a>(int pol=-1)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#17323cd635b9e5c2916be3ca30ec748c">slsDetectorUsers</a>(int id=0)</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">startMeasurement</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#2abc673c45c1fe006f6b0fea6188e3a9">stopMeasurement</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsDetectorUsers.html#0d1daf6539befe56d6e3df0b24f5d68b">~slsDetectorUsers</a>()</td><td><a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a></td><td><code> [virtual]</code></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>slsReceiverUsers Member List</h1>This is the complete list of members for <a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a>, including all inherited members.<p><table>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#bad0b3265826da2d9ebf48e59e9d5787">closeFile</a>(int p)</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#f206092e2744e12ce6b717f4181d91a2">getReceiverVersion</a>()</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">receiver</a></td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td><code> [static]</code></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#7471d2945e8650eece86258e6ca56156">registerCallBackAcquisitionFinished</a>(void(*func)(int nf, void *), void *arg)</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#343b9fac505e8c08a7fbf9efdd0f5762">registerCallBackRawDataReady</a>(void(*func)(int framenumber, char *datapointer, int datasize, FILE *filedescriptor, char *guidatapointer, void *), void *arg)</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#5d4bb9244008d0bc570778230d30c5e3">registerCallBackStartAcquisition</a>(int(*func)(char *filepath, char *filename, int fileindex, int datasize, void *), void *arg)</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#79a82ba94fbb19761c7701aa3901b8b1">slsReceiverUsers</a>(int argc, char *argv[], int &success)</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">start</a>()</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">stop</a>()</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
<tr class="memlist"><td><a class="el" href="classslsReceiverUsers.html#9b45943d81ce7a09543aa446de857cb0">~slsReceiverUsers</a>()</td><td><a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a></td><td></td></tr>
|
||||
</table><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>slsReceiverUsers Class Reference</h1><!-- doxytag: class="slsReceiverUsers" -->Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data.
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include <<a class="el" href="slsReceiverUsers_8h-source.html">slsReceiverUsers.h</a>></code>
|
||||
<p>
|
||||
<a href="classslsReceiverUsers-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#79a82ba94fbb19761c7701aa3901b8b1">slsReceiverUsers</a> (int argc, char *argv[], int &success)</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#9b45943d81ce7a09543aa446de857cb0">~slsReceiverUsers</a> ()</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#bad0b3265826da2d9ebf48e59e9d5787">closeFile</a> (int p)</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">start</a> ()</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">stop</a> ()</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#f206092e2744e12ce6b717f4181d91a2">getReceiverVersion</a> ()</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#5d4bb9244008d0bc570778230d30c5e3">registerCallBackStartAcquisition</a> (int(*func)(char *filepath, char *filename, int fileindex, int datasize, void *), void *arg)</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#7471d2945e8650eece86258e6ca56156">registerCallBackAcquisitionFinished</a> (void(*func)(int nf, void *), void *arg)</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#343b9fac505e8c08a7fbf9efdd0f5762">registerCallBackRawDataReady</a> (void(*func)(int framenumber, char *datapointer, int datasize, FILE *filedescriptor, char *guidatapointer, void *), void *arg)</td></tr>
|
||||
|
||||
<tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">static slsReceiverTCPIPInterface * </td><td class="memItemRight" valign="bottom"><a class="el" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">receiver</a></td></tr>
|
||||
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data.
|
||||
<p>
|
||||
<a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a> is a class that can be instantiated in the users software to receive the data from the detectors. Callbacks can be defined for processing and/or saving data
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="slsReceiverUsers_8h-source.html#l00021">21</a> of file <a class="el" href="slsReceiverUsers_8h-source.html">slsReceiverUsers.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
|
||||
<a class="anchor" name="79a82ba94fbb19761c7701aa3901b8b1"></a><!-- doxytag: member="slsReceiverUsers::slsReceiverUsers" ref="79a82ba94fbb19761c7701aa3901b8b1" args="(int argc, char *argv[], int &success)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">slsReceiverUsers::slsReceiverUsers </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>argc</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"> <em>argv</em>[], </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int & </td>
|
||||
<td class="paramname"> <em>success</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Constructor reads config file, creates socket, assigns function table <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>argc</em> </td><td>from command line </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>argv</em> </td><td>from command line </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>succecc</em> </td><td>socket creation was successfull </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="9b45943d81ce7a09543aa446de857cb0"></a><!-- doxytag: member="slsReceiverUsers::~slsReceiverUsers" ref="9b45943d81ce7a09543aa446de857cb0" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">slsReceiverUsers::~slsReceiverUsers </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Destructor
|
||||
</div>
|
||||
</div><p>
|
||||
<hr><h2>Member Function Documentation</h2>
|
||||
<a class="anchor" name="bad0b3265826da2d9ebf48e59e9d5787"></a><!-- doxytag: member="slsReceiverUsers::closeFile" ref="bad0b3265826da2d9ebf48e59e9d5787" args="(int p)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void slsReceiverUsers::closeFile </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>p</em> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Close File and exits receiver server
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="f206092e2744e12ce6b717f4181d91a2"></a><!-- doxytag: member="slsReceiverUsers::getReceiverVersion" ref="f206092e2744e12ce6b717f4181d91a2" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int64_t slsReceiverUsers::getReceiverVersion </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
get get Receiver Version <dl compact><dt><b>Returns:</b></dt><dd>id </dd></dl>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="7471d2945e8650eece86258e6ca56156"></a><!-- doxytag: member="slsReceiverUsers::registerCallBackAcquisitionFinished" ref="7471d2945e8650eece86258e6ca56156" args="(void(*func)(int nf, void *), void *arg)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void slsReceiverUsers::registerCallBackAcquisitionFinished </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void(*)(int nf, void *) </td>
|
||||
<td class="paramname"> <em>func</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">void * </td>
|
||||
<td class="paramname"> <em>arg</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
register callback for end of acquisition <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>func</em> </td><td>end of acquisition callback. Argument nf is total frames caught </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="343b9fac505e8c08a7fbf9efdd0f5762"></a><!-- doxytag: member="slsReceiverUsers::registerCallBackRawDataReady" ref="343b9fac505e8c08a7fbf9efdd0f5762" args="(void(*func)(int framenumber, char *datapointer, int datasize, FILE *filedescriptor, char *guidatapointer, void *), void *arg)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void slsReceiverUsers::registerCallBackRawDataReady </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void(*)(int framenumber, char *datapointer, int datasize, FILE *filedescriptor, char *guidatapointer, void *) </td>
|
||||
<td class="paramname"> <em>func</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">void * </td>
|
||||
<td class="paramname"> <em>arg</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
register callback to be called when data are available (to process and/or save the data). <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>func</em> </td><td>raw data ready callback. arguments are framenum datapointer datasize file descriptor guidatapointer (NULL, no data required) </td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="5d4bb9244008d0bc570778230d30c5e3"></a><!-- doxytag: member="slsReceiverUsers::registerCallBackStartAcquisition" ref="5d4bb9244008d0bc570778230d30c5e3" args="(int(*func)(char *filepath, char *filename, int fileindex, int datasize, void *), void *arg)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void slsReceiverUsers::registerCallBackStartAcquisition </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int(*)(char *filepath, char *filename, int fileindex, int datasize, void *) </td>
|
||||
<td class="paramname"> <em>func</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">void * </td>
|
||||
<td class="paramname"> <em>arg</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
register calbback for starting the acquisition <dl compact><dt><b>Parameters:</b></dt><dd>
|
||||
<table border="0" cellspacing="2" cellpadding="0">
|
||||
<tr><td valign="top"></td><td valign="top"><em>func</em> </td><td>callback to be called when starting the acquisition. Its arguments are filepath filename fileindex data size</td></tr>
|
||||
</table>
|
||||
</dl>
|
||||
<dl compact><dt><b>Returns:</b></dt><dd>0 callback takes care of open,close,write file; 1 callback writes file, we have to open, close it; 2 we open, close, write file, callback does not do anything </dd></dl>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="ef40b4987367b8a0116bcb66534dd7b7"></a><!-- doxytag: member="slsReceiverUsers::start" ref="ef40b4987367b8a0116bcb66534dd7b7" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int slsReceiverUsers::start </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
starts listening on the TCP port for client comminication <dl compact><dt><b>Returns:</b></dt><dd>0 for success or 1 for FAIL in creating TCP server </dd></dl>
|
||||
|
||||
<p>
|
||||
Referenced by <a class="el" href="mainReceiver_8cpp-source.html#l00025">main()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="394001d873a4b7912865a971d4d25f87"></a><!-- doxytag: member="slsReceiverUsers::stop" ref="394001d873a4b7912865a971d4d25f87" args="()" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void slsReceiverUsers::stop </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
stops listening to the TCP & UDP port and exit receiver program
|
||||
<p>
|
||||
Referenced by <a class="el" href="mainReceiver_8cpp-source.html#l00025">main()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr><h2>Member Data Documentation</h2>
|
||||
<a class="anchor" name="8f262724fb99ecd3976214710d82dd18"></a><!-- doxytag: member="slsReceiverUsers::receiver" ref="8f262724fb99ecd3976214710d82dd18" args="" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">slsReceiverTCPIPInterface* <a class="el" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">slsReceiverUsers::receiver</a><code> [static]</code> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="slsReceiverUsers_8h-source.html#l00087">87</a> of file <a class="el" href="slsReceiverUsers_8h-source.html">slsReceiverUsers.h</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr>The documentation for this class was generated from the following file:<ul>
|
||||
<li><a class="el" href="slsReceiverUsers_8h-source.html">slsReceiverUsers.h</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>detectorData.h</h1><a href="detectorData_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
|
||||
<a name="l00002"></a>00002 <span class="preprocessor">#include <unistd.h></span>
|
||||
<a name="l00003"></a>00003 <span class="preprocessor">#include <cstring></span>
|
||||
<a name="l00004"></a>00004 <span class="preprocessor">#ifndef DETECTOR_DATA_H</span>
|
||||
<a name="l00005"></a>00005 <span class="preprocessor"></span><span class="preprocessor">#define DETECTOR_DATA_H</span>
|
||||
<a name="l00006"></a>00006 <span class="preprocessor"></span>
|
||||
<a name="l00009"></a><a class="code" href="classdetectorData.html">00009</a> <span class="keyword">class </span><a class="code" href="classdetectorData.html">detectorData</a> {
|
||||
<a name="l00010"></a>00010 <span class="keyword">public</span>:
|
||||
<a name="l00020"></a><a class="code" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">00020</a> <a class="code" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">detectorData</a>(<span class="keywordtype">double</span> *val=NULL, <span class="keywordtype">double</span> *err=NULL, <span class="keywordtype">double</span> *ang=NULL, <span class="keywordtype">double</span> p_ind=-1, <span class="keyword">const</span> <span class="keywordtype">char</span> *fname=<span class="stringliteral">""</span>, <span class="keywordtype">int</span> np=-1, <span class="keywordtype">int</span> ny=1) : <a class="code" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a>(val), <a class="code" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a>(err), <a class="code" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a>(ang), <a class="code" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">progressIndex</a>(p_ind), <a class="code" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">npoints</a>(np), <a class="code" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">npy</a>(ny){strcpy(<a class="code" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">fileName</a>,fname);};
|
||||
<a name="l00025"></a><a class="code" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">00025</a> <a class="code" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">~detectorData</a>() {<span class="keywordflow">if</span> (<a class="code" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a>) <span class="keyword">delete</span> [] <a class="code" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a>; <span class="keywordflow">if</span> (<a class="code" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a>) <span class="keyword">delete</span> [] <a class="code" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a>; <span class="keywordflow">if</span> (<a class="code" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a>) <span class="keyword">delete</span> [] <a class="code" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a>;};
|
||||
<a name="l00026"></a>00026 <span class="comment">//private:</span>
|
||||
<a name="l00027"></a>00027 <span class="keywordtype">double</span> *<a class="code" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">values</a>;
|
||||
<a name="l00028"></a><a class="code" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">00028</a> <span class="keywordtype">double</span> *<a class="code" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">errors</a>;
|
||||
<a name="l00029"></a><a class="code" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">00029</a> <span class="keywordtype">double</span> *<a class="code" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">angles</a>;
|
||||
<a name="l00030"></a><a class="code" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">00030</a> <span class="keywordtype">double</span> <a class="code" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">progressIndex</a>;
|
||||
<a name="l00031"></a><a class="code" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">00031</a> <span class="keywordtype">char</span> <a class="code" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">fileName</a>[1000];
|
||||
<a name="l00032"></a><a class="code" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">00032</a> <span class="keywordtype">int</span> <a class="code" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">npoints</a>;
|
||||
<a name="l00033"></a><a class="code" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">00033</a> <span class="keywordtype">int</span> <a class="code" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">npy</a>;
|
||||
<a name="l00034"></a>00034 };
|
||||
<a name="l00035"></a>00035
|
||||
<a name="l00036"></a>00036
|
||||
<a name="l00037"></a>00037 <span class="preprocessor">#endif</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>detectorData.h File Reference</h1><code>#include <unistd.h></code><br>
|
||||
<code>#include <cstring></code><br>
|
||||
|
||||
<p>
|
||||
<a href="detectorData_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classdetectorData.html">detectorData</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.) <a href="classdetectorData.html#_details">More...</a><br></td></tr>
|
||||
</table>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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%; }
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li id="current"><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>File List</h1>Here is a list of all files with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="detectorData_8h.html">detectorData.h</a> <a href="detectorData_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="mainClient_8cpp.html">mainClient.cpp</a> <a href="mainClient_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="mainReceiver_8cpp.html">mainReceiver.cpp</a> <a href="mainReceiver_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="slsDetectorUsers_8h.html">slsDetectorUsers.h</a> <a href="slsDetectorUsers_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="slsReceiverUsers_8h.html">slsReceiverUsers.h</a> <a href="slsReceiverUsers_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
</table>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li id="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li id="current"><a href="functions.html"><span>All</span></a></li>
|
||||
<li><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="#index_a"><span>a</span></a></li>
|
||||
<li><a href="#index_c"><span>c</span></a></li>
|
||||
<li><a href="#index_d"><span>d</span></a></li>
|
||||
<li><a href="#index_e"><span>e</span></a></li>
|
||||
<li><a href="#index_f"><span>f</span></a></li>
|
||||
<li><a href="#index_g"><span>g</span></a></li>
|
||||
<li><a href="#index_i"><span>i</span></a></li>
|
||||
<li><a href="#index_n"><span>n</span></a></li>
|
||||
<li><a href="#index_p"><span>p</span></a></li>
|
||||
<li><a href="#index_r"><span>r</span></a></li>
|
||||
<li><a href="#index_s"><span>s</span></a></li>
|
||||
<li><a href="#index_v"><span>v</span></a></li>
|
||||
<li><a href="#index_~"><span>~</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Here is a list of all class members with links to the classes they belong to:
|
||||
<p>
|
||||
<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
|
||||
<li>addFrame()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5128e295a5b926ccabdb48083d324789">slsDetectorUsers</a><li>angles
|
||||
: <a class="el" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">detectorData</a></ul>
|
||||
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
|
||||
<li>closeFile()
|
||||
: <a class="el" href="classslsReceiverUsers.html#bad0b3265826da2d9ebf48e59e9d5787">slsReceiverUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
|
||||
<li>detectorData()
|
||||
: <a class="el" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">detectorData</a><li>dumpDetectorSetup()
|
||||
: <a class="el" href="classslsDetectorUsers.html#d6b968f4d520342324762c496ebeb481">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
|
||||
<li>enableAngularConversion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#51f92b69e05e8ee2e0c547ec4a6e97da">slsDetectorUsers</a><li>enableCountRateCorrection()
|
||||
: <a class="el" href="classslsDetectorUsers.html#82efe2f57758d63d330d78b121f8e77e">slsDetectorUsers</a><li>enableFlatFieldCorrection()
|
||||
: <a class="el" href="classslsDetectorUsers.html#94c74499f7653116cd8aff9ec0d14c43">slsDetectorUsers</a><li>enablePixelMaskCorrection()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e5bc1c9c8e7e6cb7c9cde06a3133d263">slsDetectorUsers</a><li>enableWriteToFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#6d54a79ae4cfdb808f5db9969537efd3">slsDetectorUsers</a><li>errors
|
||||
: <a class="el" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">detectorData</a></ul>
|
||||
<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
|
||||
<li>fileName
|
||||
: <a class="el" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">detectorData</a><li>finalizeDataset()
|
||||
: <a class="el" href="classslsDetectorUsers.html#9cbe00dac8a19b71de88ebbdf3b0ea29">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
|
||||
<li>getBeamEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#c9ea028f75a180534c8d00eeea0727d3">slsDetectorUsers</a><li>getCommand()
|
||||
: <a class="el" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">slsDetectorUsers</a><li>getDetectorDeveloper()
|
||||
: <a class="el" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">slsDetectorUsers</a><li>getDetectorFirmwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2cbba4518b585064f7870ae2d39a8b8b">slsDetectorUsers</a><li>getDetectorSerialNumber()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1c79314ceeda9b3085ca118e25882669">slsDetectorUsers</a><li>getDetectorSettings()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a66defec09b568a514e57b444dbe0d7f">slsDetectorUsers</a><li>getDetectorSize()
|
||||
: <a class="el" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">slsDetectorUsers</a><li>getDetectorSoftwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1857f2afea58227cb96ad92f5e562a5e">slsDetectorUsers</a><li>getDetectorStatus()
|
||||
: <a class="el" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">slsDetectorUsers</a><li>getDetectorType()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5292a3d9c12696512b81bcc6c579a03c">slsDetectorUsers</a><li>getFileIndex()
|
||||
: <a class="el" href="classslsDetectorUsers.html#6e3467bf3c0c246f69f85d485d84dd62">slsDetectorUsers</a><li>getFileName()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5f30c83e8bf07a92fad0916d43e3799c">slsDetectorUsers</a><li>getFilePath()
|
||||
: <a class="el" href="classslsDetectorUsers.html#81969295c2b08f14e9c3d4fa1f7d4e16">slsDetectorUsers</a><li>getFlatFieldCorrectionDir()
|
||||
: <a class="el" href="classslsDetectorUsers.html#0b20511a94205abd689f31bd1a2d4c18">slsDetectorUsers</a><li>getFlatFieldCorrectionFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a83083f73523557e6129f33b59f38327">slsDetectorUsers</a><li>getMaximumDetectorSize()
|
||||
: <a class="el" href="classslsDetectorUsers.html#588a5e1d231cd6778f6f78fdc53b9681">slsDetectorUsers</a><li>getModuleFirmwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#09ded3b9c81e4544d42bb0697c3b7624">slsDetectorUsers</a><li>getModuleSerialNumber()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5c0e9f8836e1a8a2d986408e4f5dfd3b">slsDetectorUsers</a><li>getPositions()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e6e5f06995e3ef110824adc5f8b095e9">slsDetectorUsers</a><li>getReceiverVersion()
|
||||
: <a class="el" href="classslsReceiverUsers.html#f206092e2744e12ce6b717f4181d91a2">slsReceiverUsers</a><li>getThisSoftwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#547feb09262a2f0fa1ec4de82e92ab63">slsDetectorUsers</a><li>getThresholdEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#fe8029788742125c44383817f89214ca">slsDetectorUsers</a><li>getTimingMode()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e88a9626e4e661c1c0e1d27ba4a57d50">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
|
||||
<li>initDataset()
|
||||
: <a class="el" href="classslsDetectorUsers.html#56fa8890298a01fc58baad413dfdf1c1">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
|
||||
<li>npoints
|
||||
: <a class="el" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">detectorData</a><li>npy
|
||||
: <a class="el" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">detectorData</a></ul>
|
||||
<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
|
||||
<li>progressIndex
|
||||
: <a class="el" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">detectorData</a><li>putCommand()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5f7c26833decef59c1abfd7d745c4671">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
|
||||
<li>readConfigurationFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">slsDetectorUsers</a><li>receiver
|
||||
: <a class="el" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">slsReceiverUsers</a><li>registerAcquisitionFinishedCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2a85e28ff08e3ec1e08bea3ba7d0fb08">slsDetectorUsers</a><li>registerCallBackAcquisitionFinished()
|
||||
: <a class="el" href="classslsReceiverUsers.html#7471d2945e8650eece86258e6ca56156">slsReceiverUsers</a><li>registerCallBackRawDataReady()
|
||||
: <a class="el" href="classslsReceiverUsers.html#343b9fac505e8c08a7fbf9efdd0f5762">slsReceiverUsers</a><li>registerCallBackStartAcquisition()
|
||||
: <a class="el" href="classslsReceiverUsers.html#5d4bb9244008d0bc570778230d30c5e3">slsReceiverUsers</a><li>registerConnectChannelsCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#d1ab73675435879c2c5cef7adab02c32">slsDetectorUsers</a><li>registerDataCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">slsDetectorUsers</a><li>registerDisconnectChannelsCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a94dd8fce8548ba8e79201ec50fe27d6">slsDetectorUsers</a><li>registerGetI0Callback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1969785197030aa8e2d3c3d48a9cb45c">slsDetectorUsers</a><li>registerGetPositionCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#c2b87416288e657a209e1374c778eb16">slsDetectorUsers</a><li>registerGoToPositionCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#0f7c9bd3c46647d5dda2fa5312f3ef92">slsDetectorUsers</a><li>registerGoToPositionNoWaitCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e807e9f4a015a4bbcb22e36b80577ea5">slsDetectorUsers</a><li>registerRawDataCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#898cf0db148f0d3de7d4725cc8342c56">slsDetectorUsers</a><li>retrieveDetectorSetup()
|
||||
: <a class="el" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">slsDetectorUsers</a><li>runStatusType()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
|
||||
<li>setBeamEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#475938986407804877df4dcece97cc19">slsDetectorUsers</a><li>setBitDepth()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ff667cf0665154cdff5d5f3dbc3526ba">slsDetectorUsers</a><li>setDelayAfterTrigger()
|
||||
: <a class="el" href="classslsDetectorUsers.html#99f67fab7edfe68cc8b2300e282ff3f2">slsDetectorUsers</a><li>setDetectorSize()
|
||||
: <a class="el" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">slsDetectorUsers</a><li>setExposurePeriod()
|
||||
: <a class="el" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">slsDetectorUsers</a><li>setExposureTime()
|
||||
: <a class="el" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">slsDetectorUsers</a><li>setFileIndex()
|
||||
: <a class="el" href="classslsDetectorUsers.html#6b92ea7e237c77aa5107d7aabf76fe2d">slsDetectorUsers</a><li>setFileName()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ff4a8ff4852e50d4ec05204cbc7fea9e">slsDetectorUsers</a><li>setFilePath()
|
||||
: <a class="el" href="classslsDetectorUsers.html#d833e1051299e101a5b5097c598ba9cb">slsDetectorUsers</a><li>setFlatFieldCorrectionDir()
|
||||
: <a class="el" href="classslsDetectorUsers.html#65b112dac3d8b94f219f4d64c13cf0f9">slsDetectorUsers</a><li>setFlatFieldCorrectionFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ad9e6da8683ba2887174505fd3b7d739">slsDetectorUsers</a><li>setNumberOfCycles()
|
||||
: <a class="el" href="classslsDetectorUsers.html#8b741851c4eaef4e29322c99fd17cb3b">slsDetectorUsers</a><li>setNumberOfFrames()
|
||||
: <a class="el" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">slsDetectorUsers</a><li>setNumberOfGates()
|
||||
: <a class="el" href="classslsDetectorUsers.html#61d4acb00c997c5e02be6a191401c4ce">slsDetectorUsers</a><li>setOnline()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">slsDetectorUsers</a><li>setPositions()
|
||||
: <a class="el" href="classslsDetectorUsers.html#f296c05ee6134fb8d53d08a025e89775">slsDetectorUsers</a><li>setReceiverMode()
|
||||
: <a class="el" href="classslsDetectorUsers.html#db084473ffe61960b86abdfa8efcc80d">slsDetectorUsers</a><li>setSettings()
|
||||
: <a class="el" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">slsDetectorUsers</a><li>setThresholdEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1354266fd1bfaccd58992a3f51bbbd1d">slsDetectorUsers</a><li>setTimingMode()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e2825524756c4bdf418a6233e137b4d7">slsDetectorUsers</a><li>slsDetectorUsers()
|
||||
: <a class="el" href="classslsDetectorUsers.html#17323cd635b9e5c2916be3ca30ec748c">slsDetectorUsers</a><li>slsReceiverUsers()
|
||||
: <a class="el" href="classslsReceiverUsers.html#79a82ba94fbb19761c7701aa3901b8b1">slsReceiverUsers</a><li>start()
|
||||
: <a class="el" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">slsReceiverUsers</a><li>startMeasurement()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">slsDetectorUsers</a><li>stop()
|
||||
: <a class="el" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">slsReceiverUsers</a><li>stopMeasurement()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2abc673c45c1fe006f6b0fea6188e3a9">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
|
||||
<li>values
|
||||
: <a class="el" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">detectorData</a></ul>
|
||||
<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
|
||||
<li>~detectorData()
|
||||
: <a class="el" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">detectorData</a><li>~slsDetectorUsers()
|
||||
: <a class="el" href="classslsDetectorUsers.html#0d1daf6539befe56d6e3df0b24f5d68b">slsDetectorUsers</a><li>~slsReceiverUsers()
|
||||
: <a class="el" href="classslsReceiverUsers.html#9b45943d81ce7a09543aa446de857cb0">slsReceiverUsers</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li id="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="functions.html"><span>All</span></a></li>
|
||||
<li id="current"><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
<li><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="#index_a"><span>a</span></a></li>
|
||||
<li><a href="#index_c"><span>c</span></a></li>
|
||||
<li><a href="#index_d"><span>d</span></a></li>
|
||||
<li><a href="#index_e"><span>e</span></a></li>
|
||||
<li><a href="#index_f"><span>f</span></a></li>
|
||||
<li><a href="#index_g"><span>g</span></a></li>
|
||||
<li><a href="#index_i"><span>i</span></a></li>
|
||||
<li><a href="#index_p"><span>p</span></a></li>
|
||||
<li><a href="#index_r"><span>r</span></a></li>
|
||||
<li><a href="#index_s"><span>s</span></a></li>
|
||||
<li><a href="#index_~"><span>~</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
|
||||
<p>
|
||||
<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
|
||||
<li>addFrame()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5128e295a5b926ccabdb48083d324789">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
|
||||
<li>closeFile()
|
||||
: <a class="el" href="classslsReceiverUsers.html#bad0b3265826da2d9ebf48e59e9d5787">slsReceiverUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
|
||||
<li>detectorData()
|
||||
: <a class="el" href="classdetectorData.html#3f8538f5f634295fc40682b8aed47b31">detectorData</a><li>dumpDetectorSetup()
|
||||
: <a class="el" href="classslsDetectorUsers.html#d6b968f4d520342324762c496ebeb481">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
|
||||
<li>enableAngularConversion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#51f92b69e05e8ee2e0c547ec4a6e97da">slsDetectorUsers</a><li>enableCountRateCorrection()
|
||||
: <a class="el" href="classslsDetectorUsers.html#82efe2f57758d63d330d78b121f8e77e">slsDetectorUsers</a><li>enableFlatFieldCorrection()
|
||||
: <a class="el" href="classslsDetectorUsers.html#94c74499f7653116cd8aff9ec0d14c43">slsDetectorUsers</a><li>enablePixelMaskCorrection()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e5bc1c9c8e7e6cb7c9cde06a3133d263">slsDetectorUsers</a><li>enableWriteToFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#6d54a79ae4cfdb808f5db9969537efd3">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
|
||||
<li>finalizeDataset()
|
||||
: <a class="el" href="classslsDetectorUsers.html#9cbe00dac8a19b71de88ebbdf3b0ea29">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
|
||||
<li>getBeamEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#c9ea028f75a180534c8d00eeea0727d3">slsDetectorUsers</a><li>getCommand()
|
||||
: <a class="el" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">slsDetectorUsers</a><li>getDetectorDeveloper()
|
||||
: <a class="el" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">slsDetectorUsers</a><li>getDetectorFirmwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2cbba4518b585064f7870ae2d39a8b8b">slsDetectorUsers</a><li>getDetectorSerialNumber()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1c79314ceeda9b3085ca118e25882669">slsDetectorUsers</a><li>getDetectorSettings()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a66defec09b568a514e57b444dbe0d7f">slsDetectorUsers</a><li>getDetectorSize()
|
||||
: <a class="el" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">slsDetectorUsers</a><li>getDetectorSoftwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1857f2afea58227cb96ad92f5e562a5e">slsDetectorUsers</a><li>getDetectorStatus()
|
||||
: <a class="el" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">slsDetectorUsers</a><li>getDetectorType()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5292a3d9c12696512b81bcc6c579a03c">slsDetectorUsers</a><li>getFileIndex()
|
||||
: <a class="el" href="classslsDetectorUsers.html#6e3467bf3c0c246f69f85d485d84dd62">slsDetectorUsers</a><li>getFileName()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5f30c83e8bf07a92fad0916d43e3799c">slsDetectorUsers</a><li>getFilePath()
|
||||
: <a class="el" href="classslsDetectorUsers.html#81969295c2b08f14e9c3d4fa1f7d4e16">slsDetectorUsers</a><li>getFlatFieldCorrectionDir()
|
||||
: <a class="el" href="classslsDetectorUsers.html#0b20511a94205abd689f31bd1a2d4c18">slsDetectorUsers</a><li>getFlatFieldCorrectionFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a83083f73523557e6129f33b59f38327">slsDetectorUsers</a><li>getMaximumDetectorSize()
|
||||
: <a class="el" href="classslsDetectorUsers.html#588a5e1d231cd6778f6f78fdc53b9681">slsDetectorUsers</a><li>getModuleFirmwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#09ded3b9c81e4544d42bb0697c3b7624">slsDetectorUsers</a><li>getModuleSerialNumber()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5c0e9f8836e1a8a2d986408e4f5dfd3b">slsDetectorUsers</a><li>getPositions()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e6e5f06995e3ef110824adc5f8b095e9">slsDetectorUsers</a><li>getReceiverVersion()
|
||||
: <a class="el" href="classslsReceiverUsers.html#f206092e2744e12ce6b717f4181d91a2">slsReceiverUsers</a><li>getThisSoftwareVersion()
|
||||
: <a class="el" href="classslsDetectorUsers.html#547feb09262a2f0fa1ec4de82e92ab63">slsDetectorUsers</a><li>getThresholdEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#fe8029788742125c44383817f89214ca">slsDetectorUsers</a><li>getTimingMode()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e88a9626e4e661c1c0e1d27ba4a57d50">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
|
||||
<li>initDataset()
|
||||
: <a class="el" href="classslsDetectorUsers.html#56fa8890298a01fc58baad413dfdf1c1">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
|
||||
<li>putCommand()
|
||||
: <a class="el" href="classslsDetectorUsers.html#5f7c26833decef59c1abfd7d745c4671">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
|
||||
<li>readConfigurationFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">slsDetectorUsers</a><li>registerAcquisitionFinishedCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2a85e28ff08e3ec1e08bea3ba7d0fb08">slsDetectorUsers</a><li>registerCallBackAcquisitionFinished()
|
||||
: <a class="el" href="classslsReceiverUsers.html#7471d2945e8650eece86258e6ca56156">slsReceiverUsers</a><li>registerCallBackRawDataReady()
|
||||
: <a class="el" href="classslsReceiverUsers.html#343b9fac505e8c08a7fbf9efdd0f5762">slsReceiverUsers</a><li>registerCallBackStartAcquisition()
|
||||
: <a class="el" href="classslsReceiverUsers.html#5d4bb9244008d0bc570778230d30c5e3">slsReceiverUsers</a><li>registerConnectChannelsCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#d1ab73675435879c2c5cef7adab02c32">slsDetectorUsers</a><li>registerDataCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">slsDetectorUsers</a><li>registerDisconnectChannelsCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a94dd8fce8548ba8e79201ec50fe27d6">slsDetectorUsers</a><li>registerGetI0Callback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1969785197030aa8e2d3c3d48a9cb45c">slsDetectorUsers</a><li>registerGetPositionCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#c2b87416288e657a209e1374c778eb16">slsDetectorUsers</a><li>registerGoToPositionCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#0f7c9bd3c46647d5dda2fa5312f3ef92">slsDetectorUsers</a><li>registerGoToPositionNoWaitCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e807e9f4a015a4bbcb22e36b80577ea5">slsDetectorUsers</a><li>registerRawDataCallback()
|
||||
: <a class="el" href="classslsDetectorUsers.html#898cf0db148f0d3de7d4725cc8342c56">slsDetectorUsers</a><li>retrieveDetectorSetup()
|
||||
: <a class="el" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">slsDetectorUsers</a><li>runStatusType()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
|
||||
<li>setBeamEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#475938986407804877df4dcece97cc19">slsDetectorUsers</a><li>setBitDepth()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ff667cf0665154cdff5d5f3dbc3526ba">slsDetectorUsers</a><li>setDelayAfterTrigger()
|
||||
: <a class="el" href="classslsDetectorUsers.html#99f67fab7edfe68cc8b2300e282ff3f2">slsDetectorUsers</a><li>setDetectorSize()
|
||||
: <a class="el" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">slsDetectorUsers</a><li>setExposurePeriod()
|
||||
: <a class="el" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">slsDetectorUsers</a><li>setExposureTime()
|
||||
: <a class="el" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">slsDetectorUsers</a><li>setFileIndex()
|
||||
: <a class="el" href="classslsDetectorUsers.html#6b92ea7e237c77aa5107d7aabf76fe2d">slsDetectorUsers</a><li>setFileName()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ff4a8ff4852e50d4ec05204cbc7fea9e">slsDetectorUsers</a><li>setFilePath()
|
||||
: <a class="el" href="classslsDetectorUsers.html#d833e1051299e101a5b5097c598ba9cb">slsDetectorUsers</a><li>setFlatFieldCorrectionDir()
|
||||
: <a class="el" href="classslsDetectorUsers.html#65b112dac3d8b94f219f4d64c13cf0f9">slsDetectorUsers</a><li>setFlatFieldCorrectionFile()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ad9e6da8683ba2887174505fd3b7d739">slsDetectorUsers</a><li>setNumberOfCycles()
|
||||
: <a class="el" href="classslsDetectorUsers.html#8b741851c4eaef4e29322c99fd17cb3b">slsDetectorUsers</a><li>setNumberOfFrames()
|
||||
: <a class="el" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">slsDetectorUsers</a><li>setNumberOfGates()
|
||||
: <a class="el" href="classslsDetectorUsers.html#61d4acb00c997c5e02be6a191401c4ce">slsDetectorUsers</a><li>setOnline()
|
||||
: <a class="el" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">slsDetectorUsers</a><li>setPositions()
|
||||
: <a class="el" href="classslsDetectorUsers.html#f296c05ee6134fb8d53d08a025e89775">slsDetectorUsers</a><li>setReceiverMode()
|
||||
: <a class="el" href="classslsDetectorUsers.html#db084473ffe61960b86abdfa8efcc80d">slsDetectorUsers</a><li>setSettings()
|
||||
: <a class="el" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">slsDetectorUsers</a><li>setThresholdEnergy()
|
||||
: <a class="el" href="classslsDetectorUsers.html#1354266fd1bfaccd58992a3f51bbbd1d">slsDetectorUsers</a><li>setTimingMode()
|
||||
: <a class="el" href="classslsDetectorUsers.html#e2825524756c4bdf418a6233e137b4d7">slsDetectorUsers</a><li>slsDetectorUsers()
|
||||
: <a class="el" href="classslsDetectorUsers.html#17323cd635b9e5c2916be3ca30ec748c">slsDetectorUsers</a><li>slsReceiverUsers()
|
||||
: <a class="el" href="classslsReceiverUsers.html#79a82ba94fbb19761c7701aa3901b8b1">slsReceiverUsers</a><li>start()
|
||||
: <a class="el" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">slsReceiverUsers</a><li>startMeasurement()
|
||||
: <a class="el" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">slsDetectorUsers</a><li>stop()
|
||||
: <a class="el" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">slsReceiverUsers</a><li>stopMeasurement()
|
||||
: <a class="el" href="classslsDetectorUsers.html#2abc673c45c1fe006f6b0fea6188e3a9">slsDetectorUsers</a></ul>
|
||||
<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
|
||||
<li>~detectorData()
|
||||
: <a class="el" href="classdetectorData.html#d32a037cc2bd6e8caf4556cbd4b88ec7">detectorData</a><li>~slsDetectorUsers()
|
||||
: <a class="el" href="classslsDetectorUsers.html#0d1daf6539befe56d6e3df0b24f5d68b">slsDetectorUsers</a><li>~slsReceiverUsers()
|
||||
: <a class="el" href="classslsReceiverUsers.html#9b45943d81ce7a09543aa446de857cb0">slsReceiverUsers</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li id="current"><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="functions.html"><span>All</span></a></li>
|
||||
<li><a href="functions_func.html"><span>Functions</span></a></li>
|
||||
<li id="current"><a href="functions_vars.html"><span>Variables</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>angles
|
||||
: <a class="el" href="classdetectorData.html#cc9f9708b9ff2d840208cae843fb4b7a">detectorData</a><li>errors
|
||||
: <a class="el" href="classdetectorData.html#29cb1c6bb5635e918ae28505ccd0d8f9">detectorData</a><li>fileName
|
||||
: <a class="el" href="classdetectorData.html#91d1e3466878def295a531c01bdeef6b">detectorData</a><li>npoints
|
||||
: <a class="el" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">detectorData</a><li>npy
|
||||
: <a class="el" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">detectorData</a><li>progressIndex
|
||||
: <a class="el" href="classdetectorData.html#976b3287d46aed032487bbeed74132da">detectorData</a><li>receiver
|
||||
: <a class="el" href="classslsReceiverUsers.html#8f262724fb99ecd3976214710d82dd18">slsReceiverUsers</a><li>values
|
||||
: <a class="el" href="classdetectorData.html#0f4e31d65f9616e83a2e5521453d0364">detectorData</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li id="current"><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li id="current"><a href="globals.html"><span>All</span></a></li>
|
||||
<li><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
Here is a list of all file members with links to the files they belong to:
|
||||
<p>
|
||||
<ul>
|
||||
<li>dataCallback()
|
||||
: <a class="el" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">mainClient.cpp</a><li>main()
|
||||
: <a class="el" href="mainReceiver_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">mainReceiver.cpp</a>, <a class="el" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">mainClient.cpp</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li id="current"><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="globals.html"><span>All</span></a></li>
|
||||
<li id="current"><a href="globals_func.html"><span>Functions</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>dataCallback()
|
||||
: <a class="el" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">mainClient.cpp</a><li>main()
|
||||
: <a class="el" href="mainReceiver_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">mainReceiver.cpp</a>, <a class="el" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">mainClient.cpp</a></ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<h1></h1>
|
||||
<p>
|
||||
<h1>API for SLS detectors data acquisition</h1>
|
||||
<p>
|
||||
<hr>
|
||||
<p>
|
||||
Although the SLS detectors group delvelops several types of detectors (1/2D, counting/integrating etc.) it is common interest of the group to use a common platfor for data acquisition<p>
|
||||
The architecture of the acquisitions system is intended as follows: <ul>
|
||||
<li>A socket server running on the detector (or more than one in some special cases) </li>
|
||||
<li>C++ classes common to all detectors for client-server communication. These can be supplied to users as libraries and embedded also in acquisition systems which are not developed by the SLS </li>
|
||||
<li>the possibility of using a Qt-based graphical user interface (with eventually root analisys capabilities) </li>
|
||||
<li>the possibility of running all commands from command line. In order to ensure a fast operation of this so called "text client" the detector parameters should not be re-initialized everytime. For this reason a shared memory block is allocated where the main detector flags and parameters are stored </li>
|
||||
<li>a Root library for data postprocessing and detector calibration (energy, angle).</li>
|
||||
</ul>
|
||||
<a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a> is a class to control the detector which should be instantiated by the users in their acquisition software (EPICS, spec etc.). A callback for dislaying the data can be registered. More advanced configuration functions are not implemented and can be written in a configuration file tha can be read/written.<p>
|
||||
<a class="el" href="classslsReceiverUsers.html">slsReceiverUsers</a> is a class to receive the data for detectors with external data receiver (e.g. GOTTHARD). Callbacks can be registered to process the data or save them in specific formats.<p>
|
||||
<a class="el" href="classdetectorData.html">detectorData</a> is a structure containing the data and additional information which is used to return the data e.g. to the GUI for displaying them.<p>
|
||||
You can find examples of how this classes can be instatiated in <a class="el" href="mainClient_8cpp.html">mainClient.cpp</a> and <a class="el" href="mainReceiver_8cpp.html">mainReceiver.cpp</a><p>
|
||||
<dl compact><dt><b>Authors:</b></dt><dd><a href="mailto:anna.bergamaschi@psi.ch">Anna Bergamaschi</a>, <a href="mailto:dhanya.maliakal@psi.ch">Dhanya Maliakal</a> </dd></dl>
|
||||
<dl compact><dt><b>Version:</b></dt><dd>0.2 <h2>Currently supported detectors</h2>
|
||||
</dd></dl>
|
||||
<ul>
|
||||
<li>MYTHEN </li>
|
||||
<li>GOTTHARD controls </li>
|
||||
<li>GOTTHARD data receiver <h3>Coming soon</h3>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>EIGER </li>
|
||||
</ul>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>mainClient.cpp</h1><a href="mainClient_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001
|
||||
<a name="l00013"></a>00013 <span class="preprocessor">#include <iostream></span>
|
||||
<a name="l00014"></a>00014 <span class="preprocessor">#include "<a class="code" href="slsDetectorUsers_8h.html">slsDetectorUsers.h</a>"</span>
|
||||
<a name="l00015"></a>00015 <span class="preprocessor">#include "<a class="code" href="detectorData_8h.html">detectorData.h</a>"</span>
|
||||
<a name="l00016"></a>00016
|
||||
<a name="l00017"></a>00017
|
||||
<a name="l00019"></a><a class="code" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">00019</a> <span class="keywordtype">int</span> <a class="code" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">dataCallback</a>(<a class="code" href="classdetectorData.html">detectorData</a> *pData, <span class="keywordtype">int</span> iframe, <span class="keywordtype">void</span> *pArg)
|
||||
<a name="l00020"></a>00020 {
|
||||
<a name="l00021"></a>00021 std::cout << <span class="stringliteral">"dataCallback: "</span> << pData-><a class="code" href="classdetectorData.html#50aabf6f2c40587f8e915cf4913a2cfe">npoints</a> << <span class="stringliteral">" "</span> << pData-><a class="code" href="classdetectorData.html#c289d259e7fd9445a9c04976a82cb324">npy</a> << <span class="stringliteral">"Frame number: "</span> << iframe << std::endl;
|
||||
<a name="l00022"></a>00022 }
|
||||
<a name="l00023"></a>00023
|
||||
<a name="l00024"></a>00024
|
||||
<a name="l00026"></a><a class="code" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">00026</a> <span class="keywordtype">int</span> <a class="code" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[]) {
|
||||
<a name="l00027"></a>00027 <span class="keywordtype">int</span> <span class="keywordtype">id</span>=0;
|
||||
<a name="l00028"></a>00028 <span class="keywordtype">int</span> status;
|
||||
<a name="l00030"></a>00030 <span class="keywordflow">if</span> (argc>=3)
|
||||
<a name="l00031"></a>00031 <span class="keywordtype">id</span>=atoi(argv[2]);
|
||||
<a name="l00032"></a>00032
|
||||
<a name="l00033"></a>00033
|
||||
<a name="l00034"></a>00034
|
||||
<a name="l00036"></a>00036 <a class="code" href="classslsDetectorUsers.html">slsDetectorUsers</a> *pDetector = <span class="keyword">new</span> <a class="code" href="classslsDetectorUsers.html">slsDetectorUsers</a> (<span class="keywordtype">id</span>);
|
||||
<a name="l00037"></a>00037
|
||||
<a name="l00038"></a>00038
|
||||
<a name="l00040"></a>00040 <span class="keywordflow">if</span> (argc>=2)
|
||||
<a name="l00041"></a>00041 pDetector-><a class="code" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">readConfigurationFile</a>(argv[1]);
|
||||
<a name="l00042"></a>00042
|
||||
<a name="l00044"></a>00044 pDetector-><a class="code" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">setOnline</a>(1);
|
||||
<a name="l00045"></a>00045
|
||||
<a name="l00047"></a>00047 <span class="keywordflow">if</span> (argc>=3)
|
||||
<a name="l00048"></a>00048 pDetector-><a class="code" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">retrieveDetectorSetup</a>( argv[2]);
|
||||
<a name="l00049"></a>00049 <span class="keywordflow">else</span>{
|
||||
<a name="l00051"></a>00051 <span class="keywordtype">int</span> minX, minY=0, sizeX, sizeY=1;
|
||||
<a name="l00052"></a>00052 pDetector-><a class="code" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">getDetectorSize</a>(minX, minY, sizeX, sizeY);
|
||||
<a name="l00053"></a>00053 std::cout << <span class="stringliteral">"X: Start="</span> << minX << <span class="stringliteral">", Size= "</span> << sizeX << std::endl;
|
||||
<a name="l00054"></a>00054 std::cout << <span class="stringliteral">"Y: Start="</span> << minY << <span class="stringliteral">", Size= "</span> << sizeY << std::endl;
|
||||
<a name="l00055"></a>00055 pDetector-><a class="code" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">setDetectorSize</a>(0,0,7680,1);
|
||||
<a name="l00056"></a>00056 std::cout << pDetector-><a class="code" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">getDetectorDeveloper</a>() << std::endl;
|
||||
<a name="l00057"></a>00057
|
||||
<a name="l00059"></a>00059 pDetector-><a class="code" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">registerDataCallback</a>(&<a class="code" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">dataCallback</a>, NULL);
|
||||
<a name="l00060"></a>00060
|
||||
<a name="l00062"></a>00062 status = pDetector-><a class="code" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">getDetectorStatus</a>();
|
||||
<a name="l00063"></a>00063 <span class="keywordflow">if</span> (status != 0){
|
||||
<a name="l00064"></a>00064 std::cout << <span class="stringliteral">"Detector not ready: "</span> << <a class="code" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">slsDetectorUsers::runStatusType</a>(status) << std::endl;
|
||||
<a name="l00065"></a>00065 <span class="keywordflow">return</span> 1;
|
||||
<a name="l00066"></a>00066 }
|
||||
<a name="l00067"></a>00067
|
||||
<a name="l00069"></a>00069 std::cout << <span class="stringliteral">"settings: "</span> << <a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">slsDetectorUsers::getDetectorSettings</a>(pDetector-><a class="code" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">setSettings</a>()) << std::endl;
|
||||
<a name="l00070"></a>00070 pDetector-><a class="code" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">setSettings</a>(<a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">slsDetectorUsers::getDetectorSettings</a>(<span class="stringliteral">"veryhighgain"</span>));
|
||||
<a name="l00071"></a>00071 std::cout << <span class="stringliteral">"settings: "</span> << <a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">slsDetectorUsers::getDetectorSettings</a>(pDetector-><a class="code" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">setSettings</a>()) << std::endl;
|
||||
<a name="l00072"></a>00072
|
||||
<a name="l00074"></a>00074 pDetector-><a class="code" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">setExposureTime</a>(10000000);
|
||||
<a name="l00075"></a>00075
|
||||
<a name="l00077"></a>00077 pDetector-><a class="code" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">setExposurePeriod</a>(100000000);
|
||||
<a name="l00078"></a>00078
|
||||
<a name="l00080"></a>00080 pDetector-><a class="code" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">setNumberOfFrames</a>(30);
|
||||
<a name="l00081"></a>00081 }
|
||||
<a name="l00083"></a>00083 pDetector-><a class="code" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">startMeasurement</a>();
|
||||
<a name="l00084"></a>00084
|
||||
<a name="l00085"></a>00085 <span class="keywordflow">while</span> (1) {
|
||||
<a name="l00086"></a>00086 usleep(100000);
|
||||
<a name="l00087"></a>00087 status = pDetector-><a class="code" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">getDetectorStatus</a>();
|
||||
<a name="l00088"></a>00088 <span class="keywordflow">if</span> (status == 0 || status == 1|| status == 3)
|
||||
<a name="l00089"></a>00089 <span class="keywordflow">break</span>;
|
||||
<a name="l00090"></a>00090 }
|
||||
<a name="l00091"></a>00091
|
||||
<a name="l00092"></a>00092 <span class="keywordtype">char</span> *temp[] = {<span class="stringliteral">"receiver"</span>, NULL};
|
||||
<a name="l00094"></a>00094 std::cout << <span class="stringliteral">"answer to a get command:"</span> << pDetector-><a class="code" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">getCommand</a>(1,temp,0) << std::endl;
|
||||
<a name="l00095"></a>00095
|
||||
<a name="l00096"></a>00096 <span class="keyword">delete</span> pDetector;
|
||||
<a name="l00097"></a>00097
|
||||
<a name="l00098"></a>00098 <span class="keywordflow">return</span> 0;
|
||||
<a name="l00099"></a>00099 }
|
||||
<a name="l00100"></a>00100
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>mainClient.cpp File Reference</h1><code>#include <iostream></code><br>
|
||||
<code>#include "<a class="el" href="slsDetectorUsers_8h-source.html">slsDetectorUsers.h</a>"</code><br>
|
||||
<code>#include "<a class="el" href="detectorData_8h-source.html">detectorData.h</a>"</code><br>
|
||||
|
||||
<p>
|
||||
<a href="mainClient_8cpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mainClient_8cpp.html#21ef7438e7f0ed24a190513fb8e6af8a">dataCallback</a> (<a class="el" href="classdetectorData.html">detectorData</a> *pData, int iframe, void *pArg)</td></tr>
|
||||
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
|
||||
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
This file is an example of how to implement the <a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a> class You can compile it linking it to the slsDetector library<p>
|
||||
gcc <a class="el" href="mainClient_8cpp.html">mainClient.cpp</a> -L lib -l SlsDetector -lm -lpthread<p>
|
||||
where lib is the location of libSlsDetector.so
|
||||
<p>
|
||||
Definition in file <a class="el" href="mainClient_8cpp-source.html">mainClient.cpp</a>.<hr><h2>Function Documentation</h2>
|
||||
<a class="anchor" name="21ef7438e7f0ed24a190513fb8e6af8a"></a><!-- doxytag: member="mainClient.cpp::dataCallback" ref="21ef7438e7f0ed24a190513fb8e6af8a" args="(detectorData *pData, int iframe, void *pArg)" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int dataCallback </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classdetectorData.html">detectorData</a> * </td>
|
||||
<td class="paramname"> <em>pData</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>iframe</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">void * </td>
|
||||
<td class="paramname"> <em>pArg</em></td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
Definition of the data callback which simply prints out the number of points received and teh frame number
|
||||
<p>
|
||||
Definition at line <a class="el" href="mainClient_8cpp-source.html#l00019">19</a> of file <a class="el" href="mainClient_8cpp-source.html">mainClient.cpp</a>.
|
||||
<p>
|
||||
References <a class="el" href="detectorData_8h-source.html#l00032">detectorData::npoints</a>, and <a class="el" href="detectorData_8h-source.html#l00033">detectorData::npy</a>.
|
||||
<p>
|
||||
Referenced by <a class="el" href="mainClient_8cpp-source.html#l00026">main()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="0ddf1224851353fc92bfbff6f499fa97"></a><!-- doxytag: member="mainClient.cpp::main" ref="0ddf1224851353fc92bfbff6f499fa97" args="(int argc, char *argv[])" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int main </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>argc</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"> <em>argv</em>[]</td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
example of a main program using the <a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a> class
|
||||
<p>
|
||||
if specified, argv[2] is used as detector ID (default is 0)<p>
|
||||
<a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a> is instantiated<p>
|
||||
if specified, argv[1] is used as detector config file (necessary at least the first time it is called to properly configure advanced settings in the shared memory)<p>
|
||||
Setting the detector online (should be by default<p>
|
||||
Load setup file if argv[2] specified<p>
|
||||
defining the detector size<p>
|
||||
registering data callback<p>
|
||||
checking detector status and exiting if not idle<p>
|
||||
checking and setting detector settings<p>
|
||||
Settings exposure time to 10ms<p>
|
||||
Settings exposure time to 100ms<p>
|
||||
Settingsnumber of frames to 30<p>
|
||||
start measurement<p>
|
||||
returning when acquisition is finished or data are avilable
|
||||
<p>
|
||||
Definition at line <a class="el" href="mainClient_8cpp-source.html#l00026">26</a> of file <a class="el" href="mainClient_8cpp-source.html">mainClient.cpp</a>.
|
||||
<p>
|
||||
References <a class="el" href="mainClient_8cpp-source.html#l00019">dataCallback()</a>, <a class="el" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">slsDetectorUsers::getCommand()</a>, <a class="el" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">slsDetectorUsers::getDetectorDeveloper()</a>, <a class="el" href="slsDetectorUsers_8h-source.html#l00575">slsDetectorUsers::getDetectorSettings()</a>, <a class="el" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">slsDetectorUsers::getDetectorSize()</a>, <a class="el" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">slsDetectorUsers::getDetectorStatus()</a>, <a class="el" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">slsDetectorUsers::readConfigurationFile()</a>, <a class="el" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">slsDetectorUsers::registerDataCallback()</a>, <a class="el" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">slsDetectorUsers::retrieveDetectorSetup()</a>, <a class="el" href="slsDetectorUsers_8h-source.html#l00557">slsDetectorUsers::runStatusType()</a>, <a class="el" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">slsDetectorUsers::setDetectorSize()</a>, <a class="el" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">slsDetectorUsers::setExposurePeriod()</a>, <a class="el" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">slsDetectorUsers::setExposureTime()</a>, <a class="el" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">slsDetectorUsers::setNumberOfFrames()</a>, <a class="el" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">slsDetectorUsers::setOnline()</a>, <a class="el" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">slsDetectorUsers::setSettings()</a>, and <a class="el" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">slsDetectorUsers::startMeasurement()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>mainReceiver.cpp</h1><a href="mainReceiver_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* A simple server in the internet domain using TCP</span>
|
||||
<a name="l00002"></a>00002 <span class="comment"> The port number is passed as an argument </span>
|
||||
<a name="l00003"></a>00003 <span class="comment">*/</span>
|
||||
<a name="l00004"></a>00004
|
||||
<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="slsReceiverUsers_8h.html">slsReceiverUsers.h</a>"</span>
|
||||
<a name="l00019"></a>00019
|
||||
<a name="l00020"></a>00020
|
||||
<a name="l00021"></a>00021 <span class="preprocessor">#include <iostream></span>
|
||||
<a name="l00022"></a>00022 <span class="keyword">using namespace </span>std;
|
||||
<a name="l00023"></a>00023
|
||||
<a name="l00024"></a>00024
|
||||
<a name="l00025"></a><a class="code" href="mainReceiver_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">00025</a> <span class="keywordtype">int</span> <a class="code" href="mainClient_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[]) {
|
||||
<a name="l00026"></a>00026 <span class="keywordtype">int</span> ret = 0;
|
||||
<a name="l00027"></a>00027
|
||||
<a name="l00028"></a>00028
|
||||
<a name="l00029"></a>00029 <span class="comment">/*</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> Instantiate the slsReceieverUsers class</span>
|
||||
<a name="l00031"></a>00031 <span class="comment"> The port number is passed as an argument</span>
|
||||
<a name="l00032"></a>00032 <span class="comment">*/</span>
|
||||
<a name="l00033"></a>00033 <a class="code" href="classslsReceiverUsers.html">slsReceiverUsers</a> *receiver = <span class="keyword">new</span> <a class="code" href="classslsReceiverUsers.html">slsReceiverUsers</a>(argc, argv, ret);
|
||||
<a name="l00034"></a>00034
|
||||
<a name="l00035"></a>00035 <span class="comment">/*</span>
|
||||
<a name="l00036"></a>00036 <span class="comment"> return if could not open TCP socket for interfacing to client </span>
|
||||
<a name="l00037"></a>00037 <span class="comment"> */</span>
|
||||
<a name="l00038"></a>00038 <span class="keywordflow">if</span>(ret==1)
|
||||
<a name="l00039"></a>00039 <span class="keywordflow">return</span> -1;
|
||||
<a name="l00040"></a>00040
|
||||
<a name="l00041"></a>00041
|
||||
<a name="l00042"></a>00042 <span class="comment">/*register callbacks */</span>
|
||||
<a name="l00043"></a>00043
|
||||
<a name="l00044"></a>00044
|
||||
<a name="l00045"></a>00045 <span class="comment">/*</span>
|
||||
<a name="l00046"></a>00046 <span class="comment"> callback arguments are</span>
|
||||
<a name="l00047"></a>00047 <span class="comment"> filepath</span>
|
||||
<a name="l00048"></a>00048 <span class="comment"> filename</span>
|
||||
<a name="l00049"></a>00049 <span class="comment"> fileindex</span>
|
||||
<a name="l00050"></a>00050 <span class="comment"> datasize</span>
|
||||
<a name="l00051"></a>00051 <span class="comment"> </span>
|
||||
<a name="l00052"></a>00052 <span class="comment"> return value is </span>
|
||||
<a name="l00053"></a>00053 <span class="comment"> 0 raw data ready callback takes care of open,close,write file</span>
|
||||
<a name="l00054"></a>00054 <span class="comment"> 1 callback writes file, we have to open, close it</span>
|
||||
<a name="l00055"></a>00055 <span class="comment"> 2 we open, close, write file, callback does not do anything</span>
|
||||
<a name="l00056"></a>00056 <span class="comment"></span>
|
||||
<a name="l00057"></a>00057 <span class="comment"></span>
|
||||
<a name="l00058"></a>00058 <span class="comment"> registerCallBackStartAcquisition(int (*func)(char*, char*,int, int, void*),void *arg);</span>
|
||||
<a name="l00059"></a>00059 <span class="comment"> */</span>
|
||||
<a name="l00060"></a>00060
|
||||
<a name="l00061"></a>00061 <span class="comment">//receiver->registerCallBackStartAcquisition(func,arg);</span>
|
||||
<a name="l00062"></a>00062
|
||||
<a name="l00063"></a>00063
|
||||
<a name="l00064"></a>00064 <span class="comment">/*</span>
|
||||
<a name="l00065"></a>00065 <span class="comment"> callback argument is</span>
|
||||
<a name="l00066"></a>00066 <span class="comment"> total farmes caught</span>
|
||||
<a name="l00067"></a>00067 <span class="comment"> registerCallBackAcquisitionFinished(void (*func)(int, void*),void *arg);</span>
|
||||
<a name="l00068"></a>00068 <span class="comment"> */</span>
|
||||
<a name="l00069"></a>00069
|
||||
<a name="l00070"></a>00070
|
||||
<a name="l00071"></a>00071 <span class="comment">//receiver->registerCallBackAcquisitionFinished(func,arg);</span>
|
||||
<a name="l00072"></a>00072
|
||||
<a name="l00073"></a>00073
|
||||
<a name="l00074"></a>00074
|
||||
<a name="l00075"></a>00075 <span class="comment">/*</span>
|
||||
<a name="l00076"></a>00076 <span class="comment"> args to raw data ready callback are</span>
|
||||
<a name="l00077"></a>00077 <span class="comment"> framenum</span>
|
||||
<a name="l00078"></a>00078 <span class="comment"> datapointer</span>
|
||||
<a name="l00079"></a>00079 <span class="comment"> file descriptor</span>
|
||||
<a name="l00080"></a>00080 <span class="comment"> guidatapointer (NULL, no data required)</span>
|
||||
<a name="l00081"></a>00081 <span class="comment"> </span>
|
||||
<a name="l00082"></a>00082 <span class="comment"> NEVER DELETE THE DATA POINTER</span>
|
||||
<a name="l00083"></a>00083 <span class="comment"> REMEMBER THAT THE CALLBACK IS BLOCKING</span>
|
||||
<a name="l00084"></a>00084 <span class="comment"></span>
|
||||
<a name="l00085"></a>00085 <span class="comment"> registerCallBackRawDataReady(void (*func)(int, char*, FILE*, char*, void*),void *arg);</span>
|
||||
<a name="l00086"></a>00086 <span class="comment"></span>
|
||||
<a name="l00087"></a>00087 <span class="comment"> */</span>
|
||||
<a name="l00088"></a>00088
|
||||
<a name="l00089"></a>00089 <span class="comment">//receiver->registerCallBackRawDataReady(func,arg);</span>
|
||||
<a name="l00090"></a>00090
|
||||
<a name="l00091"></a>00091
|
||||
<a name="l00092"></a>00092 <span class="comment">/* start receiver to listen for commands from the client (and data from detectors when expected */</span>
|
||||
<a name="l00093"></a>00093 receiver-><a class="code" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">start</a>();
|
||||
<a name="l00094"></a>00094
|
||||
<a name="l00096"></a>00096 usleep(10000000);
|
||||
<a name="l00097"></a>00097
|
||||
<a name="l00099"></a>00099 receiver-><a class="code" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">stop</a>();
|
||||
<a name="l00100"></a>00100
|
||||
<a name="l00101"></a>00101 <span class="keywordflow">return</span> 0;
|
||||
<a name="l00102"></a>00102 }
|
||||
<a name="l00103"></a>00103
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>mainReceiver.cpp File Reference</h1><code>#include "<a class="el" href="slsReceiverUsers_8h-source.html">slsReceiverUsers.h</a>"</code><br>
|
||||
<code>#include <iostream></code><br>
|
||||
|
||||
<p>
|
||||
<a href="mainReceiver_8cpp-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="mainReceiver_8cpp.html#0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
|
||||
|
||||
</table>
|
||||
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
||||
This file is an example of how to implement the <a class="el" href="classslsDetectorUsers.html">slsDetectorUsers</a> class You can compile it linking it to the slsDetector library<p>
|
||||
gcc <a class="el" href="mainReceiver_8cpp.html">mainReceiver.cpp</a> -L lib -l SlsDetector -lm -lpthread<p>
|
||||
where lib is the location of libSlsDetector.so
|
||||
<p>
|
||||
Definition in file <a class="el" href="mainReceiver_8cpp-source.html">mainReceiver.cpp</a>.<hr><h2>Function Documentation</h2>
|
||||
<a class="anchor" name="0ddf1224851353fc92bfbff6f499fa97"></a><!-- doxytag: member="mainReceiver.cpp::main" ref="0ddf1224851353fc92bfbff6f499fa97" args="(int argc, char *argv[])" -->
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int main </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"> <em>argc</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"> <em>argv</em>[]</td><td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td><td width="100%"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="memdoc">
|
||||
|
||||
<p>
|
||||
|
||||
<p>
|
||||
Definition at line <a class="el" href="mainReceiver_8cpp-source.html#l00025">25</a> of file <a class="el" href="mainReceiver_8cpp-source.html">mainReceiver.cpp</a>.
|
||||
<p>
|
||||
References <a class="el" href="classslsReceiverUsers.html#ef40b4987367b8a0116bcb66534dd7b7">slsReceiverUsers::start()</a>, and <a class="el" href="classslsReceiverUsers.html#394001d873a4b7912865a971d4d25f87">slsReceiverUsers::stop()</a>.
|
||||
</div>
|
||||
</div><p>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<h1>Namespace List</h1>Here is a list of all namespaces with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="namespacestd.html">std</a></td><td class="indexvalue"></td></tr>
|
||||
</table>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<h1>std Namespace Reference</h1>
|
||||
<p>
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr><td></td></tr>
|
||||
</table>
|
||||
<hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|
@ -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 Page</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li id="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul></div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>File Members</span></a></li>
|
||||
</ul></div>
|
||||
<h1>slsDetectorUsers.h</h1><a href="slsDetectorUsers_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef SLS_DETECTOR_USERS_H</span>
|
||||
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define SLS_DETECTOR_USERS_H</span>
|
||||
<a name="l00003"></a>00003 <span class="preprocessor"></span>
|
||||
<a name="l00004"></a>00004
|
||||
<a name="l00005"></a>00005
|
||||
<a name="l00016"></a>00016 <span class="keyword">class </span><a class="code" href="classdetectorData.html">detectorData</a>;
|
||||
<a name="l00017"></a>00017 <span class="keyword">class </span>multiSlsDetector;
|
||||
<a name="l00018"></a>00018 <span class="keyword">class </span>multiSlsDetectorCommand;
|
||||
<a name="l00019"></a>00019
|
||||
<a name="l00020"></a>00020
|
||||
<a name="l00021"></a>00021 <span class="preprocessor">#include <stdint.h></span>
|
||||
<a name="l00022"></a>00022 <span class="preprocessor">#include <string></span>
|
||||
<a name="l00023"></a>00023
|
||||
<a name="l00024"></a>00024
|
||||
<a name="l00025"></a>00025 <span class="keyword">using namespace </span>std;
|
||||
<a name="l00026"></a>00026
|
||||
<a name="l00027"></a>00027
|
||||
<a name="l00028"></a>00028
|
||||
<a name="l00029"></a>00029 <span class="comment">/*</span>
|
||||
<a name="l00030"></a>00030 <span class="comment"> \mainpage </span>
|
||||
<a name="l00031"></a>00031 <span class="comment"><CENTER><H1>API for SLS detectors data acquisition</H1></CENTER></span>
|
||||
<a name="l00032"></a>00032 <span class="comment"><HR></span>
|
||||
<a name="l00033"></a>00033 <span class="comment">*/</span>
|
||||
<a name="l00084"></a><a class="code" href="classslsDetectorUsers.html">00084</a> <span class="keyword">class </span><a class="code" href="classslsDetectorUsers.html">slsDetectorUsers</a>
|
||||
<a name="l00085"></a>00085 {
|
||||
<a name="l00086"></a>00086
|
||||
<a name="l00087"></a>00087 <span class="keyword">public</span>:
|
||||
<a name="l00088"></a>00088
|
||||
<a name="l00090"></a>00090 <a class="code" href="classslsDetectorUsers.html#17323cd635b9e5c2916be3ca30ec748c">slsDetectorUsers</a>(<span class="keywordtype">int</span> <span class="keywordtype">id</span>=0);
|
||||
<a name="l00091"></a>00091
|
||||
<a name="l00092"></a>00092
|
||||
<a name="l00094"></a>00094 <span class="keyword">virtual</span> <a class="code" href="classslsDetectorUsers.html#0d1daf6539befe56d6e3df0b24f5d68b">~slsDetectorUsers</a>();
|
||||
<a name="l00095"></a>00095
|
||||
<a name="l00096"></a>00096
|
||||
<a name="l00097"></a>00097
|
||||
<a name="l00102"></a>00102 string <a class="code" href="classslsDetectorUsers.html#30c2ba51c33cc914f290a0b7891da4ec">getDetectorDeveloper</a>();
|
||||
<a name="l00103"></a>00103
|
||||
<a name="l00104"></a>00104
|
||||
<a name="l00105"></a>00105
|
||||
<a name="l00110"></a>00110 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#ee622153ebd6b0dad065d95b07221955">setOnline</a>(<span class="keywordtype">int</span> <span class="keyword">const</span> online=-1);
|
||||
<a name="l00111"></a>00111
|
||||
<a name="l00116"></a>00116 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#a34810bb0e872fdf929ebe62d8582bd3">startMeasurement</a>();
|
||||
<a name="l00117"></a>00117
|
||||
<a name="l00122"></a>00122 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#2abc673c45c1fe006f6b0fea6188e3a9">stopMeasurement</a>();
|
||||
<a name="l00123"></a>00123
|
||||
<a name="l00128"></a>00128 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#c7d0254e38b8fe783204f691a4ee05b2">getDetectorStatus</a>();
|
||||
<a name="l00129"></a>00129
|
||||
<a name="l00133"></a>00133 string <a class="code" href="classslsDetectorUsers.html#81969295c2b08f14e9c3d4fa1f7d4e16">getFilePath</a>();
|
||||
<a name="l00134"></a>00134
|
||||
<a name="l00140"></a>00140 string <a class="code" href="classslsDetectorUsers.html#d833e1051299e101a5b5097c598ba9cb">setFilePath</a>(string s);
|
||||
<a name="l00141"></a>00141
|
||||
<a name="l00146"></a>00146 string <a class="code" href="classslsDetectorUsers.html#5f30c83e8bf07a92fad0916d43e3799c">getFileName</a>();
|
||||
<a name="l00147"></a>00147
|
||||
<a name="l00154"></a>00154 string <a class="code" href="classslsDetectorUsers.html#ff4a8ff4852e50d4ec05204cbc7fea9e">setFileName</a>(string s);
|
||||
<a name="l00155"></a>00155
|
||||
<a name="l00160"></a>00160 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#6e3467bf3c0c246f69f85d485d84dd62">getFileIndex</a>();
|
||||
<a name="l00161"></a>00161
|
||||
<a name="l00167"></a>00167 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#6b92ea7e237c77aa5107d7aabf76fe2d">setFileIndex</a>(<span class="keywordtype">int</span> i);
|
||||
<a name="l00168"></a>00168
|
||||
<a name="l00173"></a>00173 string <a class="code" href="classslsDetectorUsers.html#0b20511a94205abd689f31bd1a2d4c18">getFlatFieldCorrectionDir</a>();
|
||||
<a name="l00174"></a>00174
|
||||
<a name="l00180"></a>00180 string <a class="code" href="classslsDetectorUsers.html#65b112dac3d8b94f219f4d64c13cf0f9">setFlatFieldCorrectionDir</a>(string dir);
|
||||
<a name="l00181"></a>00181
|
||||
<a name="l00186"></a>00186 string <a class="code" href="classslsDetectorUsers.html#a83083f73523557e6129f33b59f38327">getFlatFieldCorrectionFile</a>();
|
||||
<a name="l00187"></a>00187
|
||||
<a name="l00193"></a>00193 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#ad9e6da8683ba2887174505fd3b7d739">setFlatFieldCorrectionFile</a>(string fname=<span class="stringliteral">""</span>);
|
||||
<a name="l00194"></a>00194
|
||||
<a name="l00195"></a>00195
|
||||
<a name="l00196"></a>00196
|
||||
<a name="l00202"></a>00202 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#94c74499f7653116cd8aff9ec0d14c43">enableFlatFieldCorrection</a>(<span class="keywordtype">int</span> i=-1);
|
||||
<a name="l00203"></a>00203
|
||||
<a name="l00209"></a>00209 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#82efe2f57758d63d330d78b121f8e77e">enableCountRateCorrection</a>(<span class="keywordtype">int</span> i=-1);
|
||||
<a name="l00210"></a>00210
|
||||
<a name="l00216"></a>00216 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#e5bc1c9c8e7e6cb7c9cde06a3133d263">enablePixelMaskCorrection</a>(<span class="keywordtype">int</span> i=-1);
|
||||
<a name="l00217"></a>00217
|
||||
<a name="l00223"></a>00223 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#51f92b69e05e8ee2e0c547ec4a6e97da">enableAngularConversion</a>(<span class="keywordtype">int</span> i=-1);
|
||||
<a name="l00224"></a>00224
|
||||
<a name="l00227"></a>00227 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#6d54a79ae4cfdb808f5db9969537efd3">enableWriteToFile</a>(<span class="keywordtype">int</span> i=-1);
|
||||
<a name="l00228"></a>00228
|
||||
<a name="l00235"></a>00235 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#f296c05ee6134fb8d53d08a025e89775">setPositions</a>(<span class="keywordtype">int</span> nPos, <span class="keywordtype">double</span> *pos);
|
||||
<a name="l00236"></a>00236
|
||||
<a name="l00242"></a>00242 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#e6e5f06995e3ef110824adc5f8b095e9">getPositions</a>(<span class="keywordtype">double</span> *pos=NULL);
|
||||
<a name="l00243"></a>00243
|
||||
<a name="l00252"></a>00252 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#42c97d03516a2457f8e9a98a16a9a43d">setDetectorSize</a>(<span class="keywordtype">int</span> x0=-1, <span class="keywordtype">int</span> y0=-1, <span class="keywordtype">int</span> nx=-1, <span class="keywordtype">int</span> ny=-1);
|
||||
<a name="l00253"></a>00253
|
||||
<a name="l00254"></a>00254
|
||||
<a name="l00263"></a>00263 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#7f4fb3cefff5f0175cd2e4fd57ee1be4">getDetectorSize</a>(<span class="keywordtype">int</span> &x0, <span class="keywordtype">int</span> &y0, <span class="keywordtype">int</span> &nx, <span class="keywordtype">int</span> &ny);
|
||||
<a name="l00272"></a>00272 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#588a5e1d231cd6778f6f78fdc53b9681">getMaximumDetectorSize</a>(<span class="keywordtype">int</span> &nx, <span class="keywordtype">int</span> &ny);
|
||||
<a name="l00273"></a>00273
|
||||
<a name="l00274"></a>00274
|
||||
<a name="l00280"></a>00280 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#ff667cf0665154cdff5d5f3dbc3526ba">setBitDepth</a>(<span class="keywordtype">int</span> i=-1);
|
||||
<a name="l00281"></a>00281
|
||||
<a name="l00282"></a>00282
|
||||
<a name="l00283"></a>00283
|
||||
<a name="l00289"></a>00289 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#31b25d2659d3b244bb10b5516a9fd957">setSettings</a>(<span class="keywordtype">int</span> isettings=-1);
|
||||
<a name="l00290"></a>00290
|
||||
<a name="l00295"></a>00295 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#fe8029788742125c44383817f89214ca">getThresholdEnergy</a>();
|
||||
<a name="l00296"></a>00296
|
||||
<a name="l00297"></a>00297
|
||||
<a name="l00303"></a>00303 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#1354266fd1bfaccd58992a3f51bbbd1d">setThresholdEnergy</a>(<span class="keywordtype">int</span> e_eV);
|
||||
<a name="l00304"></a>00304
|
||||
<a name="l00309"></a>00309 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#c9ea028f75a180534c8d00eeea0727d3">getBeamEnergy</a>();
|
||||
<a name="l00310"></a>00310
|
||||
<a name="l00311"></a>00311
|
||||
<a name="l00317"></a>00317 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#475938986407804877df4dcece97cc19">setBeamEnergy</a>(<span class="keywordtype">int</span> e_eV);
|
||||
<a name="l00318"></a>00318
|
||||
<a name="l00326"></a>00326 <span class="keywordtype">double</span> <a class="code" href="classslsDetectorUsers.html#134225893d41bc97e9f1d645e035a04a">setExposureTime</a>(<span class="keywordtype">double</span> t=-1, <span class="keywordtype">bool</span> inseconds=<span class="keyword">false</span>);
|
||||
<a name="l00327"></a>00327
|
||||
<a name="l00334"></a>00334 <span class="keywordtype">double</span> <a class="code" href="classslsDetectorUsers.html#cac89084aba58ebe81420c7c9ac4217a">setExposurePeriod</a>(<span class="keywordtype">double</span> t=-1, <span class="keywordtype">bool</span> inseconds=<span class="keyword">false</span>);
|
||||
<a name="l00335"></a>00335
|
||||
<a name="l00342"></a>00342 <span class="keywordtype">double</span> <a class="code" href="classslsDetectorUsers.html#99f67fab7edfe68cc8b2300e282ff3f2">setDelayAfterTrigger</a>(<span class="keywordtype">double</span> t=-1, <span class="keywordtype">bool</span> inseconds=<span class="keyword">false</span>);
|
||||
<a name="l00343"></a>00343
|
||||
<a name="l00349"></a>00349 int64_t <a class="code" href="classslsDetectorUsers.html#61d4acb00c997c5e02be6a191401c4ce">setNumberOfGates</a>(int64_t t=-1);
|
||||
<a name="l00350"></a>00350
|
||||
<a name="l00356"></a>00356 int64_t <a class="code" href="classslsDetectorUsers.html#fc82f608bf74d10f3aa866bff94cbbab">setNumberOfFrames</a>(int64_t t=-1);
|
||||
<a name="l00357"></a>00357
|
||||
<a name="l00363"></a>00363 int64_t <a class="code" href="classslsDetectorUsers.html#8b741851c4eaef4e29322c99fd17cb3b">setNumberOfCycles</a>(int64_t t=-1);
|
||||
<a name="l00364"></a>00364
|
||||
<a name="l00365"></a>00365
|
||||
<a name="l00371"></a>00371 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#e2825524756c4bdf418a6233e137b4d7">setTimingMode</a>(<span class="keywordtype">int</span> pol=-1);
|
||||
<a name="l00372"></a>00372
|
||||
<a name="l00378"></a>00378 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#8aeda7c2cbc270c7f8756761823e8d95">readConfigurationFile</a>(string <span class="keyword">const</span> fname);
|
||||
<a name="l00379"></a>00379
|
||||
<a name="l00380"></a>00380
|
||||
<a name="l00387"></a>00387 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#d6b968f4d520342324762c496ebeb481">dumpDetectorSetup</a>(string <span class="keyword">const</span> fname);
|
||||
<a name="l00394"></a>00394 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#8769c8ea5020b43dc3557c86f9e4159b">retrieveDetectorSetup</a>(string <span class="keyword">const</span> fname);
|
||||
<a name="l00395"></a>00395
|
||||
<a name="l00400"></a>00400 string <a class="code" href="classslsDetectorUsers.html#5292a3d9c12696512b81bcc6c579a03c">getDetectorType</a>();
|
||||
<a name="l00401"></a>00401
|
||||
<a name="l00407"></a>00407 <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#db084473ffe61960b86abdfa8efcc80d">setReceiverMode</a>(<span class="keywordtype">int</span> n=-1);
|
||||
<a name="l00408"></a>00408
|
||||
<a name="l00414"></a>00414 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#4a1db91fc49fc1710f98ce98e33bc16b">registerDataCallback</a>(<span class="keywordtype">int</span>( *userCallback)(<a class="code" href="classdetectorData.html">detectorData</a>* d, <span class="keywordtype">int</span> f, <span class="keywordtype">void</span>*), <span class="keywordtype">void</span> *pArg);
|
||||
<a name="l00415"></a>00415
|
||||
<a name="l00421"></a>00421 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#898cf0db148f0d3de7d4725cc8342c56">registerRawDataCallback</a>(<span class="keywordtype">int</span>( *userCallback)(<span class="keywordtype">double</span>* p, <span class="keywordtype">int</span> n, <span class="keywordtype">void</span>*), <span class="keywordtype">void</span> *pArg);
|
||||
<a name="l00422"></a>00422
|
||||
<a name="l00428"></a>00428 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#56fa8890298a01fc58baad413dfdf1c1">initDataset</a>(<span class="keywordtype">int</span> refresh);
|
||||
<a name="l00429"></a>00429
|
||||
<a name="l00430"></a>00430
|
||||
<a name="l00441"></a>00441 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#5128e295a5b926ccabdb48083d324789">addFrame</a>(<span class="keywordtype">double</span> *data, <span class="keywordtype">double</span> pos, <span class="keywordtype">double</span> i0, <span class="keywordtype">double</span> t, string fname, <span class="keywordtype">double</span> var);
|
||||
<a name="l00442"></a>00442
|
||||
<a name="l00451"></a>00451 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#9cbe00dac8a19b71de88ebbdf3b0ea29">finalizeDataset</a>(<span class="keywordtype">double</span> *a, <span class="keywordtype">double</span> *v, <span class="keywordtype">double</span> *e, <span class="keywordtype">int</span> &np);
|
||||
<a name="l00452"></a>00452
|
||||
<a name="l00457"></a>00457 int64_t <a class="code" href="classslsDetectorUsers.html#09ded3b9c81e4544d42bb0697c3b7624">getModuleFirmwareVersion</a>();
|
||||
<a name="l00458"></a>00458
|
||||
<a name="l00464"></a>00464 int64_t <a class="code" href="classslsDetectorUsers.html#5c0e9f8836e1a8a2d986408e4f5dfd3b">getModuleSerialNumber</a>(<span class="keywordtype">int</span> imod=-1);
|
||||
<a name="l00465"></a>00465
|
||||
<a name="l00470"></a>00470 int64_t <a class="code" href="classslsDetectorUsers.html#2cbba4518b585064f7870ae2d39a8b8b">getDetectorFirmwareVersion</a>();
|
||||
<a name="l00471"></a>00471
|
||||
<a name="l00476"></a>00476 int64_t <a class="code" href="classslsDetectorUsers.html#1c79314ceeda9b3085ca118e25882669">getDetectorSerialNumber</a>();
|
||||
<a name="l00477"></a>00477
|
||||
<a name="l00482"></a>00482 int64_t <a class="code" href="classslsDetectorUsers.html#1857f2afea58227cb96ad92f5e562a5e">getDetectorSoftwareVersion</a>();
|
||||
<a name="l00483"></a>00483
|
||||
<a name="l00488"></a>00488 int64_t <a class="code" href="classslsDetectorUsers.html#547feb09262a2f0fa1ec4de82e92ab63">getThisSoftwareVersion</a>();
|
||||
<a name="l00489"></a>00489
|
||||
<a name="l00495"></a>00495 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#2a85e28ff08e3ec1e08bea3ba7d0fb08">registerAcquisitionFinishedCallback</a>(<span class="keywordtype">int</span>( *func)(<span class="keywordtype">double</span>,<span class="keywordtype">int</span>, <span class="keywordtype">void</span>*), <span class="keywordtype">void</span> *pArg);
|
||||
<a name="l00496"></a>00496
|
||||
<a name="l00502"></a>00502 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#c2b87416288e657a209e1374c778eb16">registerGetPositionCallback</a>( <span class="keywordtype">double</span> (*func)(<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
|
||||
<a name="l00507"></a>00507 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#d1ab73675435879c2c5cef7adab02c32">registerConnectChannelsCallback</a>( <span class="keywordtype">int</span> (*func)(<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
|
||||
<a name="l00512"></a>00512 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#a94dd8fce8548ba8e79201ec50fe27d6">registerDisconnectChannelsCallback</a>( <span class="keywordtype">int</span> (*func)(<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
|
||||
<a name="l00517"></a>00517 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#0f7c9bd3c46647d5dda2fa5312f3ef92">registerGoToPositionCallback</a>( <span class="keywordtype">int</span> (*func)(<span class="keywordtype">double</span>,<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
|
||||
<a name="l00522"></a>00522 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#e807e9f4a015a4bbcb22e36b80577ea5">registerGoToPositionNoWaitCallback</a>( <span class="keywordtype">int</span> (*func)(<span class="keywordtype">double</span>,<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
|
||||
<a name="l00527"></a>00527 <span class="keywordtype">void</span> <a class="code" href="classslsDetectorUsers.html#1969785197030aa8e2d3c3d48a9cb45c">registerGetI0Callback</a>( <span class="keywordtype">double</span> (*func)(<span class="keywordtype">int</span>,<span class="keywordtype">void</span>*),<span class="keywordtype">void</span> *arg);
|
||||
<a name="l00528"></a>00528
|
||||
<a name="l00536"></a>00536 string <a class="code" href="classslsDetectorUsers.html#5f7c26833decef59c1abfd7d745c4671">putCommand</a>(<span class="keywordtype">int</span> narg, <span class="keywordtype">char</span> *args[], <span class="keywordtype">int</span> pos=-1);
|
||||
<a name="l00537"></a>00537
|
||||
<a name="l00545"></a>00545 string <a class="code" href="classslsDetectorUsers.html#dc83b8005abccc735b35464c1c6d3ea7">getCommand</a>(<span class="keywordtype">int</span> narg, <span class="keywordtype">char</span> *args[], <span class="keywordtype">int</span> pos=-1);
|
||||
<a name="l00546"></a>00546
|
||||
<a name="l00547"></a>00547 <span class="comment">/************************************************************************</span>
|
||||
<a name="l00548"></a>00548 <span class="comment"></span>
|
||||
<a name="l00549"></a>00549 <span class="comment"> STATIC FUNCTIONS</span>
|
||||
<a name="l00550"></a>00550 <span class="comment"></span>
|
||||
<a name="l00551"></a>00551 <span class="comment"> *********************************************************************/</span>
|
||||
<a name="l00552"></a>00552
|
||||
<a name="l00557"></a><a class="code" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">00557</a> <span class="keyword">static</span> string <a class="code" href="classslsDetectorUsers.html#2c073513ae3ac53f3e040bc2911b6ee2">runStatusType</a>(<span class="keywordtype">int</span> s){ \
|
||||
<a name="l00558"></a>00558 <span class="keywordflow">switch</span> (s) { \
|
||||
<a name="l00559"></a>00559 <span class="keywordflow">case</span> 0: <span class="keywordflow">return</span> string(<span class="stringliteral">"idle"</span>); \
|
||||
<a name="l00560"></a>00560 <span class="keywordflow">case</span> 1: <span class="keywordflow">return</span> string(<span class="stringliteral">"error"</span>); \
|
||||
<a name="l00561"></a>00561 <span class="keywordflow">case</span> 2: <span class="keywordflow">return</span> string(<span class="stringliteral">"waiting"</span>); \
|
||||
<a name="l00562"></a>00562 <span class="keywordflow">case</span> 3: <span class="keywordflow">return</span> string(<span class="stringliteral">"finished"</span>); \
|
||||
<a name="l00563"></a>00563 <span class="keywordflow">case</span> 4: <span class="keywordflow">return</span> string(<span class="stringliteral">"data"</span>); \
|
||||
<a name="l00564"></a>00564 <span class="keywordflow">case</span> 5: <span class="keywordflow">return</span> string(<span class="stringliteral">"running"</span>); \
|
||||
<a name="l00565"></a>00565 <span class="keywordflow">default</span>: <span class="keywordflow">return</span> string(<span class="stringliteral">"unknown"</span>); \
|
||||
<a name="l00566"></a>00566 }};
|
||||
<a name="l00567"></a>00567
|
||||
<a name="l00568"></a>00568
|
||||
<a name="l00569"></a>00569
|
||||
<a name="l00575"></a><a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">00575</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">getDetectorSettings</a>(string s){ \
|
||||
<a name="l00576"></a>00576 <span class="keywordflow">if</span> (s==<span class="stringliteral">"standard"</span>) <span class="keywordflow">return</span> 0; \
|
||||
<a name="l00577"></a>00577 <span class="keywordflow">if</span> (s==<span class="stringliteral">"fast"</span>) <span class="keywordflow">return</span> 1; \
|
||||
<a name="l00578"></a>00578 <span class="keywordflow">if</span> (s==<span class="stringliteral">"highgain"</span>) <span class="keywordflow">return</span> 2; \
|
||||
<a name="l00579"></a>00579 <span class="keywordflow">if</span> (s==<span class="stringliteral">"dynamicgain"</span>) <span class="keywordflow">return</span> 3; \
|
||||
<a name="l00580"></a>00580 <span class="keywordflow">if</span> (s==<span class="stringliteral">"lowgain"</span>) <span class="keywordflow">return</span> 4; \
|
||||
<a name="l00581"></a>00581 <span class="keywordflow">if</span> (s==<span class="stringliteral">"mediumgain"</span>) <span class="keywordflow">return</span> 5; \
|
||||
<a name="l00582"></a>00582 <span class="keywordflow">if</span> (s==<span class="stringliteral">"veryhighgain"</span>) <span class="keywordflow">return</span> 6; \
|
||||
<a name="l00583"></a>00583 <span class="keywordflow">return</span> -1; };
|
||||
<a name="l00584"></a>00584
|
||||
<a name="l00589"></a><a class="code" href="classslsDetectorUsers.html#a66defec09b568a514e57b444dbe0d7f">00589</a> <span class="keyword">static</span> string <a class="code" href="classslsDetectorUsers.html#7f2e97b2fa0e106b364c9c200a5d74ad">getDetectorSettings</a>(<span class="keywordtype">int</span> s){\
|
||||
<a name="l00590"></a>00590 <span class="keywordflow">switch</span>(s) { \
|
||||
<a name="l00591"></a>00591 <span class="keywordflow">case</span> 0: <span class="keywordflow">return</span> string(<span class="stringliteral">"standard"</span>);\
|
||||
<a name="l00592"></a>00592 <span class="keywordflow">case</span> 1: <span class="keywordflow">return</span> string(<span class="stringliteral">"fast"</span>);\
|
||||
<a name="l00593"></a>00593 <span class="keywordflow">case</span> 2: <span class="keywordflow">return</span> string(<span class="stringliteral">"highgain"</span>);\
|
||||
<a name="l00594"></a>00594 <span class="keywordflow">case</span> 3: <span class="keywordflow">return</span> string(<span class="stringliteral">"dynamicgain"</span>); \
|
||||
<a name="l00595"></a>00595 <span class="keywordflow">case</span> 4: <span class="keywordflow">return</span> string(<span class="stringliteral">"lowgain"</span>); \
|
||||
<a name="l00596"></a>00596 <span class="keywordflow">case</span> 5: <span class="keywordflow">return</span> string(<span class="stringliteral">"mediumgain"</span>); \
|
||||
<a name="l00597"></a>00597 <span class="keywordflow">case</span> 6: <span class="keywordflow">return</span> string(<span class="stringliteral">"veryhighgain"</span>); \
|
||||
<a name="l00598"></a>00598 <span class="keywordflow">default</span>: <span class="keywordflow">return</span> string(<span class="stringliteral">"undefined"</span>); \
|
||||
<a name="l00599"></a>00599 }};
|
||||
<a name="l00600"></a>00600
|
||||
<a name="l00601"></a>00601
|
||||
<a name="l00602"></a>00602
|
||||
<a name="l00609"></a><a class="code" href="classslsDetectorUsers.html#420880726f4036bf9da83edfcb2d6cf0">00609</a> <span class="keyword">static</span> string <a class="code" href="classslsDetectorUsers.html#420880726f4036bf9da83edfcb2d6cf0">getTimingMode</a>(<span class="keywordtype">int</span> f){ \
|
||||
<a name="l00610"></a>00610 <span class="keywordflow">switch</span>(f) { \
|
||||
<a name="l00611"></a>00611 <span class="keywordflow">case</span> 0: <span class="keywordflow">return</span> string( <span class="stringliteral">"auto"</span>); \
|
||||
<a name="l00612"></a>00612 <span class="keywordflow">case</span> 1: <span class="keywordflow">return</span> string(<span class="stringliteral">"trigger"</span>); \
|
||||
<a name="l00613"></a>00613 <span class="keywordflow">case</span> 2: <span class="keywordflow">return</span> string(<span class="stringliteral">"ro_trigger"</span>); \
|
||||
<a name="l00614"></a>00614 <span class="keywordflow">case</span> 3: <span class="keywordflow">return</span> string(<span class="stringliteral">"gating"</span>); \
|
||||
<a name="l00615"></a>00615 <span class="keywordflow">case</span> 4: <span class="keywordflow">return</span> string(<span class="stringliteral">"triggered_gating"</span>); \
|
||||
<a name="l00616"></a>00616 <span class="keywordflow">default</span>: <span class="keywordflow">return</span> string( <span class="stringliteral">"unknown"</span>); \
|
||||
<a name="l00617"></a>00617 } };
|
||||
<a name="l00618"></a>00618
|
||||
<a name="l00625"></a><a class="code" href="classslsDetectorUsers.html#e88a9626e4e661c1c0e1d27ba4a57d50">00625</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classslsDetectorUsers.html#420880726f4036bf9da83edfcb2d6cf0">getTimingMode</a>(string s){ \
|
||||
<a name="l00626"></a>00626 <span class="keywordflow">if</span> (s== <span class="stringliteral">"auto"</span>) <span class="keywordflow">return</span> 0; \
|
||||
<a name="l00627"></a>00627 <span class="keywordflow">if</span> (s== <span class="stringliteral">"trigger"</span>) <span class="keywordflow">return</span> 1; \
|
||||
<a name="l00628"></a>00628 <span class="keywordflow">if</span> (s== <span class="stringliteral">"ro_trigger"</span>) <span class="keywordflow">return</span> 2; \
|
||||
<a name="l00629"></a>00629 <span class="keywordflow">if</span> (s== <span class="stringliteral">"gating"</span>) <span class="keywordflow">return</span> 3; \
|
||||
<a name="l00630"></a>00630 <span class="keywordflow">if</span> (s== <span class="stringliteral">"triggered_gating"</span>) <span class="keywordflow">return</span> 4; \
|
||||
<a name="l00631"></a>00631 <span class="keywordflow">return</span> -1; };
|
||||
<a name="l00632"></a>00632
|
||||
<a name="l00633"></a>00633 <span class="keyword">private</span>:
|
||||
<a name="l00634"></a>00634 multiSlsDetector *myDetector;
|
||||
<a name="l00635"></a>00635 multiSlsDetectorCommand *myCmd;
|
||||
<a name="l00636"></a>00636 };
|
||||
<a name="l00637"></a>00637
|
||||
<a name="l00638"></a>00638 <span class="preprocessor">#endif</span>
|
||||
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon May 26 17:07:05 2014 by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
|
||||
</body>
|
||||
</html>
|