Skip to content
Snippets Groups Projects
Verified Commit 404c700b authored by Michiel Cottaar's avatar Michiel Cottaar
Browse files

Add DelayedEvent

parent 65a280e4
No related branches found
No related tags found
No related merge requests found
...@@ -4,11 +4,13 @@ include("gradient_waveforms/gradient_waveforms.jl") ...@@ -4,11 +4,13 @@ include("gradient_waveforms/gradient_waveforms.jl")
include("instant_gradients.jl") include("instant_gradients.jl")
include("pulses/pulses.jl") include("pulses/pulses.jl")
include("readouts/readouts.jl") include("readouts/readouts.jl")
include("delayed_events.jl")
import .AbstractTypes: BaseComponent, GradientWaveform, EventComponent, RFPulseComponent, ReadoutComponent import .AbstractTypes: BaseComponent, GradientWaveform, EventComponent, RFPulseComponent, ReadoutComponent
import .GradientWaveforms: ConstantGradient, ChangingGradient, NoGradient, split_gradient import .GradientWaveforms: ConstantGradient, ChangingGradient, NoGradient, split_gradient
import .InstantGradients: InstantGradient1D, InstantGradient3D import .InstantGradients: InstantGradient1D, InstantGradient3D
import .Pulses: GenericPulse, InstantPulse, SincPulse, ConstantPulse import .Pulses: GenericPulse, InstantPulse, SincPulse, ConstantPulse
import .Readouts: ADC, SingleReadout import .Readouts: ADC, SingleReadout
import .DelayedEvents: DelayedEvent
end end
\ No newline at end of file
module DelayedEvents
import ..AbstractTypes: EventComponent, ReadoutComponent, RFPulseComponent
import ...Variables: VariableType, get_free_variable, get_pulse, get_readout
struct DelayedEvent{T<:EventComponent} <: EventComponent
event :: T
delay :: VariableType
function DelayedEvent(event::EventComponent, delay=nothing)
new(event, get_free_variable(delay))
end
end
effective_time(del::DelayedEvent) = effective_time(del.event) + del.delay
get_pulse(del::DelayedEvent{T}) where {T<:RFPulseComponent} = del.event
get_readout(del::DelayedEvent{T}) where {T<:ReadoutComponent} = del.event
end
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment