SixTrack / sixtracklib

Library for single charged particle simulations in accelerators
GNU Lesser General Public License v2.1
12 stars 16 forks source link

Expose beam-beam data via Objects #26

Open giadarol opened 5 years ago

giadarol commented 5 years ago

Some questions to be discussed:

Here the struct definitions for reference:

typedef struct{
    SIXTRL_REAL_T sphi;
    SIXTRL_REAL_T cphi;
    SIXTRL_REAL_T tphi;
    SIXTRL_REAL_T salpha;
    SIXTRL_REAL_T calpha;
}BB6D_boost_data;

typedef struct{
    SIXTRL_REAL_T Sig_11_0;
    SIXTRL_REAL_T Sig_12_0;
    SIXTRL_REAL_T Sig_13_0;
    SIXTRL_REAL_T Sig_14_0;
    SIXTRL_REAL_T Sig_22_0;
    SIXTRL_REAL_T Sig_23_0;
    SIXTRL_REAL_T Sig_24_0;
    SIXTRL_REAL_T Sig_33_0;
    SIXTRL_REAL_T Sig_34_0;
    SIXTRL_REAL_T Sig_44_0;
}BB6D_Sigmas;

typedef struct{
    SIXTRL_REAL_T q_part;
    BB6D_boost_data parboost;
    BB6D_Sigmas Sigmas_0_star;
    SIXTRL_REAL_T min_sigma_diff;
    SIXTRL_REAL_T threshold_singular;
    SIXTRL_INT64_T N_slices;

    SIXTRL_REAL_T delta_x;
    SIXTRL_REAL_T delta_y;
    SIXTRL_REAL_T x_CO;
    SIXTRL_REAL_T px_CO;
    SIXTRL_REAL_T y_CO;
    SIXTRL_REAL_T py_CO;
    SIXTRL_REAL_T sigma_CO;
    SIXTRL_REAL_T delta_CO;
    SIXTRL_REAL_T Dx_sub;
    SIXTRL_REAL_T Dpx_sub;
    SIXTRL_REAL_T Dy_sub;
    SIXTRL_REAL_T Dpy_sub;
    SIXTRL_REAL_T Dsigma_sub;
    SIXTRL_REAL_T Ddelta_sub;
    SIXTRL_INT64_T enabled;

    SIXTRL_BE_DATAPTR_DEC SIXTRL_REAL_T* N_part_per_slice;
    SIXTRL_BE_DATAPTR_DEC SIXTRL_REAL_T* x_slices_star;
    SIXTRL_BE_DATAPTR_DEC SIXTRL_REAL_T* y_slices_star;
    SIXTRL_BE_DATAPTR_DEC SIXTRL_REAL_T* sigma_slices_star;
}BB6D_data;