lcsim/src/org/lcsim/detector/driver
diff -N RawTrackerHitIdentifierReadoutDriver.java
--- RawTrackerHitIdentifierReadoutDriver.java 24 Aug 2009 23:07:38 -0000 1.6
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,64 +0,0 @@
-package org.lcsim.detector.driver;
-
-import java.util.List;
-
-import org.lcsim.detector.DetectorElementStore;
-import org.lcsim.detector.IDetectorElementContainer;
-import org.lcsim.detector.IReadout;
-import org.lcsim.detector.identifier.IIdentifier;
-import org.lcsim.detector.identifier.Identifier;
-import org.lcsim.event.EventHeader;
-import org.lcsim.event.RawTrackerHit;
-import org.lcsim.recon.tracking.digitization.sisim.config.CollectionHandler;
-import org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver;
-
-public class RawTrackerHitIdentifierReadoutDriver
-extends CollectionHandler
-{
-
- private static final long defaultBitmask = 0xFFFFFFFFL;
-
- private long bitmask = defaultBitmask;
-
- public RawTrackerHitIdentifierReadoutDriver(List<String> collectionNames)
- {
- super(collectionNames);
- add( new ReadoutCleanupDriver( collectionNames ) );
- }
-
- public RawTrackerHitIdentifierReadoutDriver(String[] collectionNames)
- {
- super(collectionNames);
- add( new ReadoutCleanupDriver( collectionNames ) );
- }
-
- public void setCellIDBitmask(long mask) {
- bitmask = mask;
- }
-
-
- protected void process(EventHeader header)
- {
- super.process(header);
- List<List<RawTrackerHit>> collections = header.get(RawTrackerHit.class);
- for ( List<RawTrackerHit> collection : collections )
- {
- if ( canHandle( header.getMetaData( collection ).getName() ) )
- {
- for ( RawTrackerHit hit : collection )
- {
- IIdentifier hitId = new Identifier(hit.getCellID() & bitmask);
- IDetectorElementContainer deHit =
- DetectorElementStore.getInstance().find(hitId);
- if (deHit.size() == 0)
- {
- throw new RuntimeException("No DetectorElement found for id <"+hitId.toString()+">.");
- }
- hit.setDetectorElement(deHit.get(0));
- IReadout ro = deHit.get(0).getReadout();
- ro.addHit( hit );
- }
- }
- }
- }
-}
lcsim/src/org/lcsim/detector/driver
diff -N TrackerHitIdentifierReadoutDriver.java
--- TrackerHitIdentifierReadoutDriver.java 24 Aug 2009 23:07:38 -0000 1.7
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,72 +0,0 @@
-package org.lcsim.detector.driver;
-
-import java.util.List;
-
-import org.lcsim.detector.IReadout;
-import org.lcsim.event.EventHeader;
-import org.lcsim.event.TrackerHit;
-import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHitPixel;
-import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHitStrip1D;
-import org.lcsim.recon.tracking.digitization.sisim.TrackerHitType;
-import org.lcsim.recon.tracking.digitization.sisim.config.CollectionHandler;
-import org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver;
-
-public class TrackerHitIdentifierReadoutDriver
- extends CollectionHandler
-{
- public TrackerHitIdentifierReadoutDriver(List<String> collectionNames)
- {
- super(collectionNames);
- add( new ReadoutCleanupDriver( collectionNames ) );
- }
-
- public TrackerHitIdentifierReadoutDriver(String[] collectionNames)
- {
- super(collectionNames);
- add( new ReadoutCleanupDriver( collectionNames ) );
- }
-
- protected void process(EventHeader header)
- {
- super.process(header);
- List<List<TrackerHit>> collections = header.get(TrackerHit.class);
- for ( List<TrackerHit> collection : collections )
- {
- if ( canHandle( header.getMetaData( collection ).getName() ) )
- {
- for ( TrackerHit hit : collection )
- {
-
- TrackerHitType.MeasurementType measurement_type =
- TrackerHitType.decoded(hit.getType()).getMeasurementType();
-
- TrackerHitType.CoordinateSystem coordinate_system =
- TrackerHitType.decoded(hit.getType()).getCoordinateSystem();
-
- if (measurement_type == TrackerHitType.MeasurementType.STRIP_1D)
- {
- SiTrackerHitStrip1D hit_1D = new SiTrackerHitStrip1D(hit,coordinate_system);
- IReadout ro = hit_1D.getSensor().getReadout();
- ro.addHit(hit_1D);
- }
-
- if (measurement_type == TrackerHitType.MeasurementType.PIXEL)
- {
- SiTrackerHitPixel hit_pixel = new SiTrackerHitPixel(hit,coordinate_system);
- IReadout ro = hit_pixel.getSensor().getReadout();
- ro.addHit(hit_pixel);
- }
-
- // Need to master LC relations to make this work.
-// if (measurement_type == TrackerHitType.MeasurementType.STRIP_2D)
-// {
-// SiTrackerHitStrip2D hit_2D = new SiTrackerHitStrip2D(hit,coordinate_system);
-// IReadout ro = hit_2D.getSensor().getReadout();
-// ro.addHit(hit_2D);
-// }
-
- }
- }
- }
- }
-}
lcsim/src/org/lcsim/recon/tracking/seedtracker/digiexample
diff -N DigiHitReader.java
--- DigiHitReader.java 24 Aug 2009 23:07:39 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,77 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-
-package org.lcsim.recon.tracking.seedtracker.digiexample;
-
-import java.util.List;
-import java.util.ArrayList;
-import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHitStrip1D;
-import org.lcsim.recon.tracking.digitization.sisim.config.SimTrackerHitReadoutDriver;
-import org.lcsim.detector.IDetectorElement;
-import org.lcsim.detector.driver.RawTrackerHitIdentifierReadoutDriver;
-import org.lcsim.detector.driver.TrackerHitIdentifierReadoutDriver;
-import org.lcsim.detector.tracker.silicon.SiSensor;
-import org.lcsim.event.EventHeader;
-import org.lcsim.fit.helicaltrack.HelicalTrackHitDriver;
-import org.lcsim.fit.helicaltrack.HelicalTrackHitDriver.HitType;
-import org.lcsim.util.Driver;
-
-/**
- *
- * @author cozzy
- */
-public class DigiHitReader extends Driver{
-
- private static final String strip1DName = "StripClusterer_SiTrackerHitStrip1D";
- private static final String pixSimBarrelName = "RecVtxBarrHits";
- private static final String pixSimEndcapName = "RecVtxEndcapHits";
- private static final String[] simHitNames = new String[]{"SiTrackerBarrel_RO","SiTrackerEndcap_RO","SiTrackerForward_RO"};
- private static final String rawHitsName = "RawTrackerHitMaker_RawTrackerHits";
- private static final long rawBitmask = 0xFFFFFFFFL;
- private static final String newhits = "Strip1DHits";
-
- public DigiHitReader() {
- add(new SimTrackerHitReadoutDriver(simHitNames));
- RawTrackerHitIdentifierReadoutDriver rawHitsDriver = new RawTrackerHitIdentifierReadoutDriver(new String[]{rawHitsName});
- rawHitsDriver.setCellIDBitmask(rawBitmask);
- add(rawHitsDriver);
- add(new TrackerHitIdentifierReadoutDriver(new String[]{strip1DName}));
- add(new ReadoutReader(SiTrackerHitStrip1D.class, newhits, 0));
- HelicalTrackHitDriver hitdriver = new HelicalTrackHitDriver();
- hitdriver.addCollection(newhits,HitType.Digitized);
- hitdriver.addCollection(pixSimBarrelName,HitType.Base);
- hitdriver.addCollection(pixSimEndcapName,HitType.Base);
- hitdriver.OutputCollection("HelicalTrackHits"); // the default, but it might change?
- add(hitdriver);
- }
-
-
- class ReadoutReader extends Driver{
-
- private Class c;
- private int f;
- private String n;
-
- public ReadoutReader(Class klass, String collName, int flags) {
- c = klass;
- n = collName;
- f = flags;
- }
-
- protected void process(EventHeader event) {
- super.process(event);
-
-
- List<SiTrackerHitStrip1D> hits1D = new ArrayList<SiTrackerHitStrip1D>();
- for (IDetectorElement de : event.getDetector().getDetectorElement().findDescendants(SiSensor.class)) {
-
- hits1D.addAll(de.getReadout().getHits(c));
- }
-
- event.put(n, hits1D, c , f);
- }
- }
-
-}