Interface Detector<SectorType extends Sector>
- Type Parameters:
SectorType
- the specific type ofSector
contained by theDetector
- All Superinterfaces:
Showable
- All Known Implementing Classes:
AbstractDetector
,AlertDCDetector
,AlertTOFDetector
,BSTDetector
,BSTRing
,CNDDetector
,DCDetector
,ECDetector
,FMTDetector
,FTCALDetector
,FTOFDetector
,FTOFDetectorMesh
The primary purpose of a Detector
object is to provide convenient
methods for accessing to the Sector
objects
it contains. If grouping components by sector is inconvenient for a
particular type of detector, then the Detector
implementation may
have only one sector, in which case requisite sector-related information will
be made available through other mechanisms.
Factory: Factory
Hierarchy:
Detector
→
Sector
→
Superlayer
→
Layer
→
Component
To learn how to create a Detector
and find much more information see
Factory
.
- Author:
- jnhankins
-
Method Summary
Modifier and TypeMethodDescriptionReturns an unmodifiable list of all of the sectors contained in this detector.getCrossSections
(Transformation3D transformation) Returns a list of lists of lines such that each of the inner lists contains the cross section lines for a single component.Returns the id of this detector.Returns a list of DetecorHits which store information about intersections with components in this detector.getLayerHits
(Path3D path) Returns a list of DetecorHits which store information about intersections with layer surface boundaries in this detector.int
Returns the number of sectors contained in this detector.getSector
(int sectorId) Returns the sector associated with the given sector id.getType()
Returns a string that identifies the specific subtype of this detector.void
show()
InvokesSystem.out.println(this)
.
-
Method Details
-
getDetectorId
DetectorId getDetectorId()Returns the id of this detector. This id is a DetectorID which is an enumeration type that uniquely identifies this detector. To find an integer id associated with this detector, call getDetectorId.getIdNumber().- Returns:
- the id of this detector
-
getNumSectors
int getNumSectors()Returns the number of sectors contained in this detector.- Returns:
- the number of sectors
-
getSector
Returns the sector associated with the given sector id.- Parameters:
sectorId
- the sector id- Returns:
- the sector with the specified id
-
getAllSectors
List<SectorType> getAllSectors()Returns an unmodifiable list of all of the sectors contained in this detector.- Returns:
- an unmodifiable list of all sectors
-
getCrossSections
Returns a list of lists of lines such that each of the inner lists contains the cross section lines for a single component.This method takes a Transformation3D object as an argument, then constructs a new
Plane3D
object in the xy-plane and applies the transformation to the plane. The intersection of the detector's component's shapes with the transformed plane is then calculated and stored in a list of lists of lines of lines. The inverse of the transformation is then applied to each line ensuring that each returned line is in the xy-plane- Parameters:
transformation
- the transformation- Returns:
- a list of list of lines representing the cross section
- See Also:
-
getLayerHits
Returns a list of DetecorHits which store information about intersections with layer surface boundaries in this detector. The component ids stored in the detector hits will all be set to -1 to indicate that detector hit does not specify a specific component.- Parameters:
path
- the path- Returns:
- a list of detector hits
-
getHits
Returns a list of DetecorHits which store information about intersections with components in this detector.- Parameters:
path
- the path- Returns:
- a list of detector hits
-
getType
String getType()Returns a string that identifies the specific subtype of this detector.- Returns:
- a string naming this detectors's type
-
show
-