1 package org.lcsim.recon.tracking.vsegment.hit; 2 3 import hep.physics.matrix.SymmetricMatrix; 4 import hep.physics.vec.Hep3Vector; 5 import org.lcsim.spacegeom.SpacePointVector; 6 7 import org.lcsim.recon.tracking.vsegment.geom.Sensor; 8 import org.lcsim.recon.tracking.vsegment.transform.Transformation3D; 9 10 /** 11 * Tracker hit object to be used by a fitter. 12 * <tt>TrackerHit</tt> can represent either a point-like (pixel) or a segment-like 13 * (strip) object. Each hit has a local reference frame (u,v,w) associated with it 14 * (reference frame of the {@link Sensor} object the hit belongs to). 15 * U is the measurement direction, V is along the length of the strip, 16 * <nobr>W = U x V.</nobr> 17 * 18 * @author D.Onoprienko 19 * @version $Id: TrackerHit.java,v 1.1 2008/12/06 21:53:44 onoprien Exp $ 20 */ 21 public interface TrackerHit { 22 23 // -- Position and covariance matrix in local coordinates : ------------------- 24 25 /** 26 * Returns position of the hit in local reference frame of the {@link Sensor}. 27 * For a segment-like hit, this is the center of the segment. 28 */ 29 public Hep3Vector getLocalPosition(); 30 31 /** Returns covariance matrix in local frame of the {@link Sensor}. */ 32 public SymmetricMatrix getLocalCovMatrix(); 33 34 /** 35 * Returns <tt>SpacePointVector</tt> pointing from start to end of the segment 36 * defining the hit in the local reference frame. 37 */ 38 public SpacePointVector getLocalSegment(); 39 40 // -- Position and covariance matrix in global coordinates : ------------------ 41 42 /** 43 * Returns position of the hit in global reference frame. 44 * For a segment-like hit, this is the center of the segment. 45 */ 46 public Hep3Vector getPosition(); 47 48 /** Returns covariance matrix of the hit in global reference frame. */ 49 public SymmetricMatrix getCovMatrix(); 50 51 /** 52 * Returns <tt>SpacePointVector</tt> pointing from start to end of the segment 53 * defining the hit in the global reference frame. 54 */ 55 public SpacePointVector getSegment(); 56 57 // -- Length of segment-like hit : -------------------------------------------- 58 59 /** Returns length of the segment defining the hit. */ 60 public double getLength(); 61 62 // -- Signal and time : ------------------------------------------------------- 63 64 /** Returns signal amplitude associated with this hit. */ 65 public double getSignal(); 66 67 /** Returns time associated with this hit. */ 68 public double getTime(); 69 70 // -- Access to underlying Sensor and TrackerCluster objects : ---------------- 71 72 /** Returns {@link Sensor} object for this hit. */ 73 public Sensor getSensor(); 74 75 /** Points back to <tt>TrackerCluster</tt> from which this hit was produced. */ 76 public TrackerCluster getCluster(); 77 78 }