lcsim/test/org/lcsim/detector/driver
diff -N SimTrackerDigitizationTest.java
--- SimTrackerDigitizationTest.java 10 Jul 2007 23:50:52 -0000 1.6
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,165 +0,0 @@
-package org.lcsim.detector.driver;
-
-import java.io.File;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-import java.util.HashSet;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-import hep.physics.vec.BasicHep3Vector;
-import hep.physics.vec.Hep3Vector;
-import hep.physics.vec.VecOp;
-
-import org.lcsim.event.EventHeader;
-import org.lcsim.event.SimTrackerHit;
-import org.lcsim.util.Driver;
-import org.lcsim.util.cache.FileCache;
-import org.lcsim.util.loop.LCSimLoop;
-import org.lcsim.detector.IDetectorElement;
-import org.lcsim.detector.ITransform3D;
-import org.lcsim.detector.IReadout;
-import org.lcsim.geometry.compact.Subdetector;
-
-import org.lcsim.detector.tracker.silicon.SiSensor;
-//import org.lcsim.detector.tracker.silicon.TrackSegment_old;
-import org.lcsim.detector.tracker.silicon.ChargeCarrier;
-
-/**
- * Reads 2 muon event 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 SimTrackerDigitizationTest extends TestCase
-{
- public SimTrackerDigitizationTest(String testName)
- {
- super(testName);
- }
-
- public static Test suite()
- {
- return new TestSuite(SimTrackerDigitizationTest.class);
- }
-
- public void setUp()
- {
- java.lang.Runtime.getRuntime().gc();
- }
-
- public void testReadout() throws Exception
- {
- URL url =
- new URL("http://www.lcsim.org/test/lcio/mu-_10GeV_SiTrackerBarrelTest00.slcio");
- FileCache cache = new FileCache();
- File file = cache.getCachedFile(url);
-
- LCSimLoop loop = new LCSimLoop();
- loop.setLCIORecordSource(file);
- loop.add( new SimTrackerHitIdentifierReadoutDriver(new String[] {"SiTrackerBarrel_RO"} ) );
- loop.add( new TestDriver() );
- loop.loop(1);
- loop.dispose();
- }
-
- class TestDriver
- extends Driver
- {
- protected void process(EventHeader header)
- {
- List<SimTrackerHit> hitsFromRO = new ArrayList<SimTrackerHit>();
- IDetectorElement tkr = header.getDetector().getSubdetector("SiTrackerBarrel").getDetectorElement();
- for ( IDetectorElement layer : tkr.getChildren() )
- {
- for ( IDetectorElement module : layer.getChildren() )
- {
- for ( IDetectorElement sensor : module.getChildren() )
- {
- IReadout ro = sensor.getReadout();
- List<SimTrackerHit> hits = ro.getHits(SimTrackerHit.class);
- hitsFromRO.addAll( hits );
- }
- }
- }
-
- /*
- System.out.println("hitsFromRO.size = " + hitsFromRO.size() );
- for ( SimTrackerHit roHit : hitsFromRO )
- {
- System.out.println("got hit from RO - " + roHit.getCellID());
- }*/
-
- List<SimTrackerHit> eventHits = header.get(SimTrackerHit.class, "SiTrackerBarrel_RO");
-
- System.out.println("Number of SimTrackerHits: " + eventHits.size());
-
- // set of sensors with hits
- Set<SiSensor> hit_sensors = new HashSet<SiSensor>();
-
-// for (SimTrackerHit hit : eventHits)
-// {
-//// _decoder.setID(hit.getCellID());
-//
-// // Create track segment in global coordinates
-// Hep3Vector midpoint = new BasicHep3Vector(hit.getPoint());
-// Hep3Vector direction = VecOp.unit(new BasicHep3Vector(hit.getMomentum()));
-// Hep3Vector half_length = VecOp.mult(hit.getPathLength()/2.0,direction);
-//
-// Hep3Vector p1 = VecOp.add(midpoint,VecOp.mult(-1.0,half_length));
-// Hep3Vector p2 = VecOp.add(midpoint,half_length);
-//
-// double energy = hit.getdEdx();
-//
-// TrackSegment_old track_segment = new TrackSegment_old(p1,p2,energy);
-//
-// // Find the sensor for this hit, add to list of hit sensors
-// SiSensor sensor = (SiSensor)tkr.findDetectorElement(midpoint);
-// hit_sensors.add(sensor);
-//
-// // Transform track segment to sensor coordinates and assign to sensor
-// ITransform3D global_to_sensor = sensor.getGeometry().getGlobalToLocal();
-// track_segment.transform(global_to_sensor);
-// sensor.addTrackSegment(track_segment);
-// }
-//
-// // Loop over sensors
-//
-// System.out.println("Number of Hit Sensors: " + hit_sensors.size());
-//
-// for (SiSensor sensor : hit_sensors)
-// {
-//
-// System.out.println("\n" + "Sensor: " + sensor.getName() + "\n" + "=================");
-//
-// // deposit charge
-// sensor.depositCharge();
-// for (ChargeCarrier carrier : ChargeCarrier.values())
-// {
-// if (sensor.hasElectrodesOnSide(carrier))
-// {
-// System.out.println("Charge Map for " + carrier + ": " + sensor.getElectrodes(carrier).getChargeMap());
-// }
-// }
-//
-// // readout
-//// List<RawTrackerHit> raw_hits = readout_chip.readout(sensor);
-//
-// sensor.clearElectrodes();
-//
-// }
-
-
-
-
-
- }
-
-
- }
-}
-