1 package org.lcsim.recon.tracking.vsegment.hit; 2 3 import java.util.List; 4 5 import org.lcsim.recon.tracking.vsegment.geom.Sensor; 6 7 /** 8 * Collection of <tt>DigiTrackerHits</tt> that cannot be unambigously separated. 9 * Clusters are independent in a sense that a track crossing the sensor only 10 * contributes to one cluster. But it is possible for several tracks to 11 * contribute to one cluster. 12 * 13 * 14 * @author D.Onoprienko 15 * @version $Id: TrackerCluster.java,v 1.1 2008/12/06 21:53:44 onoprien Exp $ 16 */ 17 public interface TrackerCluster { 18 19 // -- Access to DigiTrackerHits constituting the cluster : -------------------- 20 21 /** Get list of <tt>DigiTrackerHits</tt> that compose the cluster, sorted by channel ID. */ 22 public List<DigiTrackerHit> getDigiHits(); 23 24 // -- Access to TrackerHits that have been produced from this cluster : ------- 25 26 /** 27 * Returns a list of TrackerHits produced from this cluster. 28 * No new hits are created, and no existing hits are modified by a call to this method, 29 * it simply returns the list of hits that have been associated with this cluster through 30 * prior calls to {@link #addTrackerHit}. 31 */ 32 public List<TrackerHit> getTrackerHits(); 33 34 /** Associate <tt>TrackerHit</tt> object with this cluster. */ 35 public void addTrackerHit(TrackerHit hit); 36 37 /** Remove <tt>TrackerHit</tt> object from the list of hits associated with this cluster. */ 38 public void removeTrackerHit(TrackerHit hit); 39 40 // -- Access to Sensor : ------------------------------------------------------ 41 42 /** Returns the <tt>Sensor</tt> object associated with this cluster. */ 43 public Sensor getSensor(); 44 45 // -- Convenience methods : --------------------------------------------------- 46 47 /** Returns combined signal of all <tt>DigiTrackerHits</tt> in the cluster. */ 48 public double getSignal(); 49 50 /** Returns time associated with the cluster. */ 51 public double getTime(); 52 53 }