lcsim/src/org/lcsim/contrib/onoprien/vsegment/hit
diff -u -r1.2 -r1.3
--- ITrackerHit.java 15 Sep 2008 15:44:02 -0000 1.2
+++ ITrackerHit.java 18 Sep 2008 23:17:08 -0000 1.3
@@ -12,7 +12,7 @@
* Interface to represent a hit in the tracker.
*
* @author D. Onoprienko
- * @version $Id: ITrackerHit.java,v 1.2 2008/09/15 15:44:02 onoprien Exp $
+ * @version $Id: ITrackerHit.java,v 1.3 2008/09/18 23:17:08 onoprien Exp $
*/
public interface ITrackerHit extends Identifiable {
@@ -86,15 +86,37 @@
/**
* Enumeration of hit types.
+ * <p>
+ * This class defines a set of static constants that are used to identify different
+ * types of <tt>ITrackerHit</tt>. Custom types can be added by subclassing this class
+ * and defining new constants.
+ * <p>
+ * Public methods of this class can be used to find out, for each of the axes of the
+ * hit's local reference frame, whether the hit's position along that axis direction is
+ * measured, unmeasured, or fixed.
+ * <p>
+ * "Unmeasured" means the hit has a finite size along
+ * this direction. The size value can be retrieved by calling {@link ITrackerHit#getDimensions()}.
+ * For <tt>STRIP</tt>, for example, V is unmeasured, and the hit dimension along V is
+ * equal to the length of the strip.
+ * <p>
+ * "Fixed" means the hit is projected to the reference surface perpendicular to the given
+ * axis, so the measurement error along this direction is zero.
*/
public class Type {
protected enum Dir {MEASURED, UNMEASURED, FIXED};
+ /** Unknown type marker. */
static public final Type UNKNOWN = new Type(Dir.UNMEASURED, Dir.UNMEASURED, Dir.UNMEASURED);
+ /** Hit in silicon pixels sensor. U is measured, V is measured, W is fixed. */
static public final Type PIXEL = new Type(Dir.UNMEASURED, Dir.UNMEASURED, Dir.UNMEASURED);
+ /** Hit in silicon strips sensor. U is measured, V is unmeasured, W is fixed. */
static public final Type STRIP = new Type(Dir.UNMEASURED, Dir.UNMEASURED, Dir.UNMEASURED);
+ /** Stereo cross between two strips. U is measured, V is measured, W is fixed. */
static public final Type CROSS = new Type(Dir.UNMEASURED, Dir.UNMEASURED, Dir.UNMEASURED);
+ /** Generic 3-dimensional hit. All three coordinates are measured. */
+ static public final Type D3 = new Type(Dir.MEASURED, Dir.MEASURED, Dir.MEASURED);
private int _nM, _nU, _nF;
private boolean[] _isM, _isU, _isF;
@@ -139,8 +161,6 @@
/**
* Returns <tt>true</tt> if the position along the axis specified by the argument
* (in local reference frame: 0 = U, 1 = V, 2 = W) is fixed for this type of hit.
- * "Fixed" means the hit is projected to the reference surface perpendicular to the
- * given axis, so the measurement error along this direction is zero.
*/
public boolean isFixed(int axis) {return _isF[axis];}
}