def METHOD_NAME():
    from qupulse.pulses import TablePulseTemplate as TPT, SequencePulseTemplate as SPT, \
        RepetitionPulseTemplate as RPT, FunctionPulseTemplate as FPT, MultiChannelPulseTemplate as MPT
    sine = FPT('U*sin(2*pi*t/tau)', 'tau', channel='out')
    marker_on = FPT('1', 'tau', channel='trigger')
    multi = MPT([sine, marker_on], {'tau', 'U'})
    multi.atomicity = True
    assert sine.defined_channels == {'out'}
    assert multi.defined_channels == {'out', 'trigger'}
    sine.add_measurement_declaration('meas', 0, 'tau')
    base = SPT([(multi, dict(tau='tau', U='U'), dict(meas='A')),
                (multi, dict(tau='tau', U='U'), dict(meas='A')),
                (multi, dict(tau='tau', U='U'), dict(meas='A'))], {'tau', 'U'})
    repeated = RPT(base, 'n')
    root = SPT([repeated, repeated, repeated], {'tau', 'n', 'U'})
    assert root.defined_channels == {'out', 'trigger'}
    return root