Print

Print


Commit in lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux on MAIN
geom/CalGeometry.java+2-21.11 -> 1.12
    /CalLayer.java+17-151.4 -> 1.5
infrastructure/CruxHitMap.java+4-311.3 -> 1.4
itc/LayerData.java+3-11.2 -> 1.3
   /RosaryClusterer.java+23-191.2 -> 1.3
+49-68
5 modified files
Fix layer/module ID issues

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/geom
CalGeometry.java 1.11 -> 1.12
diff -u -r1.11 -r1.12
--- CalGeometry.java	27 Mar 2009 20:02:02 -0000	1.11
+++ CalGeometry.java	31 Mar 2009 03:55:34 -0000	1.12
@@ -39,7 +39,7 @@
  * calorimeters is available - see {@link SiD02Geometry}.
  * 
  * @author D. Onoprienko
- * @version $Id: CalGeometry.java,v 1.11 2009/03/27 20:02:02 onoprien Exp $
+ * @version $Id: CalGeometry.java,v 1.12 2009/03/31 03:55:34 onoprien Exp $
  */
 abstract public class CalGeometry implements JobEventListener {
 
@@ -62,7 +62,7 @@
         _de2cl.put(layer.getDetectorElement(), layer);
       }
     }
-    //printModules();
+    printModules();
   }
 
 

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/geom
CalLayer.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- CalLayer.java	26 Mar 2009 20:58:40 -0000	1.4
+++ CalLayer.java	31 Mar 2009 03:55:34 -0000	1.5
@@ -9,17 +9,27 @@
  * Class that represents a layer inside a calorimeter module.
  * 
  * @author D. Onoprienko
- * @version $Id: CalLayer.java,v 1.4 2009/03/26 20:58:40 onoprien Exp $
+ * @version $Id: CalLayer.java,v 1.5 2009/03/31 03:55:34 onoprien Exp $
  */
 public class CalLayer implements Comparable<CalLayer> {
-  
+
+// -- Private parts :  ---------------------------------------------------------
+
+  private CalModule _module;
+  private int _decoded;
+  private int _id;
+  private int _ordinal;
+  private IDetectorElement _detEl;
+  private Surface _refSurf;
+
+
 // -- Constructors :  ----------------------------------------------------------
   
-  public CalLayer(CalModule module, IDetectorElement detectorElement, int ordinal, int layerID, int layerNumber) {
+  public CalLayer(CalModule module, IDetectorElement detectorElement, int layerOrdinal, int layerID, int layerDecoded) {
     _module = module;
-    _ordinal = ordinal;
+    _ordinal = layerOrdinal;
     _detEl = detectorElement;
-    _layer = layerNumber;
+    _decoded = layerDecoded;
     _id = layerID;
     _refSurf = JobManager.defaultInstance().get(CalGeometry.class).createReferenceSurface(detectorElement);
   }
@@ -42,7 +52,7 @@
    * Note that layers in a module are not necessarily numbered starting from zero.
    */
   public int getLayerDecoded() {
-    return _layer;
+    return _decoded;
   }
   
   /** 
@@ -75,18 +85,10 @@
     return _id - layer._id;
   }
 
+
 // -- Overriding Object :  -----------------------------------------------------
 
   public String toString() {
     return "CalLayer:" + _detEl.getName();
   }
-  
-// -- Private parts :  ---------------------------------------------------------
-  
-  private CalModule _module;
-  private int _layer;
-  private int _id;
-  private int _ordinal;
-  private IDetectorElement _detEl;
-  private Surface _refSurf;
 }

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/infrastructure
CruxHitMap.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- CruxHitMap.java	19 Feb 2009 20:46:08 -0000	1.3
+++ CruxHitMap.java	31 Mar 2009 03:55:35 -0000	1.4
@@ -24,7 +24,7 @@
  * copy of each hit is held, no matter how many times it is added to this collection.
  *
  * @author D. Onoprienko
- * @version $Id: CruxHitMap.java,v 1.3 2009/02/19 20:46:08 onoprien Exp $
+ * @version $Id: CruxHitMap.java,v 1.4 2009/03/31 03:55:35 onoprien Exp $
  */
 final public class CruxHitMap implements List<CalorimeterHit> {
   
@@ -217,19 +217,14 @@
   }
   
   /**
-   * Returns a list of hits from this <tt>CruxHitMap</tt> that belong to the specified module and layer.
+   * Returns a list of hits from this <tt>CruxHitMap</tt> that belong to the specified calorimeter layer.
    * The returned list is not backed by this <tt>CruxHitMap</tt> and can be modified independently.
-   *
-   * @param  module  Calorimeter module.
-   * @param  layer   Calorimeter layer number as reported by <tt>IDDecoder</tt>.
    */
-  public ArrayList<CalorimeterHit> toList(CalModule module, int layer) {
-    final CalModule mod = module;
-    final int lay = layer;
+  public ArrayList<CalorimeterHit> toList(final CalLayer layer) {
     final CalGeometry geom = JobManager.defaultInstance().get(CalGeometry.class);
     CruxHitFilter filter = new CruxHitFilter() {
       public boolean pass(CalorimeterHit hit) {
-        return (mod == geom.getModule(hit) && lay == hit.getIDDecoder().getLayer());
+        return (layer == geom.getLayer(hit));
       }
     };
     return toList(filter);
@@ -237,28 +232,6 @@
   
   /**
    * Returns a new <tt>CruxHitMap</tt> containing only those hits from this <tt>CruxHitMap</tt>
-   * that belong to the specified module and layer.
-   *
-   * @param  module  Calorimeter module.
-   * @param  layer   Calorimeter layer number as reported by <tt>IDDecoder</tt>.
-   */
-  public CruxHitMap toMap(CalModule module, int layer) {
-    ArrayList<CalorimeterHit> hits = toList(module, layer);
-    CruxHitMap out = new CruxHitMap((int)(hits.size()*1.5));
-    out.addAll(hits);
-    return out;
-  }
-  
-  /**
-   * Returns a list of hits from this <tt>CruxHitMap</tt> that belong to the specified calorimeter layer.
-   * The returned list is not backed by this <tt>CruxHitMap</tt> and can be modified independently.
-   */
-  public ArrayList<CalorimeterHit> toList(CalLayer layer) {
-    return toList(layer.getModule(), layer.getLayerDecoded());
-  }
-  
-  /**
-   * Returns a new <tt>CruxHitMap</tt> containing only those hits from this <tt>CruxHitMap</tt>
    * that belong to the specified calorimeter layer.
    */
   public CruxHitMap toMap(CalLayer layer) {

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/itc
LayerData.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- LayerData.java	30 Mar 2009 05:41:21 -0000	1.2
+++ LayerData.java	31 Mar 2009 03:55:35 -0000	1.3
@@ -12,7 +12,7 @@
  * that belong to a particular layer of a particular calorimeter module.
  *
  * @author D. Onoprienko
- * @version $Id: LayerData.java,v 1.2 2009/03/30 05:41:21 onoprien Exp $
+ * @version $Id: LayerData.java,v 1.3 2009/03/31 03:55:35 onoprien Exp $
  */
 public class LayerData {
 
@@ -41,6 +41,8 @@
    * This method should be called after lists of {@link Dot} and {@link Bead} have been filled.
    */
   void initialize() {
+
+    //System.out.println("Init layer "+ cruxLayer +" Dots "+ dots.size() +" Beads "+ beads.size());
     
     dotMap = new HashMap<Long, Dot>(dots.size()*2);
     for (Dot dot : dots) {

lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/itc
RosaryClusterer.java 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- RosaryClusterer.java	30 Mar 2009 05:41:21 -0000	1.2
+++ RosaryClusterer.java	31 Mar 2009 03:55:35 -0000	1.3
@@ -63,7 +63,7 @@
  * </dl>
  *
  * @author D. Onoprienko
- * @version $Id: RosaryClusterer.java,v 1.2 2009/03/30 05:41:21 onoprien Exp $
+ * @version $Id: RosaryClusterer.java,v 1.3 2009/03/31 03:55:35 onoprien Exp $
  */
 public class RosaryClusterer extends Driver implements Clusterer, JobEventListener {
 
@@ -82,6 +82,7 @@
 
   protected LayerDataBase _layerDB;
   protected int _nLayers;
+  protected EventHeader _event;
 
   protected ChooseSeedLayers _chooseSeedLayers;
   protected SeedFromTrack _seedFromTrack;
@@ -210,6 +211,7 @@
   public void process(EventHeader event) {
     
     super.process(event);
+    _event = event;
 
     _inTracks = new LinkedHashSet<ITrack>();
     if (_inParticlesName != null) {
@@ -249,24 +251,7 @@
     _inTracks = null;
     event.put(_outRosName, rosaries, Rosary.class, 0);
 
-    if (_saveDotsBeads) {
-      ArrayList<Cluster> dots = new ArrayList<Cluster>();
-      ArrayList<Cluster> beads = new ArrayList<Cluster>();
-      for (LayerData layerData : _layerDB) {
-        for (Dot dot : layerData.dots) {
-          CruxCluster cluster = new CruxCluster();
-          dots.add(cluster);
-          cluster.addHits(dot.getHits());
-        }
-        for (Bead bead : layerData.beads) {
-          CruxCluster cluster = new CruxCluster();
-          beads.add(cluster);
-          cluster.addHits(bead.getHits());
-        }
-      }
-      event.put("Dots", dots, Cluster.class, 0);
-      event.put("Beads", beads, Cluster.class, 0);
-    }
+    _event = null;
   }
   
 // -- Implementing Clusterer :  ------------------------------------------------
@@ -300,6 +285,25 @@
     _findDotsAndBeads.findDotsAndBeads(hitMap);
     _layerDB.initialize();
 
+    if (_saveDotsBeads && _event != null) {
+      ArrayList<Cluster> dots = new ArrayList<Cluster>();
+      ArrayList<Cluster> beads = new ArrayList<Cluster>();
+      for (LayerData layerData : _layerDB) {
+        for (Dot dot : layerData.dots) {
+          CruxCluster cluster = new CruxCluster();
+          dots.add(cluster);
+          cluster.addHits(dot.getHits());
+        }
+        for (Bead bead : layerData.beads) {
+          CruxCluster cluster = new CruxCluster();
+          beads.add(cluster);
+          cluster.addHits(bead.getHits());
+        }
+      }
+      _event.put("Dots", dots, Cluster.class, 0);
+      _event.put("Beads", beads, Cluster.class, 0);
+    }
+
     // Create Rosaries from tracks :
     
     Queue<Rosary> seedRosaries = new LinkedList<Rosary>();
CVSspam 0.2.8