![]() |
LArSoft
v10_04_05
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "WireReadoutStandardGeom.h"
Public Types | |
using | Segment = std::pair< Point_t, Point_t > |
Public Member Functions | |
WireReadoutStandardGeom (fhicl::ParameterSet const &pset, GeometryCore const *geom, std::unique_ptr< WireReadoutSorter > sorter) | |
std::vector< WireID > | ChannelToWire (raw::ChannelID_t channel) const override |
unsigned int | Nchannels () const override |
Returns the total number of channels present (not necessarily contiguous) More... | |
unsigned int | Nchannels (readout::ROPID const &ropid) const override |
Returns the number of channels in the specified ROP. More... | |
std::set< PlaneID > const & | PlaneIDs () const override |
Returns a list of the plane IDs in the whole detector. More... | |
unsigned int | MaxPlanes () const |
Returns the largest number of planes among all TPCs in this detector. More... | |
unsigned int | Nviews () const |
Returns the number of views (different wire orientations) More... | |
std::set< View_t > const & | Views () const |
Returns a list of possible views in the detector. More... | |
std::set< View_t > | Views (TPCID const &tpcid) const |
void | WireEndPoints (WireID const &wireid, double *xyzStart, double *xyzEnd) const |
Fills two arrays with the coordinates of the wire end points. More... | |
double | ThirdPlane_dTdW (PlaneID const &pid1, double slope1, PlaneID const &pid2, double slope2, PlaneID const &output_plane) const |
Returns dT/dW on the third plane, given it in the other two. More... | |
double | ThirdPlane_dTdW (PlaneID const &pid1, double slope1, PlaneID const &pid2, double slope2) const |
Returns dT/dW on the third plane, given it in the other two. More... | |
double | Plane0Pitch (TPCID const &tpcid, unsigned int p1) const |
double | PlanePitch (TPCID const &tpcid, unsigned int p1=0, unsigned int p2=1) const |
double | WireCoordinate (double YPos, double ZPos, PlaneID const &planeID) const override |
Returns the index of the wire nearest to the specified position. More... | |
WireID | NearestWireID (Point_t const &worldPos, PlaneID const &planeID) const override |
Returns the ID of the wire nearest to the specified position. More... | |
raw::ChannelID_t | PlaneWireToChannel (WireID const &wireID) const override |
Returns the channel ID a wire is connected to. More... | |
TPC set mapping | |
unsigned int | NTPCsets (readout::CryostatID const &cryoid) const override |
Returns the total number of TPC sets in the specified cryostat. More... | |
unsigned int | MaxTPCsets () const override |
Returns the largest number of TPC sets any cryostat in the detector has. More... | |
bool | HasTPCset (readout::TPCsetID const &tpcsetid) const override |
readout::TPCsetID | TPCtoTPCset (TPCID const &tpcid) const override |
Returns the ID of the TPC set the specified TPC belongs to. More... | |
std::vector< TPCID > | TPCsetToTPCs (readout::TPCsetID const &tpcsetid) const override |
Returns a list of ID of TPCs belonging to the specified TPC set. More... | |
TPCID | FirstTPCinTPCset (readout::TPCsetID const &tpcsetid) const override |
Returns the ID of the first TPC belonging to the specified TPC set. More... | |
Readout plane mapping | |
unsigned int | NROPs (readout::TPCsetID const &tpcsetid) const override |
Returns the total number of ROPs in the specified TPC set. More... | |
unsigned int | MaxROPs () const override |
Returns the largest number of ROPs a TPC set in the detector has. More... | |
bool | HasROP (readout::ROPID const &ropid) const override |
readout::ROPID | WirePlaneToROP (PlaneID const &planeid) const override |
Returns the ID of the ROP planeid belongs to, or invalid if none. More... | |
std::vector< PlaneID > | ROPtoWirePlanes (readout::ROPID const &ropid) const override |
Returns a list of ID of wire planes belonging to the specified ROP. More... | |
std::vector< TPCID > | ROPtoTPCs (readout::ROPID const &ropid) const override |
Returns a list of ID of TPCs the specified ROP spans. More... | |
readout::ROPID | ChannelToROP (raw::ChannelID_t channel) const override |
Returns the ID of the ROP the channel belongs to (invalid if none) More... | |
raw::ChannelID_t | FirstChannelInROP (readout::ROPID const &ropid) const override |
Returns the ID of the first channel in the specified readout plane. More... | |
PlaneID | FirstWirePlaneInROP (readout::ROPID const &ropid) const override |
Returns the ID of the first plane belonging to the specified ROP. More... | |
bool | HasPlane (PlaneID const &planeid) const |
Returns whether we have the specified plane. More... | |
bool | HasElement (PlaneID const &planeid) const |
Returns whether we have the specified plane. More... | |
bool | HasElement (WireID const &wireid) const |
Returns whether we have the specified wire. More... | |
bool | HasWire (WireID const &wireid) const |
Returns whether we have the specified wire. More... | |
unsigned int | Nplanes (TPCID const &tpcid=details::tpc_zero) const |
Returns the total number of planes in the specified TPC. More... | |
unsigned int | NElements (TPCID const &tpcid) const |
Returns the total number of planes in the specified TPC. More... | |
unsigned int | NSiblingElements (PlaneID const &planeid) const |
Returns the total number of planes in the specified TPC. More... | |
Wire details | |
unsigned int | NElements (PlaneID const &planeid) const |
Returns the total number of wires in the specified plane. More... | |
unsigned int | NSiblingElements (WireID const &wireid) const |
Returns the total number of wires in the specified plane. More... | |
unsigned int | MaxWires () const |
Returns the total number of wires in the specified plane. More... | |
unsigned int | Nwires (PlaneID const &planeid) const |
Returns the total number of wires in the specified plane. More... | |
PlaneGeo const & | FirstPlane (TPCID const &tpcid) const |
Returns the first plane of the specified TPC. More... | |
PlaneGeo const & | Plane (TPCID const &tpcid, View_t view) const |
Returns the specified wire. More... | |
PlaneGeo const & | Plane (PlaneID const &planeid) const |
Returns the specified wire. More... | |
PlaneGeo const & | GetElement (PlaneID const &planeid) const |
Returns the specified wire. More... | |
WireGeo const & | GetElement (WireID const &wireid) const |
Returns the specified wire. More... | |
WireGeo const & | Wire (WireID const &wireid) const |
Returns the specified wire. More... | |
PlaneGeo const * | PlanePtr (PlaneID const &planeid) const |
Returns the specified plane. More... | |
PlaneGeo const * | GetElementPtr (PlaneID const &planeid) const |
Returns the specified plane. More... | |
WireGeo const * | GetElementPtr (WireID const &wireid) const |
Returns the specified wire. More... | |
WireGeo const * | WirePtr (WireID const &wireid) const |
Returns the specified wire. More... | |
Segment | WireEndPoints (WireID const &wireid) const |
Returns a segment whose ends are the wire end points. More... | |
Wire access and information | |
double | WireAngleToVertical (View_t view, TPCID const &tpcid) const |
Returns the angle of the wires in the specified view from vertical. More... | |
bool | WireIDsIntersect (WireID const &wid1, WireID const &wid2, Point_t &intersection) const |
Computes the intersection between two wires. More... | |
std::optional< WireIDIntersection > | WireIDsIntersect (WireID const &wid1, WireID const &wid2) const |
Computes the intersection between two wires. More... | |
Wire geometry queries | |
Please note the differences between functions: ChannelsIntersect(), WireIDsIntersect() and IntersectionPoint() all calculate wires intersection using the same equation. ChannelsIntersect() and WireIdsIntersect() will return true if the two wires cross, return false if they don't. IntersectionPoint() does not check if the two wires cross. | |
PlaneID | ThirdPlane (PlaneID const &pid1, PlaneID const &pid2) const |
Returns the plane that is not in the specified arguments. More... | |
double | ThirdPlaneSlope (PlaneID const &pid1, double slope1, PlaneID const &pid2, double slope2, PlaneID const &output_plane) const |
Returns the slope on the third plane, given it in the other two. More... | |
double | ThirdPlaneSlope (PlaneID const &pid1, double slope1, PlaneID const &pid2, double slope2) const |
Returns the slope on the third plane, given it in the other two. More... | |
double | ThirdPlaneSlope (PlaneID::PlaneID_t plane1, double slope1, PlaneID::PlaneID_t plane2, double slope2, TPCID const &tpcid) const |
Returns the slope on the third plane, given it in the other two. More... | |
TPC channel mapping | |
std::vector< raw::ChannelID_t > | ChannelsInTPCs () const |
Returns an std::vector<ChannelID_t> in all TPCs in a TPCSet. More... | |
virtual bool | HasChannel (raw::ChannelID_t channel) const |
Returns whether the specified channel is valid This default implementation assumes all channels up to Nchannels() valid. More... | |
View_t | View (raw::ChannelID_t const channel) const |
Returns the view (wire orientation) on the specified TPC channel. More... | |
View_t | View (readout::ROPID const &ropid) const |
Returns the view of the channels in the specified readout plane. More... | |
SigType_t | SignalType (PlaneID const &pid) const |
Returns the type of signal on the channels of specified TPC plane. More... | |
SigType_t | SignalType (raw::ChannelID_t const channel) const |
Return the signal type of the specified channel. More... | |
SigType_t | SignalType (readout::ROPID const &ropid) const |
Return the signal type on the specified readout plane. More... | |
raw::ChannelID_t | NearestChannel (Point_t const &worldLoc, PlaneID const &planeid) const |
Returns the ID of the channel nearest to the specified position. More... | |
std::optional< WireIDIntersection > | ChannelsIntersect (raw::ChannelID_t c1, raw::ChannelID_t c2) const |
Returns an intersection point of two channels. More... | |
Optical detector channel mapping | |
virtual unsigned int | NOpChannels (unsigned int NOpDets) const |
Returns the number of optical channels contained in some detectors. More... | |
unsigned int | NOpChannels () const |
Number of electronics channels for all the optical detectors. More... | |
unsigned int | MaxOpChannel () const |
Largest optical channel number. More... | |
virtual unsigned int | MaxOpChannel (unsigned int NOpDets) const |
Returns the number of optical channels contained in some detectors. More... | |
bool | IsValidOpChannel (int opChannel) const |
Is this a valid OpChannel number? More... | |
virtual bool | IsValidOpChannel (unsigned int opChannel, unsigned int NOpDets) const |
Returns whether the ID identifies a valid optical detector channel. More... | |
virtual unsigned int | NOpHardwareChannels (unsigned int opDet) const |
Returns the number of channels in the specified optical detectors. More... | |
virtual unsigned int | OpChannel (unsigned int detNum, unsigned int hwchannel=0) const |
Returns the channel ID of the specified hardware channel. More... | |
virtual unsigned int | OpDetFromOpChannel (unsigned int opChannel) const |
Returns the optical detector the specified optical channel belongs. More... | |
OpDetGeo const & | OpDetGeoFromOpChannel (unsigned int opChannel) const |
Returns the optical detector the specified optical channel belongs. More... | |
virtual unsigned int | HardwareChannelFromOpChannel (unsigned int opChannel) const |
Returns the hardware channel number of specified optical channel. More... | |
TPC set mapping | |
readout::TPCsetID | FindTPCsetAtPosition (Point_t const &worldLoc) const |
Returns the total number of TPC sets in the specified cryostat. More... | |
Testing (not in the interface) | |
std::vector< std::vector< std::vector< raw::ChannelID_t > > > const & | FirstChannelInNextPlane () const |
Retrieve the private fFirstChannelInNextPlane vector for testing. More... | |
std::vector< std::vector< std::vector< raw::ChannelID_t > > > const & | FirstChannelInThisPlane () const |
Retrieve the private fFirstChannelInThisPlane vector for testing. More... | |
Static Public Member Functions | |
static auto const & | start (Segment const &s) |
static auto const & | finish (Segment const &s) |
static double | ComputeThirdPlaneSlope (double angle1, double slope1, double angle2, double slope2, double angle_target) |
Returns the slope on the third plane, given it in the other two. More... | |
static double | ComputeThirdPlane_dTdW (double angle1, double pitch1, double dTdW1, double angle2, double pitch2, double dTdW2, double angle_target, double pitch_target) |
Returns the slope on the third plane, given it in the other two. More... | |
Protected Types | |
template<typename T > | |
using | TPCInfoMap_t = std::vector< std::vector< T >> |
Data type for per-TPC information. More... | |
template<typename T > | |
using | PlaneInfoMap_t = TPCInfoMap_t< std::vector< T >> |
Data type for per-plane information. More... | |
Protected Member Functions | |
template<typename T > | |
T const * | GetElementPtr (PlaneInfoMap_t< T > const &map, PlaneID const &id) const |
Returns a pointer to the specified element, or nullptr if invalid. More... | |
virtual SigType_t | SignalTypeForROPIDImpl (readout::ROPID const &ropid) const |
Return the signal type on the specified readout plane. More... | |
template<typename T > | |
T const & | AccessElement (PlaneInfoMap_t< T > const &map, PlaneID const &id) const |
Returns the specified element of the plane map. More... | |
template<typename T > | |
size_t | AccessElementSize (PlaneInfoMap_t< T > const &map, TPCID const &id) const |
Returns the number of elements in the specified TPC of the plane map. More... | |
Internal structure data access | |
These functions allow access to the XxxInfoMap_t types based on geometry element IDs. They are strictly internal. | |
template<typename T > | |
T const & | AccessElement (TPCInfoMap_t< T > const &map, TPCID const &id) const |
Returns the specified element of the TPC map. More... | |
template<typename T > | |
size_t | AccessElementSize (TPCInfoMap_t< T > const &map, CryostatID const &id) const |
Returns the number of elements in the specified cryostat of the TPC map. More... | |
template<typename T > | |
bool | isValidElement (TPCInfoMap_t< T > const &map, CryostatID const &id) const |
Returns whether the ID specifies a valid entry. More... | |
template<typename T > | |
bool | isValidElement (TPCInfoMap_t< T > const &map, TPCID const &id) const |
Returns the specified element of the TPC map. More... | |
template<typename T > | |
bool | isValidElement (PlaneInfoMap_t< T > const &map, CryostatID const &id) const |
Returns whether the ID specifies a valid entry. More... | |
template<typename T > | |
bool | isValidElement (PlaneInfoMap_t< T > const &map, TPCID const &id) const |
Returns whether the ID specifies a valid entry. More... | |
template<typename T > | |
bool | isValidElement (PlaneInfoMap_t< T > const &map, PlaneID const &id) const |
Returns whether the ID specifies a valid entry. More... | |
Protected Attributes | |
PlaneInfoMap_t< raw::ChannelID_t > | fFirstChannelInThisPlane |
PlaneInfoMap_t< raw::ChannelID_t > | fFirstChannelInNextPlane |
Private Member Functions | |
SigType_t | SignalTypeForChannelImpl (raw::ChannelID_t const channel) const override |
Return the signal type of the specified channel. More... | |
unsigned int | WireCount (PlaneID const &id) const |
Retrieved the wire cound for the specified plane ID. More... | |
unsigned int | MaxTPCs () const |
Returns the largest number of TPCs in a single cryostat. More... | |
Private Attributes | |
unsigned int | fNcryostat |
number of cryostats in the detector More... | |
unsigned int | fNchannels |
number of channels in the detector More... | |
raw::ChannelID_t | fTopChannel |
book keeping highest channel # More... | |
std::vector< unsigned int > | fNTPC |
number of TPCs in each cryostat More... | |
std::set< View_t > | fViews |
vector of the views present in the detector More... | |
std::set< PlaneID > | fPlaneIDs |
vector of the PlaneIDs present in the detector More... | |
PlaneInfoMap_t< float > | fFirstWireProj |
PlaneInfoMap_t< float > | fOrthVectorsY |
Unit vectors orthogonal to wires in. More... | |
PlaneInfoMap_t< float > | fOrthVectorsZ |
PlaneInfoMap_t< float > | fWireCounts |
TPCInfoMap_t< unsigned int > | fNPlanes |
PlaneInfoMap_t< unsigned int > | fPlaneBaselines |
PlaneInfoMap_t< unsigned int > | fWiresPerPlane |
Definition at line 21 of file WireReadoutStandardGeom.h.
|
protectedinherited |
Data type for per-plane information.
Definition at line 982 of file WireReadoutGeom.h.
|
inherited |
Definition at line 62 of file WireReadoutGeom.h.
|
protectedinherited |
Data type for per-TPC information.
Definition at line 978 of file WireReadoutGeom.h.
geo::WireReadoutStandardGeom::WireReadoutStandardGeom | ( | fhicl::ParameterSet const & | pset, |
GeometryCore const * | geom, | ||
std::unique_ptr< WireReadoutSorter > | sorter | ||
) |
Definition at line 57 of file WireReadoutStandardGeom.cxx.
References geo::WireGeo::CosThetaZ(), geo::WireReadoutGeom::fFirstChannelInNextPlane, geo::WireReadoutGeom::fFirstChannelInThisPlane, fFirstWireProj, fNchannels, fNcryostat, fNPlanes, fNTPC, fOrthVectorsY, fOrthVectorsZ, fPlaneBaselines, fPlaneIDs, fTopChannel, fWireCounts, fWiresPerPlane, fhicl::ParameterSet::get(), geo::WireGeo::GetCenter(), MF_LOG_DEBUG, geo::WireReadoutGeom::Nplanes(), and geo::WireGeo::SinThetaZ().
|
inlineprotectedinherited |
Returns the specified element of the TPC map.
Definition at line 994 of file WireReadoutGeom.h.
Referenced by FirstChannelInROP(), NROPs(), WireCoordinate(), and WireCount().
|
inlineprotectedinherited |
Returns the specified element of the plane map.
Definition at line 1022 of file WireReadoutGeom.h.
|
inlineprotectedinherited |
Returns the number of elements in the specified cryostat of the TPC map.
Definition at line 1001 of file WireReadoutGeom.h.
|
inlineprotectedinherited |
Returns the number of elements in the specified TPC of the plane map.
Definition at line 1029 of file WireReadoutGeom.h.
|
inherited |
Returns an intersection point of two channels.
c1 | one channel ID |
c2 | the other channel ID |
what happens for channels from different TPCs?
what happens for channels with multiple intersection points?
Definition at line 543 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::ChannelToWire(), and geo::WireReadoutGeom::WireIDsIntersect().
Referenced by util::GeometryUtilities::GetProjectedPoint(), util::GeometryUtilities::GetYZ(), and geo::WireReadoutGeom::HasChannel().
|
inherited |
Returns an std::vector<ChannelID_t> in all TPCs in a TPCSet.
Definition at line 462 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::Nchannels(), geo::WireReadoutGeom::PlaneWireToChannel(), and geo::WireReadoutGeom::TPCsetToTPCs().
Referenced by geo::WireReadoutGeom::ThirdPlaneSlope().
|
overridevirtual |
Returns the ID of the ROP the channel belongs to (invalid if none)
Implements geo::WireReadoutGeom.
Definition at line 423 of file WireReadoutStandardGeom.cxx.
References ChannelToWire(), raw::isValidChannelID(), and WirePlaneToROP().
|
overridevirtual |
Returns a list of TPC wires connected to the specified readout channel ID
cet::exception | (category: "Geometry") if non-existent channel |
Implements geo::WireReadoutGeom.
Definition at line 164 of file WireReadoutStandardGeom.cxx.
References geo::WireReadoutGeom::fFirstChannelInNextPlane, geo::WireReadoutGeom::fFirstChannelInThisPlane, fNcryostat, fNTPC, and fTopChannel.
Referenced by ChannelToROP().
|
staticinherited |
Returns the slope on the third plane, given it in the other two.
angle1 | angle or the wires on the first plane |
pitch1 | wire pitch on the first plane |
dTdW1 | slope in dt/dw units as observed on the first plane |
angle2 | angle or the wires on the second plane |
pitch2 | wire pitch on the second plane |
dTdW2 | slope in dt/dw units as observed on the second plane |
angle_target | angle or the wires on the target plane |
pitch_target | wire pitch on the target plane |
The input slope must be specified in dt/dw non-homogeneous coordinates.
This function will return a small slope if both input slopes are small.
Definition at line 730 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::ComputeThirdPlaneSlope().
Referenced by geo::WireReadoutGeom::ThirdPlane_dTdW(), and geo::WireReadoutGeom::ThirdPlaneSlope().
|
staticinherited |
Returns the slope on the third plane, given it in the other two.
angle1 | angle or the wires on the first plane |
slope1 | slope as observed on the first plane |
angle2 | angle or the wires on the second plane |
slope2 | slope as observed on the second plane |
angle_target | angle or the wires on the target plane |
This function will return a small slope if both input slopes are small.
Definition at line 702 of file WireReadoutGeom.cxx.
References util::abs().
Referenced by geo::WireReadoutGeom::ComputeThirdPlane_dTdW(), and geo::WireReadoutGeom::ThirdPlaneSlope().
|
inherited |
Returns the total number of TPC sets in the specified cryostat.
cryoid | cryostat ID |
Definition at line 576 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::fGeom, geo::GeometryCore::FindTPCAtPosition(), and geo::WireReadoutGeom::TPCtoTPCset().
Referenced by geo::WireReadoutGeom::HasChannel().
|
inlinestaticinherited |
Definition at line 64 of file WireReadoutGeom.h.
References geo::Iterable< details::ReadoutIterationPolicy, details::ToReadoutGeometryElement >::begin(), geo::Iterable< details::ReadoutIterationPolicy, details::ToReadoutGeometryElement >::end(), geo::WireReadoutGeom::HasPlane(), and geo::Iterable< details::ReadoutIterationPolicy, details::ToReadoutGeometryElement >::Iterate().
Referenced by geo::WireReadoutGeom::WireIDsIntersect().
|
inlineinherited |
Retrieve the private fFirstChannelInNextPlane vector for testing.
Definition at line 936 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::fFirstChannelInThisPlane.
|
overridevirtual |
Returns the ID of the first channel in the specified readout plane.
ropid | ID of the readout plane |
Note that this check is performed on the validity of the readout plane ID, that does not necessarily imply that the readout plane specified by the ID actually exists. Check if the ROP exists with HasROP(). The behaviour for non-existing readout planes is undefined.
Implements geo::WireReadoutGeom.
Definition at line 438 of file WireReadoutStandardGeom.cxx.
References geo::WireReadoutGeom::AccessElement(), fPlaneBaselines, raw::InvalidChannelID, and geo::CryostatID::isValid.
|
inlineinherited |
Retrieve the private fFirstChannelInThisPlane vector for testing.
Definition at line 942 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::fFirstChannelInNextPlane, geo::WireReadoutGeom::SignalTypeForChannelImpl(), and geo::WireReadoutGeom::SignalTypeForROPIDImpl().
Returns the first plane of the specified TPC.
tpc | ID of the TPC |
cet::exception | (WireReadoutGeom category) if plane not present |
Definition at line 202 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::PlanePtr().
Referenced by larg4::LArVoxelReadout::DriftIonizationElectrons(), trkf::TrackLineFitAlg::TrkLineFit(), DUNE::NeutrinoTrackingEff::truthLength(), and geo::WireReadoutGeom::Views().
|
overridevirtual |
Returns the ID of the first TPC belonging to the specified TPC set.
Implements geo::WireReadoutGeom.
Definition at line 362 of file WireReadoutStandardGeom.cxx.
Referenced by NROPs().
|
overridevirtual |
Returns the ID of the first plane belonging to the specified ROP.
Implements geo::WireReadoutGeom.
Definition at line 445 of file WireReadoutStandardGeom.cxx.
Referenced by Nchannels(), and ROPtoWirePlanes().
Returns the specified wire.
tpcid | ID of the TPC |
view | number of the requested view |
planeid | ID of the plane |
cet::exception | (GeometryCore category) if cryostat not present |
cet::exception | (TPCOutOfRange category) if no such TPC |
cet::exception | (PlaneOutOfRange category) if no such plane |
The GetElement() method is overloaded and its return depends on the type of ID.
Definition at line 152 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::Plane(), and geo::WireReadoutGeom::PlanePtr().
Returns the specified wire.
wireid | ID of the wire |
cet::exception | if not found |
The GetElement() method is overloaded and its return depends on the type of ID.
Definition at line 226 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::Wire(), and geo::WireReadoutGeom::WireEndPoints().
|
inlineinherited |
Returns the specified plane.
planeid | plane ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 164 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::MaxWires(), geo::WireReadoutGeom::NElements(), geo::WireReadoutGeom::Nwires(), and geo::WireReadoutGeom::PlanePtr().
Referenced by PlaneWireToChannel().
Returns the specified wire.
wireid | wire ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 213 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::Wire(), and geo::WireReadoutGeom::WirePtr().
|
inlineprotectedinherited |
Returns a pointer to the specified element, or nullptr if invalid.
Definition at line 1055 of file WireReadoutGeom.h.
|
virtualinherited |
Returns the hardware channel number of specified optical channel.
opChannel | the optical detector channel being queried |
If the specified optical channel is invalid, behaviour is undefined.
Definition at line 426 of file WireReadoutGeom.cxx.
Referenced by geo::WireReadoutGeom::HasChannel(), and geo::WireReadoutGeom::IsValidOpChannel().
|
inlinevirtualinherited |
Returns whether the specified channel is valid This default implementation assumes all channels up to Nchannels() valid.
Definition at line 567 of file WireReadoutGeom.h.
References c1, c2, geo::WireReadoutGeom::ChannelsIntersect(), geo::WireReadoutGeom::ChannelToROP(), geo::WireReadoutGeom::ChannelToWire(), geo::WireReadoutGeom::FindTPCsetAtPosition(), geo::WireReadoutGeom::FirstChannelInROP(), geo::WireReadoutGeom::FirstTPCinTPCset(), geo::WireReadoutGeom::FirstWirePlaneInROP(), geo::WireReadoutGeom::HardwareChannelFromOpChannel(), geo::WireReadoutGeom::HasROP(), geo::WireReadoutGeom::HasTPCset(), raw::isValidChannelID(), geo::WireReadoutGeom::IsValidOpChannel(), geo::WireReadoutGeom::MaxOpChannel(), geo::WireReadoutGeom::MaxROPs(), geo::WireReadoutGeom::MaxTPCsets(), geo::WireReadoutGeom::Nchannels(), geo::WireReadoutGeom::NearestChannel(), geo::WireReadoutGeom::NearestWireID(), geo::WireReadoutGeom::NOpChannels(), geo::WireReadoutGeom::NOpHardwareChannels(), geo::WireReadoutGeom::NROPs(), geo::WireReadoutGeom::NTPCsets(), geo::WireReadoutGeom::OpChannel(), geo::WireReadoutGeom::OpDetFromOpChannel(), geo::WireReadoutGeom::OpDetGeoFromOpChannel(), geo::WireReadoutGeom::PlaneIDs(), geo::WireReadoutGeom::PlaneWireToChannel(), geo::WireReadoutGeom::ROPtoTPCs(), geo::WireReadoutGeom::ROPtoWirePlanes(), geo::WireReadoutGeom::SignalType(), geo::WireReadoutGeom::TPCsetToTPCs(), geo::WireReadoutGeom::TPCtoTPCset(), geo::WireReadoutGeom::View(), geo::WireReadoutGeom::WireCoordinate(), and geo::WireReadoutGeom::WirePlaneToROP().
|
inlineinherited |
Returns whether we have the specified plane.
The HasElement() method is overloaded and its meaning depends on the type of ID.
Definition at line 79 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::HasPlane(), geo::WireReadoutGeom::MaxPlanes(), geo::WireReadoutGeom::Nplanes(), and geo::details::tpc_zero.
|
inlineinherited |
Returns whether we have the specified wire.
The HasElement() method is overloaded and its meaning depends on the type of ID.
Definition at line 201 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::HasWire(), and geo::WireReadoutGeom::WirePtr().
|
inherited |
Returns whether we have the specified plane.
The HasElement() method is overloaded and its meaning depends on the type of ID.
Definition at line 188 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::PlanePtr().
Referenced by pma::ProjectionMatchingAlg::buildShowerSeg(), geo::WireReadoutGeom::finish(), pma::ProjectionMatchingAlg::guideEndpoints(), geo::WireReadoutGeom::HasElement(), pma::PMAlgTracker::matchCluster(), pma::Node3D::Node3D(), trkf::PMAlgTrajFitter::produce(), and pma::ProjectionMatchingAlg::TestTrk_().
|
overridevirtual |
Returns whether we have the specified ROP
Implements geo::WireReadoutGeom.
Definition at line 394 of file WireReadoutStandardGeom.cxx.
References NROPs(), and readout::ROPID::ROP.
Referenced by Nchannels().
|
overridevirtual |
Returns whether we have the specified TPC set
Implements geo::WireReadoutGeom.
Definition at line 342 of file WireReadoutStandardGeom.cxx.
References NTPCsets(), and readout::TPCsetID::TPCset.
Referenced by NROPs().
|
inherited |
Returns whether we have the specified wire.
The HasElement() method is overloaded and its meaning depends on the type of ID.
Definition at line 256 of file WireReadoutGeom.cxx.
References geo::PlaneGeo::HasWire(), and geo::WireReadoutGeom::PlanePtr().
Referenced by tca::FillmAllTraj(), geo::WireReadoutGeom::HasElement(), geo::WireReadoutGeom::NSiblingElements(), pma::ProjectionMatchingAlg::validate(), pma::ProjectionMatchingAlg::validate_on_adc(), pma::ProjectionMatchingAlg::validate_on_adc_test(), and geo::WireReadoutGeom::WireIDIntersectionCheck().
|
inlineprotectedinherited |
Returns whether the ID specifies a valid entry.
Definition at line 1009 of file WireReadoutGeom.h.
Referenced by geo::WireReadoutGeom::isValidElement().
|
inlineprotectedinherited |
Returns the specified element of the TPC map.
Definition at line 1014 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::isValidElement().
|
inlineprotectedinherited |
Returns whether the ID specifies a valid entry.
Definition at line 1037 of file WireReadoutGeom.h.
|
inlineprotectedinherited |
Returns whether the ID specifies a valid entry.
Definition at line 1042 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::isValidElement().
|
inlineprotectedinherited |
Returns whether the ID specifies a valid entry.
Definition at line 1047 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::isValidElement().
|
inherited |
Is this a valid OpChannel number?
Definition at line 493 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::fGeom, and geo::GeometryCore::NOpDets().
Referenced by cosmic::BeamFlashTrackMatchTaggerAlg::CheckCompatibility(), geo::WireReadoutGeom::HasChannel(), cosmic::BeamFlashTrackMatchTaggerAlg::PrintHypothesisFlashComparison(), and opdet::RunHitFinder().
|
virtualinherited |
Returns whether the ID identifies a valid optical detector channel.
opChannel | channel number |
NOpDets | number of optical detectors in the detector |
The specification of the number of optical channels reflects the logic described in NOpChannel()
.
Definition at line 432 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::HardwareChannelFromOpChannel(), geo::WireReadoutGeom::NOpChannels(), geo::WireReadoutGeom::NOpHardwareChannels(), and geo::WireReadoutGeom::OpDetFromOpChannel().
|
inherited |
Largest optical channel number.
Definition at line 487 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::fGeom, and geo::GeometryCore::NOpDets().
Referenced by cosmic::BeamFlashTrackMatchTaggerAlg::CheckCompatibility(), opdet::ConstructFlash(), geo::WireReadoutGeom::HasChannel(), and cosmic::BeamFlashTrackMatchTaggerAlg::PrintHypothesisFlashComparison().
|
virtualinherited |
Returns the number of optical channels contained in some detectors.
NOpDets | number of optical detectors |
This function returns the first optical channel ID larger than the last channel ID in a detector with NOpDets optical detectors (with the same logic as NOpChannels()
). For example, in a detector with 32 channels with contiguous IDs starting at 0, this function would return 32. If the channels started with ID 1, this function would instead return 33 and if there were a 16 channel gap, so that valid channels are from 0 to 15 and from 32 to 47, this function would return 48.
Definition at line 394 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::NOpChannels().
|
inherited |
Returns the largest number of planes among all TPCs in this detector.
Definition at line 166 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::fPlanes.
Referenced by pma::PMAlgTracker::build(), ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement(), shower::EMShowerAlg::CheckIsolatedHits_(), img::DataProviderAlg::DataProviderAlg(), trkf::TrackKalmanFitter::doFitWork(), geo::details::ReadoutIterationPolicy::EndPlaneID(), geo::WireReadoutGeom::HasElement(), shower::EMShowerAlg::MakeShower(), shower::EMShowerAlg::MakeSpacePoints(), geo::WireReadoutGeom::Nviews(), shower::EMShowerAlg::OrderShowerHits(), pma::PMAlgTracker::PMAlgTracker(), shower::EMShowerAlg::RelativeWireWidth_(), trkf::TrackKalmanFitter::sortOutput(), and shower::EMShowerAlg::WorstPlane_().
|
overridevirtual |
Returns the largest number of ROPs a TPC set in the detector has.
Implements geo::WireReadoutGeom.
Definition at line 384 of file WireReadoutStandardGeom.cxx.
References fNPlanes.
|
private |
Returns the largest number of TPCs in a single cryostat.
Definition at line 368 of file WireReadoutStandardGeom.cxx.
References fNTPC.
Referenced by MaxTPCsets(), and WireCount().
|
overridevirtual |
Returns the largest number of TPC sets any cryostat in the detector has.
Implements geo::WireReadoutGeom.
Definition at line 336 of file WireReadoutStandardGeom.cxx.
References MaxTPCs().
|
inherited |
Returns the total number of wires in the specified plane.
planeid | plane ID |
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 177 of file WireReadoutGeom.cxx.
Referenced by cluster::BlurredClusteringAlg::ConvertRecobHitsToVector(), geo::details::ReadoutIterationPolicy::EndWireID(), and geo::WireReadoutGeom::GetElementPtr().
|
overridevirtual |
Returns the total number of channels present (not necessarily contiguous)
Implements geo::WireReadoutGeom.
Definition at line 206 of file WireReadoutStandardGeom.cxx.
References fNchannels.
|
overridevirtual |
Returns the number of channels in the specified ROP.
Implements geo::WireReadoutGeom.
Definition at line 212 of file WireReadoutStandardGeom.cxx.
References FirstWirePlaneInROP(), HasROP(), and WireCount().
|
inherited |
Returns the ID of the channel nearest to the specified position.
worldLoc | 3D coordinates of the point (world reference frame) |
planeid | ID of the wire plane the channel must belong to |
raw::InvalidChannelID
if invalid wire geo::InvalidWireError
exception is thrownDefinition at line 524 of file WireReadoutGeom.cxx.
References raw::InvalidChannelID, geo::PlaneGeo::NearestWireID(), geo::WireReadoutGeom::Plane(), and geo::WireReadoutGeom::PlaneWireToChannel().
Referenced by larg4::LArVoxelReadout::DriftIonizationElectrons(), geo::WireReadoutGeom::HasChannel(), and apa::DisambigAlg::TrivialDisambig().
|
overridevirtual |
Returns the ID of the wire nearest to the specified position.
worldPos | position to be tested |
planeID | plane containing the wire |
InvalidWireIDError | the ID found is not present in the detector |
The plane is required to be valid and exist in the detector. Otherwise, the behaviour is undefined. An exception is thrown if the wire that would be the closest is actually not present; but no check is performed whether the specified position is outside the wire plane: wires are extrapolated to be infinitely long. In other words, the result can be trusted only as long as the position is within the specified wire plane.
Implements geo::WireReadoutGeom.
Definition at line 229 of file WireReadoutStandardGeom.cxx.
References WireCoordinate(), and WireCount().
|
inlineinherited |
Returns the total number of planes in the specified TPC.
tpcid | TPC ID |
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 103 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::Nplanes().
Referenced by geo::WireReadoutGeom::GetElementPtr().
|
inherited |
Returns the total number of wires in the specified plane.
planeid | plane ID |
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
|
virtualinherited |
Returns the number of optical channels contained in some detectors.
NOpDets | number of optical detectors |
This function returns how many channels can be expected to be present in a detector with NOpDets optical detectors. This is an upper limit, as not all channels have necessarily to be present.
For example: if a detector has four channels per optical detector, the returned value will be four times the argument NOpDets. If there is a single channel on each optical detector, the return value will be the value NOpDets (this is in fact the fallback implementation). If each optical detector can have anywhere between 2 and 12 channels, the returned value is 12 times NOpDets, and it will be an overestimation of the number of channels.
Definition at line 387 of file WireReadoutGeom.cxx.
Referenced by opdet::OptDetDigitizer::produce().
|
inherited |
Number of electronics channels for all the optical detectors.
Definition at line 481 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::fGeom, and geo::GeometryCore::NOpDets().
Referenced by geo::WireReadoutGeom::HasChannel(), geo::WireReadoutGeom::IsValidOpChannel(), and geo::WireReadoutGeom::MaxOpChannel().
|
virtualinherited |
Returns the number of channels in the specified optical detectors.
opDet | ID of the chosen optical detector |
This function returns how many channels are actually present in the optical detector with the specified ID.
For example: if a detector has four channels per optical detector, the returned value will be four, regardless opDet, and . If there is a single channel on each optical detector, the return value will be 1, again ignoring opDet (this is in fact the fallback implementation). If each optical detector can have anywhere between 2 and 12 channels, the returned value will be 2, 12, etc., that is the exact number of channels in opDet.
Although implementations are encouraged to return 0 on invalid optical detectors, the actual return value in that case is undefined.
Definition at line 401 of file WireReadoutGeom.cxx.
Referenced by geo::WireReadoutGeom::HasChannel(), and geo::WireReadoutGeom::IsValidOpChannel().
|
inherited |
Returns the total number of planes in the specified TPC.
tpcid | TPC ID |
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 194 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::fPlanes.
Referenced by tca::AnalyzeHits(), cluster::SmallClusterFinder::beginJob(), lar_cluster3d::StandardHit3DBuilder::BuildChannelStatusVec(), lar_cluster3d::SnippetHit3DBuilder::BuildChannelStatusVec(), ShowerRecoTools::ShowerUnidirectiondEdx::CalculateElement(), ShowerRecoTools::ShowerLinearEnergy::CalculateElement(), ShowerRecoTools::ShowerNumElectronsEnergy::CalculateElement(), opdet::ConstructFlash(), tca::TrajClusterAlg::CreateSlice(), detinfo::DetectorPropertiesStandard::DataFor(), hit::DisambigCheater::DisambigCheater(), larg4::LArVoxelReadout::DriftIonizationElectrons(), calo::TrackCalorimetryAlg::ExtractCalorimetry(), trkf::CCTrackMaker::FillEndMatch(), trkf::CCTrackMaker::FillWireHitRange(), tca::FillWireHitRange(), tca::FindShowers3D(), trkf::CCTrackMaker::FitVertices(), opdet::GetHitGeometryInfo(), corner::CornerFinderAlg::GrabWires(), geo::WireReadoutGeom::HasElement(), corner::CornerFinderAlg::InitializeGeometry(), trkf::CCTrackMaker::MakeClusterChains(), trkf::CCTrackMaker::MakeFamily(), geo::WireReadoutGeom::NElements(), geo::WireReadoutGeom::NSiblingElements(), trkf::CCTrackMaker::PlnMatch(), trkf::CCTrackMaker::PrintClusters(), trk::TrackContainmentAlg::ProcessTracks(), trkf::CCTrackMaker::produce(), ShowerRecoTools::ShowerLinearEnergy::ShowerLinearEnergy(), cluster::SmallClusterFinderAlg::SmallClusterFinderAlg(), trkf::CCTrackMaker::SortMatches(), cheat::BackTracker::SpacePointHitsToWeightedXYZ(), trkf::CCTrackMaker::StoreTrack(), geo::WireReadoutGeom::ThirdPlane(), trkf::VertexFitAlg::VertexFit(), trkf::CCTrackMaker::VtxMatch(), nnet::WaveformDenoiseTest::WaveformDenoiseTest(), and WireReadoutStandardGeom().
|
overridevirtual |
Returns the total number of ROPs in the specified TPC set.
tpcsetid | TPC set ID |
Note that this methods explicitly check the existence of the TPC set.
In this mapping, planes have independent readout and there is one wire plane in each readout plane and one readout plane for each wire plane.
Implements geo::WireReadoutGeom.
Definition at line 377 of file WireReadoutStandardGeom.cxx.
References geo::WireReadoutGeom::AccessElement(), FirstTPCinTPCset(), fNPlanes, and HasTPCset().
Referenced by HasROP().
|
inlineinherited |
Returns the total number of planes in the specified TPC.
tpcid | TPC ID |
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 104 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::Nplanes(), and geo::WireReadoutGeom::Nviews().
Referenced by geo::details::ReadoutIterationPolicy::NSiblings().
|
inlineinherited |
Returns the total number of wires in the specified plane.
planeid | plane ID |
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 186 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::HasWire(), and geo::WireReadoutGeom::Nwires().
|
overridevirtual |
Returns the total number of TPC sets in the specified cryostat.
cryoid | cryostat ID |
In this mapping, TPCs have independent readout and there is one TPC in each TPC set and one TPC set for each TPC.
Implements geo::WireReadoutGeom.
Definition at line 329 of file WireReadoutStandardGeom.cxx.
References geo::CryostatID::Cryostat, fNTPC, and geo::CryostatID::isValid.
Referenced by HasTPCset().
|
inherited |
Returns the number of views (different wire orientations)
Returns the number of different views, or wire orientations, in the detector.
The function assumes that all TPCs in all cryostats of a detector have the same number of planes, which should be a safe assumption.
Definition at line 160 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::MaxPlanes().
Referenced by geo::WireReadoutGeom::NSiblingElements().
|
inherited |
Returns the total number of wires in the specified plane.
planeid | plane ID |
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 249 of file WireReadoutGeom.cxx.
References geo::PlaneGeo::NElements(), and geo::WireReadoutGeom::PlanePtr().
Referenced by lar_cluster3d::StandardHit3DBuilder::BuildChannelStatusVec(), lar_cluster3d::SnippetHit3DBuilder::BuildChannelStatusVec(), trkf::CCTrackMaker::FillWireHitRange(), tca::FillWireHitRange(), geo::WireReadoutGeom::GetElementPtr(), util::GeometryUtilities::GetYZ(), cluster::MergeClusterAlg::GlobalWire(), cluster::BlurredClusteringAlg::GlobalWire(), shower::EMShowerAlg::GlobalWire_(), corner::CornerFinderAlg::GrabWires(), corner::CornerFinderAlg::InitializeGeometry(), lar_cluster3d::StandardHit3DBuilder::NearestWireID(), lar_cluster3d::SnippetHit3DBuilder::NearestWireID(), geo::WireReadoutGeom::NSiblingElements(), util::GeometryUtilities::SelectPolygonHitList(), img::DataProviderAlg::setWireDriftData(), and geo::WireReadoutGeom::WireIDIntersectionCheck().
|
virtualinherited |
Returns the channel ID of the specified hardware channel.
detNum | optical detector ID |
hwchannel | hardware channel within the specified optical detector |
If the input IDs identify a non-existing channel, the result is undefined.
Definition at line 408 of file WireReadoutGeom.cxx.
Referenced by geo::WireReadoutGeom::HasChannel().
|
virtualinherited |
Returns the optical detector the specified optical channel belongs.
opChannel | the optical detector channel being queried |
If the specified optical channel is invalid, behaviour is undefined.
Definition at line 414 of file WireReadoutGeom.cxx.
Referenced by cosmic::BeamFlashTrackMatchTaggerAlg::CheckCompatibility(), geo::WireReadoutGeom::HasChannel(), geo::WireReadoutGeom::IsValidOpChannel(), geo::WireReadoutGeom::OpDetGeoFromOpChannel(), and cosmic::BeamFlashTrackMatchTaggerAlg::PrintHypothesisFlashComparison().
|
inherited |
Returns the optical detector the specified optical channel belongs.
opChannel | the optical detector channel being queried |
If the specified optical channel is invalid, behaviour is undefined.
Definition at line 420 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::fGeom, geo::WireReadoutGeom::OpDetFromOpChannel(), and geo::GeometryCore::OpDetGeoFromOpDet().
Referenced by opdet::GetHitGeometryInfo(), and geo::WireReadoutGeom::HasChannel().
Returns the specified wire.
tpcid | ID of the TPC |
view | number of the requested view |
planeid | ID of the plane |
cet::exception | (GeometryCore category) if cryostat not present |
cet::exception | (TPCOutOfRange category) if no such TPC |
cet::exception | (PlaneOutOfRange category) if no such plane |
The GetElement() method is overloaded and its return depends on the type of ID.
Definition at line 210 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::fPlanes, and geo::PlaneGeo::View().
Referenced by calo::TrackCalorimetryAlg::AnalyzeHit(), apa::APAGeometryAlg::APAGeometryAlg(), ShowerRecoTools::ShowerUnidirectiondEdx::CalculateElement(), ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement(), util::GeometryUtilities::CalculatePitch(), util::GeometryUtilities::CalculatePitchPolar(), tca::ChgFracBetween(), tca::ChgFracNearEnd(), detinfo::DetectorPropertiesStandard::DataFor(), tca::dEdx(), calo::TrackCalorimetryAlg::ExtractCalorimetry(), trkf::CCTrackMaker::FillEndMatch(), tca::FillWireHitRange(), tca::Find3DVertices(), apa::DisambigAlg::FindChanTimeEndPts(), lar_cluster3d::HoughSeedFinderAlg::findHoughClusters(), cluster::SmallClusterFinderAlg::FindSmallClusters(), tca::FitTP3Ds(), util::GeometryUtilities::GeometryUtilities(), util::GeometryUtilities::Get2DangleFrom3D(), util::GeometryUtilities::Get2DPointProjection(), util::GeometryUtilities::Get2DPointProjectionCM(), corner::CornerFinderAlg::get_feature_points(), corner::CornerFinderAlg::get_feature_points_fast(), corner::CornerFinderAlg::get_feature_points_LineIntegralScore(), pma::ProjectionMatchingAlg::GetCloseHits_(), geo::WireReadoutGeom::GetElement(), opdet::GetHitGeometryInfo(), util::GeometryUtilities::GetProjectedPoint(), nnet::TrainingDataAlg::getProjection(), util::GeometryUtilities::GetTimeTicks(), util::GeometryUtilities::GetXYZ(), cluster::MergeClusterAlg::GlobalWire(), cluster::BlurredClusteringAlg::GlobalWire(), shower::EMShowerAlg::GlobalWire_(), shower::LArPandoraShowerAlg::HitCoordinates(), shower::EMShowerAlg::HitPosition_(), hit::DisambigCheater::InitHitToWids(), lar_cluster3d::PCASeedFinderAlg::LineFit2DHits(), lar_cluster3d::HoughSeedFinderAlg::LineFit2DHits(), apa::APAGeometryAlg::LineSegChanIntersect(), tca::MakeBareTP(), shower::EMShowerAlg::MakeShower(), tca::MakeTP3D(), geo::WireReadoutGeom::NearestChannel(), lar_cluster3d::StandardHit3DBuilder::NearestWireID(), lar_cluster3d::SnippetHit3DBuilder::NearestWireID(), apa::APAGeometryAlg::NearestWireIDOnChan(), shower::LArPandoraShowerAlg::OrderShowerHits(), shower::EMShowerAlg::OrderShowerHits_(), util::GeometryUtilities::PitchInView(), trkf::CCTrackMaker::PlnMatch(), tca::PosInPlane(), trk::TrackContainmentAlg::ProcessTracks(), cluster::DBCluster3D::produce(), cluster::TrajCluster::produce(), trkf::CCTrackMaker::produce(), cluster::SmallClusterFinder::produce(), shower::EMShowerAlg::Project3DPointOntoPlane_(), phot::SemiAnalyticalModel::SemiAnalyticalModel(), tca::SetSection(), lar_cluster3d::SnippetHit3DBuilder::SnippetHit3DBuilder(), lar_cluster3d::StandardHit3DBuilder::StandardHit3DBuilder(), lar_pandora::DUNEFarDetVDThreeView::TargetViewU(), lar_pandora::ProtoDUNEDualPhase::TargetViewU(), lar_pandora::ICARUS::TargetViewU(), lar_pandora::VintageLArTPCThreeView::TargetViewU(), lar_pandora::DUNEFarDetVDThreeView::TargetViewV(), lar_pandora::ProtoDUNEDualPhase::TargetViewV(), lar_pandora::ICARUS::TargetViewV(), lar_pandora::VintageLArTPCThreeView::TargetViewV(), lar_pandora::DUNEFarDetVDThreeView::TargetViewW(), lar_pandora::ICARUS::TargetViewW(), lar_pandora::VintageLArTPCThreeView::TargetViewW(), geo::WireReadoutGeom::ThirdPlane_dTdW(), geo::WireReadoutGeom::ThirdPlaneSlope(), trkf::TrackLineFitAlg::TrkLineFit(), pma::ProjectionMatchingAlg::validate(), pma::ProjectionMatchingAlg::validate_on_adc(), pma::ProjectionMatchingAlg::validate_on_adc_test(), trkf::VertexFitAlg::VertexFit(), geo::WireReadoutGeom::View(), geo::WireReadoutGeom::Views(), geo::WireReadoutGeom::Wire(), lar_pandora::VintageLArTPCThreeView::WirePitchU(), lar_pandora::VintageLArTPCThreeView::WirePitchV(), and lar_pandora::VintageLArTPCThreeView::WirePitchW().
Returns the specified wire.
tpcid | ID of the TPC |
view | number of the requested view |
planeid | ID of the plane |
cet::exception | (GeometryCore category) if cryostat not present |
cet::exception | (TPCOutOfRange category) if no such TPC |
cet::exception | (PlaneOutOfRange category) if no such plane |
The GetElement() method is overloaded and its return depends on the type of ID.
Definition at line 224 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::PlanePtr().
|
inherited |
Definition at line 124 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::fPlane0Pitch.
Referenced by larg4::LArVoxelReadout::DriftIonizationElectrons(), and geo::WireReadoutGeom::ThirdPlaneSlope().
|
overridevirtual |
Returns a list of the plane IDs in the whole detector.
Implements geo::WireReadoutGeom.
Definition at line 323 of file WireReadoutStandardGeom.cxx.
References fPlaneIDs.
|
inherited |
Definition at line 130 of file WireReadoutGeom.cxx.
References util::abs(), and geo::WireReadoutGeom::fPlane0Pitch.
Referenced by detinfo::DetectorPropertiesStandard::DataFor(), larg4::LArVoxelReadout::DriftIonizationElectrons(), and geo::WireReadoutGeom::ThirdPlaneSlope().
Returns the specified plane.
planeid | plane ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 231 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::fPlanes, n, geo::PlaneID::parentID(), and geo::PlaneID::Plane.
Referenced by geo::WireReadoutGeom::FirstPlane(), geo::WireReadoutGeom::GetElement(), geo::details::getElementPtr(), geo::WireReadoutGeom::GetElementPtr(), geo::WireReadoutGeom::HasPlane(), geo::WireReadoutGeom::HasWire(), geo::WireReadoutGeom::Nwires(), geo::WireReadoutGeom::Plane(), and geo::WireReadoutGeom::WirePtr().
|
overridevirtual |
Returns the channel ID a wire is connected to.
wireID | ID of the wire |
Behaviour on an invalid or not present wires is undefined.
Implements geo::WireReadoutGeom.
Definition at line 273 of file WireReadoutStandardGeom.cxx.
References fPlaneBaselines, geo::WireReadoutGeom::GetElementPtr(), raw::InvalidChannelID, and geo::WireID::Wire.
|
overridevirtual |
Returns a list of ID of TPCs the specified ROP spans.
ropid | ID of the readout plane |
In this mapping, readout planes and wire planes are mapped one-to-one. The returned list contains always one entry, unless the specified readout plane ID is invalid, in which case the list is empty. Note that this check is performed on the validity of the readout plane ID, that does not necessarily imply that the readout plane specified by the ID actually exists. Check if the ROP exists with HasROP(). The behaviour on non-existing readout planes is undefined.
Implements geo::WireReadoutGeom.
Definition at line 414 of file WireReadoutStandardGeom.cxx.
References readout::ROPID::asTPCsetID(), and geo::CryostatID::isValid.
|
overridevirtual |
Returns a list of ID of wire planes belonging to the specified ROP.
ropid | ID of the readout plane to convert into wire planes |
In this mapping, readout planes and wire planes are mapped one-to-one. The returned list contains always one entry, unless the specified readout plane ID is invalid, in which case the list is empty. Note that this check is performed on the validity of the readout plane ID, that does not necessarily imply that the readout plane specified by the ID actually exists.
Implements geo::WireReadoutGeom.
Definition at line 406 of file WireReadoutStandardGeom.cxx.
References FirstWirePlaneInROP(), and geo::CryostatID::isValid.
Returns the type of signal on the channels of specified TPC plane.
plane | TPC plane ID |
Assumes that all the channels on the plane have the same signal type.
Definition at line 499 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::WirePlaneToROP().
Referenced by geo::WireReadoutDumper::dumpTPCplane(), reco3d::TripletFinder::FillHitMap(), cluster::MergeClusterAlg::GlobalWire(), cluster::BlurredClusteringAlg::GlobalWire(), shower::EMShowerAlg::GlobalWire_(), geo::WireReadoutGeom::HasChannel(), shwf::ShowerReco::LongTransEnergy(), caldata::CalWire::produce(), hit::RFFHitFinderAlg::Run(), hit::CCHitFinderAlg::RunCCHitFinder(), and geo::WireReadoutGeom::SignalTypeForROPIDImpl().
|
inherited |
Return the signal type of the specified channel.
channel | ID of the channel |
On any type of error (e.g., invalid or unknown channel ID), geo::kMysteryType is returned.
Definition at line 446 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::SignalTypeForChannelImpl().
|
inherited |
Return the signal type on the specified readout plane.
ropid | ID of the readout plane |
If the readout plane ID is marked invalid, geo::kMysteryType is returned. If the readout plane is not marked invalid, but it does not match an existing readout plane, the result is undefined.
The default implementation uses readout plane to channel mapping. Other implementation may decide to do the opposite.
Definition at line 451 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::SignalTypeForROPIDImpl().
|
overrideprivatevirtual |
Return the signal type of the specified channel.
channel | ID of the channel |
On any type of error (e.g., invalid or unknown channel ID), geo::kMysteryType is returned.
Implements geo::WireReadoutGeom.
Definition at line 296 of file WireReadoutStandardGeom.cxx.
References geo::WireReadoutGeom::fFirstChannelInNextPlane, geo::WireReadoutGeom::fFirstChannelInThisPlane, fNchannels, fNPlanes, fNTPC, geo::kCollection, geo::kInduction, and geo::kMysteryType.
|
protectedvirtualinherited |
Return the signal type on the specified readout plane.
ropid | ID of the readout plane |
If the readout plane ID is marked invalid, geo::kMysteryType is returned. If the readout plane is not marked invalid, but it does not match an existing readout plane, the result is undefined.
The default implementation uses readout plane to channel mapping. Other implementation may decide to do the opposite.
Definition at line 456 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::FirstChannelInROP(), and geo::WireReadoutGeom::SignalType().
Referenced by geo::WireReadoutGeom::FirstChannelInThisPlane(), and geo::WireReadoutGeom::SignalType().
|
inlinestaticinherited |
Definition at line 63 of file WireReadoutGeom.h.
Referenced by geo::WireReadoutGeom::WireEndPoints(), and geo::WireReadoutGeom::WireIDsIntersect().
|
inherited |
Returns the plane that is not in the specified arguments.
pid1 | a plane |
pid2 | another plane |
cet::exception | (category: "GeometryCore") if other than 3 planes |
cet::exception | (category: "GeometryCore") if pid1 and pid2 match |
This function requires a geometry with exactly three planes. If the two input planes are not on the same TPC, the result is undefined.
Definition at line 610 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::Nplanes(), and geo::PlaneID::Plane.
Referenced by geo::WireReadoutGeom::ThirdPlane_dTdW(), geo::WireReadoutGeom::ThirdPlaneSlope(), and geo::WireReadoutGeom::WireEndPoints().
|
inherited |
Returns dT/dW on the third plane, given it in the other two.
pid1 | ID of the plane of the first dT/dW |
dTdW1 | dT/dW as seen on the first plane |
pid2 | ID of the plane of the second dT/dW |
dTdW2 | dT/dW as seen on the second plane |
output_plane | ID of the plane on which to calculate the slope |
cet::exception | (category: "GeometryCore") if different TPC |
cet::exception | (category: "GeometryCore") if same plane |
cet::exception | (category: "GeometryCore") if other than 3 planes |
Given a dT/dW as projected in two planes, returns the dT/dW as projected in the third plane. The dT/dW are defined in time ticks/wide number units.
Definition at line 663 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::ComputeThirdPlane_dTdW(), geo::PlaneGeo::PhiZ(), geo::WireReadoutGeom::Plane(), and geo::PlaneGeo::WirePitch().
Referenced by geo::WireReadoutGeom::ThirdPlane_dTdW(), and geo::WireReadoutGeom::ThirdPlaneSlope().
|
inherited |
Returns dT/dW on the third plane, given it in the other two.
pid1 | ID of the plane of the first dT/dW |
dTdW1 | dT/dW as seen on the first plane |
pid2 | ID of the plane of the second dT/dW |
dTdW2 | dT/dW as seen on the second plane |
cet::exception | (category: "GeometryCore") if different TPC |
cet::exception | (category: "GeometryCore") if same plane |
cet::exception | (category: "GeometryCore") if other than 3 planes |
Given a dT/dW as projected in two planes, returns the dT/dW as projected in the third plane. This function is a shortcut assuming exactly three wire planes in the TPC, in which case the output plane is chosen as the one that is neither of the input planes.
Definition at line 687 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::ThirdPlane(), and geo::WireReadoutGeom::ThirdPlane_dTdW().
|
inherited |
Returns the slope on the third plane, given it in the other two.
pid1 | ID of the plane of the first slope |
slope1 | slope as seen on the first plane |
pid2 | ID of the plane of the second slope |
slope2 | slope as seen on the second plane |
output_plane | ID of the plane on which to calculate the slope |
cet::exception | (category: "GeometryCore") if different TPC |
cet::exception | (category: "GeometryCore") if input planes match |
Given a slope as projected in two planes, returns the slope as projected in the specified output plane. The slopes are defined in uniform units; they should be computed as distance ratios (or tangent of a geometrical angle; the formula is still valid using dt/dw directly in case of equal wire pitch in all planes and uniform drift velocity.
Definition at line 639 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::ComputeThirdPlaneSlope(), and geo::WireReadoutGeom::Plane().
Referenced by trkf::CCTrackMaker::FillEndMatch(), trkf::CCTrackMaker::PlnMatch(), geo::WireReadoutGeom::ThirdPlaneSlope(), and geo::WireReadoutGeom::WireEndPoints().
|
inherited |
Returns the slope on the third plane, given it in the other two.
pid1 | ID of the plane of the first slope |
slope1 | slope as seen on the first plane |
pid2 | ID of the plane of the second slope |
slope2 | slope as seen on the second plane |
cet::exception | (category: "GeometryCore") if different TPC |
cet::exception | (category: "GeometryCore") if same plane |
cet::exception | (category: "GeometryCore") if other than 3 planes |
Given a slope as projected in two planes, returns the slope as projected in the third plane. This function is a shortcut assuming exactly three wire planes in the TPC, in which case the output plane is chosen as the one that is neither of the input planes.
Definition at line 654 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::ThirdPlane(), and geo::WireReadoutGeom::ThirdPlaneSlope().
|
inlineinherited |
Returns the slope on the third plane, given it in the other two.
plane1 | index of the plane of the first slope |
slope1 | slope as seen on the first plane |
plane2 | index of the plane of the second slope |
slope2 | slope as seen on the second plane |
tpcid | TPC where the two planes belong |
cet::exception | (category: "GeometryCore") if different TPC |
cet::exception | (category: "GeometryCore") if same plane |
cet::exception | (category: "GeometryCore") if other than 3 planes |
Given a slope as projected in two planes, returns the slope as projected in the third plane.
Definition at line 451 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::ChannelsInTPCs(), geo::WireReadoutGeom::ComputeThirdPlane_dTdW(), geo::WireReadoutGeom::ComputeThirdPlaneSlope(), geo::WireReadoutGeom::Nchannels(), geo::WireReadoutGeom::Plane0Pitch(), geo::WireReadoutGeom::PlanePitch(), geo::WireReadoutGeom::ThirdPlane_dTdW(), and geo::WireReadoutGeom::ThirdPlaneSlope().
|
overridevirtual |
Returns a list of ID of TPCs belonging to the specified TPC set.
tpcsetid | ID of the TPC set to convert into TPC IDs |
In this mapping, TPC sets and TPCs are mapped one-to-one. The returned list contains always one entry, unless the specified TPC set ID is invalid, in which case the list is empty. Note that the check is performed on the validity of the TPC set ID, that does not necessarily imply that the TPC set specified by the ID actually exists. Check the existence of the TPC set first (HasTPCset()). Behaviour on valid, non-existent TPC set IDs is undefined.
Implements geo::WireReadoutGeom.
Definition at line 354 of file WireReadoutStandardGeom.cxx.
References geo::CryostatID::isValid.
|
overridevirtual |
Returns the ID of the TPC set the specified TPC belongs to.
tpcid | ID of the TPC |
In this mapping, TPC sets and TPCs are mapped one-to-one. The returned value mirrors the TPC ID in the readout space. If the TPC ID is not valid, an invalid TPC set ID is returned. Note that this check is performed on the validity of the TPC ID, that does not necessarily imply that the TPC specified by the ID actually exists.
Implements geo::WireReadoutGeom.
Definition at line 348 of file WireReadoutStandardGeom.cxx.
|
inherited |
Returns the view (wire orientation) on the specified TPC channel.
channel | TPC channel ID |
The view of the readout plane channel
belongs to is returned, as in View(readout::ROPID const&) const
.
Definition at line 518 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::ChannelToROP(), raw::InvalidChannelID, and geo::kUnknown.
Referenced by nnet::WaveformDenoiseTest::analyze(), nnet::NoiseWaveformDump::analyze(), nnet::RawWaveformDump::analyze(), nnet::RawWaveformClnSigDump::analyze(), apa::APAGeometryAlg::APAChannelsIntersect(), apa::APAGeometryAlg::APAGeometryAlg(), apa::APAGeometryAlg::APAView(), tca::FillWireHitRange(), apa::APAGeometryAlg::FirstChannelInView(), quad::GetPts2D(), geo::WireReadoutGeom::HasChannel(), apa::DisambigAlg::MakeCloseHits(), apa::APAGeometryAlg::NearestWireIDOnChan(), and cheat::BackTracker::TrackIdToSimIDEs_Ps().
|
inherited |
Returns the view of the channels in the specified readout plane.
ropid | readout plane ID |
Returns the view (wire orientation) on the channels of specified readout plane. If ropid is an invalid ID, geo::kUnknown is returned. If ropid is a valid ID (i.e. an ID whose isValid flag is set) that points to a non-existent readout plane, the result is undefined. Use HasROP() to check if the readout plane actually exists.
Definition at line 512 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::FirstWirePlaneInROP(), geo::kUnknown, geo::WireReadoutGeom::Plane(), and geo::PlaneGeo::View().
|
inlineinherited |
Returns a list of possible views in the detector.
Definition at line 123 of file WireReadoutGeom.h.
References geo::WireReadoutGeom::allViews, geo::WireReadoutGeom::FirstPlane(), and geo::WireReadoutGeom::Plane().
Referenced by pma::PMAlgTracker::PMAlgTracker(), and geo::WireReadoutGeom::WireReadoutGeom().
Definition at line 241 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::fPlanes.
Returns the specified wire.
wireid | ID of the wire |
cet::exception | if not found |
The GetElement() method is overloaded and its return depends on the type of ID.
Definition at line 270 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::Plane(), and geo::PlaneGeo::Wire().
Referenced by lar_cluster3d::SnippetHit3DBuilder::DistanceFromPointToHitWire(), geo::WireReadoutGeom::GetElement(), geo::WireReadoutGeom::GetElementPtr(), cluster::MergeClusterAlg::GlobalWire(), cluster::BlurredClusteringAlg::GlobalWire(), shower::EMShowerAlg::GlobalWire_(), lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_2D(), lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_calc2DDocas(), trkf::TrackKalmanFitter::setupInputStates(), apa::APAGeometryAlg::ThreeChanPos(), geo::WireReadoutGeom::WireEndPoints(), lar_cluster3d::SnippetHit3DBuilder::WireIDsIntersect(), and geo::WireReadoutGeom::WireIDsIntersect().
|
inherited |
Returns the angle of the wires in the specified view from vertical.
view | the view |
tpcid | ID of the TPC |
cet::exception | ("GeometryCore" category) if no such view |
The angle is defined as in WireGeo::ThetaZ().
This method assumes all wires in the view have the same angle (it queries for the first).
Definition at line 376 of file WireReadoutGeom.cxx.
References geo::PlaneGeo::ViewName().
Referenced by ShowerRecoTools::ShowerUnidirectiondEdx::CalculateElement(), util::GeometryUtilities::CalculatePitch(), util::GeometryUtilities::CalculatePitchPolar(), util::GeometryUtilities::Get2DangleFrom3D(), shower::EMShowerAlg::MakeShower(), util::GeometryUtilities::PitchInView(), lar_pandora::detector_functions::WireAngle(), and geo::WireReadoutGeom::WireEndPoints().
|
overridevirtual |
Returns the index of the wire nearest to the specified position.
YPos | y coordinate on the wire plane |
ZPos | z coordinate on the wire plane |
planeID | ID of the plane |
Respect to NearestWireID(), this method returns a real number, representing a continuous coordinate in the wire axis, with the round values corresponding to the actual wires.
The plane is required to be valid and exist in the detector. Otherwise, the behaviour is undefined.
Implements geo::WireReadoutGeom.
Definition at line 220 of file WireReadoutStandardGeom.cxx.
References geo::WireReadoutGeom::AccessElement(), fFirstWireProj, fOrthVectorsY, and fOrthVectorsZ.
Referenced by NearestWireID().
|
inlineprivate |
Retrieved the wire cound for the specified plane ID.
Definition at line 213 of file WireReadoutStandardGeom.h.
References geo::WireReadoutGeom::AccessElement(), and MaxTPCs().
Referenced by Nchannels(), and NearestWireID().
|
inherited |
Fills two arrays with the coordinates of the wire end points.
wireid | ID of the wire |
xyzStart | (output) an array with the start coordinate |
xyzEnd | (output) an array with the end coordinate |
cet::exception | wire not present |
The starting point is the wire end with lower z coordinate.
Definition at line 276 of file WireReadoutGeom.cxx.
References util::abs(), geo::Iterable< details::ReadoutIterationPolicy, details::ToReadoutGeometryElement >::end(), and geo::WireReadoutGeom::start().
Referenced by lar_cluster3d::StandardHit3DBuilder::DistanceFromPointToHitWire(), geo::WireReadoutGeom::GetElement(), quad::GetPts2D(), apa::DisambigAlg::TrivialDisambig(), and geo::WireReadoutGeom::WireIDsIntersect().
Returns a segment whose ends are the wire end points.
wireid | ID of the wire |
cet::exception | wire not present |
The start and end are assigned as returned from the geo::WireGeo object. The rules for this assignment are documented in that class.
Definition at line 260 of file WireReadoutGeom.h.
References geo::WireGeo::GetEnd(), geo::WireGeo::GetStart(), geo::WireReadoutGeom::ThirdPlane(), geo::WireReadoutGeom::ThirdPlaneSlope(), geo::WireReadoutGeom::Wire(), geo::WireReadoutGeom::WireAngleToVertical(), and geo::WireReadoutGeom::WireIDsIntersect().
|
inherited |
Computes the intersection between two wires.
wid1 | ID of the first wire | |
wid2 | ID of the other wire | |
[out] | intersection | the intersection point (global coordinates) |
The wires identified by wid1
and wid2
are intersected, and the 3D intersection point is written into the intersection
parameter. The "intersection" point is actually the point belonging to the first wire (wid2
) which is the closest (in Euclidean 3D metric) to the second wire.
The intersection is computed only if the wires belong to different planes of the same TPC. If that is not the case (i.e. they belong to different TPC or cryostat, or if they belong to the same plane), false
is returned and intersection
is set with all components to infinity (std::numeric_limits<>::infinity()
).
When the intersection is computed, it is always stored in the intersection
output parameter. Return value is true
if this intersection lies within the physical boundaries first wire, while it is instead false
if it lies on the extrapolation of the wire direction, but not within the wire physical extension.
To test that the result is not infinity (nor NaN), use geo::vect::isfinite(intersection)
etc.
geo::WireGeo
objects are already available, using instead the free function geo::WiresIntersection()
or the method geo::WireGeo::IntersectionWith()
is faster (and recommended). For purely geometric intersection, geo::LineClosestPoint()
is also available. Definition at line 344 of file WireReadoutGeom.cxx.
References util::abs(), geo::WireGeo::HalfL(), geo::IntersectionPointAndOffsets< Point >::offset1, geo::IntersectionPointAndOffsets< Point >::offset2, geo::IntersectionPointAndOffsets< Point >::point, geo::WireReadoutGeom::Wire(), geo::WireReadoutGeom::WireIDIntersectionCheck(), and geo::WiresIntersectionAndOffsets().
Referenced by pma::ProjectionMatchingAlg::addEndpointRef_(), apa::APAGeometryAlg::APAChannelsIntersect(), geo::WireReadoutGeom::ChannelsIntersect(), apa::DisambigAlg::CompareViews(), shower::EMShowerAlg::Construct3DPoint_(), trkf::CCTrackMaker::FillEndMatch(), tca::FillWireIntersections(), tca::Find3DVertices(), reco3d::IntersectionCache::ISect(), lar_cluster3d::StandardHit3DBuilder::makeDeadChannelPair(), lar_cluster3d::SnippetHit3DBuilder::makeDeadChannelPair(), lar_cluster3d::StandardHit3DBuilder::makeHitPair(), tca::Match2Planes(), trkf::CCTrackMaker::PlnMatch(), trkf::TrackTrajectoryAlg::ShortTrackTrajectory(), apa::APAGeometryAlg::ThreeChanPos(), and geo::WireReadoutGeom::WireEndPoints().
|
inherited |
Computes the intersection between two wires.
wid1 | ID of the first wire |
wid2 | ID of the other wire |
The "intersection" refers to the projection of the wires into the same plane. Wires are assumed to have at most one intersection. If wires are parallel,
widIntersect
will have the two components set to infinity (std::numeric_limits<>::infinity()
) and the TPC number set to invalid (geo::TPCID::InvalidID
). Also, false
is returned. If the intersection is outside the TPC, false
is also returned, but the widIntersect
will contain the coordinates of that intersection. The TPC number is still set to invalid, although the intersection might belong to a valid TPC somewhere else.
Definition at line 302 of file WireReadoutGeom.cxx.
References geo::vect::cross(), geo::WireReadoutGeom::finish(), geo::IntersectLines(), lar::util::PointWithinSegments(), geo::WireReadoutGeom::start(), geo::TPCID::TPC, geo::WireIDIntersection::TPC, geo::WireReadoutGeom::WireEndPoints(), geo::WireReadoutGeom::WireIDIntersectionCheck(), geo::Y, geo::WireIDIntersection::y, geo::Z, and geo::WireIDIntersection::z.
|
overridevirtual |
Returns the ID of the ROP planeid belongs to, or invalid if none.
planeid | ID of the plane |
In this mapping, readout planes and wire planes are mapped one-to-one. The returned value mirrors the plane ID in the readout space. If the plane ID is not valid, an invalid readout plane ID is returned. Note that this check is performed on the validity of the plane ID, that does not necessarily imply that the plane specified by the ID actually exists.
Implements geo::WireReadoutGeom.
Definition at line 400 of file WireReadoutStandardGeom.cxx.
Referenced by ChannelToROP().
Returns the specified wire.
wireid | wire ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 263 of file WireReadoutGeom.cxx.
References geo::WireReadoutGeom::PlanePtr(), and geo::PlaneGeo::WirePtr().
Referenced by geo::details::getElementPtr(), geo::WireReadoutGeom::GetElementPtr(), geo::WireReadoutGeom::HasElement(), and lar_cluster3d::MinSpanTreeAlg::MinSpanTreeAlg().
|
protectedinherited |
Definition at line 1071 of file WireReadoutGeom.h.
Referenced by ChannelToWire(), geo::WireReadoutGeom::FirstChannelInThisPlane(), SignalTypeForChannelImpl(), and WireReadoutStandardGeom().
|
protectedinherited |
Definition at line 1070 of file WireReadoutGeom.h.
Referenced by ChannelToWire(), geo::WireReadoutGeom::FirstChannelInNextPlane(), SignalTypeForChannelImpl(), and WireReadoutStandardGeom().
|
private |
Distance (0,0,0) to first wire along orth vector per plane per TPC
Definition at line 194 of file WireReadoutStandardGeom.h.
Referenced by WireCoordinate(), and WireReadoutStandardGeom().
|
private |
number of channels in the detector
Definition at line 189 of file WireReadoutStandardGeom.h.
Referenced by Nchannels(), SignalTypeForChannelImpl(), and WireReadoutStandardGeom().
|
private |
number of cryostats in the detector
Definition at line 188 of file WireReadoutStandardGeom.h.
Referenced by ChannelToWire(), and WireReadoutStandardGeom().
|
private |
Number of planes in each TPC - for range checking after calculation
Definition at line 202 of file WireReadoutStandardGeom.h.
Referenced by MaxROPs(), NROPs(), SignalTypeForChannelImpl(), and WireReadoutStandardGeom().
|
private |
number of TPCs in each cryostat
Definition at line 191 of file WireReadoutStandardGeom.h.
Referenced by ChannelToWire(), MaxTPCs(), NTPCsets(), SignalTypeForChannelImpl(), and WireReadoutStandardGeom().
|
private |
Unit vectors orthogonal to wires in.
Definition at line 196 of file WireReadoutStandardGeom.h.
Referenced by WireCoordinate(), and WireReadoutStandardGeom().
|
private |
each plane - stored as 2 components to avoid having to invoke any bulky TObjects / CLHEP vectors etc
Definition at line 197 of file WireReadoutStandardGeom.h.
Referenced by WireCoordinate(), and WireReadoutStandardGeom().
|
private |
The number of wires in all the tpcs and planes up to this one in the heirachy
Definition at line 204 of file WireReadoutStandardGeom.h.
Referenced by FirstChannelInROP(), PlaneWireToChannel(), and WireReadoutStandardGeom().
|
private |
vector of the PlaneIDs present in the detector
Definition at line 193 of file WireReadoutStandardGeom.h.
Referenced by PlaneIDs(), and WireReadoutStandardGeom().
|
private |
book keeping highest channel #
Definition at line 190 of file WireReadoutStandardGeom.h.
Referenced by ChannelToWire(), and WireReadoutStandardGeom().
|
private |
vector of the views present in the detector
Definition at line 192 of file WireReadoutStandardGeom.h.
|
private |
Number of wires in each plane - for range checking after calculation
Definition at line 200 of file WireReadoutStandardGeom.h.
Referenced by WireReadoutStandardGeom().
|
private |
The number of wires in this plane in the heirachy
Definition at line 207 of file WireReadoutStandardGeom.h.
Referenced by WireReadoutStandardGeom().