From 8fcfee7439b8b99beea193d72465575474caf507 Mon Sep 17 00:00:00 2001 From: Michiel Cottaar <michiel.cottaar@ndcn.ox.ac.uk> Date: Wed, 31 Jan 2024 17:18:41 +0000 Subject: [PATCH] Clarify type hierarchy --- src/waveforms/generic.jl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/waveforms/generic.jl b/src/waveforms/generic.jl index 285b5b2..8ee9d7b 100644 --- a/src/waveforms/generic.jl +++ b/src/waveforms/generic.jl @@ -9,10 +9,16 @@ import ...Variables: flip_angle, amplitude, phase, frequency, bandwidth, inverse """ Parent type for all objects, where gradients, RF pulses, and/or readouts might overlap with each other. -All children need to be at least convertable into [`GenericWaveform`](@ref). -They might also override specific functions that can be computed more efficiently +Do not sub-type from this type directly, use [`SpecificWaveform`](@ref) instead. """ abstract type AbstractWaveform <: ContainerBlock end + +""" +Parent type for any specific gradient waveform that might overlap with RF pulses and/or readouts. + +New waveforms should sub-type from this one. +At the very least they should implement a conversion to [`GenericWaveform`](@ref). +""" abstract type SpecificWaveform <: AbstractWaveform end -- GitLab