Print

Print


Commit in lcsim/src/org/lcsim/contrib/onoprien/tracking on MAIN
swimmer/Helix.java-751.1 removed
       /HelixSwimmer.java-731.1 removed
tests/ClusteringTest.java-1731.2 removed
     /CoordinateConversionTest.java-821.2 removed
     /DigitizerTest.java-2511.2 removed
     /HitConverterTest.java-2671.4 removed
     /HitMakingTest.java-2501.5 removed
track/Track.java-381.3 removed
     /TrackAnchor.java-261.1 removed
     /TrackNode.java-251.3 removed
     /TrackPoint.java-121.2 removed
-1272
11 removed files
Fixing build after moving old version of virtual segmentation package to production area

lcsim/src/org/lcsim/contrib/onoprien/tracking/swimmer
Helix.java removed after 1.1
diff -N Helix.java
--- Helix.java	7 May 2007 19:02:43 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,75 +0,0 @@
-package org.lcsim.contrib.onoprien.tracking.swimmer;
-
-import org.lcsim.spacegeom.*;
-import hep.physics.vec.Hep3Vector;
-
-/**
- * Just a stub to avoid compilation errors.
- *
- * @author D.Onoprienko
- * @version $Id: Helix.java,v 1.1 2007/05/07 19:02:43 onoprien Exp $
- */
-public class Helix {
-  
-// -- Constructors :  ----------------------------------------------------------
-  
-  /** Constructs <tt>Helix</tt> from a reference point and parameters at PCA. */
-  public Helix(Hep3Vector refPoint, double d0, double phi0, double omega, double z0, double tanLambda) {
-    _refPoint = new SpacePoint(refPoint);
-    _d0 = d0;
-    _phi0 = phi0;
-    _omega = omega;
-    _z0 = z0;
-    _tanLambda = tanLambda;
-  }
-
-  /** Constructs <tt>Helix</tt> from parameters at PCA to the reference system origin. */
-  public Helix(double d0, double phi0, double omega, double z0, double tanLambda) {
-    _refPoint = new SpacePoint();
-    _d0 = d0;
-    _phi0 = phi0;
-    _omega = omega;
-    _z0 = z0;
-    _tanLambda = tanLambda;
-  }
-
-  /** Copy constructor. */
-  public Helix(Helix helix) {
-    _refPoint = new SpacePoint(helix._refPoint);
-    _d0 = helix._d0;
-    _phi0 = helix._phi0;
-    _omega = helix._omega;
-    _z0 = helix._z0;
-    _tanLambda = helix._tanLambda;
-  }
-  
-// -- Setters :  ---------------------------------------------------------------
-  
-  public void setRefPoint(SpacePoint point) {}
-  
-// -- Getters :  ---------------------------------------------------------------
-  
-  public double lengthToPoint(SpacePoint point) {
-    return 0.; //FIXME
-  }
-  
-  public SpacePoint pointAtLength(double alpha) {
-    return new SpacePoint(); //FIXME
-  }
-  
-  public SpaceVector directionAtLength(double alpha) {
-    return new CartesianVector(1.,0.,0.); //FIXME
-  }
-  
-  
-// -- Private parts :  ---------------------------------------------------------
-  
-  private SpacePoint _refPoint;
-  
-  private double _d0;
-  private double _phi0;
-  private double _omega;
-  private double _z0;
-  private double _tanLambda;
-  
-}

lcsim/src/org/lcsim/contrib/onoprien/tracking/swimmer
HelixSwimmer.java removed after 1.1
diff -N HelixSwimmer.java
--- HelixSwimmer.java	7 May 2007 19:02:43 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,73 +0,0 @@
-package org.lcsim.contrib.onoprien.tracking.swimmer;
-
-import org.lcsim.conditions.ConditionsListener;
-import org.lcsim.conditions.ConditionsEvent;
-import org.lcsim.conditions.ConditionsManager;
-import org.lcsim.conditions.ConditionsManager.ConditionsSetNotFoundException;
-import org.lcsim.constants.Constants;
-import org.lcsim.geometry.Detector;
-import org.lcsim.spacegeom.*;
-import hep.physics.vec.BasicHep3Vector;
-import hep.physics.vec.Hep3Vector;
-
-/**
- * Just a stub to avoid compilation errors.
- *
- * @author D.Onoprienko
- * @version $Id: HelixSwimmer.java,v 1.1 2007/05/07 19:02:43 onoprien Exp $
- */
-public class HelixSwimmer implements ConditionsListener {
-  
-// -- Constructors :  ----------------------------------------------------------
-  
-  /** 
-   * Create a swimmer that will be listening to detector changes and update its 
-   * magnetic field value automatically.
-   */
-  public HelixSwimmer() {
-    ConditionsManager.defaultInstance().addConditionsListener(this);
-    conditionsChanged(null);
-  }
-  
-  /** Create a swimmer that will use a fixed magnetic field value. */
-  public HelixSwimmer(double bField) {
-    _fieldFactor = Constants.fieldConversion * bField;
-  }
-  
-  /** Delete the swimmer, making it garbage collectable. */
-  public void delete() {
-    ConditionsManager.defaultInstance().removeConditionsListener(this);
-  }
-  
-// -- Initialization :  --------------------------------------------------------
-  
-  /** This method will be called by the framework to update magnetic field value. */
-  public void conditionsChanged(ConditionsEvent event) {
-    ConditionsManager conMan = (event == null) ? ConditionsManager.defaultInstance() : event.getConditionsManager();
-    try {
-      Detector det = conMan.getCachedConditions(Detector.class,"compact.xml").getCachedData();
-      _fieldFactor = Constants.fieldConversion * det.getFieldMap().getField(new BasicHep3Vector(0.,0.,0.)).z();
-    } catch (ConditionsSetNotFoundException x) {}
-  }
-
-// -- Converting between helix and spatial parameters :  -----------------------
-  
-  public Helix getHelix(Hep3Vector position, Hep3Vector memontum, int charge, Hep3Vector refPoint) {
-    return null; // FIXME
-  }
-  
-  /** Get momentum at PCA. */
-  public SpaceVector getMomentum(Helix helix) {
-    return null; // FIXME
-  }
-  
-  /** Get charge. */
-  public int getCharge(Helix helix) {
-    return 0; // FIXME
-  }
-
-// -- Private parts :  ---------------------------------------------------------
-  
-  private double _fieldFactor;
-  
-}

lcsim/src/org/lcsim/contrib/onoprien/tracking/tests
ClusteringTest.java removed after 1.2
diff -N ClusteringTest.java
--- ClusteringTest.java	12 Oct 2007 21:52:07 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,173 +0,0 @@
-package org.lcsim.contrib.onoprien.tracking.tests;
-
-import java.util.*;
-
-import hep.aida.*;
-import org.lcsim.event.EventHeader;
-import org.lcsim.event.SimTrackerHit;
-import org.lcsim.recon.cat.util.NoSuchParameterException;
-import org.lcsim.units.clhep.SystemOfUnits;
-import org.lcsim.util.Driver;
-import org.lcsim.util.aida.AIDA;
-import hep.physics.vec.BasicHep3Vector;
-import hep.physics.vec.Hep3Vector;
-import hep.physics.vec.VecOp;
-
-import org.lcsim.contrib.onoprien.tracking.ExampleSegmenter1;
-import org.lcsim.contrib.onoprien.tracking.clustering.ClusteringDriver;
-import org.lcsim.contrib.onoprien.tracking.clustering.clusterers.NearestNeighborClusterer;
-import org.lcsim.contrib.onoprien.tracking.digitization.SimToDigiDriver;
-import org.lcsim.contrib.onoprien.tracking.digitization.SimToDigiConverter;
-import org.lcsim.contrib.onoprien.tracking.digitization.algorithms.ConverterSimple;
-import org.lcsim.contrib.onoprien.tracking.geom.SegmentationManager;
-import org.lcsim.contrib.onoprien.tracking.geom.Segmenter;
-import org.lcsim.contrib.onoprien.tracking.geom.Sensor;
-import org.lcsim.contrib.onoprien.tracking.geom.SensorType;
-import org.lcsim.contrib.onoprien.tracking.hit.DigiTrackerHit;
-import org.lcsim.contrib.onoprien.tracking.hit.TrackerCluster;
-import org.lcsim.contrib.onoprien.tracking.mctruth.MCTruth;
-import org.lcsim.contrib.onoprien.tracking.mctruth.MCTruthDriver;
-import org.lcsim.contrib.onoprien.tracking.mctruth.SimGroup;
-
-/**
- *
- *
- * @author D. Onoprienko
- * @version $Id: ClusteringTest.java,v 1.2 2007/10/12 21:52:07 onoprien Exp $
- */
-public class ClusteringTest extends Driver {
-  
-// -- Constructors :  ----------------------------------------------------------
-  
-  public ClusteringTest() {
-    
-    _aida = AIDA.defaultInstance();
-    _hFactory = _aida.histogramFactory();
-    _eventHistList = new LinkedList<IBaseHistogram>();
-
-    add(new MCTruthDriver());
-    
-    // Segmentation description :
-    
-    Segmenter segmenter = new ExampleSegmenter1();
-    SegmentationManager segMan = new SegmentationManager(segmenter);
-    SegmentationManager.setDefaultInstance(segMan);
-    add(segMan);
-    
-    // Digitization :
-
-    SimToDigiConverter converter = new ConverterSimple();
-    SimToDigiDriver conversionDriver = new SimToDigiDriver(converter);
-    conversionDriver.set("OUTPUT_MAP_NAME", "DigiTrackerHits");
-    add(conversionDriver);
-
-    // Clustering :
-    
-    ClusteringDriver clusteringDriver = new ClusteringDriver(new NearestNeighborClusterer());
-    clusteringDriver.set("INPUT_MAP_NAME","DigiTrackerHits");
-    clusteringDriver.set("OUTPUT_MAP_NAME","TrackerClusters");
-    add(clusteringDriver);
-  }
-  
-// -- Event processing :  ------------------------------------------------------
-
-  public void process(EventHeader event) {
-    
-    System.out.println(" ");
-    System.out.println("Event "+event.getEventNumber());
-
-    super.process(event);
-    
-    while (! _eventHistList.isEmpty()) {
-      _hFactory.destroy(_eventHistList.poll());
-    }
-    
-    MCTruth mcTruth = (MCTruth) event.get("MCTruth");
-    
-    int n = 0;
-    HashMap<Sensor, List<DigiTrackerHit>> digiMap = 
-            (HashMap<Sensor, List<DigiTrackerHit>>) event.get("DigiTrackerHits");
-    for (List<DigiTrackerHit> digiList : digiMap.values()) n += digiList.size();
-    System.out.println("Created " + n + " DigiTrackerHits on " + digiMap.keySet().size() + " sensors");
-    
-    n = 0;
-    HashMap<Sensor, List<TrackerCluster>> clusterMap = 
-            (HashMap<Sensor, List<TrackerCluster>>) event.get("TrackerClusters");
-    for (List<TrackerCluster> clusterList : clusterMap.values()) n += clusterList.size();
-    System.out.println("Created " + n + " TrackerClusters on " + clusterMap.keySet().size() + " sensors");
-    
-    // -- Histograms :
-    
-    for (Sensor sensor : clusterMap.keySet()) {
-      boolean isPixels = (sensor.getType().getHitDimension() == 2);
-      int sensorID = sensor.getID();
-      SensorType sensorType = sensor.getType();
-      
-      System.out.println("Sensor "+sensorID+" Type "+sensorType.getClass().getName());
-
-      ICloud1D uCloud = _hFactory.createCloud1D("Sensor "+sensorID+" DigiTrackerHits - U");
-      ICloud1D vCloud = null;
-      ICloud2D uvCloud = _hFactory.createCloud2D("Sensor "+sensorID+" DigiTrackerHits - UV");
-      if (isPixels) {
-        vCloud = _hFactory.createCloud1D("Sensor "+sensorID+" DigiTrackerHits - V");
-        _eventHistList.add(vCloud);
-      }
-      _eventHistList.add(uCloud);
-      _eventHistList.add(uvCloud);
-      for (DigiTrackerHit dHit : digiMap.get(sensor)) {
-        Hep3Vector dPos = sensorType.getChannelPosition(dHit.getChannel());
-        uCloud.fill(dPos.x(), dHit.getSignal());
-        if (isPixels) vCloud.fill(dPos.y(), dHit.getSignal());
-        uvCloud.fill(dPos.x(), dPos.y(), dHit.getSignal());
-      }
-      
-      ICloud1D uCloudC = _hFactory.createCloud1D("Sensor "+sensorID+" Clusters - U");
-      ICloud1D vCloudC = null;
-      ICloud2D uvCloudC = _hFactory.createCloud2D("Sensor "+sensorID+" Clusters - UV");
-      if (isPixels) {
-        vCloudC = _hFactory.createCloud1D("Sensor "+sensorID+" Clusters - V");
-        _eventHistList.add(vCloudC);
-      }
-      _eventHistList.add(uCloudC);
-      _eventHistList.add(uvCloudC);
-      for (TrackerCluster cluster : clusterMap.get(sensor)) {
-        for (DigiTrackerHit dHit : cluster.getDigiHits()) {
-          Hep3Vector dPos = sensorType.getChannelPosition(dHit.getChannel());
-          uCloudC.fill(dPos.x(), dHit.getSignal());
-          if (isPixels) vCloudC.fill(dPos.y(), dHit.getSignal());
-          uvCloudC.fill(dPos.x(), dPos.y(), dHit.getSignal());
-        }
-      }
-      
-      ICloud1D uCloudS = _hFactory.createCloud1D("Sensor "+sensorID+" SimTrackerHits - U");
-      ICloud1D vCloudS = null;
-      ICloud2D uvCloudS = _hFactory.createCloud2D("Sensor "+sensorID+" SimTrackerHits - UV");
-      if (isPixels) {
-        vCloudS = _hFactory.createCloud1D("Sensor "+sensorID+" SimTrackerHits - V");
-        _eventHistList.add(vCloudS);
-      }
-      _eventHistList.add(uCloudS);
-      _eventHistList.add(uvCloudS);
-      for (TrackerCluster cluster : clusterMap.get(sensor)) {
-        for (SimGroup simGroup : mcTruth.getSimGroups(cluster)) {
-          for (SimTrackerHit sHit : simGroup.getSimTrackerHits()) {
-            Hep3Vector globPos = new BasicHep3Vector(sHit.getPoint());
-            Hep3Vector locPos = sensor.globalToLocal(globPos);
-            uCloudS.fill(locPos.x(), sHit.getdEdx());
-            if (isPixels) vCloudS.fill(locPos.y(), sHit.getdEdx());
-            uvCloudS.fill(locPos.x(), locPos.y(), sHit.getdEdx());
-          }
-        }
-      }
-
-    }
-    
-  }
-  
-// -- Private parts :  ---------------------------------------------------------
-  
-  protected AIDA _aida;  
-  protected IHistogramFactory _hFactory;
-  protected LinkedList<IBaseHistogram> _eventHistList;
-  
-}

lcsim/src/org/lcsim/contrib/onoprien/tracking/tests
CoordinateConversionTest.java removed after 1.2
diff -N CoordinateConversionTest.java
--- CoordinateConversionTest.java	12 Oct 2007 21:52:07 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,82 +0,0 @@
-package org.lcsim.contrib.onoprien.tracking.tests;
-
-import java.util.*;
-
-import hep.aida.*;
-import hep.physics.vec.BasicHep3Vector;
-import hep.physics.vec.Hep3Vector;
-import hep.physics.vec.VecOp;
-import org.lcsim.event.EventHeader;
-import org.lcsim.units.clhep.SystemOfUnits;
-import org.lcsim.util.Driver;
-import org.lcsim.util.aida.AIDA;
-
-import org.lcsim.contrib.onoprien.tracking.ExampleSegmenter1;
-import org.lcsim.contrib.onoprien.tracking.geom.SegmentationManager;
-import org.lcsim.contrib.onoprien.tracking.geom.Segmenter;
-import org.lcsim.contrib.onoprien.tracking.geom.Sensor;
-
-/**
- *
- *
- * @author D. Onoprienko
- * @version $Id: CoordinateConversionTest.java,v 1.2 2007/10/12 21:52:07 onoprien Exp $
- */
-public class CoordinateConversionTest extends Driver {
-  
-  private AIDA aida = AIDA.defaultInstance();
-  
-// -- Constructors :  ----------------------------------------------------------
-  
-  public CoordinateConversionTest() {
-    
-    // Segmentation description :
-    
-    Segmenter segmenter = new ExampleSegmenter1();
-    SegmentationManager segMan = new SegmentationManager(segmenter);
-    SegmentationManager.setDefaultInstance(segMan);
-    add(segMan);
-
-  }
-
-  public void process(EventHeader event) {
-    
-    System.out.println(" ");
-    System.out.println("Event "+event.getEventNumber());
-
-    super.process(event);
-    
-    SegmentationManager segMan = (SegmentationManager) event.get("SegmentationManager");
-    
-    System.out.println(" ");
-    Collection<Sensor> sensors = segMan.getSensors() ;
-    System.out.println("There are " + sensors.size() + " sensors");
-    
-    Hep3Vector v1 = new BasicHep3Vector(0.,0.,0.);
-    Hep3Vector v2 = new BasicHep3Vector(2.,3.,4.);
-    
-    for (Sensor sensor : sensors) {
-      Hep3Vector c = sensor.globalToLocal(sensor.localToGlobal(v1));
-      if (VecOp.sub(v1,c).magnitude() > _tolerance) {
-        System.out.println("loc2glob2loc, v1 --> " + c);
-      }
-      c = sensor.localToGlobal(sensor.globalToLocal(v1));
-      if (VecOp.sub(v1,c).magnitude() > _tolerance) {
-        System.out.println("glob2loc2glob, v1 --> " + c);
-      }
-      c = sensor.globalToLocal(sensor.localToGlobal(v2));
-      if (VecOp.sub(v2,c).magnitude() > _tolerance) {
-        System.out.println("loc2glob2loc, v2 --> " + c);
-      }
-      c = sensor.localToGlobal(sensor.globalToLocal(v2));
-      if (VecOp.sub(v2,c).magnitude() > _tolerance) {
-        System.out.println("glob2loc2glob, v2 --> " + c);
-      }
-    }
-    
-  }
-  
-// -- Private parts :  ---------------------------------------------------------
-            
-  private double _tolerance = 0.001;
-}

lcsim/src/org/lcsim/contrib/onoprien/tracking/tests
DigitizerTest.java removed after 1.2
diff -N DigitizerTest.java
--- DigitizerTest.java	12 Oct 2007 21:52:07 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,251 +0,0 @@
-package org.lcsim.contrib.onoprien.tracking.tests;
-
-import java.util.*;
-
-import hep.aida.*;
-import org.lcsim.event.EventHeader;
-import org.lcsim.event.SimTrackerHit;
-import org.lcsim.recon.cat.util.NoSuchParameterException;
-import org.lcsim.units.clhep.SystemOfUnits;
-import org.lcsim.util.Driver;
-import org.lcsim.util.aida.AIDA;
-import hep.physics.vec.BasicHep3Vector;
-import hep.physics.vec.Hep3Vector;
-import hep.physics.vec.VecOp;
-
-import org.lcsim.contrib.onoprien.tracking.ExampleSegmenter1;
-import org.lcsim.contrib.onoprien.tracking.clustering.ClusteringDriver;
-import org.lcsim.contrib.onoprien.tracking.clustering.clusterers.NearestNeighborClusterer;
-import org.lcsim.contrib.onoprien.tracking.digitization.SimToDigiDriver;
-import org.lcsim.contrib.onoprien.tracking.digitization.SimToDigiConverter;
-import org.lcsim.contrib.onoprien.tracking.digitization.algorithms.ConverterSimple;
-import org.lcsim.contrib.onoprien.tracking.geom.SegmentationManager;
-import org.lcsim.contrib.onoprien.tracking.geom.Segmenter;
-import org.lcsim.contrib.onoprien.tracking.geom.Sensor;
-import org.lcsim.contrib.onoprien.tracking.geom.SensorType;
-import org.lcsim.contrib.onoprien.tracking.hit.DigiTrackerHit;
-import org.lcsim.contrib.onoprien.tracking.hit.TrackerCluster;
-import org.lcsim.contrib.onoprien.tracking.hit.TrackerHit;
-import org.lcsim.contrib.onoprien.tracking.mctruth.MCTruth;
-import org.lcsim.contrib.onoprien.tracking.mctruth.MCTruthDriver;
-import org.lcsim.contrib.onoprien.tracking.mctruth.SimGroup;
-
-/**
- * Tester driver for running SimTrackerHit to DigiTrackerHit conversion diagnostics.
- * 
- * @author D.Onoprienko
- * @version $Id: DigitizerTest.java,v 1.2 2007/10/12 21:52:07 onoprien Exp $
- */
-public class DigitizerTest extends Driver {
-  
-// -- Constructor :  -----------------------------------------------------------
-  
-  public DigitizerTest() {
-    
-    _aida = AIDA.defaultInstance();
-    _hFactory = _aida.histogramFactory();
-    _eventHistList = new LinkedList<IBaseHistogram>();
-
-    add(new MCTruthDriver());
-    
-    // Segmentation description :
-    
-    Segmenter segmenter = new ExampleSegmenter1();
-    SegmentationManager segMan = new SegmentationManager(segmenter);
-    SegmentationManager.setDefaultInstance(segMan);
-    add(segMan);
-    
-    // Digitization :
-
-    SimToDigiConverter converter = new ConverterSimple();
-    SimToDigiDriver conversionDriver = new SimToDigiDriver(converter);
-    conversionDriver.set("OUTPUT_MAP_NAME", "DigiTrackerHits");
-    add(conversionDriver);
-
-    // Clustering :
-    
-    ClusteringDriver clusteringDriver = new ClusteringDriver(new NearestNeighborClusterer());
-    clusteringDriver.set("INPUT_MAP_NAME","DigiTrackerHits");
-    clusteringDriver.set("OUTPUT_MAP_NAME","TrackerClusters");
-    add(clusteringDriver);
-  }
-  
-// -- Processing event :  ------------------------------------------------------
-  
-  public void process(EventHeader event) {
-    
-    System.out.println(" ");
-    System.out.println("Event "+event.getEventNumber());
-    
-    super.process(event);
-    
-    while (! _eventHistList.isEmpty()) {
-      _hFactory.destroy(_eventHistList.poll());
-    }
-    _iGroup = 0;
-    
-    MCTruth mcTruth = (MCTruth) event.get("MCTruth");
-    
-    Collection<SimGroup> simGroups = mcTruth.getSimGroups();
-    List<SimGroup> missedGroups = mcTruth.getMissedSimGroups();
-    
-    System.out.println("Testing digitization, found "+simGroups.size()+" converted and "
-                       +missedGroups.size()+" missed SimTrackerHit groups");
-    
-    IHistogram1D vbMissed = _hFactory.createHistogram1D("Missed VertexBarrel", 10, 0., 10.);
-    IHistogram1D veMissed = _hFactory.createHistogram1D("Missed VertexEndcap", 10, 0., 10.);
-    IHistogram1D tfMissed = _hFactory.createHistogram1D("Missed TrackerForward", 10, 0., 10.);
-    IHistogram1D tbMissed = _hFactory.createHistogram1D("Missed TrackerBarrel", 10, 0., 10.);
-    IHistogram1D teMissed = _hFactory.createHistogram1D("Missed TrackerEndcap", 10, 0., 10.);
-    _eventHistList.add(vbMissed);
-    _eventHistList.add(veMissed);
-    _eventHistList.add(tfMissed);
-    _eventHistList.add(tbMissed);
-    _eventHistList.add(teMissed);
-    
-    int nEmpty = 0;
-    for (SimGroup miss : missedGroups) {
-      List<SimTrackerHit> simList = miss.getSimTrackerHits();
-      if (simList.isEmpty()) {
-        nEmpty++;
-      } else {
-        String subd = simList.get(0).getSubdetector().getName();
-        _aida.histogram1D("Missed "+subd).fill(simList.size());
-      }
-    }
-    System.out.println("Empty SimTrackerHit lists among missed groups: " + nEmpty);
-    
-    for (SimGroup group : simGroups) {
-      List<SimTrackerHit> simList = group.getSimTrackerHits();
-      List<DigiTrackerHit> digiList = group.getDigiTrackerHits();
-      plotGroup(simList, digiList);
-    }
-    
-  }
- 
-// -----------------------------------------------------------------------------
-  
-  public void plotGroup(List<SimTrackerHit> simList, List<DigiTrackerHit> digiList) {
-
-    Sensor sensor = digiList.get(0).getSensor();
-    SensorType sensorType = sensor.getType();
-    boolean isStrip = (sensorType.getHitDimension() == 1);
-    String title = "Sensor" + sensor.getID() + "_" + _iGroup++ + "_";
-    String subDetName = simList.get(0).getSubdetector().getName();
-
-//    System.out.println("SimToDigiConverter: simulated hits in "+simList.size()+" digitized hits out "+ digiList.size()+
-//            " subd: " + subDetName + " sensor " + sensor.getID());
-    
-    // Calculate bin values and create histograms
-    
-    double[] lowU = new double[digiList.size()];
-    double[] lowV = new double[digiList.size()];
-    double highU = - Double.MAX_VALUE;
-    double highV = - Double.MAX_VALUE;
-    int i=0;
-    for (DigiTrackerHit dHit : digiList) {
-      int channel = dHit.getChannel();
-      Hep3Vector channelSize = sensorType.getChannelDimensions(channel);
-      Hep3Vector locPos = sensorType.getChannelPosition(channel);
-      lowU[i] = locPos.x() - channelSize.x()/2.;
-      double uHigh = locPos.x() + channelSize.x()/2.;
-      if (uHigh > highU) highU = uHigh;
-      lowV[i] = locPos.y() - channelSize.y()/2.;
-      double vHigh = locPos.y() + channelSize.y()/2.;
-      if (vHigh > highV) highV = vHigh;
-      i++;
-    }
-    Arrays.sort(lowU);
-    double lastU = - Double.MAX_VALUE;
-    ArrayList<Double> binsU = new ArrayList<Double>();
-    for (i=0; i<lowU.length; i++) {
-      if (lowU[i] > lastU) {
-        lastU = lowU[i];
-        binsU.add(lastU);
-      } 
-    }
-    binsU.add(highU);
-    int nU = binsU.size();
-    lowU = new double[nU];
-    for (i=0; i<nU; i++) {
-      lowU[i] = binsU.get(i);
-    }
-    IHistogram digiHist;
-    IHistogram simHist;
-    if (isStrip) {
-      digiHist = _hFactory.createHistogram1D(title+"digi", title+"digi", lowU);
-      simHist = _hFactory.createHistogram1D(title+"sim", title+"sim", lowU);
-    } else {
-      Arrays.sort(lowV);
-      double lastV = - Double.MAX_VALUE;
-      ArrayList<Double> binsV = new ArrayList<Double>();
-      for (i=0; i<lowV.length; i++) {
-        if (lowV[i] > lastV) {
-          lastV = lowV[i];
-          binsV.add(lastV);
-        } 
-      }
-      binsV.add(highV);
-      int nV = binsV.size();
-      lowV = new double[nV];
-      for (i=0; i<nV; i++) {
-        lowV[i] = binsV.get(i);
-      }
-      digiHist = _hFactory.createHistogram2D(title+"digi", title+"digi", lowU, lowV);
-      simHist = _hFactory.createHistogram2D(title+"sim", title+"sim", lowU, lowV);
-    }
-    _eventHistList.add(digiHist);
-    _eventHistList.add(simHist);
-    
-    // Fill histograms
-
-    Hep3Vector meanSimPos = new BasicHep3Vector();
-    double totCharge = 0.;
-    for (SimTrackerHit simHit : simList) {
-      double[] gPos = simHit.getPoint();
-      Hep3Vector globPos = new BasicHep3Vector(gPos);
-      Hep3Vector locPos = sensor.globalToLocal(globPos);
-      double charge = (simHit.getPathLength() > 0.) ? simHit.getPathLength()*simHit.getdEdx() : simHit.getdEdx();
-      meanSimPos = VecOp.add(meanSimPos, VecOp.mult(charge, sensor.localToGlobal(locPos)));
-      totCharge += charge;
-      if (isStrip) {
-        ((IHistogram1D)simHist).fill(locPos.x(), charge);
-      } else {
-        ((IHistogram2D)simHist).fill(locPos.x(), locPos.y(), charge);
-      }
-    }
-    meanSimPos = VecOp.mult(1./totCharge, meanSimPos);
-
-    Hep3Vector meanDigiPos = new BasicHep3Vector();
-    totCharge = 0.;
-    for (DigiTrackerHit digiHit : digiList) {
-      Hep3Vector locPos = sensorType.getChannelPosition(digiHit.getChannel());
-      Hep3Vector globPos = sensor.localToGlobal(locPos);
-      double charge = digiHit.getSignal();
-      meanDigiPos = VecOp.add(meanDigiPos, VecOp.mult(charge, globPos));
-      totCharge += charge;
-      if (isStrip) {
-        ((IHistogram1D)digiHist).fill(locPos.x(), charge);
-      } else {
-        ((IHistogram2D)digiHist).fill(locPos.x(), locPos.y(), charge);
-      }
-    }
-    meanDigiPos = VecOp.mult(1./totCharge, meanDigiPos);
-    
-    double diffSimDigi = VecOp.sub(meanSimPos, meanDigiPos).magnitude();
-    _aida.cloud1D("Digi to Sim distance - " + subDetName).fill(diffSimDigi);
-    double stripLength = sensorType.getChannelDimensions(digiList.get(0).getChannel()).y();
-    if ((diffSimDigi > stripLength/2.) && (sensorType.getHitDimension() == 1)) {
-      System.out.println("Sensor "+digiList.get(0).getSensor().getID()+" "+_iGroup+" Dif: "+diffSimDigi+" Strip half length: "+(stripLength/2.));
-    }
-
-  }
-// -- Private parts :  ---------------------------------------------------------
-
-  protected AIDA _aida;  
-  protected IHistogramFactory _hFactory;
-  protected LinkedList<IBaseHistogram> _eventHistList;
-  
-  protected int _iGroup;
-
-}

lcsim/src/org/lcsim/contrib/onoprien/tracking/tests
HitConverterTest.java removed after 1.4
diff -N HitConverterTest.java
--- HitConverterTest.java	8 Dec 2007 02:39:10 -0000	1.4
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,267 +0,0 @@
-package org.lcsim.contrib.onoprien.tracking.tests;
-
-import java.util.*;
-
-import hep.aida.*;
-import org.lcsim.detector.IDetectorElement;
-import org.lcsim.detector.converter.compact.SubdetectorDetectorElement;
-import org.lcsim.event.EventHeader;
-import org.lcsim.event.SimTrackerHit;
-import org.lcsim.recon.cat.util.NoSuchParameterException;
-import org.lcsim.units.clhep.SystemOfUnits;
-import org.lcsim.util.Driver;
-import org.lcsim.util.aida.AIDA;
-import hep.physics.vec.BasicHep3Vector;
-import hep.physics.vec.Hep3Vector;
-import hep.physics.vec.VecOp;
-
-import org.lcsim.contrib.onoprien.tracking.ExampleSegmenter1;
-import org.lcsim.contrib.onoprien.tracking.clustering.ClusteringDriver;
-import org.lcsim.contrib.onoprien.tracking.clustering.clusterers.NearestNeighborClusterer;
-import org.lcsim.contrib.onoprien.tracking.digitization.SimToDigiDriver;
-import org.lcsim.contrib.onoprien.tracking.digitization.SimToDigiConverter;
-import org.lcsim.contrib.onoprien.tracking.digitization.algorithms.ConverterSimple;
-import org.lcsim.contrib.onoprien.tracking.geom.Navigator;
-import org.lcsim.contrib.onoprien.tracking.geom.SegmentationManager;
-import org.lcsim.contrib.onoprien.tracking.geom.Segmenter;
-import org.lcsim.contrib.onoprien.tracking.geom.Sensor;
-import org.lcsim.contrib.onoprien.tracking.geom.SensorType;
-import org.lcsim.contrib.onoprien.tracking.geom.sensortypes.Cylinder;
-import org.lcsim.contrib.onoprien.tracking.geom.sensortypes.WedgeSideParallel;
-import org.lcsim.contrib.onoprien.tracking.hit.DigiTrackerHit;
-import org.lcsim.contrib.onoprien.tracking.hit.TrackerCluster;
-import org.lcsim.contrib.onoprien.tracking.hit.TrackerHit;
-import org.lcsim.contrib.onoprien.tracking.hitmaking.HitMakingDriver;
-import org.lcsim.contrib.onoprien.tracking.hitmaking.OldTrackerHit;
-import org.lcsim.contrib.onoprien.tracking.hitmaking.TrackerHitConverter;
-import org.lcsim.contrib.onoprien.tracking.hitmaking.TrackerHitMaker;
-import org.lcsim.contrib.onoprien.tracking.hitmaking.hitmakers.TrackerHitMakerBasic;
-import org.lcsim.contrib.onoprien.tracking.mctruth.MCTruth;
-import org.lcsim.contrib.onoprien.tracking.mctruth.MCTruthDriver;
-import org.lcsim.contrib.onoprien.tracking.mctruth.SimGroup;
-
-/**
- *
- *
- * @author D. Onoprienko
- * @version $Id: HitConverterTest.java,v 1.4 2007/12/08 02:39:10 jeremy Exp $
- */
-public class HitConverterTest extends Driver {
-  
-// -- Constructors :  ----------------------------------------------------------
-  
-  public HitConverterTest() {
-
-    _aida = AIDA.defaultInstance();
-    _hFactory = _aida.histogramFactory();
-    _dFactory = _aida.analysisFactory().createDataPointSetFactory(_aida.tree());
-    _eventDPSMap = new HashMap<String, IDataPointSet>();
-
-    add(new MCTruthDriver());
-    
-    // Segmentation description :
-    
-    Segmenter segmenter = new ExampleSegmenter1();
-    SegmentationManager segMan = new SegmentationManager(segmenter);
-    SegmentationManager.setDefaultInstance(segMan);
-    add(segMan);
-    
-    // Digitization :
-
-    SimToDigiConverter converter = new ConverterSimple();
-    SimToDigiDriver conversionDriver = new SimToDigiDriver(converter);
-    conversionDriver.set("OUTPUT_MAP_NAME", "DigiTrackerHits");
-    add(conversionDriver);
-
-    // Clustering :
-    
-    ClusteringDriver clusteringDriver = new ClusteringDriver(new NearestNeighborClusterer());
-    clusteringDriver.set("INPUT_MAP_NAME","DigiTrackerHits");
-    clusteringDriver.set("OUTPUT_MAP_NAME","TrackerClusters");
-    add(clusteringDriver);
-    
-    // Conversion to "standard" org.lcsim.event.TrackerHit :  ------------------
-    
-    TrackerHitConverter hitConverter = new TrackerHitConverter();
-    hitConverter.set("INPUT_CLUSTER_MAP_NAME", "TrackerClusters");
-    hitConverter.set("INPUT_HIT_MAP_NAME", "TrackerHits");
-    hitConverter.set("OUTPUT_HIT_LIST_NAME", "StandardTrackerHits");
-    add(hitConverter);
-  }
-  
-// -- Event processing :  ------------------------------------------------------
-
-  public void process(EventHeader event) {
-    
-    System.out.println(" ");
-    System.out.println("Event "+event.getEventNumber());
-
-    super.process(event);
-    
-    // Clear "per event" AIDA objects
-    for (IDataPointSet dps : _eventDPSMap.values()) {
-      dps.clear();
-    }
-    
-    MCTruth mcTruth = (MCTruth) event.get("MCTruth");
-    
-    System.out.println(" ");
-    
-    int n = 0;
-    HashMap<Sensor, List<DigiTrackerHit>> digiMap = 
-            (HashMap<Sensor, List<DigiTrackerHit>>) event.get("DigiTrackerHits");
-    for (List<DigiTrackerHit> digiList : digiMap.values()) n += digiList.size();
-    System.out.println("Created " + n + " DigiTrackerHits on " + digiMap.keySet().size() + " sensors");
-    
-    n = 0;
-    HashMap<Sensor, List<TrackerCluster>> clusterMap = 
-            (HashMap<Sensor, List<TrackerCluster>>) event.get("TrackerClusters");
-    for (List<TrackerCluster> clusterList : clusterMap.values()) n += clusterList.size();
-    System.out.println("Created " + n + " TrackerClusters on " + clusterMap.keySet().size() + " sensors");
-    
-    n = 0;
-    HashMap<Sensor, List<TrackerHit>> hitMap = 
-            (HashMap<Sensor, List<TrackerHit>>) event.get("TrackerHits");
-    for (List<TrackerHit> hitList : hitMap.values()) n += hitList.size();
-    System.out.println("Created " + n + " TrackerHits on " + hitMap.keySet().size() + " sensors");
-    
-    List<OldTrackerHit> oldHitList = (List<OldTrackerHit>) event.get("StandardTrackerHits");
-    System.out.println("Created "+ oldHitList.size() + " old style TrackerHits");
-    
-    // -- Draw Sensors for disks divided into wedges :
-
-    SegmentationManager segMan = (SegmentationManager) event.get("SegmentationManager");
-    Navigator gNav = segMan.getNavigator();
-    for (Sensor sensor : segMan.getSensors()) {
-      if (sensor.getType() instanceof WedgeSideParallel) {
-        
-        String title = "Sensors " + gNav.getSubdetector(sensor).getName() +
-                " SuperLayer " + gNav.getSuperLayer(sensor) +
-                " Z " + ((gNav.getSignZ(sensor) > 0) ? "Plus" : "Minus");
-        IDataPointSet dpGeom = getDataPointSet(title,2);
-        
-        WedgeSideParallel sType = (WedgeSideParallel) sensor.getType();
-        double[][] corners = sType.getCorners();
-        
-        for (double[] corner : corners) {
-          Hep3Vector p = sensor.localToGlobal(new BasicHep3Vector(corner[0], corner[1], 0.));
-          IDataPoint dp = dpGeom.addPoint();
-          dp.coordinate(0).setValue(p.x());
-          dp.coordinate(1).setValue(p.y());
-        }
-        IDataPoint dp = dpGeom.addPoint();
-        Hep3Vector p = sensor.localToGlobal(new BasicHep3Vector(corners[0][0], corners[0][1], 0.));
-        dp.coordinate(0).setValue(p.x());
-        dp.coordinate(1).setValue(p.y());
-        dp = dpGeom.addPoint();
-        dp.coordinate(0).setValue(Double.NaN);
-        dp.coordinate(1).setValue(Double.NaN);
-        
-      }
-    }
-    
-    // -- Loop over all Sensors with hits :
-    
-    for (Sensor sensor : hitMap.keySet()) {
-      
-      boolean isPixels = (sensor.getType().getHitDimension() == 2);
-      int sensorID = sensor.getID();
-      SensorType sensorType = sensor.getType();
-
-      String title = gNav.getSubdetector(sensor).getName()+" SuperLayer "+gNav.getSuperLayer(sensor);
-      if (gNav.getSignZ(sensor) != 0) {
-        title += " Z " + ((gNav.getSignZ(sensor) > 0) ? "Plus" : "Minus");
-      }
-      
-      // Draw TrackerHits and SimTrackerHits :
-      
-      IDataPointSet dpHits = getDataPointSet("Hits "+title, 2);
-      IDataPointSet dpSimHits = getDataPointSet("SimHits "+title, 2);
-      
-      for (TrackerHit tHit : hitMap.get(sensor)) {
-        for (SimGroup simGroup : mcTruth.getSimGroups(tHit)) {
-          for (SimTrackerHit sHit : simGroup.getSimTrackerHits()) {
-            Hep3Vector p = new BasicHep3Vector(sHit.getPoint());
-            IDataPoint dp = dpSimHits.addPoint();
-            if (sensorType instanceof Cylinder) p = sensor.globalToLocal(p);
-            dp.coordinate(0).setValue(p.x());
-            dp.coordinate(1).setValue(p.y());
-            dp = dpSimHits.addPoint();
-            dp.coordinate(0).setValue(Double.NaN);
-            dp.coordinate(1).setValue(Double.NaN);
-          }
-        }
-        Hep3Vector p = tHit.getSegment().getStartPoint();
-        if (sensorType instanceof Cylinder) p = sensor.globalToLocal(p);
-        IDataPoint dp = dpHits.addPoint();
-        dp.coordinate(0).setValue(p.x());
-        dp.coordinate(1).setValue(p.y());
-        p = tHit.getSegment().getEndPoint();
-        if (sensorType instanceof Cylinder) p = sensor.globalToLocal(p);
-        dp = dpHits.addPoint();
-        dp.coordinate(0).setValue(p.x());
-        dp.coordinate(1).setValue(p.y());
-        dp = dpHits.addPoint();
-        dp.coordinate(0).setValue(Double.NaN);
-        dp.coordinate(1).setValue(Double.NaN);
-      }
-      
-      // Draw old style TrackerHits :
-      
-      IDataPointSet dpStereoHits = getDataPointSet("True 3D hits "+title, 2);
-      IDataPointSet dpGhostHits = getDataPointSet("Ghost 3D hits "+title, 2);
-      for (OldTrackerHit oHit : oldHitList) {
-        if (sensor == oHit.getClusters().get(0).getSensor()) {
-          IDataPoint dp = mcTruth.isGhost(oHit) ? dpGhostHits.addPoint() : dpStereoHits.addPoint();
-          Hep3Vector p = new BasicHep3Vector(oHit.getPosition());
-          if (sensorType instanceof Cylinder) p = sensor.globalToLocal(p);
-          dp.coordinate(0).setValue(p.x());
-          dp.coordinate(1).setValue(p.y());
-          dp = mcTruth.isGhost(oHit) ? dpGhostHits.addPoint() : dpStereoHits.addPoint();
-          dp.coordinate(0).setValue(Double.NaN);
-          dp.coordinate(1).setValue(Double.NaN);
-        }
-      }
-
-    } // end of loop over all Sensors with TrackerHits
-
-    // Fill histograms for distance from SimTrackerHit to non-ghost OldTrackerHit
-      
-    for (OldTrackerHit oHit : oldHitList) {
-      if (!mcTruth.isGhost(oHit)) {
-        List<SimGroup> simGroupList = mcTruth.getSimGroups(oHit);
-        String subDetName = simGroupList.get(0).getSimTrackerHits().get(0).getSubdetector().getName();
-        Hep3Vector simPos = new BasicHep3Vector();
-        double signal = 0.;
-        for (SimGroup simGroup : simGroupList) {
-          double s = simGroup.getSignal();
-          signal += s;
-          simPos = VecOp.add(simPos, VecOp.mult(s, simGroup.getPosition()));
-          double[] point = simGroup.getSimTrackerHits().get(0).getPoint();
-        }
-        simPos = VecOp.mult(1./signal, simPos);
-        _aida.cloud1D("SimTrackerHit to TrackerHit Distance, " + subDetName)
-              .fill(VecOp.sub(simPos, (new BasicHep3Vector(oHit.getPosition()))).magnitude());
-      }
-    }
-
-  }
-  
-// -- Helpers :  ---------------------------------------------------------------
-  
-  private IDataPointSet getDataPointSet(String title, int dimension) {
-    IDataPointSet set = _eventDPSMap.get(title);
-    if (set == null) {
-      set = _dFactory.create(title, title, dimension);
-      _eventDPSMap.put(title, set);
-    }
-    return set;
-  }
-  
-// -- Private parts :  ---------------------------------------------------------
-  
-  protected AIDA _aida;  
-  protected IHistogramFactory _hFactory;
-  protected IDataPointSetFactory _dFactory;
-  protected HashMap<String, IDataPointSet> _eventDPSMap;
-}

lcsim/src/org/lcsim/contrib/onoprien/tracking/tests
HitMakingTest.java removed after 1.5
diff -N HitMakingTest.java
--- HitMakingTest.java	18 Feb 2008 22:34:40 -0000	1.5
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,250 +0,0 @@
-package org.lcsim.contrib.onoprien.tracking.tests;
-
-import java.util.*;
-
-import hep.aida.*;
-import org.lcsim.event.EventHeader;
-import org.lcsim.event.SimTrackerHit;
-import org.lcsim.recon.cat.util.NoSuchParameterException;
-import org.lcsim.units.clhep.SystemOfUnits;
-import org.lcsim.util.Driver;
-import org.lcsim.util.aida.AIDA;
-import hep.physics.matrix.SymmetricMatrix;
-import hep.physics.vec.BasicHep3Vector;
-import hep.physics.vec.Hep3Vector;
-import hep.physics.vec.VecOp;
-
-import org.lcsim.contrib.onoprien.tracking.ExampleSegmenter1;
-import org.lcsim.contrib.onoprien.tracking.clustering.ClusteringDriver;
-import org.lcsim.contrib.onoprien.tracking.clustering.clusterers.NearestNeighborClusterer;
-import org.lcsim.contrib.onoprien.tracking.digitization.SimToDigiDriver;
-import org.lcsim.contrib.onoprien.tracking.digitization.SimToDigiConverter;
-import org.lcsim.contrib.onoprien.tracking.digitization.algorithms.ConverterSimple;
-import org.lcsim.contrib.onoprien.tracking.geom.Navigator;
-import org.lcsim.contrib.onoprien.tracking.geom.SegmentationManager;
-import org.lcsim.contrib.onoprien.tracking.geom.Segmenter;
-import org.lcsim.contrib.onoprien.tracking.geom.Sensor;
-import org.lcsim.contrib.onoprien.tracking.geom.SensorType;
-import org.lcsim.contrib.onoprien.tracking.hit.DigiTrackerHit;
-import org.lcsim.contrib.onoprien.tracking.hit.TrackerCluster;
-import org.lcsim.contrib.onoprien.tracking.hit.TrackerHit;
-import org.lcsim.contrib.onoprien.tracking.hitmaking.HitMakingDriver;
-import org.lcsim.contrib.onoprien.tracking.hitmaking.TrackerHitMaker;
-import org.lcsim.contrib.onoprien.tracking.hitmaking.hitmakers.TrackerHitMakerBasic;
-import org.lcsim.contrib.onoprien.tracking.mctruth.MCTruth;
-import org.lcsim.contrib.onoprien.tracking.mctruth.MCTruthDriver;
-import org.lcsim.contrib.onoprien.tracking.mctruth.SimGroup;
-
-/**
- *
- *
- * @author D. Onoprienko
- * @version $Id: HitMakingTest.java,v 1.5 2008/02/18 22:34:40 onoprien Exp $
- */
-public class HitMakingTest extends Driver {
-  
-// -- Constructors :  ----------------------------------------------------------
-  
-  public HitMakingTest() {
-    
-    _aida = AIDA.defaultInstance();
-    _hFactory = _aida.histogramFactory();
-    _eventHistList = new LinkedList<IBaseHistogram>();
-
-    add(new MCTruthDriver());
-    
-    // Segmentation description :
-    
-    Segmenter segmenter = new ExampleSegmenter1();
-    SegmentationManager segMan = new SegmentationManager(segmenter);
-    SegmentationManager.setDefaultInstance(segMan);
-    add(segMan);
-    
-    // Digitization :
-
-    ConverterSimple converter = new ConverterSimple();
-    converter.set("SIGNAL", "UNIT");
-    SimToDigiDriver conversionDriver = new SimToDigiDriver(converter);
-    conversionDriver.set("OUTPUT_MAP_NAME", "DigiTrackerHits");
-    add(conversionDriver);
-
-    // Clustering :
-    
-    ClusteringDriver clusteringDriver = new ClusteringDriver(new NearestNeighborClusterer());
-    clusteringDriver.set("INPUT_MAP_NAME","DigiTrackerHits");
-    clusteringDriver.set("OUTPUT_MAP_NAME","TrackerClusters");
-    add(clusteringDriver);
-    
-    // Hit making :
-    
-    TrackerHitMaker hitMaker = new TrackerHitMakerBasic();
-    HitMakingDriver hitMakingDriver = new HitMakingDriver(hitMaker);
-    hitMakingDriver.set("INPUT_MAP_NAME","TrackerClusters");
-    hitMakingDriver.set("OUTPUT_MAP_NAME","NewTrackerHits");
-    add(hitMakingDriver);
-  }
-  
-// -- Event processing :  ------------------------------------------------------
-
-  public void process(EventHeader event) {
-    
-    System.out.println(" ");
-    System.out.println("Event "+event.getEventNumber());
-
-    super.process(event);
-    
-    Navigator nav = ((SegmentationManager)event.get("SegmentationManager")).getNavigator();
-    
-    while (! _eventHistList.isEmpty()) {
-      _hFactory.destroy(_eventHistList.poll());
-    }
-    
-    MCTruth mcTruth = (MCTruth) event.get("MCTruth");
-    
-    System.out.println(" ");
-    
-    int n = 0;
-    HashMap<Sensor, List<DigiTrackerHit>> digiMap = 
-            (HashMap<Sensor, List<DigiTrackerHit>>) event.get("DigiTrackerHits");
-    for (List<DigiTrackerHit> digiList : digiMap.values()) n += digiList.size();
-    System.out.println("Created " + n + " DigiTrackerHits on " + digiMap.keySet().size() + " sensors");
-    
-    n = 0;
-    HashMap<Sensor, List<TrackerCluster>> clusterMap = 
-            (HashMap<Sensor, List<TrackerCluster>>) event.get("TrackerClusters");
-    for (List<TrackerCluster> clusterList : clusterMap.values()) n += clusterList.size();
-    System.out.println("Created " + n + " TrackerClusters on " + clusterMap.keySet().size() + " sensors");
-    
-    n = 0;
-    HashMap<Sensor, List<TrackerHit>> hitMap = 
-            (HashMap<Sensor, List<TrackerHit>>) event.get("NewTrackerHits");
-    for (List<TrackerHit> hitList : hitMap.values()) n += hitList.size();
-    System.out.println("Created " + n + " TrackerHits on " + hitMap.keySet().size() + " sensors");
-    
-    // -- Histograms :
-    
-    for (Sensor sensor : clusterMap.keySet()) {
-      boolean isPixels = (sensor.getType().getHitDimension() == 2);
-      int sensorID = sensor.getID();
-      SensorType sensorType = sensor.getType();
-
-      ICloud1D uCloud = _hFactory.createCloud1D("Sensor "+sensorID+" DigiTrackerHits - U");
-      ICloud1D vCloud = null;
-      ICloud2D uvCloud = _hFactory.createCloud2D("Sensor "+sensorID+" DigiTrackerHits - UV");
-      if (isPixels) {
-        vCloud = _hFactory.createCloud1D("Sensor "+sensorID+" DigiTrackerHits - V");
-        _eventHistList.add(vCloud);
-      }
-      _eventHistList.add(uCloud);
-      _eventHistList.add(uvCloud);
-      for (DigiTrackerHit dHit : digiMap.get(sensor)) {
-        Hep3Vector dPos = sensorType.getChannelPosition(dHit.getChannel());
-        uCloud.fill(dPos.x(), dHit.getSignal());
-        if (isPixels) vCloud.fill(dPos.y(), dHit.getSignal());
-        uvCloud.fill(dPos.x(), dPos.y(), dHit.getSignal());
-      }
-      
-      ICloud1D uCloudC = _hFactory.createCloud1D("Sensor "+sensorID+" Clusters - U");
-      ICloud1D vCloudC = null;
-      ICloud2D uvCloudC = _hFactory.createCloud2D("Sensor "+sensorID+" Clusters - UV");
-      if (isPixels) {
-        vCloudC = _hFactory.createCloud1D("Sensor "+sensorID+" Clusters - V");
-        _eventHistList.add(vCloudC);
-      }
-      _eventHistList.add(uCloudC);
-      _eventHistList.add(uvCloudC);
-      for (TrackerCluster cluster : clusterMap.get(sensor)) {
-        for (DigiTrackerHit dHit : cluster.getDigiHits()) {
-          Hep3Vector dPos = sensorType.getChannelPosition(dHit.getChannel());
-          uCloudC.fill(dPos.x(), dHit.getSignal());
-          if (isPixels) vCloudC.fill(dPos.y(), dHit.getSignal());
-          uvCloudC.fill(dPos.x(), dPos.y(), dHit.getSignal());
-        }
-      }
-      
-      ICloud1D uCloudS = _hFactory.createCloud1D("Sensor "+sensorID+" SimTrackerHits - U");
-      ICloud1D vCloudS = null;
-      ICloud2D uvCloudS = _hFactory.createCloud2D("Sensor "+sensorID+" SimTrackerHits - UV");
-      if (isPixels) {
-        vCloudS = _hFactory.createCloud1D("Sensor "+sensorID+" SimTrackerHits - V");
-        _eventHistList.add(vCloudS);
-      }
-      _eventHistList.add(uCloudS);
-      _eventHistList.add(uvCloudS);
-      for (TrackerCluster cluster : clusterMap.get(sensor)) {
-        for (SimGroup simGroup : mcTruth.getSimGroups(cluster)) {
-          for (SimTrackerHit sHit : simGroup.getSimTrackerHits()) {
-            Hep3Vector globPos = new BasicHep3Vector(sHit.getPoint());
-            Hep3Vector locPos = sensor.globalToLocal(globPos);
-            uCloudS.fill(locPos.x(), sHit.getdEdx());
-            if (isPixels) vCloudS.fill(locPos.y(), sHit.getdEdx());
-            uvCloudS.fill(locPos.x(), locPos.y(), sHit.getdEdx());
-          }
-        }
-      }
-      
-      ICloud1D uCloudH = _hFactory.createCloud1D("Sensor "+sensorID+" TrackerHits - U");
-      ICloud1D vCloudH = null;
-      ICloud2D uvCloudH = _hFactory.createCloud2D("Sensor "+sensorID+" TrackerHits - UV");
-      if (isPixels) {
-        vCloudH = _hFactory.createCloud1D("Sensor "+sensorID+" TrackerHits - V");
-        _eventHistList.add(vCloudH);
-      }
-      _eventHistList.add(uCloudH);
-      _eventHistList.add(uvCloudH);
-      
-      for (TrackerHit tHit : hitMap.get(sensor)) {
-        
-        Hep3Vector tPos = tHit.getLocalPosition();
-        uCloudH.fill(tPos.x(), tHit.getSignal());
-        if (isPixels) vCloudH.fill(tPos.y(), tHit.getSignal());
-        uvCloudH.fill(tPos.x(), tPos.y(), tHit.getSignal());
-        
-        List<SimGroup> simGroupList = mcTruth.getSimGroups(tHit);
-        String subDetName = simGroupList.get(0).getSimTrackerHits().get(0).getSubdetector().getName();
-        Hep3Vector position = new BasicHep3Vector();
-        double signal = 0.;
-        for (SimGroup simGroup : simGroupList) {
-          double s = simGroup.getSignal();
-          s = (s > Float.MIN_VALUE) ? s : 1.;
-          signal += s;
-          position = VecOp.add(position, VecOp.mult(s, simGroup.getPosition()));
-          double[] point = simGroup.getSimTrackerHits().get(0).getPoint();
-        }
-        position = VecOp.mult(1./signal, position);
-        _aida.cloud1D("SimTrackerHit to TrackerHit Distance, " + subDetName)
-              .fill(VecOp.sub(position, sensor.localToGlobal(tPos)).magnitude());
-        _aida.cloud1D("SimTrackerHit, TrackerHit signal difference, " + subDetName).fill(tHit.getSignal()-signal);
-        
-      }
-
-    }
-    
-    for (Sensor sensor : hitMap.keySet()) {
-      
-      System.out.println("");
-      System.out.println("Sensor "+sensor.getID()+" in "+nav.getSubdetector(sensor).getName());
-      
-      List<TrackerHit> hitList = hitMap.get(sensor);
-      for (TrackerHit hit : hitList) {
-        System.out.println(" ");
-        Hep3Vector pos = hit.getPosition();
-        System.out.println("Pos: "+ pos.x() +"  "+pos.y()+"  "+pos.z()+"  Length: "+hit.getLength());
-        SymmetricMatrix cov = hit.getCovMatrix();
-        System.out.println(cov.e(0,0)+"  "+cov.e(0,1)+"  "+cov.e(0,2));
-        System.out.println(cov.e(1,0)+"  "+cov.e(1,1)+"  "+cov.e(1,2));
-        System.out.println(cov.e(2,0)+"  "+cov.e(2,1)+"  "+cov.e(2,2));
-      }
-      
-    }
-    
-    
-  }
-  
-// -- Private parts :  ---------------------------------------------------------
-  
-  protected AIDA _aida;  
-  protected IHistogramFactory _hFactory;
-  protected LinkedList<IBaseHistogram> _eventHistList;
-  
-}

lcsim/src/org/lcsim/contrib/onoprien/tracking/track
Track.java removed after 1.3
diff -N Track.java
--- Track.java	25 Sep 2007 03:16:33 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,38 +0,0 @@
-package org.lcsim.contrib.onoprien.tracking.track;
-
-import java.util.List;
-import org.lcsim.contrib.onoprien.tracking.geom.Direction;
-
-/**
- * Just a stub to prevent build from failing - the real thing is not in CVS yet.
- *
- * @author D.Onoprienko
- * @version $Id: Track.java,v 1.3 2007/09/25 03:16:33 onoprien Exp $
- */
-public interface Track extends List<TrackNode> {
-  
-  public enum Status {seed, extrapolated, good}
-  
-// -- Access to nodes :  -------------------------------------------------------
-  
-  public TrackNode getFirst();
-  
-  public TrackNode getLast();
-  
-// -- Removing/Adding nodes :  -------------------------------------------------
-  
-  public void addNode(TrackNode node);
-  
-// -- Set/Get nodes ordering :  ------------------------------------------------
-  
-  public void setNodeOrdering(Direction direction);
-  
-  public Direction getNodeOrdering();
-  
-// -- Set/Get track status :  --------------------------------------------------
-  
-  public void setStatus(Status status);
-  
-  public Status getStatus();
-  
-}

lcsim/src/org/lcsim/contrib/onoprien/tracking/track
TrackAnchor.java removed after 1.1
diff -N TrackAnchor.java
--- TrackAnchor.java	25 Sep 2007 03:25:40 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,26 +0,0 @@
-package org.lcsim.contrib.onoprien.tracking.track;
-
-import javax.crypto.NullCipher;
-import org.lcsim.contrib.onoprien.tracking.geom.Sensor;
-//import org.lcsim.contrib.onoprien.tracking.geom.SensorGroup;
-import org.lcsim.contrib.onoprien.tracking.hit.TrackerCluster;
-import org.lcsim.contrib.onoprien.tracking.swimmer.Helix;
-
-/**
- * Track node associated with with a hit.
- * 
- * 
- * 
- * @author D.Onoprienko
- * @version $Id: TrackAnchor.java,v 1.1 2007/09/25 03:25:40 onoprien Exp $
- */
-public interface TrackAnchor {
-  
-  /**
-   * Calculates Chi**2 to the trajectory given as an argument.
-   */
-  public double chi2(TrackPoint trackPoint);
-  
-  //public SensorGroup getGroup();
-  
-}

lcsim/src/org/lcsim/contrib/onoprien/tracking/track
TrackNode.java removed after 1.3
diff -N TrackNode.java
--- TrackNode.java	25 Sep 2007 03:16:33 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,25 +0,0 @@
-package org.lcsim.contrib.onoprien.tracking.track;
-
-import org.lcsim.contrib.onoprien.tracking.geom.Sensor;
-import org.lcsim.contrib.onoprien.tracking.swimmer.Helix;
-
-/**
- * Just a stub to prevent build from failing - the real thing is not in CVS yet.
- *
- * @author D.Onoprienko
- * @version $Id: TrackNode.java,v 1.3 2007/09/25 03:16:33 onoprien Exp $
- */
-public interface TrackNode {
-  
-  /**
-   * Returns a trajectory representing track fit at this node.
-   * Helix's reference point represents a point on a track associated with this node.
-   */
-  public TrackPoint getTrackPoint();
-  
-  /**
-   * Returns track anchor associated with the node.
-   */
-  public TrackAnchor getAnchor();
-  
-}

lcsim/src/org/lcsim/contrib/onoprien/tracking/track
TrackPoint.java removed after 1.2
diff -N TrackPoint.java
--- TrackPoint.java	31 May 2007 09:38:55 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-
-package org.lcsim.contrib.onoprien.tracking.track;
-
-/**
- * Just a stub to prevent build from failing - the real thing is not in CVS yet.
- *
- * @author D.Onoprienko
- * @version $Id: TrackPoint.java,v 1.2 2007/05/31 09:38:55 onoprien Exp $
- */
-public interface TrackPoint {
-  
-}
CVSspam 0.2.8