diff --git a/pom.xml b/pom.xml index 2d11916126..06ca1fe642 100644 --- a/pom.xml +++ b/pom.xml @@ -122,16 +122,10 @@ 3.6.1 - - org.apache.commons - commons-lang3 - 3.20.0 - - org.apache.commons commons-text - 1.15.0 + 1.15.0 @@ -203,7 +197,7 @@ j4ml - j4ml-neuroph + j4ml-neuroph 0.9-SNAPSHOT @@ -281,6 +275,18 @@ 0.40 + + + org.apache.commons + commons-lang3 + 3.20.0 + + diff --git a/reconstruction/alert/pom.xml b/reconstruction/alert/pom.xml index c4baa62486..f6badbc8dd 100644 --- a/reconstruction/alert/pom.xml +++ b/reconstruction/alert/pom.xml @@ -22,11 +22,6 @@ org.apache.commons commons-math3 - - org.apache.commons - commons-lang3 - compile - org.jlab.clas clas-reco diff --git a/reconstruction/alert/src/main/java/org/jlab/rec/alert/AI/TrackCandidatesGenerator.java b/reconstruction/alert/src/main/java/org/jlab/rec/alert/AI/TrackCandidatesGenerator.java index e121b28862..8cfb5b5f80 100644 --- a/reconstruction/alert/src/main/java/org/jlab/rec/alert/AI/TrackCandidatesGenerator.java +++ b/reconstruction/alert/src/main/java/org/jlab/rec/alert/AI/TrackCandidatesGenerator.java @@ -1,8 +1,8 @@ package org.jlab.rec.alert.AI; -import org.apache.commons.lang3.mutable.MutableBoolean; - -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.atomic.AtomicBoolean; /** * The TrackConstruction class is responsible for constructing all possible track @@ -81,18 +81,18 @@ private double mod(double x, double y) { * @param number_of_track_candidates The current count of track candidates. * @return A list of all possible combinations of integers from {@code v1} and {@code v2}. */ - private ArrayList> cartesianProduct(ArrayList> v1, ArrayList v2, MutableBoolean too_much_track_candidates, int number_of_track_candidates) { + private ArrayList> cartesianProduct(ArrayList> v1, ArrayList v2, AtomicBoolean too_much_track_candidates, int number_of_track_candidates) { ArrayList> result = new ArrayList<>(); for (ArrayList i : v1) { - if (too_much_track_candidates.booleanValue()) break; + if (too_much_track_candidates.get()) break; for (int j : v2) { - if (too_much_track_candidates.booleanValue()) break; + if (too_much_track_candidates.get()) break; ArrayList n = new ArrayList<>(i); n.add(j); result.add(n); if (number_of_track_candidates + result.size() >= MAX_NUMBER_OF_TRACK_CANDIDATES) { - too_much_track_candidates.setValue(true); + too_much_track_candidates.set(true); break; } } @@ -155,8 +155,7 @@ else if (interClusters.get(all_superpreclusters.get(i)).getPreclusters().get(0). superpreclusters_s5.add(all_superpreclusters.get(i)); } - MutableBoolean too_much_track_candidates = new MutableBoolean(); // Need to be a mutable boolean to be able to change it in the cartesian_product method - too_much_track_candidates.setFalse(); + AtomicBoolean too_much_track_candidates = new AtomicBoolean(false); // Needs to be mutable so cartesianProduct can set it // Find all possible combinations of superpreclusters on different superlayers ArrayList> combinations_s1_s2 = cartesianProduct(new ArrayList<>(List.of(superpreclusters_s1)), superpreclusters_s2, too_much_track_candidates, number_of_track_candidates); @@ -166,7 +165,7 @@ else if (interClusters.get(all_superpreclusters.get(i)).getPreclusters().get(0). // Keep track of the number of track candidates number_of_track_candidates += combinations_s1_s2_s3_s4_s5.size(); - if (too_much_track_candidates.booleanValue()) sucess = false; // If the number of track candidates exceeds the maximum limit, set success to false + if (too_much_track_candidates.get()) sucess = false; // If the number of track candidates exceeds the maximum limit, set success to false // Add all track candidates to the list of all track candidates // And switch back from index to superprecluster