5 modified files
lcsim-contrib/src/main/java/org/lcsim/contrib/onoprien/crux/geom
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
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
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
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
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