View Javadoc

1   /*
2    * To change this template, choose Tools | Templates
3    * and open the template in the editor.
4    */
5   
6   package org.lcsim.recon.tracking.seedtracker.strategybuilder;
7   
8   import org.lcsim.geometry.subdetector.BarrelEndcapFlag;
9   
10  /**Simple layer to uniquely define layers. Like SeedLayer but without
11   * information about layer type. 
12   * 
13   * @author cozzy
14   */
15  public class DumbLayer{
16  
17          String detectorName; 
18          int layer; 
19          BarrelEndcapFlag be; 
20          
21          public DumbLayer(String det, int lyr, BarrelEndcapFlag be){
22              detectorName = det; 
23              layer = lyr;  
24              this.be = be;
25          }
26          
27          
28          @Override
29          public boolean equals(Object other) {
30              if (this == other) return true; 
31              if (! (other instanceof DumbLayer)) return false; 
32              DumbLayer dl = (DumbLayer) other; 
33              return ( this.be.equals(dl.be) &&
34                       this.layer == dl.layer &&
35                       this.detectorName.equals(dl.detectorName)); 
36          }
37          
38          //dumb hash function... 
39          @Override
40          public int hashCode() {
41              return 20*( be.ordinal() + 1) + layer + 500*(detectorName.hashCode() % 1000);
42          }
43  
44          @Override
45          public String toString() {
46              return ("DumbLayer: det="+detectorName+" lyr="+layer+" be="+ be.toString()); 
47          }
48          
49      }