Parent type for all blocks that can take different MR sequence components between multiple repetitions of the sequence.
They can be extended into their individual components using `adjust(<name>=:all)`.
Each subtype of [`AbstractAlternativeBlock`](@ref) needs to implement two methods:
- [`get_alternatives_name`](@ref): returns the `name` used to identify this block in `adjust`
- [`get_alternatives_options`](@ref): returns a dictionary mapping the name of the different options to a [`ContainerBlock`](@ref) with the actual sequence building block.
"""
abstract type AbstractAlternativeBlocks<:ContainerBlockend
"""
AlternativeBlocks(name, blocks)
...
...
@@ -11,19 +22,35 @@ Represents a part of the sequence where there are multiple possible alternatives
Variables can be matched across these alternatives using [`match_blocks!`](@ref).
The `name` is a symbol that is used to identify this `AlternativeBlocks` in the broader sequence.
The `name` is a symbol that is used to identify this `AlternativeBlocks` in the broader sequence (as in `adjust`).