View Javadoc

1   package org.lcsim.recon.tracking.trflayer;
2   
3   //import trfbase.Hit;
4   import org.lcsim.recon.tracking.trfbase.ETrack;
5   import org.lcsim.recon.tracking.trfbase.Surface;
6   import java.util.*;
7   
8   /**
9    * A finder provides access to a list of clusters associated with
10   * a surface.
11   * It provides a method to return the complete list and a
12   * method to return clusters near a specified track at the surface.
13   *<p>
14   * This class is abstract; subclasses provide concrete implementations
15   * for specific surfaces and clusters.
16   *<p>
17   * Layers construct these cluster finders and include them in the layer
18   * status objects returned after layer propagation.
19   *
20   *@author Norman A. Graf
21   *@version 1.0
22   *
23   */
24  public abstract class ClusterFinder
25  {
26      
27      //
28      
29      /**
30       *Return the type name.
31       *
32       * @return   String representation of class type
33       *Included for completeness with C++ version
34       */
35      public static String typeName()
36      { return "ClusterFinder"; }
37      
38      //
39      
40      /**
41       *Return the type.
42       *
43       * @return String representation of class type
44       *Included for completeness with C++ version
45       */
46      public static String staticType()
47      { return typeName(); }
48      
49      // methods
50      
51      //
52      
53      /**
54       *constructor
55       *
56       */
57      public ClusterFinder()
58      {
59      }
60      
61      //
62      
63      /**
64       *Return the generic type of this class.
65       * Subclasses must not override.
66       *
67       * @return  String representation of class type
68       *Included for completeness with C++ version
69       */
70      public String genericType()
71      { return staticType(); }
72      
73      //
74      
75      /**
76       *Return the surface.
77       *
78       * @return  Surface for this cluster finder
79       */
80      public abstract Surface surface();
81      
82      //
83      
84      /**
85       *Return all the clusters associated with this surface.
86       *
87       * @return   List of clusters this finder manages
88       */
89      public abstract List clusters();
90      
91      //
92      
93      /**
94       *Return all the clusters near the specified track at the surface.
95       *
96       * @param   tre  ETrack
97       * @return  List of clusters this finder finds close to this track
98       */
99      public abstract List clusters( ETrack tre);
100     
101     
102 }