コード例 #1
0
        emitnx_sixtrack_um=(mad_track.sequence[sequence_to_track].beam.exn),
        emitny_sixtrack_um=(mad_track.sequence[sequence_to_track].beam.eyn),
        sigz_sixtrack_m=(mad_track.sequence[sequence_to_track].beam.sigt),
        sige_sixtrack=(mad_track.sequence[sequence_to_track].beam.sige),
        ibeco_sixtrack=1,
        ibtyp_sixtrack=0,
        lhc_sixtrack=2,
        ibbc_sixtrack=0,
        radius_sixtrack_multip_conversion_mad=0.017,
        skip_mad_use=True)

#######################################
# Save optics and orbit at start ring #
#######################################

optics_orbit_start_ring = pm.get_optics_and_orbit_at_start_ring(
    mad_track, sequence_to_track, skip_mad_use=True)
with open('./optics_orbit_at_start_ring.pkl', 'wb') as fid:
    pickle.dump(optics_orbit_start_ring, fid)

#############################
# Generate pysixtrack lines #
#############################

if enable_bb_legacy:
    print('Pysixtrack line is not generated with bb legacy macros')
else:
    pysix_fol_name = "./pysixtrack"
    dct_pysxt = pm.generate_pysixtrack_line_with_bb(
        mad_track,
        sequence_to_track,
        bb_df_track,
コード例 #2
0
sys.path.append('./modules')
import pymask as pm

Madx = pm.Madxp
mad = Madx(command_log="mad_final.log")
mad.call("final_seq.madx")
mad.use(sequence="lhcb1")
mad.twiss()
mad.readtable(file="final_errors.tfs", table="errtab")
mad.seterr(table="errtab")
mad.set(format=".15g")
mad.twiss(rmatrix=True)

sequence_to_track = 'lhcb1'
bb_df_track = pd.read_pickle('bb_df_track.pickle')
optics_and_co_at_start_ring_from_madx = pm.get_optics_and_orbit_at_start_ring(
    mad, sequence_to_track, skip_mad_use=True)
#with open('./optics_orbit_at_start_ring_from_madx.json', 'w') as fid:
#    json.dump(optics_and_co_at_start_ring_from_madx, fid, cls=pm.JEncoder

########################
# Generate xtrack line #
########################
#if enable_bb_legacy:
#    print('xtrack line is not generated with bb legacy macros')
#    else:

tracker, line_bb_for_tracking_dict = pm.generate_xsuite_line(
    mad,
    sequence_to_track,
    bb_df_track,
    optics_and_co_at_start_ring_from_madx,