1
2
3
4
5
6
7
8 package org.lcsim.recon.tracking.seedtracker;
9
10 import org.lcsim.fit.helicaltrack.HitIdentifier;
11 import org.lcsim.geometry.subdetector.BarrelEndcapFlag;
12
13
14
15
16
17
18 public class SeedLayer {
19
20
21
22 public enum SeedType {
23
24
25
26 Seed,
27
28
29
30 Confirm,
31
32
33
34 Extend}
35
36 private String _detname;
37 private int _layer;
38 private BarrelEndcapFlag _beflag;
39 private SeedType _type;
40
41
42
43
44
45
46
47
48 public SeedLayer(String detname, int layer, BarrelEndcapFlag beflag, SeedType type) {
49 _detname = detname;
50 _layer = layer;
51 _beflag = beflag;
52 _type = type;
53 }
54
55
56
57
58
59 public String getDetName() {
60 return _detname;
61 }
62
63
64
65
66
67 public int getLayer() {
68 return _layer;
69 }
70
71
72
73
74
75 public BarrelEndcapFlag getBarrelEndcapFlag() {
76 return _beflag;
77 }
78
79
80
81
82
83 public SeedType getType() {
84 return _type;
85 }
86
87 public String LayerID() {
88 return HitIdentifier.Identifier(_detname, _layer, _beflag);
89 }
90
91 @Override
92 public boolean equals(Object other) {
93 if (this == other) return true;
94 if (!(other instanceof SeedLayer)) return false;
95 SeedLayer lyr = (SeedLayer) other;
96
97 return (this._beflag.equals(lyr._beflag) && this._detname.equals(lyr.getDetName())
98 && this._layer == lyr.getLayer() && this._type.equals(lyr.getType()));
99 }
100
101 @Override
102 public int hashCode(){
103 return (_detname + _beflag.toString() + _layer + _type.toString()).hashCode();
104 }
105 }