Skip to content

Releases: olekuhlmann/CCTools

Release list

v1.0.0

Choose a tag to compare

@olekuhlmann olekuhlmann released this 24 Mar 13:18
0520fae

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.