GeomConverter/src/org/lcsim/detector/tracker
diff -N TrackerDetectorElement.java
--- TrackerDetectorElement.java 10 Oct 2007 23:10:10 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,349 +0,0 @@
-package org.lcsim.detector.tracker;
-
-import hep.physics.vec.Hep3Vector;
-
-import java.util.List;
-
-import org.lcsim.detector.DetectorElement;
-import org.lcsim.detector.identifier.IIdentifier;
-
-/**
- * Proposed API for a tracker-specific {@link org.lcsim.detector.IDetectorElement}.
- *
- * <h3>Selected Source Material</h3>
- * <ul>
- * <li><a href="http://ilcagenda.linearcollider.org/getFile.py/access?contribId=3&resId=1&materialId=slides&confId=1435">Silicon Strip Hit Requirements from Rich Partridge</a>
- * <li><a href="http://www.lcsim.org/software/lcsim/apidocs/org/lcsim/contrib/onoprien/tracking/geom/package-summary.html">Tracker Segmentation from Dmitri Onoprienko</a>
- * <li><a href="http://ilcagenda.linearcollider.org/conferenceDisplay.py?confId=2307">Sim Meeting on Tracking Infrastructure</a>
- * </ul>
- *
- * @author Jeremy McCormick
- * @version $Id: TrackerDetectorElement.java,v 1.1 2007/10/10 23:10:10 jeremy Exp $
- */
-
-public abstract class TrackerDetectorElement
-extends DetectorElement
-{
- /**
- * Get the subdetector from an id.
- * @param id
- * @return The subdetector or null if none exists.
- */
- public abstract TrackerDetectorElement getSubdetector(IIdentifier id);
-
- /**
- * Get the barrel from an id.
- * @param id
- * @return The barrel or null if not exists or not in barrel.
- */
- public abstract TrackerDetectorElement getBarrel(IIdentifier id);
-
- /**
- * Get the endcap container <code>DetectorElement</code> from id.
- *
- * @param id
- * @return The endcap container or null if not exists or not in barrel.
- */
- public abstract TrackerDetectorElement getEndcap(IIdentifier id);
-
- /**
- * Get the layer from id.
- * @param id
- * @return The layer from an id or -1 if there is none.
- */
- public abstract TrackerDetectorElement getLayer(IIdentifier id);
-
- /**
- * Get the module from id.
- * @return The module from an id or -1 if there is none.
- */
- public abstract TrackerDetectorElement getModule(IIdentifier id);
-
- /**
- * Get the sensor from id.
- * @param id
- * @return The sensor from an id or -1 if there is none.
- */
- public abstract TrackerDetectorElement getSensor(IIdentifier id);
-
- /**
- * Get the electrodes from the id.
- * @param id
- * @return The electrodes object from an id or null if there is none.
- */
- public abstract TrackerDetectorElement getElectrodes(IIdentifier id);
-
- /**
- * Get the system number from the id.
- * @param id
- * @return The system number from the id or -1 if there is none.
- */
- public abstract int getSystemValue(IIdentifier id);
-
- /**
- * Get the barrel flag from the id.
- * @param id
- * @return The barrel flag from the id or -1 if there is none.
- */
- public abstract int getBarrelValue(IIdentifier id);
-
- /**
- * Get the layer number from the id.
- * @param id
- * @return The layer number from the id or -1 if there is none.
- */
- public abstract int getLayerValue(IIdentifier id);
-
- /**
- * Get the module number from the id.
- * @param id
- * @return The module number from the id or -1 if there is none.
- */
- public abstract int getModuleValue(IIdentifier id);
-
- /**
- * Get the sensor number from the id.
- * @param id
- * @return The sensor number from the id or -1 if there is none.
- */
- public abstract int getSensorValue(IIdentifier id);
-
- /**
- * Get the side from the id (1 or 2).
- * @param id
- * @return The side from the id or -1 if there is none.
- */
- public abstract int getSideValue(IIdentifier id);
-
- /**
- * Get the strip number from the id.
- * @param id
- * @return The strip number from the id or -1 if there is none.
- */
- public abstract int getStripValue(IIdentifier id);
-
- /**
- * Get the strip global position.
- * @param id
- * @return The global center position of the strip from an id.
- */
- public abstract Hep3Vector getStripGlobalCenterPosition(IIdentifier id);
-
- /**
- * Get the strip global start point.
- * @param id
- * @return The global start point of the strip from an id.
- */
- public abstract Hep3Vector getStripGlobalStartPoint(IIdentifier id);
-
- /**
- * Get the strip global end point.
- * @param id
- * @return The global end point of the strip from an id.
- */
- public abstract Hep3Vector getStripGlobalEndPoint(IIdentifier id);
-
- /**
- * Get the strip position within the coordinate frame of this <code>DetectorElement</code>.
- * @param id
- * @return The local center position of the strip from an id.
- */
- public abstract Hep3Vector getStripLocalCenterPosition(IIdentifier id);
-
- /**
- * Get the strip local start point.
- * @param id
- * @return The local start point of the strip from an id.
- */
- public abstract Hep3Vector getStripLocalStartPoint(IIdentifier id);
-
- /**
- * Get the strip local end point.
- * @param id
- * @return The local end point of the strip from an id.
- */
- public abstract Hep3Vector getStripLocalEndPoint(IIdentifier id);
-
- /**
- * Strip pitch.
- * @param id
- * @return The strip pitch from an id.
- */
- public abstract double getStripPitch(IIdentifier id);
-
- /**
- * Total charge deposit on strip.
- * @param id
- * @return The strip charge deposit from an id.
- */
- public abstract double getStripCharge(IIdentifier id);
-
- /**
- * Length of strip in mm.
- * @param id
- * @return The strip length from an id.
- */
- public abstract double getStripLength(IIdentifier id);
-
- /**
- * Unit vector parallel to the strip.
- *
- * @param id
- * @return The strip direction from an id. (Global coordinates?)
- */
- public abstract double getStripDirection(IIdentifier id);
-
- /**
- * Unit vector parallel to the measurement direction.
- * @param id
- * @return The strip measurement direction from an id. (Global coordinates?)
- */
- public abstract double getStripMeasurementDirection(IIdentifier id);
-
- /**
- * Get a list of strip neighbors.
- * @param id
- * @return A list of neighbor ids from a strip id.
- */
- public abstract List<IIdentifier> getStripNeighbors(IIdentifier id);
-
- /**
- * Get a strip id from a global position.
- * @param globalPosition
- * @return A strip id from a global position or null if none exists at that position.
- */
- public abstract IIdentifier getStrip(Hep3Vector globalPosition);
-
- /**
- * Get a layer from a global position.
- * @param globalPosition
- * @return The layer from a global position or null if none exists at that position.
- */
- public abstract TrackerDetectorElement getLayer(Hep3Vector globalPosition);
-
- /**
- * Get the list of hits by class from an id.
- * @param id
- * @return A list of hits from an id.
- */
- public abstract <T> List<Class<T>> getHits(IIdentifier id);
-
- /**
- * Get the list of hits contained by this <code>TrackerDetectorElement</code> or its children.
- * @return A list of all hits in this element's children.
- */
- public abstract <T> List<Class<T>> getHits();
-
- /**
- * Get the list of sensors from child elements.
- * @return A list of sensors in this element's children.
- */
- public abstract List<TrackerDetectorElement> getSensors();
-
- /**
- * Get a list of layers from child elements.
- * @return A list of layers in this element's children.
- */
- public abstract List<TrackerDetectorElement> getLayers();
-
- /**
- * Is this a subdetector?
- * @return True if this is a subdetector such as SiTrackerBarrel; false if not.
- */
- public abstract boolean isSubdetector();
-
- /**
- * Is this a layer?
- * @return True if this is a layer; false if not.
- */
- public abstract boolean isLayer();
-
- /**
- * Is this a module?
- * @return True if this is a module; false if not.
- * FIXME: Do we make DE for modules???
- */
- public abstract boolean isModule();
-
- /**
- * Is this a sensor?
- * @return True if this is a sensor; false if not.
- */
- public abstract boolean isSensor();
-
- /**
- * Is this a set of electrodes?
- * @return True if this is a electrodes; false if not.
- */
- public abstract boolean isElectrodes();
-
- /**
- * Is this id barrel?
- * @param id
- * @return True if id is barrel; false if not.
- */
- public abstract boolean isBarrel(IIdentifier id);
-
- /**
- * Is this id endcap?
- * @param id
- * @return True if id is endcap; false if not.
- */
- public abstract boolean isEndcap(IIdentifier id);
-
- /**
- * Is this id positive endcap?
- * @param id
- * @return True if id is positive endcap; false if not.
- */
- public abstract boolean isEndcapPositive(IIdentifier id);
-
- /**
- * Is this id negative endcap?
- * @param id
- * @return True if id is negative endcap; false if not.
- */
- public abstract boolean isEndcapNegative(IIdentifier id);
-
- /**
- * Is this part of barrel?
- * @param id
- * @return True if this is barrel or part of it; false if not.
- */
- public abstract boolean isBarrel();
-
- /**
- * Is this part of endcap?
- * @param id
- * @return True if this is endcap or part of it; false if not.
- */
- public abstract boolean isEndcap();
-
- /**
- * Is this part of positive endcap?
- * @param id
- * @return True if this is positive endcap or part of it; false if not.
- */
- public abstract boolean isEndcapPositive();
-
- /**
- * Is this part of negative endcap?
- * @param id
- * @return True if this is positive endcap or part of it; false if not.
- */
- public abstract boolean isEndcapNegative();
-
- /**
- * Make a tracker identifier from id.
- * @param
- * @return Make a {@link TrackerId} given an id.
- */
- public abstract TrackerId makeTrackerId(IIdentifier id);
-
- /**
- * Get the tracker Id for this.
- * @param
- * @return Get the {@link TrackerId} for this.
- */
- public abstract TrackerId getTrackerId();
-}
\ No newline at end of file