From 0f7ae60faf3ddef7ba5a82f8c4251508c1074b89 Mon Sep 17 00:00:00 2001
From: Michiel Cottaar <michiel.cottaar@ndcn.ox.ac.uk>
Date: Tue, 30 Jan 2024 14:57:23 +0000
Subject: [PATCH] fix update_gradient_tracker_till_time!

---
 src/pathways.jl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/pathways.jl b/src/pathways.jl
index 97b383d..d22550a 100644
--- a/src/pathways.jl
+++ b/src/pathways.jl
@@ -341,7 +341,7 @@ The `bmat` is updated with the outer produce of `qvec` with itself multiplied by
 When called with the first signature the tracker will be created from scratch if a tracker with that `key` does not exist.
 """
 function update_gradient_tracker_till_time!(walker::PathwayWalker, key::Tuple, new_time::VariableType)
-    if key in keys(walker.gradient_trackers)
+    if !(key in keys(walker.gradient_trackers))
         walker.gradient_trackers[key] = GradientTracker()
     end
     update_gradient_tracker_till_time!(walker.gradient_trackers[key], new_time)
@@ -425,7 +425,7 @@ function update_walker_gradient!(gradient::GradientBlock, walker::PathwayWalker,
 
     # update gradient tracker till start of gradient
     key = (gradient.scale, gradient.rotate)
-    update_gradient_tracker_till_time!(gradient, key, gradient_start_time)
+    update_gradient_tracker_till_time!(walker, key, gradient_start_time)
 
     # update qvec/bmat during gradient
     tracker = walker.gradient_trackers[key]
-- 
GitLab