def check_separations_at_ips_against_madvars(twiss_df_b1, twiss_df_b2,
                                             variables_dict, tol):

    separations_to_check = []
    for iip, ip in enumerate([2, 8]):
        for plane in ['x', 'y']:
            # (*) Adapet based on knob definitions
            separations_to_check.append({
                'element_name': f'ip{ip}:1',
                'scale_factor': -2 * 1e-3,
                'plane': plane,
                # knobs like on_sep1h, onsep8v etc
                'varname': f'on_sep{ip}' + {
                    'x': 'h',
                    'y': 'v'
                }[plane],
                'tol': tol[iip]
            })
    separations_to_check.append({  # IP1
        'element_name': f'ip1:1',
        'scale_factor': -2 * 1e-3,
        'plane': 'x',
        'varname': 'on_sep1',
        'tol': tol[0]
    })
    separations_to_check.append({  # IP5
        'element_name': f'ip5:1',
        'scale_factor': -2 * 1e-3,
        'plane': 'y',
        'varname': 'on_sep5',
        'tol': tol[2]
    })
    pm.check_separations_against_madvars(separations_to_check, twiss_df_b1,
                                         twiss_df_b2, variables_dict)
Exemple #2
0
def _check_separations_at_ips_against_madvars(twiss_df_b1, twiss_df_b2,
        variables_dict, tol):

    separations_to_check = []
    # IP1
    separations_to_check.append({
            'element_name': f'ip1:1',
            'plane': 'x',
            'varname': 'on_sep1',
            'scale_factor': -2*1e-3,
            'tol': tol[0]})
    # IP5
    separations_to_check.append({
            'element_name': f'ip5:1',
            'plane': 'y',
            'varname': 'on_sep5',
            'scale_factor': -2*1e-3,
            'tol': tol[2]})
    # IP2 and IP8
    separations_to_check.append({
            'element_name': f'ip2:1',
            'plane': 'x',
            'varname': 'on_sep2',
            'scale_factor': -2*1e-3,
            'tol': tol[1]})

    separations_to_check.append({
            'element_name': f'ip8:1',
            'plane': 'y',
            'varname': 'on_sep8',
            'scale_factor': -2*1e-3,
            'tol': tol[3]})

    pm.check_separations_against_madvars(separations_to_check,
            twiss_df_b1, twiss_df_b2, variables_dict)