37 const float maxDisplacement)
const override;
44 const float maxDisplacement,
54 const double firstXYZ[3],
55 const double lastXYZ[3],
56 const float halfWirePitch,
59 const pandora::Pandora* pPandora)
const override;
103 return std::numeric_limits<float>::epsilon();
111 const float maxDisplacement)
const 113 return (std::fabs(gaps.Y()) > maxDisplacement || std::fabs(gaps.Z()) > maxDisplacement);
124 point1.Y() + widths.Y(),
125 point1.Z() + widths.Z(),
127 point2.Y() - widths.Y(),
128 point2.Z() - widths.Z());
133 inline PandoraApi::Geometry::LineGap::Parameters
136 const bool isGapInU((
140 PandoraApi::Geometry::LineGap::Parameters parameters;
141 parameters.m_lineGapType =
143 pandora::TPC_WIRE_GAP_VIEW_U :
145 TPC_WIRE_GAP_VIEW_V);
146 parameters.m_lineStartX = gap.
GetX2();
147 parameters.m_lineEndX = gap.
GetX1();
148 parameters.m_lineStartZ = (isGapInU ? gap.
GetZ1() : gap.
GetY1());
149 parameters.m_lineEndZ = (isGapInU ? gap.
GetZ2() : gap.
GetY2());
156 inline PandoraApi::Geometry::LineGap::Parameters
161 const double firstXYZ[3],
162 const double lastXYZ[3],
163 const float halfWirePitch,
166 const pandora::Pandora* pPandora)
const 168 float first(0.
f), last(0.
f);
169 pandora::LineGapType gapType(pandora::TPC_DRIFT_GAP);
173 gapType = pandora::TPC_WIRE_GAP_VIEW_U;
178 gapType = pandora::TPC_WIRE_GAP_VIEW_V;
181 first, last, xFirst, xLast, halfWirePitch, gapType);
bool CheckDetectorGapSize(const geo::Vector_t &gaps, const geo::Vector_t &deltas, const float maxDisplacement) const override
Check whether a gap size is small enough to be registered as a detector gap.
Detector interface for an older-style 3view, horizontal drift, single-phase LArTPC (e...
Helper functions for extracting detector geometry for use in reconsruction.
void LoadDaughterDetectorGaps(const LArDriftVolume &driftVolume, const float maxDisplacement, LArDetectorGapList &listOfGaps) const override
Create detector gaps for all daughter volumes in a logical TPC volume.
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
Detector interface for ProtoDUNE dual phase.
The data type to uniquely identify a Plane.
float GetZ1() const
Get lower Z coordinate.
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
art framework interface to geometry description
virtual float WirePitchV() const override
The wire pitch of the mapped V view.
Detector interface for a 3view, horizontal drift, single-phase LArTPC.
PandoraApi::Geometry::LineGap::Parameters CreateLineGapParametersFromDetectorGaps(const LArDetectorGap &gap) const override
Create the line gap parameters to give to the pandora API.
geo::View_t TargetViewV(const geo::TPCID::TPCID_t tpc, const geo::CryostatID::CryostatID_t cstat) const override
Map a LArSoft view to Pandora's V view.
const art::ServiceHandle< geo::Geometry > & GetLArSoftGeometry() const
Loan the LArSoft geometry handle owned by this class.
geo::View_t TargetViewW(const geo::TPCID::TPCID_t tpc, const geo::CryostatID::CryostatID_t cstat) const override
Map a LArSoft view to Pandora's W view.
geo::View_t TargetViewU(const geo::TPCID::TPCID_t tpc, const geo::CryostatID::CryostatID_t cstat) const override
Map a LArSoft view to Pandora's U view.
View_t View(geo::PlaneID const &pid) const
Returns the view (wire orientation) on the channels of specified TPC plane.
float GetX1() const
Get lower X coordinate.
virtual float WirePitchU() const override
The wire pitch of the mapped U view.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
unsigned int CryostatID_t
Type for the ID number.
PandoraApi::Geometry::LineGap::Parameters CreateReadoutGapParameters(const float firstPoint, const float lastPoint, const float xFirst, const float xLast, const float halfWirePitch, const pandora::LineGapType gapType)
Make the readout gap parameters for the Pandora API.
unsigned int TPCID_t
Type for the ID number.
std::vector< LArDetectorGap > LArDetectorGapList
PandoraApi::Geometry::LineGap::Parameters CreateLineGapParametersFromReadoutGaps(const geo::View_t view, const geo::TPCID::TPCID_t tpc, const geo::CryostatID::CryostatID_t cstat, const double firstXYZ[3], const double lastXYZ[3], const float halfWirePitch, const float xFirst, const float xLast, const pandora::Pandora *pPandora) const override
Create the line gap parameters to give to the pandora API.
drift volume class to hold properties of drift volume
LArDetectorGap CreateDetectorGap(const geo::Point_t &point1, const geo::Point_t &point2, const geo::Vector_t &widths) const override
Create a detector gap.
float WirePitchW() const override
The wire pitch of the mapped W view.
float GetY1() const
Get lower y coordinate.
float WireAngleW(const geo::TPCID::TPCID_t tpc, const geo::CryostatID::CryostatID_t cstat) const override
The angle of the wires in the mapped V view.
float GetY2() const
Get upper Y coordinate.
drift volume class to hold properties of drift volume
float GetX2() const
Get upper X coordinate.
float GetZ2() const
Get upper Z coordinate.