Martin Teichmann Atomes de lithium-6 ultra froids dans la ... - TEL
Martin Teichmann Atomes de lithium-6 ultra froids dans la ... - TEL
Martin Teichmann Atomes de lithium-6 ultra froids dans la ... - TEL
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3.8. COMPUTER CONTROL<br />
where the co<strong>de</strong> could not be maintained. We rewrote the whole experimental<br />
sequence, adapting it to the new setup and removing <strong>la</strong>rge parts<br />
that had become unnecessary. During this rewrite we optimized the co<strong>de</strong><br />
interfacing with the bus, cutting in half the time between commands to<br />
5 µs.<br />
The cameras are connected to two different computers, which in turn<br />
are connected via serial ports to the control computer. We preferred to<br />
use two computers as the camera imaging the magnetical and optical<br />
traps is connected to the computer via an old PCi card and we feared<br />
that it would not be compatible with mo<strong>de</strong>rn computers, while the MOT<br />
camera is connected via USB 2.0 which is not compatible with the old<br />
computer.<br />
The data acquisition program controlling the cameras had become<br />
even more cumbersome. Many different data analysis tools had been<br />
introduced which we were not able to manage. This led to frequent<br />
crashes of the program. When the new MOT camera arrived, it was<br />
nearly impossible to adapt the old program to the camera, so it was<br />
<strong>de</strong>ci<strong>de</strong>d to write a new program from scratch. We chose Python as a<br />
programming <strong>la</strong>nguage, since it has an easy to un<strong>de</strong>rstand structure and<br />
automatic garbage collection, eliminating memory leaks which we think<br />
was the problem causing the frequent crashes. Our <strong>de</strong>sign goal was to<br />
keep the program as simple as possible, making it un<strong>de</strong>rstandable as<br />
a whole. To achieve this task we used readily avai<strong>la</strong>ble libraries from<br />
the Internet wherever feasible. Namely we used Qt4 and PyQt for the<br />
graphical user interface, matplotlib [92] for plotting the acquired images<br />
and SciPy [93] for fitting our data. We could thus <strong>de</strong>crease the size of the<br />
program from more than 25000 lines to below 2000 lines. The running<br />
program is shown in figure 3.18. An important problem of the old<br />
program was, that the calcu<strong>la</strong>tion of the physical values were distributed<br />
over the whole program. After a while they did not correspond to the<br />
actual experiment anymore, but it was cumbersome to change the co<strong>de</strong><br />
appropriately. The new program contains all physical calcu<strong>la</strong>tions in<br />
one single file, shown in figure 3.19, which can even be changed during<br />
runtime.<br />
69