Open Questions
- Do the old Detector and/or Subdetector classes go away?
- If so what replaces them?
- How are the new identifiers used?
- Are they used in the same way for calorimeter hits and tracker hits?
- What level does DetectorElement go to in the case of calorimetry?
- Are they used in the same way for calorimeter hits and tracker hits?
Use cases
The idea here is to collect examples of how end users use the geometry package to ask various questions.
RawTrackerHit
Find what layer a tracker hit is in
Find the position of a trackerhit (or possibly line segment). (Note this is required for displaying hits in an event display – and needs to be done with no a-priori knowledge)
CalorimeterHit
Find neighbours of a given calorimeter hit
Find the cellid for a given position
Find the maximum valid phi and theta bins in given calorimeter layer
Find the layer of a calorimeter hit
General
Enumerate the subdetectors in a detector, and get their name and id
example.java
Detector det = event.getDetector(); for (Subdetector sub : det.getSubdetectors().values()) { String name = sub.getName(); int id = sub.getSystemID(); }