From 13480c27b9feaf9a5a412267a5c6ff6289699c2c Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 8 May 2026 17:32:02 -0400 Subject: [PATCH 1/3] keep track of field types instead of checking later --- .../java/cnuphys/magfield/CompositeField.java | 22 +++++++------------ 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/common-tools/cnuphys/magfield/src/main/java/cnuphys/magfield/CompositeField.java b/common-tools/cnuphys/magfield/src/main/java/cnuphys/magfield/CompositeField.java index c9b2820da7..de1d4d192e 100644 --- a/common-tools/cnuphys/magfield/src/main/java/cnuphys/magfield/CompositeField.java +++ b/common-tools/cnuphys/magfield/src/main/java/cnuphys/magfield/CompositeField.java @@ -11,6 +11,9 @@ @SuppressWarnings("serial") public class CompositeField extends ArrayList implements IMagField { + boolean hasTorus; + boolean hasSolenoid; + /** * Checks whether the field has been set to always return zero. * @@ -43,6 +46,9 @@ public boolean add(IMagField field) { } } + hasSolenoid = field instanceof Solenoid; + hasTorus = field instanceof Torus; + return super.add(field); } @@ -69,13 +75,7 @@ public String getName() { * @return true if we have a torus */ public boolean hasTorus() { - for (IMagField field : this) { - if (field instanceof Torus) { - return true; - } - } - - return false; + return hasTorus; } /** @@ -84,13 +84,7 @@ public boolean hasTorus() { * @return true if we have a solenoid */ public boolean hasSolenoid() { - for (IMagField field : this) { - if (field instanceof Solenoid) { - return true; - } - } - - return false; + return hasSolenoid; } /** From e095567afe3e82279efda1b2107bd86d360de056 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 8 May 2026 21:13:27 -0400 Subject: [PATCH 2/3] follow magfield naming conventions --- .../main/java/cnuphys/magfield/CompositeField.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/common-tools/cnuphys/magfield/src/main/java/cnuphys/magfield/CompositeField.java b/common-tools/cnuphys/magfield/src/main/java/cnuphys/magfield/CompositeField.java index de1d4d192e..20768dcc34 100644 --- a/common-tools/cnuphys/magfield/src/main/java/cnuphys/magfield/CompositeField.java +++ b/common-tools/cnuphys/magfield/src/main/java/cnuphys/magfield/CompositeField.java @@ -11,8 +11,8 @@ @SuppressWarnings("serial") public class CompositeField extends ArrayList implements IMagField { - boolean hasTorus; - boolean hasSolenoid; + boolean _hasTorus; + boolean _hasSolenoid; /** * Checks whether the field has been set to always return zero. @@ -46,8 +46,8 @@ public boolean add(IMagField field) { } } - hasSolenoid = field instanceof Solenoid; - hasTorus = field instanceof Torus; + _hasSolenoid = field instanceof Solenoid; + _hasTorus = field instanceof Torus; return super.add(field); } @@ -75,7 +75,7 @@ public String getName() { * @return true if we have a torus */ public boolean hasTorus() { - return hasTorus; + return _hasTorus; } /** @@ -84,7 +84,7 @@ public boolean hasTorus() { * @return true if we have a solenoid */ public boolean hasSolenoid() { - return hasSolenoid; + return _hasSolenoid; } /** From 1b0a956c9a34b43db7f3c5718261db3a566064c5 Mon Sep 17 00:00:00 2001 From: Nathan Baltzell Date: Fri, 8 May 2026 21:37:20 -0400 Subject: [PATCH 3/3] fix initialization --- .../main/java/cnuphys/magfield/CompositeField.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/common-tools/cnuphys/magfield/src/main/java/cnuphys/magfield/CompositeField.java b/common-tools/cnuphys/magfield/src/main/java/cnuphys/magfield/CompositeField.java index 20768dcc34..f80a8560db 100644 --- a/common-tools/cnuphys/magfield/src/main/java/cnuphys/magfield/CompositeField.java +++ b/common-tools/cnuphys/magfield/src/main/java/cnuphys/magfield/CompositeField.java @@ -46,10 +46,16 @@ public boolean add(IMagField field) { } } - _hasSolenoid = field instanceof Solenoid; - _hasTorus = field instanceof Torus; - - return super.add(field); + _hasSolenoid = false; + _hasTorus = false; + if (super.add(field)) { + for (IMagField ifield : this) { + if (ifield instanceof Solenoid) _hasSolenoid = true; + if (ifield instanceof Torus) _hasTorus = true; + } + return true; + } + return false; } @Override