Releases: olekuhlmann/CCTools
Release list
v1.0.0
Initial release of the software.
Introduction
The CCTools Library in C++ serves as an interface between the RAT-Library (the underlying library of the closed-source licensed RAT-GUI software) and any C++ software performing computations on canted-cosine-theta (CCT) magnet models defined in JSON. CCTools provides user-friendly classes that facilitate the usage of the RAT-Library. This library has two main functionalities, as presented in the following.
JSON File Manipulation
Magnet model files created using the RAT-GUI software are saved in the JSON format.
CCTools is intended to work with these serialized JSON magnet model files. However, the RAT-Library does not provide seamless user-friendly functionalities to manipulate existing magnet model files. Rather, it focuses on creating new magnet models programmatically from scratch.
To address this, the CCTools library provides user-friendly functionality through the ModelHandler class to programmatically manipulate JSON magnet models by editing the underlying JSON file.
Simulation Handlers
In the RAT-GUI, results of any simulation are presented in a convenient fashion. The RAT-Library does not provide these convenient results but the raw data resulting from the simulation.
To facilitate the use of the RAT-Library, CCTools provides the ModelCalculator class to run any simulation. The results are returned in user-friendly handler classes, e.g., as a CCTools::HarmonicsDataHandler object for the result of a harmonics calculation. This object provides functions to retrieve the same information displayed in the RAT-GUI, e.g., HarmonicsDataHandler::get_bn to retrieve the vector of the 10 bn values from a harmonics calculation.