From 20fa6fa8f84c21ecd4eb83a570df0d0901622190 Mon Sep 17 00:00:00 2001 From: Michiel Cottaar <michiel.cottaar@ndcn.ox.ac.uk> Date: Thu, 8 Feb 2024 14:47:35 +0000 Subject: [PATCH] update_walker_till_time for final timepoint --- src/pathways.jl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pathways.jl b/src/pathways.jl index 609472b..15e84ce 100644 --- a/src/pathways.jl +++ b/src/pathways.jl @@ -286,6 +286,7 @@ end walk_pathway!(wait::WaitBlock, walker::PathwayWalker, pulse_effects::Vector{Symbol}, nreadout::Ref{Int}, block_start_time=0.::VariableType) = false function walk_pathway!(ao::AbstractOverlapping, walker::PathwayWalker, pulse_effects::Vector{Symbol}, nreadout::Ref{Int}, block_start_time=0.::VariableType) + @show block_start_time, nreadout[] current_index = nothing current_time = block_start_time for (index_inter, interruption) in enumerate(interruptions(ao)) @@ -300,8 +301,9 @@ function walk_pathway!(ao::AbstractOverlapping, walker::PathwayWalker, pulse_eff elseif (interruption.object isa InstantReadout || interruption.object isa ADC) if length(pulse_effects) > 0 continue - elseif nreadout[] > 0 - nreadout[] -= 1 + end + nreadout[] -= 1 + if nreadout[] > 0 continue end end @@ -314,6 +316,7 @@ function walk_pathway!(ao::AbstractOverlapping, walker::PathwayWalker, pulse_eff end current_index = index_inter if length(pulse_effects) == 0 && nreadout[] == 0 + update_walker_till_time!(walker, current_time) return true end end -- GitLab