View Javadoc

1   /*
2    * ClusteringAlgorithm.java
3    *
4    */
5   
6   package org.lcsim.recon.tracking.digitization.sisim;
7   
8   import java.util.List;
9   
10  import org.lcsim.detector.tracker.silicon.SiSensor;
11  import org.lcsim.detector.tracker.silicon.SiSensorElectrodes;
12  import org.lcsim.event.RawTrackerHit;
13  
14  /**
15   * Interface for a clustering algorithm that clusters hits on an electrodes.
16   *
17   * @author Richard Partridge
18   */
19  public interface ClusteringAlgorithm {
20  
21      /**
22       * Finds the clusters given a list of RawTrackerHits on a particular
23       * silicon sensor with electrodes given by SiSensorElectrodes.  A list
24       * of clusters is returned, with each cluster being a list of RawTrackerHits
25       * the form the cluster.
26       *
27       * @param electodes electrodes on this sensor to cluster
28       * @param readout readout chip for these electrodes
29       * @param hits raw hits
30       * @return list of clusters, with each cluster being a list of RawTrackerHits
31       */
32      public List<List<RawTrackerHit>> findClusters(SiSensorElectrodes electrodes,
33              ReadoutChip readout, List<RawTrackerHit> hits);
34  
35  }