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 }