17.01.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!