1 research outputs found

    First experience on python development for survey software, advantages and drawbacks

    No full text
    During long shutdown and maintenance periods at CERN, the surveying teams intensively use in-house data processing software, developed in the last decades and mostly written in C++ language. The accurate measurement of the deviations of hundreds of successive accelerator components with respect to their theoretical positions, in either vertical or radial direction, is part of survey activities. The final smoothing operations consist of mechanically re-positioning some of those com- ponents to ensure smooth transitions between elements and to limit optical corrections of the particle beams orbits. RABOT is the survey software currently used to process the measured deviations and provide such smoothed data. Initially designed in Fortran language in the ’90s, it had been fully rewritten in C++ ten years later. However, the unnecessary complexity of its code, as well as missing doc- umentation made it difficult to maintain. Based on reverse- engineering methods, it was recently decided to rewrite this essential software using Python language. The usage of Python as a software development language is a questionable choice from a performance point of view. Indeed, the compiled nature of the C++ language makes it incomparably faster than equivalent algorithms coded in scripting languages such as Python. Nonetheless, there are multiple benefits of choosing Python for simple software development. Amongst them: a more comprehensive syn- tax and automatized implementation such as memory man- agement and dynamic typing. It can drastically reduce the development time and enhances the legibility for non-expert programmers. As a direct consequence, available resources and development efforts can be oriented towards algorithmic optimization and improvements. Moreover, the development relies on robust and efficient numerical libraries such as NumPy that offer a wide variety of tuneable methods. The first in-house survey software implemented fully in Python was achieved and performances improved compared to its older C++ implementation
    corecore