Print

Print


Commit in lcsim on MAIN
src/org/lcsim/contrib/SiStripSim/TrackerHit2DMaker.java+179added 1.1
                                /SiTrackerHitStrip2D.java+108-131.1 -> 1.2
test/org/lcsim/detector/driver/TrackerHitStrip2DDriverTest.java+165added 1.1
                              /TrackerHitEndcapDriverTest.java+2-91.1 -> 1.2
+454-22
2 added + 2 modified, total 4 files
First complete pass at 2D tracker hits and hit maker.  Driver still needs work.
New data file for TrackerHitEndcapDriverTest.

lcsim/src/org/lcsim/contrib/SiStripSim
TrackerHit2DMaker.java added at 1.1
diff -N TrackerHit2DMaker.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ TrackerHit2DMaker.java	17 Jan 2008 06:50:02 -0000	1.1
@@ -0,0 +1,179 @@
+/*
+ * TrackerHit2DMaker.java
+ *
+ * Created on December 20, 2007, 11:39 PM
+ *
+ * To change this template, choose Tools | Template Manager
+ * and open the template in the editor.
+ */
+
+package org.lcsim.contrib.SiStripSim;
+
+import hep.physics.matrix.SymmetricMatrix;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.lcsim.detector.IDetectorElement;
+import org.lcsim.detector.IReadout;
+import org.lcsim.detector.tracker.silicon.SiSensor;
+import org.lcsim.detector.tracker.silicon.SiSensorElectrodes;
+import org.lcsim.detector.tracker.silicon.SiTrackerModule;
+import org.lcsim.event.RawTrackerHit;
+
+/**
+ *
+ * @author tknelson
+ */
+public class TrackerHit2DMaker
+{
+    
+    /** Creates a new instance of TrackerHit2DMaker */
+    public TrackerHit2DMaker()
+    {
+    }
+    
+    public List<SiTrackerHitStrip2D> makeHits2D(IDetectorElement detector)
+    {
+        
+        List<SiTrackerHitStrip2D> hits_2D = new ArrayList<SiTrackerHitStrip2D>();
+        
+        List<SiTrackerModule> modules = detector.findDescendants(SiTrackerModule.class);
+        
+        // Loop over all modules
+        for (SiTrackerModule module : modules)
+        {
+            
+            List<SiSensor> sensors = detector.findDescendants(SiSensor.class);
+            
+            boolean doublesided_sensors = false;
+            
+            // Process double-sided sensors first
+            for (SiSensor sensor : sensors)
+            {
+                if (sensor.isDoubleSided())
+                {
+                    doublesided_sensors = true;
+                    
+                    // Get hits for this sensor
+                    IReadout ro = sensor.getReadout();
+                    List<SiTrackerHitStrip1D> hits = ro.getHits(SiTrackerHitStrip1D.class);
+                    
+                    // Make map from electrodes to lists of hits
+                    Map<SiSensorElectrodes,List<SiTrackerHitStrip1D>> side_hitlists = new HashMap<SiSensorElectrodes,List<SiTrackerHitStrip1D>>();
+                    for (SiTrackerHitStrip1D hit : hits)
+                    {
+                        SiSensorElectrodes electrodes = hit.getReadoutElectrodes();
+                        if (side_hitlists.get(electrodes) == null)
+                        {
+                            side_hitlists.put(electrodes,new ArrayList<SiTrackerHitStrip1D>());
+                        }
+                        
+                        side_hitlists.get(electrodes).add(hit);
+                    }
+                    
+                    // If have hits on both sides, make 2d strip hits
+                    if (side_hitlists.keySet().size() == 2)
+                    {
+                        List<List<SiTrackerHitStrip1D>> hitlists = new ArrayList<List<SiTrackerHitStrip1D>>(side_hitlists.values());
+                        
+                        for (SiTrackerHitStrip1D hit1: hitlists.get(0))
+                        {
+                            for (SiTrackerHitStrip1D hit2: hitlists.get(1))
+                            {
+                                List<SiTrackerHitStrip1D> hitpair = new ArrayList<SiTrackerHitStrip1D>();
+                                hitpair.add(hit1);
+                                hitpair.add(hit2);
+                                hits_2D.add(makeTrackerHit2D(hitpair));
+                            }
+                        }
+                    }
+                }
+            }
+            
+            // If have two sensors and neither is double-sided then make 2d hits from single-sided sensor hits
+            if (sensors.size() == 2 && !doublesided_sensors)
+            {
+                
+                Map<SiSensor,List<SiTrackerHitStrip1D>> sensor_hitlists = new HashMap<SiSensor,List<SiTrackerHitStrip1D>>();
+                
+                for (SiSensor sensor : sensors)
+                {
+                    // Get hits for this sensor
+                    IReadout ro = sensor.getReadout();
+                    List<SiTrackerHitStrip1D> hits = ro.getHits(SiTrackerHitStrip1D.class);
+                    
+                    // If sensor is single-sided strip sensor, add hits to map
+                    if (hits.size() != 0)
+                    {
+                        sensor_hitlists.put(sensor,new ArrayList<SiTrackerHitStrip1D>());
+                        sensor_hitlists.get(sensor).addAll(hits);
+                    }
+                    
+                }
+                
+                if (sensor_hitlists.keySet().size() == 2)
+                {
+                    List<List<SiTrackerHitStrip1D>> hitlists = new ArrayList<List<SiTrackerHitStrip1D>>(sensor_hitlists.values());
+                    
+                    for (SiTrackerHitStrip1D hit1: hitlists.get(0))
+                    {
+                        for (SiTrackerHitStrip1D hit2: hitlists.get(1))
+                        {
+                            List<SiTrackerHitStrip1D> hitpair = new ArrayList<SiTrackerHitStrip1D>();
+                            hitpair.add(hit1);
+                            hitpair.add(hit2);
+                            hits_2D.add(makeTrackerHit2D(hitpair));
+                        }
+                    }
+                }
+                
+            }
+            
+        }
+        
+        return hits_2D;
+        
+    }
+    
+    
+    private SiTrackerHitStrip2D makeTrackerHit2D(List<SiTrackerHitStrip1D> hits_1D)
+    {
+        double energy = 0;
+        double time = 0;
+        List<RawTrackerHit> raw_hits = new ArrayList<RawTrackerHit>();
+        
+        for (SiTrackerHitStrip1D hit_1D : hits_1D)
+        {
+            energy += hit_1D.getdEdx();
+            time += hit_1D.getdEdx()*hit_1D.getTime();
+            raw_hits.addAll(hit_1D.getRawHits());
+        }
+        time /= energy;
+        
+        TrackerHitType decoded_type = new TrackerHitType(TrackerHitType.CoordinateSystem.GLOBAL,
+                TrackerHitType.MeasurementType.STRIP_2D);
+        
+        return new SiTrackerHitStrip2D(calculateGlobalCovariance(hits_1D), energy, time,
+                raw_hits, decoded_type, hits_1D);
+        
+    }
+    
+    SymmetricMatrix calculateGlobalCovariance(List<SiTrackerHitStrip1D> hits_1D)
+    {
+        double[] covariance_elements = new double[6];
+        
+        for (SiTrackerHitStrip1D hit_1D : hits_1D)
+        {
+            for (int i = 0; i < covariance_elements.length; i++)
+            {
+                covariance_elements[i] += hit_1D.getTransformedHit(TrackerHitType.CoordinateSystem.GLOBAL).getCovMatrix()[i];
+            }
+        }
+        
+        return new SymmetricMatrix(3,covariance_elements,true);
+        
+    }
+
+    
+}
\ No newline at end of file

lcsim/src/org/lcsim/contrib/SiStripSim
SiTrackerHitStrip2D.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- SiTrackerHitStrip2D.java	24 Dec 2007 14:38:11 -0000	1.1
+++ SiTrackerHitStrip2D.java	17 Jan 2008 06:50:02 -0000	1.2
@@ -10,11 +10,21 @@
 package org.lcsim.contrib.SiStripSim;
 
 import hep.physics.matrix.SymmetricMatrix;
+import hep.physics.vec.BasicHep3Vector;
 import hep.physics.vec.Hep3Vector;
+import hep.physics.vec.VecOp;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
 import org.lcsim.detector.ITransform3D;
+import org.lcsim.detector.Transform3D;
+import org.lcsim.detector.solids.GeomOp3D;
+import org.lcsim.detector.solids.LineSegment3D;
+import org.lcsim.detector.solids.Plane3D;
+import org.lcsim.detector.solids.Point3D;
 import org.lcsim.event.MCParticle;
 import org.lcsim.event.RawTrackerHit;
+import org.lcsim.event.RelationalTable;
 import org.lcsim.event.TrackerHit;
 
 /**
@@ -25,52 +35,137 @@
 {
     
     List<SiTrackerHitStrip1D> _hits_1D;
+    List<SiTrackerHitStrip1D> _hits_1D_transformed;
     
     /**
      * Creates a new instance of SiTrackerHitStrip2D
      */
-    public SiTrackerHitStrip2D(Hep3Vector position_vector, SymmetricMatrix covariance_matrix, double energy, double time, List<RawTrackerHit> raw_hits, TrackerHitType decoded_type)
+    
+    // For creating fresh hits
+    public SiTrackerHitStrip2D(SymmetricMatrix covariance_matrix, double energy, double time,
+            List<RawTrackerHit> raw_hits, TrackerHitType decoded_type, List<SiTrackerHitStrip1D> hits_1D)
     {
-        super(position_vector, covariance_matrix, energy, time, raw_hits, decoded_type);
+        super(new BasicHep3Vector(0,0,0), covariance_matrix, energy, time, raw_hits, decoded_type);
+        _hits_1D = hits_1D;
     }
     
-    public SiTrackerHitStrip2D(TrackerHit hit)
+    
+    // For creating transformed versions of hits
+    public SiTrackerHitStrip2D(TrackerHit hit, List<SiTrackerHitStrip1D> hits_1D)
     {
         super(hit);
+        _hits_1D = hits_1D;
     }
     
-    public SiTrackerHitStrip2D(TrackerHit hit, TrackerHitType.CoordinateSystem coordinate_system)
+    // For creating SiTrackerStrip2D from persisted TrackerHits
+    public SiTrackerHitStrip2D(TrackerHit hit, RelationalTable hits_1D)
+    {
+        super(hit);
+        _hits_1D = new ArrayList((Set<SiTrackerHitStrip1D>)hits_1D.allTo(hit));
+    }
+    
+    public SiTrackerHitStrip2D(TrackerHit hit, RelationalTable hits_1D, TrackerHitType.CoordinateSystem coordinate_system)
     {
         super(hit,coordinate_system);
+        _hits_1D = new ArrayList((Set<SiTrackerHitStrip1D>)hits_1D.allTo(hit));
     }
     
+    // Get transformed version of hits
     public TrackerHit getTransformedHit(TrackerHitType.CoordinateSystem coordinate_system)
     {
-        return new SiTrackerHitStrip2D(super.getTransformedHit(coordinate_system));
+        return new SiTrackerHitStrip2D(super.getTransformedHit(coordinate_system),getHits1D());
     }
     
     public TrackerHit getTransformedHit(ITransform3D global_to_local)
     {
-        return new SiTrackerHitStrip2D(super.getTransformedHit(global_to_local));
+        return new SiTrackerHitStrip2D(super.getTransformedHit(global_to_local),getHits1D());
     }
     
     // Methods specific to 2d hits
+    public double[] getPosition()
+    {
+        return getPositionAsVector().v();
+    }
+    
+    public Hep3Vector getPositionAsVector()
+    {
+        // get IP (global origin) in local coordinates - could be more clever
+        Point3D origin = (Point3D)getLocalToGlobal().inverse().transformed(new BasicHep3Vector(0,0,0));
+        return getPositionWithLineFrom(origin);
+    }
+    
+    // Get position referred to specific tracks: input and return parameters are in current coordinates of the hit!
+    // Get position if hit is due to track of infinite momentum originating at some point in current coordinates
+    public Hep3Vector getPositionWithLineFrom(Point3D origin)
+    {
+        List<Point3D> plane_points = new ArrayList<Point3D>();
+        plane_points.add(origin);
+        plane_points.addAll(getHits1DTransformed().get(0).getHitSegment().getPoints());
+        Plane3D plane = new Plane3D(plane_points);
+        
+        Point3D start_point = GeomOp3D.intersection(getHits1DTransformed().get(1).getHitSegment(),plane);
+        
+        plane_points.clear();
+        plane_points.add(origin);
+        plane_points.addAll(getHits1DTransformed().get(1).getHitSegment().getPoints());
+        plane = new Plane3D(plane_points);
+        
+        Point3D end_point = GeomOp3D.intersection(getHits1DTransformed().get(0).getHitSegment(),plane);
+        
+        LineSegment3D hitsegment_2d = new LineSegment3D(start_point,end_point);
+        
+        return hitsegment_2d.getEndPoint(hitsegment_2d.getLength()/2);
+    }
+    
+    // Get position if hit is due to track crossing in a given direction (momentum vector)
+    public Hep3Vector getPositionWithDirection(Hep3Vector direction)
+    {
+        Hep3Vector normal = VecOp.cross(direction,getHits1DTransformed().get(0).getUnmeasuredCoordinate());
+        Point3D hitpoint = new Point3D(getHits1DTransformed().get(0).getPositionAsVector());
+        Plane3D plane = new Plane3D(normal,hitpoint);
+        
+        Point3D start_point = GeomOp3D.intersection(getHits1DTransformed().get(1).getHitSegment(),plane);
+        
+        normal = VecOp.cross(direction,getHits1DTransformed().get(1).getUnmeasuredCoordinate());
+        hitpoint = new Point3D(getHits1DTransformed().get(1).getPositionAsVector());
+        plane = new Plane3D(normal,hitpoint);
+        
+        Point3D end_point = GeomOp3D.intersection(getHits1DTransformed().get(0).getHitSegment(),plane);
+        
+        LineSegment3D hitsegment_2d = new LineSegment3D(start_point,end_point);
+        
+        return hitsegment_2d.getEndPoint(hitsegment_2d.getLength()/2);
+    }
+    
     public List<SiTrackerHitStrip1D> getHits1D()
     {
-     // do this at creation time... need to synchronize coordinate system of 1D hits.   
-        // I think the LCRelations needs to be dug up by the constructor.  How do we find the right relations?
-        if (_hits_1D == null)
+        return _hits_1D;
+    }
+    
+    public List<SiTrackerHitStrip1D> getHits1DTransformed()
+    {
+        if (_hits_1D_transformed == null)
         {
-            // find LCRelations?
+            for (SiTrackerHitStrip1D hit_1D : _hits_1D)
+            {
+                if (getCoordinateSystem() == TrackerHitType.CoordinateSystem.UNKNOWN)
+                {
+                    _hits_1D_transformed.add((SiTrackerHitStrip1D)hit_1D.getTransformedHit(getLocalToGlobal().inverse()));
+                }
+                else
+                {
+                    _hits_1D_transformed.add((SiTrackerHitStrip1D)hit_1D.getTransformedHit(getCoordinateSystem()));
+                }
+            }
         }
-        return _hits_1D;
+        return _hits_1D_transformed;
     }
     
     public boolean isGhost()
     {
-        for (MCParticle particle1 : _hits_1D.get(0).getMCParticles())
+        for (MCParticle particle1 : getHits1D().get(0).getMCParticles())
         {
-            if (_hits_1D.get(1).getMCParticles().contains(particle1)) return true;
+            if (getHits1D().get(1).getMCParticles().contains(particle1)) return true;
         }
         return false;
     }

lcsim/test/org/lcsim/detector/driver
TrackerHitStrip2DDriverTest.java added at 1.1
diff -N TrackerHitStrip2DDriverTest.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ TrackerHitStrip2DDriverTest.java	17 Jan 2008 06:50:03 -0000	1.1
@@ -0,0 +1,165 @@
+package org.lcsim.detector.driver;
+
+import java.io.File;
+import java.net.URL;
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import org.lcsim.contrib.RobKutschke.TKNHits.TKNClusterMakerDriverV1;
+import org.lcsim.contrib.RobKutschke.TKNHits.TKNRawHitsDriverV1;
+import org.lcsim.contrib.SiStripSim.CDFSiSensorSim;
+import org.lcsim.contrib.SiStripSim.ClusterMaker;
+import org.lcsim.contrib.SiStripSim.Kpix;
+import org.lcsim.contrib.SiStripSim.ReadoutChip;
+import org.lcsim.contrib.SiStripSim.SiSensorSim;
+import org.lcsim.contrib.SiStripSim.StripClusterMaker;
+import org.lcsim.contrib.SiStripSim.TrackerHit2DMaker;
+
+import org.lcsim.event.EventHeader;
+import org.lcsim.event.RawTrackerHit;
+import org.lcsim.event.TrackerHit;
+import org.lcsim.util.Driver;
+import org.lcsim.util.cache.FileCache;
+import org.lcsim.util.loop.LCSimLoop;
+
+/**
+ * Reads single muon events generated in sid01_polyhedra, which uses
+ * SiTrackerBarrel.  For DetectorElements where there is a
+ * Readout containing one hit, check that the hit from the event
+ * and the DE's have matching cell id.
+ */
+public class TrackerHitStrip2DDriverTest extends TestCase
+{
+    public TrackerHitStrip2DDriverTest(String testName)
+    {
+        super(testName);
+    }
+    
+    public static Test suite()
+    {
+        return new TestSuite(TrackerHitStrip2DDriverTest.class);
+    }
+    
+    public void setUp()
+    {
+        java.lang.Runtime.getRuntime().gc();
+    }
+    
+    public void testReadout() throws Exception
+    {
+        URL url = new URL("http://www.lcsim.org/test/lcio/pythiaZPoleuds-0-1000_SLIC-v2r4p2_geant4-v9r1p0_LCPhys_SiTrackerTest01.slcio");
+        FileCache cache = new FileCache();
+        File file = cache.getCachedFile(url);
+        
+        LCSimLoop loop = new LCSimLoop();
+        loop.setLCIORecordSource(file);
+        loop.add( new SimTrackerHitIdentifierReadoutDriver(new String[] {"SiTrackerEndcap_RO"} ) );
+        loop.add( new TKNRawHitsDriverV1(new String[]{"SiTrackerEndcap_RO"},new String[]{"RawEndcapTrackerHits"}));
+        loop.add( new TKNClusterMakerDriverV1(new String[]{"RawEndcapTrackerHits"}, new String[]{"EndcapTrackerHits1D"}) );
+        loop.add( new TestDriver() );
+        loop.loop(10, null);
+        loop.dispose();
+    }
+    
+    class TestDriver
+            extends Driver
+    {
+        
+        TrackerHit2DMaker maker = new TrackerHit2DMaker();
+        
+        protected void process(EventHeader header)
+        {
+            // Create the list of RawTrackerHits and add it to the event.
+            super.process(header);
+            
+            // Get the list of RawTrackerHits from the event.
+//            List<RawTrackerHit> raw_hits = header.get(RawTrackerHit.class, "RawBarrelTrackerHits");
+//            List<TrackerHit> hits = cluster_maker.makeClusters(raw_hits);
+//
+//            assertTrue(hits.size() > 0);
+            
+            
+            
+            
+//            System.out.println("# hits in event: "+hits.size());
+//            for (TrackerHit hit : hits)
+//            {
+//                SiTrackerHitStrip1D mc_hit = (SiTrackerHitStrip1D)hit;
+//
+//                System.out.println("    Coordinate System: "+mc_hit.getCoordinateSystem());
+//                System.out.println("    Measurement type: "+mc_hit.getMeasurementType());
+//
+//                System.out.println("    # MCParticles contributing: "+mc_hit.getMCParticles().size());
+//                for (MCParticle particle : mc_hit.getMCParticles())
+//                {
+//                    System.out.println("        MCParticle type: "+particle.getPDGID());
+//                    System.out.println("        MCParticle momentum: "+particle.getMomentum());
+//                }
+//                System.out.println("    Charge in cluster (electrons): "+mc_hit.getdEdx()/DopedSilicon.ENERGY_EHPAIR);
+//                System.out.println("    Time of hit: "+mc_hit.getTime());
+//                System.out.println("    Position: "+new BasicHep3Vector(mc_hit.getPosition()));
+//                System.out.println("    Covariance matrix: \n"+(new SymmetricMatrix(3,mc_hit.getCovMatrix(),true)));
+//                System.out.println("    # SimTrackerHits contributing to cluster: "+mc_hit.getRawHits().size());
+//                for (RawTrackerHit raw_hit : (List<RawTrackerHit>)mc_hit.getRawHits())
+//                {
+//                    IExpandedIdentifier id = new ExpandedIdentifier(raw_hit.getExpandedIdentifier());
+//                    int strip_field = raw_hit.getIdentifierHelper().getFieldIndex("strip");
+//                    int strip_id = id.getValue(strip_field);
+//
+//                    System.out.println("        Strip number: "+strip_id);
+//                    System.out.println("        Charge: "+kpix.decodeCharge(raw_hit));
+//                }
+//                System.out.println("    Measured Coordinate: "+mc_hit.getMeasuredCoordinate());
+//                System.out.println("    Unmeasured Coordinate: "+mc_hit.getUnmeasuredCoordinate());
+//                System.out.println("    Hit Length: "+mc_hit.getHitLength());
+//                System.out.println("    Hit Endpoints: "+mc_hit.getHitSegment().getStartPoint()+mc_hit.getHitSegment().getEndPoint());
+//
+//                System.out.println("    Sensor name: "+mc_hit.getSensor().getName());
+//                System.out.println("    Electrodes carrier: "+mc_hit.getReadoutElectrodes().getChargeCarrier());
+//
+//                System.out.println("\n");
+//                System.out.println("Transforming to sensor coordinates...");
+//
+//                mc_hit = (SiTrackerHitStrip1D)mc_hit.getTransformedHit(TrackerHitType.CoordinateSystem.SENSOR);
+//
+//                                System.out.println("    Coordinate System: "+mc_hit.getCoordinateSystem());
+//                System.out.println("    Measurement type: "+mc_hit.getMeasurementType());
+//
+//                System.out.println("    # MCParticles contributing: "+mc_hit.getMCParticles().size());
+//                for (MCParticle particle : mc_hit.getMCParticles())
+//                {
+//                    System.out.println("        MCParticle type: "+particle.getPDGID());
+//                    System.out.println("        MCParticle momentum: "+particle.getMomentum());
+//                }
+//                System.out.println("    Charge in cluster (electrons): "+mc_hit.getdEdx()/DopedSilicon.ENERGY_EHPAIR);
+//                System.out.println("    Time of hit: "+mc_hit.getTime());
+//                System.out.println("    Position: "+new BasicHep3Vector(mc_hit.getPosition()));
+//                System.out.println("    Covariance matrix: \n"+(new SymmetricMatrix(3,mc_hit.getCovMatrix(),true)));
+//                System.out.println("    # SimTrackerHits contributing to cluster: "+mc_hit.getRawHits().size());
+//                for (RawTrackerHit raw_hit : (List<RawTrackerHit>)mc_hit.getRawHits())
+//                {
+//                    IExpandedIdentifier id = new ExpandedIdentifier(raw_hit.getExpandedIdentifier());
+//                    int strip_field = raw_hit.getIdentifierHelper().getFieldIndex("strip");
+//                    int strip_id = id.getValue(strip_field);
+//
+//                    System.out.println("        Strip number: "+strip_id);
+//                    System.out.println("        Charge: "+kpix.decodeCharge(raw_hit));
+//                }
+//                System.out.println("    Measured Coordinate: "+mc_hit.getMeasuredCoordinate());
+//                System.out.println("    Unmeasured Coordinate: "+mc_hit.getUnmeasuredCoordinate());
+//                System.out.println("    Hit Length: "+mc_hit.getHitLength());
+//                System.out.println("    Hit Endpoints: "+mc_hit.getHitSegment().getStartPoint()+mc_hit.getHitSegment().getEndPoint());
+//
+//                System.out.println("    Sensor name: "+mc_hit.getSensor().getName());
+//                System.out.println("    Electrodes carrier: "+mc_hit.getReadoutElectrodes().getChargeCarrier());
+//
+//                System.out.println("\n\n");
+//
+//            }
+            
+        }
+    }
+}
+

lcsim/test/org/lcsim/detector/driver
TrackerHitEndcapDriverTest.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- TrackerHitEndcapDriverTest.java	24 Dec 2007 14:38:12 -0000	1.1
+++ TrackerHitEndcapDriverTest.java	17 Jan 2008 06:50:03 -0000	1.2
@@ -1,7 +1,5 @@
 package org.lcsim.detector.driver;
 
-import hep.physics.matrix.SymmetricMatrix;
-import hep.physics.vec.BasicHep3Vector;
 import java.io.File;
 import java.net.URL;
 import java.util.List;
@@ -9,21 +7,16 @@
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
+import org.lcsim.contrib.RobKutschke.TKNHits.TKNClusterMakerDriverV1;
 import org.lcsim.contrib.RobKutschke.TKNHits.TKNRawHitsDriverV1;
 import org.lcsim.contrib.SiStripSim.CDFSiSensorSim;
 import org.lcsim.contrib.SiStripSim.ClusterMaker;
 import org.lcsim.contrib.SiStripSim.Kpix;
 import org.lcsim.contrib.SiStripSim.ReadoutChip;
 import org.lcsim.contrib.SiStripSim.SiSensorSim;
-import org.lcsim.contrib.SiStripSim.SiTrackerHitStrip1D;
 import org.lcsim.contrib.SiStripSim.StripClusterMaker;
-import org.lcsim.contrib.SiStripSim.TrackerHitType;
-import org.lcsim.detector.identifier.ExpandedIdentifier;
-import org.lcsim.detector.identifier.IExpandedIdentifier;
-import org.lcsim.detector.tracker.silicon.DopedSilicon;
 
 import org.lcsim.event.EventHeader;
-import org.lcsim.event.MCParticle;
 import org.lcsim.event.RawTrackerHit;
 import org.lcsim.event.TrackerHit;
 import org.lcsim.util.Driver;
@@ -55,7 +48,7 @@
     
     public void testReadout() throws Exception
     {
-        URL url = new URL("http://www.lcsim.org/test/lcio/mu-_10GeV_SLIC-v2r3p10_geant4-v9r0p1_LCPhys_SiTrackerEndcapTest00.slcio");
+        URL url = new URL("http://www.lcsim.org/test/lcio/pythiaZPoleuds-0-1000_SLIC-v2r4p2_geant4-v9r1p0_LCPhys_SiTrackerTest01.slcio");
         FileCache cache = new FileCache();
         File file = cache.getCachedFile(url);
         
CVSspam 0.2.8