From b084947ddb8b7c426468230a9fa0673b119183dc Mon Sep 17 00:00:00 2001 From: Raffaella De Vita Date: Tue, 3 Mar 2026 15:37:44 -0500 Subject: [PATCH] fix strip numbering and orientation --- .../trapezoid/MPGDTrapezoidStripFactory.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidStripFactory.java b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidStripFactory.java index 283adf2b21..9a8cad102f 100644 --- a/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidStripFactory.java +++ b/common-tools/clas-jcsg/src/main/java/org/jlab/detector/geant4/v2/MPGD/trapezoid/MPGDTrapezoidStripFactory.java @@ -336,7 +336,7 @@ protected static boolean buildStripSegment(int internalIndex, StripConstants c, Vector3d nXY = new Vector3d(ca, -sa, 0.0); double rhs = (internalIndex + 0.5) * c.pitch; - List inters = new ArrayList<>(4); + List inters = new ArrayList<>(); for (Vector3d[] e : tr.edges()) { Vector3d P = new Vector3d(0, 0, 0); @@ -359,8 +359,14 @@ protected static boolean buildStripSegment(int internalIndex, StripConstants c, double d2 = dx * dx + dy * dy; if (d2 > best) { best = d2; - a = inters.get(i); - b = inters.get(j); + if(dy>0) { + a = inters.get(i); + b = inters.get(j); + } + else { + a = inters.get(j); + b = inters.get(i); + } } } } @@ -418,9 +424,9 @@ protected List buildStripCache(StripConstants c) { tmp.add(s); } - tmp.sort(Comparator - .comparingDouble((StripGeom s) -> s.orderXLocal) - .thenComparingInt(s -> s.internalIndex)); +// tmp.sort(Comparator +// .comparingDouble((StripGeom s) -> s.orderXLocal) +// .thenComparingInt(s -> s.internalIndex)); int comp = 1; for (StripGeom s : tmp) {