View Javadoc

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  }