View Javadoc

1   package org.lcsim.recon.tracking.vsegment.hit;
2   
3   import java.util.List;
4   
5   import org.lcsim.event.MCParticle;
6   
7   import org.lcsim.recon.tracking.vsegment.geom.Sensor;
8   
9   /**
10   * Representation of signal from a single tracker channel (pixel or strip).
11   *
12   * @author D.Onoprienko
13   * @version $Id: DigiTrackerHit.java,v 1.1 2008/12/06 21:53:44 onoprien Exp $
14   */
15  public interface DigiTrackerHit extends Comparable<DigiTrackerHit> {
16    
17    /** 
18     * Returns signal in the channel.
19     * The signal value is the digitization algorithm output if running on Monte Carlo,
20     * calibrated and corrected signal if runnung on data.
21     */
22    public double getSignal();
23    
24    /** Returns time associated with the hit. */
25    public double getTime();
26    
27    /** Returns {@link Sensor} object this hit belongs to. */
28    public Sensor getSensor();
29    
30    /** Returns channel ID on the sensor. */
31    public int getChannel();
32    
33    /**  Returns <tt>true</tt> if the hit is a superposition of more than one elemental hit. */
34    public boolean isComposite();
35    
36    /**
37     * Returns a list of underlying elemental hits.
38     * If the hit is not composite, returns a list with a single element - this hit.
39     */
40    public List<DigiTrackerHit> getElementalHits();
41    
42    /**
43     * Returns <tt>MCParticle</tt> that produced the hit.
44     * If the hit is composite, or does not have <tt>MCParticle</tt> associated with
45     * it (noise, beam test data, etc.), returns <tt>null</tt>.
46     */
47    public MCParticle getMCParticle();
48    
49  }