8#ifndef PANDORA_DETECTOR_GAP_H
9#define PANDORA_DETECTOR_GAP_H 1
114 bool IsInGap(
const CartesianVector &positionVector,
const HitType hitType,
const float gapTolerance)
const;
168 bool IsInGap(
const CartesianVector &positionVector,
const HitType hitType,
const float gapTolerance)
const;
175 float GetMinZCoordinate()
const;
182 float GetMaxZCoordinate()
const;
189 float GetInnerRCoordinate()
const;
196 float GetInnerPhiCoordinate()
const;
203 unsigned int GetInnerSymmetryOrder()
const;
210 float GetOuterRCoordinate()
const;
217 float GetOuterPhiCoordinate()
const;
224 unsigned int GetOuterSymmetryOrder()
const;
243 void GetPolygonVertices(
const float rCoordinate,
const float zCoordinate,
const float phiCoordinate,
244 const unsigned int symmetryOrder,
VertexPointList &vertexPointList)
const;
277 return m_lineGapType;
282inline float LineGap::GetLineStartX()
const
289inline float LineGap::GetLineEndX()
const
296inline float LineGap::GetLineStartZ()
const
303inline float LineGap::GetLineEndZ()
const
340inline float ConcentricGap::GetMinZCoordinate()
const
342 return m_minZCoordinate;
347inline float ConcentricGap::GetMaxZCoordinate()
const
349 return m_maxZCoordinate;
354inline float ConcentricGap::GetInnerRCoordinate()
const
356 return m_innerRCoordinate;
361inline float ConcentricGap::GetInnerPhiCoordinate()
const
363 return m_innerPhiCoordinate;
368inline unsigned int ConcentricGap::GetInnerSymmetryOrder()
const
370 return m_innerSymmetryOrder;
375inline float ConcentricGap::GetOuterRCoordinate()
const
377 return m_outerRCoordinate;
382inline float ConcentricGap::GetOuterPhiCoordinate()
const
384 return m_outerPhiCoordinate;
389inline unsigned int ConcentricGap::GetOuterSymmetryOrder()
const
391 return m_outerSymmetryOrder;
Header file for pandora object creation classes.
BoxGap class, associated with all 3D hit types.
const CartesianVector m_vertex
Cartesian coordinates of a gap vertex, units mm.
const CartesianVector m_side2
Cartesian vector describing second side meeting vertex, units mm.
const CartesianVector m_side3
Cartesian vector describing third side meeting vertex, units mm.
const CartesianVector m_side1
Cartesian vector describing first side meeting vertex, units mm.
ConcentricGap class, associated with all 3D hit types.
const float m_outerPhiCoordinate
Outer cylindrical polar phi coordinate (angle wrt cartesian x axis)
VertexPointList m_outerVertexPointList
The vertex points of the outer polygon.
const float m_innerRCoordinate
Inner cylindrical polar r coordinate, origin interaction point, units mm.
VertexPointList m_innerVertexPointList
The vertex points of the inner polygon.
const float m_maxZCoordinate
Max cylindrical polar z coordinate, origin interaction point, units mm.
const unsigned int m_outerSymmetryOrder
Order of symmetry of the outermost edge of gap.
const float m_outerRCoordinate
Outer cylindrical polar r coordinate, origin interaction point, units mm.
const float m_innerPhiCoordinate
Inner cylindrical polar phi coordinate (angle wrt cartesian x axis)
const float m_minZCoordinate
Min cylindrical polar z coordinate, origin interaction point, units mm.
const unsigned int m_innerSymmetryOrder
Order of symmetry of the innermost edge of gap.
virtual ~DetectorGap()
Destructor.
virtual bool IsInGap(const CartesianVector &positionVector, const HitType hitType, const float gapTolerance=0.f) const =0
Whether a specified position lies within the gap.
LineGap class, associated only with 2D TPC hit types and applied only to the z coordinate when sampli...
bool IsInGap(const CartesianVector &positionVector, const HitType hitType, const float gapTolerance) const
Whether a specified position lies within the gap.
float GetLineEndZ() const
Get the line end z coordinate.
const float m_lineStartZ
The line z start coordinate, units mm.
const float m_lineStartX
The line x start coordinate, units mm.
const LineGapType m_lineGapType
The type of line gap, e.g. TPC wire-type gap (u, v, w), or drift-type gap.
LineGapType GetLineGapType() const
Get the line gap type.
const float m_lineEndX
The line x end coordinate, units mm.
float GetLineStartX() const
Get the line start x coordinate.
float GetLineStartZ() const
Get the line start z coordinate.
const float m_lineEndZ
The line z end coordinate, units mm.
float GetLineEndX() const
Get the line end x coordinate.
PandoraObjectFactory class.
HitType
Calorimeter hit type enum.
std::vector< CartesianVector > VertexPointList
LineGapType
Line gap type.