public class GridXYZ extends SegmentationBase
Modifier and Type | Field and Description |
---|---|
private int |
barrelIndex |
private static String[] |
fieldNames |
(package private) List<Integer> |
geomFields |
private double[] |
globalPosition |
private double |
gridSizeX |
private double |
gridSizeY |
private double |
gridSizeZ |
(package private) IIdentifierHelper |
helper |
(package private) IIdentifierDictionary |
iddict |
private double[] |
localPosition |
private int |
systemIndex |
private int |
xIndex |
private int |
yIndex |
private int |
zIndex |
cellSizes
decoder, descriptor, detector, layerIndex, valid, values
INVALID_INDEX
Constructor and Description |
---|
GridXYZ(org.jdom.Element node)
Creates a new instance of GridXYZ
|
Modifier and Type | Method and Description |
---|---|
private void |
computeGlobalPosition() |
private void |
computeLocalPosition() |
private void |
computeLocalX() |
private void |
computeLocalY() |
private void |
computeLocalZ() |
private void |
computePosition() |
long |
findCellContainingXYZ(double x,
double y,
double z)
Return the cell which contains a given point (x,y,z).
|
int |
getBin(double u,
double gridSizeU) |
double |
getCylindricalRadiusFromPosition() |
private double |
getDepthSensitiveMid(int ilay)
Returns positive distance from IR to center of sensitive slice of any
layer
|
double |
getGridSizeX() |
double |
getGridSizeY() |
double |
getGridSizeZ() |
int |
getLayerBin(double z) |
long[] |
getNeighbourIDs(int layerRange,
int xRange,
int yRange)
Find neighbouring cells to the current cell.
|
double |
getPhi() |
double[] |
getPosition() |
double |
getRMax() |
double |
getRMin() |
String[] |
getSegmentationFieldNames() |
double |
getTheta()
The decoded theta angle of this id.
|
double |
getX() |
int |
getXBin(double x) |
double |
getY() |
int |
getYBin(double y) |
double |
getZ() |
double |
getZMax() |
double |
getZMin() |
void |
setID(long id)
Overridden to cache the global position.
|
void |
setIDDescription(IDDescriptor id)
Check for a valid grid size for each of XYZ.
|
void |
setSubdetector(Subdetector subdet) |
boolean |
supportsNeighbours()
Does this Decoder support cell neighboring?
|
findCellContainingXYZ, findCellContainingXYZ, getDistanceToSensitive, getID, getLayering, getNumberOfLayers, transformLocalToGlobal
getCellSizeU, getCellSizeV, useForHitPosition
getBarrelEndcapFlag, getDecoder, getFieldCount, getFieldIndex, getFieldName, getIDDescription, getLayer, getNeighbourIDs, getPositionVector, getSubdetector, getSystemID, getSystemNumber, getValue, getValue, getValues, getVLayer, isValid, toString
private double gridSizeX
private double gridSizeY
private double gridSizeZ
private int xIndex
private int yIndex
private int zIndex
private int barrelIndex
private int systemIndex
private double[] localPosition
private double[] globalPosition
private static final String[] fieldNames
IIdentifierHelper helper
IIdentifierDictionary iddict
public GridXYZ(org.jdom.Element node) throws org.jdom.DataConversionException
org.jdom.DataConversionException
public String[] getSegmentationFieldNames()
getSegmentationFieldNames
in class SegmentationBase
public boolean supportsNeighbours()
IDDecoder
supportsNeighbours
in interface IDDecoder
supportsNeighbours
in class SegmentationBase
public long[] getNeighbourIDs(int layerRange, int xRange, int yRange)
getNeighbourIDs
in interface IDDecoder
getNeighbourIDs
in class BaseIDDecoder
layerRange
- The number of layers to neighbor (plus or minus).xRange
- The number of cells in theta to neighbor (plus or minus).yRange
- The number of cells in phi to neighbor (plus or minus).public double getZMin()
getZMin
in class SegmentationBase
public double getZMax()
getZMax
in class SegmentationBase
public double getRMin()
getRMin
in class SegmentationBase
public double getRMax()
getRMax
in class SegmentationBase
public double getPhi()
getPhi
in interface IDDecoder
getPhi
in class BaseIDDecoder
public double getTheta()
IDDecoder
getTheta
in interface IDDecoder
getTheta
in class BaseIDDecoder
public double getX()
getX
in interface IDDecoder
getX
in class BaseIDDecoder
public double getY()
getY
in interface IDDecoder
getY
in class BaseIDDecoder
public double getZ()
getZ
in interface IDDecoder
getZ
in class BaseIDDecoder
public double[] getPosition()
getPosition
in interface IDDecoder
getPosition
in class BaseIDDecoder
private void computePosition()
private void computeLocalPosition()
private void computeGlobalPosition()
public void setSubdetector(Subdetector subdet)
setSubdetector
in class BaseIDDecoder
private void computeLocalX()
private void computeLocalY()
private void computeLocalZ()
public void setID(long id)
setID
in interface IDDecoder
setID
in class BaseIDDecoder
public double getCylindricalRadiusFromPosition()
public void setIDDescription(IDDescriptor id)
setIDDescription
in interface IDDecoder
setIDDescription
in class BaseIDDecoder
id
- The ID description.private double getDepthSensitiveMid(int ilay)
layer
- The layer index.public long findCellContainingXYZ(double x, double y, double z)
findCellContainingXYZ
in class SegmentationBase
x
- Cartesian X coordinate.y
- Cartesian Y coordinate.z
- Cartesian Z coordinate.public int getLayerBin(double z)
public int getXBin(double x)
public int getYBin(double y)
public int getBin(double u, double gridSizeU)
public double getGridSizeX()
public double getGridSizeY()
public double getGridSizeZ()
Copyright © 2016 Linear Collider Detector (LCD). All rights reserved.