![]() |
LArSoft
v09_16_01
Liquid Argon Software toolkit - http://larsoft.org/
|
Description of geometry of one entire detector. More...
#include "GeometryCore.h"
Classes | |
struct | Segment |
Simple class with two points (a pair with aliases). More... | |
Public Types | |
using | instead = geo::Length_t |
using | Segment_t = Segment< DefaultPoint_t > |
using | CryostatList_t = GeometryData_t::CryostatList_t |
Type of list of cryostats. More... | |
using | AuxDetList_t = GeometryData_t::AuxDetList_t |
Type of list of auxiliary detectors. More... | |
using | cryostat_id_iterator = geo::cryostat_id_iterator |
Forward-iterator browsing all cryostat IDs in the detector. More... | |
using | cryostat_iterator = geo::cryostat_iterator |
Forward-iterator browsing all cryostats in the detector. More... | |
using | TPC_id_iterator = geo::TPC_id_iterator |
Forward-iterator browsing all TPC IDs in the detector. More... | |
using | TPC_iterator = geo::TPC_iterator |
Forward-iterator browsing all TPCs in the detector. More... | |
using | plane_id_iterator = geo::plane_id_iterator |
Forward-iterator browsing all plane IDs in the detector. More... | |
using | plane_iterator = geo::plane_iterator |
Forward-iterator browsing all planes in the detector. More... | |
using | wire_id_iterator = geo::wire_id_iterator |
Forward-iterator browsing all wire IDs in the detector. More... | |
using | wire_iterator = geo::wire_iterator |
Forward-iterator browsing all wires in the detector. More... | |
Public Member Functions | |
GeometryCore (fhicl::ParameterSet const &pset) | |
Initialize geometry from a given configuration. More... | |
~GeometryCore () | |
Destructor. More... | |
GeometryCore (GeometryCore const &)=delete | |
GeometryCore (GeometryCore &&)=delete | |
GeometryCore & | operator= (GeometryCore const &)=delete |
GeometryCore & | operator= (GeometryCore &&)=delete |
double | DefaultWiggle () const |
Returns the tolerance used in looking for positions. More... | |
std::string | ROOTFile () const |
Returns the full directory path to the geometry file source. More... | |
std::string | GDMLFile () const |
Returns the full directory path to the GDML file source. More... | |
std::vector< TGeoNode const * > | FindAllVolumes (std::set< std::string > const &vol_names) const |
Returns all the nodes with volumes with any of the specified names. More... | |
std::vector< std::vector< TGeoNode const * > > | FindAllVolumePaths (std::set< std::string > const &vol_names) const |
Returns paths of all nodes with volumes with the specified names. More... | |
TGeoMaterial const * | Material (geo::Point_t const &point) const |
Returns the material at the specified position. More... | |
template<typename Stream > | |
void | Print (Stream &&out, std::string indent=" ") const |
Prints geometry information with maximum verbosity. More... | |
std::string | Info (std::string indent=" ") const |
Returns a string with complete geometry information. More... | |
template<typename GeoID > | |
GeoID | GetBeginID () const |
Returns the ID of the first element of the detector. More... | |
template<typename GeoID > | |
GeoID | GetNextID (GeoID const &id) const |
Returns the ID next to the specified one. More... | |
template<typename GeoID > | |
GeoID | GetEndID () const |
Returns the (possibly invalid) ID after the last subelement of the detector. More... | |
template<typename GeoID , typename ContextID > | |
GeoID | GetBeginID (ContextID const &id) const |
Returns the ID of the first subelement of the specified element. More... | |
template<typename GeoID , typename ContextID > | |
GeoID | GetEndID (ContextID const &id) const |
Returns the (possibly invalid) ID after the last subelement of the specified element. More... | |
geo::CryostatGeo const * | PositionToCryostatPtr (geo::Point_t const &point) const |
Returns the cryostat at specified location. More... | |
geo::CryostatID | PositionToCryostatID (geo::Point_t const &point) const |
Returns the ID of the cryostat at specified location. More... | |
CryostatGeo const & | PositionToCryostat (double const worldLoc[3], geo::CryostatID &cid) const |
Returns the cryostat at specified location. More... | |
CryostatGeo const & | PositionToCryostat (double const worldLoc[3], unsigned int &cstat) const |
Returns the cryostat at specified location. More... | |
void | GetBeginID (geo::CryostatID &id) const |
Initializes the specified ID with the ID of the first cryostat. More... | |
void | GetEndID (geo::CryostatID &id) const |
Initializes the specified ID with the invalid ID after the last cryostat. More... | |
bool | IncrementID (geo::CryostatID &id) const |
cryostat_id_iterator | begin_cryostat_id () const |
Returns an iterator pointing to the first cryostat ID. More... | |
cryostat_id_iterator | end_cryostat_id () const |
Returns an iterator pointing after the last cryostat ID. More... | |
cryostat_iterator | begin_cryostat () const |
Returns an iterator pointing to the first cryostat. More... | |
cryostat_iterator | end_cryostat () const |
Returns an iterator pointing after the last cryostat. More... | |
IteratorBox< cryostat_id_iterator,&GeometryCore::begin_cryostat_id,&GeometryCore::end_cryostat_id > | IterateCryostatIDs () const |
Enables ranged-for loops on all cryostat IDs of the detector. More... | |
IteratorBox< cryostat_iterator,&GeometryCore::begin_cryostat,&GeometryCore::end_cryostat > | IterateCryostats () const |
Enables ranged-for loops on all cryostats of the detector. More... | |
void | CryostatBoundaries (double *boundaries, geo::CryostatID const &cid) const |
Returns the boundaries of the specified cryostat. More... | |
void | CryostatBoundaries (double *boundaries, unsigned int cstat=0) const |
Returns the boundaries of the specified cryostat. More... | |
bool | HasTPC (geo::TPCID const &tpcid) const |
Returns whether we have the specified TPC. More... | |
bool | HasElement (geo::TPCID const &tpcid) const |
Returns whether we have the specified TPC. More... | |
geo::TPCID | FindTPCAtPosition (double const worldLoc[3]) const |
Returns the ID of the TPC at specified location. More... | |
geo::TPCGeo const * | PositionToTPCptr (geo::Point_t const &point) const |
Returns the TPC at specified location. More... | |
TPCGeo const & | PositionToTPC (double const worldLoc[3], unsigned int &tpc, unsigned int &cstat) const |
Returns the TPC at specified location. More... | |
TPCGeo const & | PositionToTPC (double const worldLoc[3], TPCID &tpcid) const |
Returns the TPC at specified location. More... | |
geo::TPCID | PositionToTPCID (geo::Point_t const &point) const |
Returns the ID of the TPC at specified location. More... | |
void | GetBeginID (geo::TPCID &id) const |
Initializes the specified ID with the ID of the first TPC. More... | |
void | GetEndID (geo::TPCID &id) const |
Initializes the specified ID with the invalid ID after the last TPC. More... | |
bool | IncrementID (geo::TPCID &id) const |
geo::TPCID | GetBeginTPCID (geo::CryostatID const &id) const |
Returns the ID of the first TPC in the specified cryostat. More... | |
geo::TPCID | GetEndTPCID (geo::CryostatID const &id) const |
TPC_id_iterator | begin_TPC_id () const |
Returns an iterator pointing to the first TPC ID in the detector. More... | |
TPC_id_iterator | end_TPC_id () const |
Returns an iterator pointing after the last TPC ID in the detector. More... | |
TPC_id_iterator | begin_TPC_id (geo::CryostatID const &cid) const |
TPC_id_iterator | end_TPC_id (geo::CryostatID const &cid) const |
TPC_iterator | begin_TPC () const |
Returns an iterator pointing to the first TPC in the detector. More... | |
TPC_iterator | end_TPC () const |
Returns an iterator pointing after the last TPC in the detector. More... | |
TPC_iterator | begin_TPC (geo::CryostatID const &cid) const |
Returns an iterator pointing to the first TPC in the detector. More... | |
TPC_iterator | end_TPC (geo::CryostatID const &cid) const |
Returns an iterator pointing after the last TPC in the detector. More... | |
IteratorBox< TPC_id_iterator,&GeometryCore::begin_TPC_id,&GeometryCore::end_TPC_id > | IterateTPCIDs () const |
Enables ranged-for loops on all TPC IDs of the detector. More... | |
LocalIteratorBox< TPC_id_iterator, geo::CryostatID,&GeometryCore::begin_TPC_id,&GeometryCore::end_TPC_id > | IterateTPCIDs (geo::CryostatID const &cid) const |
Enables ranged-for loops on all TPC IDs of the specified cryostat. More... | |
void | IterateTPCIDs (geo::TPCID const &pid) const =delete |
IterateTPCIDs() is not supported on TPC IDs. More... | |
void | IterateTPCIDs (geo::PlaneID const &pid) const =delete |
IterateTPCIDs() is not supported on plane IDs. More... | |
void | IterateTPCIDs (geo::WireID const &pid) const =delete |
IterateTPCIDs() is not supported on wire IDs. More... | |
void | IterateTPCIDs (readout::TPCsetID const &) const =delete |
IterateTPCIDs() is not supported on readout IDs. More... | |
void | IterateTPCIDs (readout::ROPID const &) const =delete |
IterateTPCIDs() is not supported on readout IDs. More... | |
IteratorBox< TPC_iterator,&GeometryCore::begin_TPC,&GeometryCore::end_TPC > | IterateTPCs () const |
Enables ranged-for loops on all TPCs of the detector. More... | |
LocalIteratorBox< TPC_iterator, geo::CryostatID,&GeometryCore::begin_TPC,&GeometryCore::end_TPC > | IterateTPCs (geo::CryostatID const &cid) const |
Enables ranged-for loops on all TPCs of the specified cryostat. More... | |
void | IterateTPCs (geo::TPCID const &pid) const =delete |
IterateTPCs() is not supported on TPC IDs. More... | |
void | IterateTPCs (geo::PlaneID const &pid) const =delete |
IterateTPCs() is not supported on plane IDs. More... | |
void | IterateTPCs (geo::WireID const &pid) const =delete |
IterateTPCs() is not supported on wire IDs. More... | |
void | IterateTPCs (readout::TPCsetID const &) const =delete |
IterateTPCs() is not supported on readout IDs. More... | |
void | IterateTPCs (readout::ROPID const &) const =delete |
IterateTPCs() is not supported on readout IDs. More... | |
unsigned int | Nviews () const |
Returns the number of views (different wire orientations) More... | |
std::set< PlaneID > const & | PlaneIDs () const |
Returns a list of possible PlaneIDs in the detector. More... | |
void | GetBeginID (geo::PlaneID &id) const |
Initializes the specified ID with the ID of the first plane. More... | |
void | GetEndID (geo::PlaneID &id) const |
Initializes the specified ID with the invalid ID after the last plane. More... | |
bool | IncrementID (geo::PlaneID &id) const |
geo::PlaneID | GetBeginPlaneID (geo::CryostatID const &id) const |
Returns the ID of the first plane of the specified cryostat. More... | |
geo::PlaneID | GetEndPlaneID (geo::CryostatID const &id) const |
geo::PlaneID | GetBeginPlaneID (geo::TPCID const &id) const |
Returns the ID of the first plane of the specified TPC. More... | |
geo::PlaneID | GetEndPlaneID (geo::TPCID const &id) const |
plane_id_iterator | begin_plane_id () const |
Returns an iterator pointing to the first plane ID in the detector. More... | |
plane_id_iterator | end_plane_id () const |
Returns an iterator pointing after the last plane ID in the detector. More... | |
plane_id_iterator | begin_plane_id (geo::CryostatID const &ID) const |
plane_id_iterator | end_plane_id (geo::CryostatID const &ID) const |
plane_id_iterator | begin_plane_id (geo::TPCID const &ID) const |
plane_id_iterator | end_plane_id (geo::TPCID const &ID) const |
plane_iterator | begin_plane () const |
Returns an iterator pointing to the first plane in the detector. More... | |
plane_iterator | end_plane () const |
Returns an iterator pointing after the last plane in the detector. More... | |
plane_iterator | begin_plane (geo::CryostatID const &ID) const |
plane_iterator | end_plane (geo::CryostatID const &ID) const |
plane_iterator | begin_plane (geo::TPCID const &ID) const |
Returns an iterator pointing to the first plane in the specified TPC. More... | |
plane_iterator | end_plane (geo::TPCID const &ID) const |
Returns an iterator pointing after the last plane in the specified TPC. More... | |
IteratorBox< plane_id_iterator,&GeometryCore::begin_plane_id,&GeometryCore::end_plane_id > | IteratePlaneIDs () const |
Enables ranged-for loops on all plane IDs of the detector. More... | |
LocalIteratorBox< plane_id_iterator, geo::CryostatID,&GeometryCore::begin_plane_id,&GeometryCore::end_plane_id > | IteratePlaneIDs (geo::CryostatID const &cid) const |
Enables ranged-for loops on all plane IDs of the specified cryostat. More... | |
LocalIteratorBox< plane_id_iterator, geo::TPCID,&GeometryCore::begin_plane_id,&GeometryCore::end_plane_id > | IteratePlaneIDs (geo::TPCID const &tid) const |
Enables ranged-for loops on all plane IDs of the specified TPC. More... | |
void | IteratePlaneIDs (geo::PlaneID const &pid) const =delete |
IteratePlaneIDs() is not supported on plane IDs. More... | |
void | IteratePlaneIDs (geo::WireID const &pid) const =delete |
IteratePlaneIDs() is not supported on wire IDs. More... | |
void | IteratePlaneIDs (readout::TPCsetID const &) const =delete |
IteratePlaneIDs() is not supported on readout IDs. More... | |
void | IteratePlaneIDs (readout::ROPID const &) const =delete |
IteratePlaneIDs() is not supported on readout IDs. More... | |
IteratorBox< plane_iterator,&GeometryCore::begin_plane,&GeometryCore::end_plane > | IteratePlanes () const |
Enables ranged-for loops on all planes of the detector. More... | |
LocalIteratorBox< plane_iterator, geo::CryostatID,&GeometryCore::begin_plane,&GeometryCore::end_plane > | IteratePlanes (geo::CryostatID const &cid) const |
Enables ranged-for loops on all planes of the specified cryostat. More... | |
LocalIteratorBox< plane_iterator, geo::TPCID,&GeometryCore::begin_plane,&GeometryCore::end_plane > | IteratePlanes (geo::TPCID const &tid) const |
Enables ranged-for loops on all planes of the specified TPC. More... | |
void | IteratePlanes (geo::PlaneID const &pid) const =delete |
IteratePlanes() is not supported on plane IDs. More... | |
void | IteratePlanes (geo::WireID const &pid) const =delete |
IteratePlanes() is not supported on wire IDs. More... | |
void | IteratePlanes (readout::TPCsetID const &) const =delete |
IteratePlanes() is not supported on readout IDs. More... | |
void | IteratePlanes (readout::ROPID const &) const =delete |
IteratePlanes() is not supported on readout IDs. More... | |
View_t | View (geo::PlaneID const &pid) const |
Returns the view (wire orientation) on the channels of specified TPC plane. More... | |
SigType_t | SignalType (geo::PlaneID const &pid) const |
Returns the type of signal on the channels of specified TPC plane. More... | |
void | GetBeginID (geo::WireID &id) const |
Initializes the specified ID with the ID of the first wire. More... | |
void | GetEndID (geo::WireID &id) const |
Initializes the specified ID with the invalid ID after the last wire. More... | |
bool | IncrementID (geo::WireID &id) const |
geo::WireID | GetBeginWireID (geo::CryostatID const &id) const |
Returns the ID of the first wire in the specified cryostat. More... | |
geo::WireID | GetEndWireID (geo::CryostatID const &id) const |
geo::WireID | GetBeginWireID (geo::TPCID const &id) const |
Returns the ID of the first wire of the specified TPC. More... | |
geo::WireID | GetEndWireID (geo::TPCID const &id) const |
geo::WireID | GetBeginWireID (geo::PlaneID const &id) const |
Returns the ID of the first wire of the specified wire plane. More... | |
geo::WireID | GetEndWireID (geo::PlaneID const &id) const |
wire_id_iterator | begin_wire_id () const |
Returns an iterator pointing to the first wire ID in the detector. More... | |
wire_id_iterator | end_wire_id () const |
Returns an iterator pointing after the last wire ID in the detector. More... | |
wire_id_iterator | begin_wire_id (geo::CryostatID const &id) const |
Returns an iterator pointing to the first wire ID in specified cryostat. More... | |
wire_id_iterator | end_wire_id (geo::CryostatID const &id) const |
wire_id_iterator | begin_wire_id (geo::TPCID const &id) const |
Returns an iterator pointing to the first wire ID in specified TPC. More... | |
wire_id_iterator | end_wire_id (geo::TPCID const &id) const |
Returns an iterator pointing after the last wire ID in specified TPC. More... | |
wire_id_iterator | begin_wire_id (geo::PlaneID const &id) const |
Returns an iterator pointing to the first wire ID in specified plane. More... | |
wire_id_iterator | end_wire_id (geo::PlaneID const &id) const |
Returns an iterator pointing after the last wire ID in specified plane. More... | |
wire_iterator | begin_wire () const |
Returns an iterator pointing to the first wire in the detector. More... | |
wire_iterator | end_wire () const |
Returns an iterator pointing after the last wire in the detector. More... | |
wire_iterator | begin_wire (geo::CryostatID const &id) const |
Returns an iterator pointing to the first wire in specified cryostat. More... | |
wire_iterator | end_wire (geo::CryostatID const &id) const |
Returns an iterator pointing after the last wire in specified cryostat. More... | |
wire_iterator | begin_wire (geo::TPCID const &id) const |
Returns an iterator pointing to the first wire in specified TPC. More... | |
wire_iterator | end_wire (geo::TPCID const &id) const |
Returns an iterator pointing after the last wire in specified TPC. More... | |
wire_iterator | begin_wire (geo::PlaneID const &id) const |
Returns an iterator pointing to the first wire in specified plane. More... | |
wire_iterator | end_wire (geo::PlaneID const &id) const |
Returns an iterator pointing after the last wire in specified plane. More... | |
IteratorBox< wire_id_iterator,&GeometryCore::begin_wire_id,&GeometryCore::end_wire_id > | IterateWireIDs () const |
Enables ranged-for loops on all wire IDs of the detector. More... | |
LocalIteratorBox< wire_id_iterator, geo::CryostatID,&GeometryCore::begin_wire_id,&GeometryCore::end_wire_id > | IterateWireIDs (geo::CryostatID const &cid) const |
Enables ranged-for loops on all wire IDs of specified cryostat. More... | |
LocalIteratorBox< wire_id_iterator, geo::TPCID,&GeometryCore::begin_wire_id,&GeometryCore::end_wire_id > | IterateWireIDs (geo::TPCID const &tid) const |
Enables ranged-for loops on all wire IDs of specified TPC. More... | |
LocalIteratorBox< wire_id_iterator, geo::PlaneID,&GeometryCore::begin_wire_id,&GeometryCore::end_wire_id > | IterateWireIDs (geo::PlaneID const &pid) const |
Enables ranged-for loops on all wire IDs of specified wire plane. More... | |
void | IterateWireIDs (geo::WireID const &pid) const =delete |
IterateWireIDs() is not supported on wire IDs. More... | |
void | IterateWireIDs (readout::TPCsetID const &) const =delete |
IterateWireIDs() is not supported on readout IDs. More... | |
void | IterateWireIDs (readout::ROPID const &) const =delete |
IterateWireIDs() is not supported on readout IDs. More... | |
IteratorBox< wire_iterator,&GeometryCore::begin_wire,&GeometryCore::end_wire > | IterateWires () const |
Enables ranged-for loops on all wires of the detector. More... | |
LocalIteratorBox< wire_iterator, geo::CryostatID,&GeometryCore::begin_wire,&GeometryCore::end_wire > | IterateWires (geo::CryostatID const &cid) const |
Enables ranged-for loops on all wires of specified cryostat. More... | |
LocalIteratorBox< wire_iterator, geo::TPCID,&GeometryCore::begin_wire,&GeometryCore::end_wire > | IterateWires (geo::TPCID const &tid) const |
Enables ranged-for loops on all wires of specified TPC. More... | |
LocalIteratorBox< wire_iterator, geo::PlaneID,&GeometryCore::begin_wire,&GeometryCore::end_wire > | IterateWires (geo::PlaneID const &tid) const |
Enables ranged-for loops on all wires of specified wire plane. More... | |
void | IterateWires (geo::WireID const &pid) const =delete |
IterateWires() is not supported on wire IDs. More... | |
void | IterateWires (readout::TPCsetID const &) const =delete |
IterateWires() is not supported on readout IDs. More... | |
void | IterateWires (readout::ROPID const &) const =delete |
IterateWires() is not supported on readout IDs. More... | |
geo::Length_t | WirePitch (geo::View_t view) const |
Returns the distance between two wires in the specified view. More... | |
geo::WireID | NearestWireID (geo::Point_t const &point, geo::PlaneID const &planeid) const |
Returns the ID of wire closest to position in the specified TPC. More... | |
geo::WireID::WireID_t | NearestWire (geo::Point_t const &point, geo::PlaneID const &planeid) const |
Returns the index of wire closest to position in the specified TPC. More... | |
geo::Length_t | WireCoordinate (double YPos, double ZPos, geo::PlaneID const &planeid) const |
Returns the index of the nearest wire to the specified position. More... | |
geo::Length_t | WireCoordinate (double YPos, double ZPos, unsigned int PlaneNo, unsigned int TPCNo, unsigned int cstat) const |
Returns the index of the nearest wire to the specified position. More... | |
bool | IntersectLines (double A_start_x, double A_start_y, double A_end_x, double A_end_y, double B_start_x, double B_start_y, double B_end_x, double B_end_y, double &x, double &y) const |
Computes the intersection between two lines on a plane. More... | |
bool | IntersectSegments (double A_start_x, double A_start_y, double A_end_x, double A_end_y, double B_start_x, double B_start_y, double B_end_x, double B_end_y, double &x, double &y) const |
Computes the intersection between two segments on a plane. More... | |
bool | WireIDsIntersect (WireID const &wid1, WireID const &wid2, WireIDIntersection &widIntersect) const |
Computes the intersection between two wires. More... | |
bool | IntersectionPoint (geo::WireID const &wid1, geo::WireID const &wid2, double &y, double &z) const |
Returns the intersection point of two wires. More... | |
bool | IntersectionPoint (unsigned int wire1, unsigned int wire2, unsigned int plane1, unsigned int plane2, unsigned int cstat, unsigned int tpc, double &y, double &z) const |
Returns the intersection point of two wires. More... | |
geo::PlaneID | ThirdPlane (geo::PlaneID const &pid1, geo::PlaneID const &pid2) const |
Returns the plane that is not in the specified arguments. More... | |
double | ThirdPlaneSlope (geo::PlaneID const &pid1, double slope1, geo::PlaneID const &pid2, double slope2, geo::PlaneID const &output_plane) const |
Returns the slope on the third plane, given it in the other two. More... | |
double | ThirdPlaneSlope (geo::PlaneID const &pid1, double slope1, geo::PlaneID const &pid2, double slope2) const |
Returns the slope on the third plane, given it in the other two. More... | |
double | ThirdPlane_dTdW (geo::PlaneID const &pid1, double slope1, geo::PlaneID const &pid2, double slope2, geo::PlaneID const &output_plane) const |
Returns dT/dW on the third plane, given it in the other two. More... | |
double | ThirdPlane_dTdW (geo::PlaneID const &pid1, double slope1, geo::PlaneID const &pid2, double slope2) const |
Returns dT/dW on the third plane, given it in the other two. More... | |
std::string | OpDetGeoName (unsigned int c=0) const |
Returns gdml string which gives sensitive opdet name. More... | |
SigType_t | SignalType (raw::ChannelID_t const channel) const |
Returns the type of signal on the specified TPC channel. More... | |
View_t | View (raw::ChannelID_t const channel) const |
Returns the view (wire orientation) on the specified TPC channel. More... | |
std::vector< geo::WireID > | ChannelToWire (raw::ChannelID_t const channel) const |
Returns a list of wires connected to the specified TPC channel. More... | |
readout::ROPID | ChannelToROP (raw::ChannelID_t channel) const |
raw::ChannelID_t | NearestChannel (geo::Point_t const &worldLoc, geo::PlaneID const &planeid) const |
Returns the ID of the channel nearest to the specified position. More... | |
bool | ChannelsIntersect (raw::ChannelID_t c1, raw::ChannelID_t c2, double &y, double &z) const |
Returns an intersection point of two channels. More... | |
unsigned int | MaxTPCsets () const |
Returns the largest number of TPC sets any cryostat in the detector has. More... | |
template<typename T > | |
readout::TPCsetDataContainer< T > | makeTPCsetData () const |
Returns a container with one entry per TPC set. More... | |
template<typename T > | |
readout::TPCsetDataContainer< T > | makeTPCsetData (T const &defValue) const |
Returns a container with one entry per TPC set. More... | |
bool | HasTPCset (readout::TPCsetID const &tpcsetid) const |
bool | HasElement (readout::TPCsetID const &tpcsetid) const |
Returns whether we have the specified TPC set. More... | |
readout::TPCsetID | FindTPCsetAtPosition (double const worldLoc[3]) const |
Returns the ID of the TPC set at specified location. More... | |
readout::TPCsetID | TPCtoTPCset (geo::TPCID const &tpcid) const |
Returns the ID of the TPC set tpcid belongs to. More... | |
std::vector< geo::TPCID > | TPCsetToTPCs (readout::TPCsetID const &tpcsetid) const |
Returns a list of ID of TPCs belonging to the specified TPC set. More... | |
void | GetBeginID (readout::TPCsetID &id) const |
Initializes the specified ID with the ID of the first TPC set. More... | |
void | GetEndID (readout::TPCsetID &id) const |
Initializes the specified ID with the invalid ID after the last TPC set. More... | |
bool | IncrementID (readout::TPCsetID &id) const |
readout::TPCsetID | GetBeginTPCsetID (geo::CryostatID const &id) const |
Returns the ID of the first TPC set in the specified cryostat. More... | |
readout::TPCsetID | GetEndTPCsetID (geo::CryostatID const &id) const |
TPCset_id_iterator | begin_TPCset_id () const |
Returns an iterator pointing to the first TPC set ID in the detector. More... | |
TPCset_id_iterator | end_TPCset_id () const |
Returns an iterator pointing after the last TPC set ID in the detector. More... | |
TPCset_id_iterator | begin_TPCset_id (geo::CryostatID const &cid) const |
TPCset_id_iterator | end_TPCset_id (geo::CryostatID const &cid) const |
IteratorBox< TPCset_id_iterator,&GeometryCore::begin_TPCset_id,&GeometryCore::end_TPCset_id > | IterateTPCsetIDs () const |
Enables ranged-for loops on all TPC set IDs of the detector. More... | |
LocalIteratorBox< TPCset_id_iterator, geo::CryostatID,&GeometryCore::begin_TPCset_id,&GeometryCore::end_TPCset_id > | IterateTPCsetIDs (geo::CryostatID const &cid) const |
Enables ranged-for loops on all TPC set IDs of the specified cryostat. More... | |
unsigned int | MaxROPs () const |
Returns the largest number of ROPs a TPC set in the detector has. More... | |
template<typename T > | |
readout::ROPDataContainer< T > | makeROPdata () const |
Returns a container with one entry per readout plane. More... | |
template<typename T > | |
readout::ROPDataContainer< T > | makeROPdata (T const &defValue) const |
Returns a container with one entry per readout plane. More... | |
bool | HasROP (readout::ROPID const &ropid) const |
bool | HasElement (readout::ROPID const &ropid) const |
readout::ROPID | WirePlaneToROP (geo::PlaneID const &planeid) const |
Returns the ID of the ROP planeid belongs to. More... | |
std::vector< geo::PlaneID > | ROPtoWirePlanes (readout::ROPID const &ropid) const |
Returns a list of ID of planes belonging to the specified ROP. More... | |
std::vector< geo::TPCID > | ROPtoTPCs (readout::ROPID const &ropid) const |
Returns a list of ID of TPCs the specified ROP spans. More... | |
raw::ChannelID_t | FirstChannelInROP (readout::ROPID const &ropid) const |
Returns the ID of the first channel in the specified readout plane. More... | |
void | GetBeginID (readout::ROPID &id) const |
Initializes the specified ID with the ID of the first readout plane. More... | |
void | GetEndID (readout::ROPID &id) const |
Initializes the specified ID with the invalid ID after the last ROP. More... | |
bool | IncrementID (readout::ROPID &id) const |
readout::ROPID | GetBeginROPID (geo::CryostatID const &id) const |
Returns the ID of the first readout plane of the specified cryostat. More... | |
readout::ROPID | GetEndROPID (geo::CryostatID const &id) const |
readout::ROPID | GetBeginROPID (readout::TPCsetID const &id) const |
Returns the ID of the first readout plane of the specified TPC set. More... | |
readout::ROPID | GetEndROPID (readout::TPCsetID const &id) const |
ROP_id_iterator | begin_ROP_id () const |
Returns an iterator pointing to the first ROP ID in the detector. More... | |
ROP_id_iterator | end_ROP_id () const |
Returns an iterator pointing after the last ROP ID in the detector. More... | |
ROP_id_iterator | begin_ROP_id (geo::CryostatID const &ID) const |
ROP_id_iterator | end_ROP_id (geo::CryostatID const &ID) const |
ROP_id_iterator | begin_ROP_id (readout::TPCsetID const &ID) const |
ROP_id_iterator | end_ROP_id (readout::TPCsetID const &ID) const |
IteratorBox< ROP_id_iterator,&GeometryCore::begin_ROP_id,&GeometryCore::end_ROP_id > | IterateROPIDs () const |
Enables ranged-for loops on all readout plane IDs of the detector. More... | |
LocalIteratorBox< ROP_id_iterator, geo::CryostatID,&GeometryCore::begin_ROP_id,&GeometryCore::end_ROP_id > | IterateROPIDs (geo::CryostatID const &cid) const |
Enables ranged-for loops on all readout plane IDs of the specified cryostat. More... | |
LocalIteratorBox< ROP_id_iterator, readout::TPCsetID,&GeometryCore::begin_ROP_id,&GeometryCore::end_ROP_id > | IterateROPIDs (readout::TPCsetID const &sid) const |
Enables ranged-for loops on all readout plane IDs of the specified TPC set. More... | |
geo::View_t | View (readout::ROPID const &ropid) const |
Returns the view of the channels in the specified readout plane. More... | |
geo::SigType_t | SignalType (readout::ROPID const &ropid) const |
Returns the type of signal of channels in specified readout plane. More... | |
bool | ValueInRange (double value, double min, double max) const |
Returns whether a value is within the specified range. More... | |
template<typename Point > | |
geo::GeometryCore::Segment< Point > | WireEndPoints (geo::WireID const &wireid) const |
Detector information | |
std::string | DetectorName () const |
Returns a string with the name of the detector, as configured. More... | |
TGeoVolume const * | WorldVolume () const |
Returns a pointer to the world volume. More... | |
void | WorldBox (double *xlo, double *xhi, double *ylo, double *yhi, double *zlo, double *zhi) const |
Fills the arguments with the boundaries of the world. More... | |
geo::BoxBoundedGeo | WorldBox () const |
geo::Length_t | SurfaceY () const |
The position of the detector respect to earth surface. More... | |
TGeoManager * | ROOTGeoManager () const |
Access to the ROOT geometry description manager. More... | |
const std::string | GetWorldVolumeName () const |
Return the name of the world volume (needed by Geant4 simulation) More... | |
geo::BoxBoundedGeo | DetectorEnclosureBox (std::string const &name="volDetEnclosure") const |
std::string | VolumeName (geo::Point_t const &point) const |
Returns the name of the deepest volume containing specified point. More... | |
std::string | VolumeName (TVector3 const &point) const |
Returns a string with the name of the detector, as configured. More... | |
std::string | MaterialName (TVector3 const &point) const |
Name of the deepest material containing the point xyz. More... | |
std::string | MaterialName (geo::Point_t const &point) const |
Name of the deepest material containing the point xyz. More... | |
double | TotalMass () const |
Returns the total mass [kg] of the specified volume (default: world). More... | |
double | TotalMass (std::string vol) const |
Returns the total mass [kg] of the specified volume (default: world). More... | |
double | MassBetweenPoints (geo::Point_t const &p1, geo::Point_t const &p2) const |
Returns the column density between two points. More... | |
double | MassBetweenPoints (double *p1, double *p2) const |
Returns the column density between two points. More... | |
Cryostat access and information | |
unsigned int | Ncryostats () const |
Returns the number of cryostats in the detector. More... | |
unsigned int | NElements () const |
Returns the number of cryostats in the detector. More... | |
unsigned int | NSiblingElements (geo::CryostatID const &) const |
Returns the number of cryostats in the detector. More... | |
bool | HasCryostat (geo::CryostatID const &cryoid) const |
Returns whether we have the specified cryostat. More... | |
bool | HasElement (geo::CryostatID const &cryoid) const |
Returns whether we have the specified cryostat. More... | |
CryostatGeo const & | Cryostat (geo::CryostatID const &cryoid) const |
Returns the specified cryostat. More... | |
CryostatGeo const & | Cryostat (unsigned int const cstat=0) const |
Returns the specified cryostat. More... | |
CryostatGeo const & | GetElement (geo::CryostatID const &cryoid) const |
Returns the specified cryostat. More... | |
CryostatGeo const * | CryostatPtr (geo::CryostatID const &cryoid) const |
Returns the specified cryostat. More... | |
CryostatGeo const * | GetElementPtr (geo::CryostatID const &cryoid) const |
Returns the specified cryostat. More... | |
geo::CryostatID::CryostatID_t | FindCryostatAtPosition (geo::Point_t const &worldLoc) const |
Returns the index of the cryostat at specified location. More... | |
geo::CryostatID::CryostatID_t | FindCryostatAtPosition (double const worldLoc[3]) const |
Returns the index of the cryostat at specified location. More... | |
CryostatGeo const & | PositionToCryostat (geo::Point_t const &point) const |
Returns the cryostat at specified location. More... | |
CryostatGeo const & | PositionToCryostat (double const point[3]) const |
Returns the cryostat at specified location. More... | |
geo::Length_t | CryostatHalfWidth (geo::CryostatID const &cid) const |
Returns the half width of the cryostat (x direction) More... | |
geo::Length_t | CryostatHalfWidth (unsigned int cstat=0) const |
Returns the half width of the cryostat (x direction) More... | |
geo::Length_t | CryostatHalfHeight (geo::CryostatID const &cid) const |
Returns the height of the cryostat (y direction) More... | |
geo::Length_t | CryostatHalfHeight (unsigned int cstat=0) const |
Returns the height of the cryostat (y direction) More... | |
geo::Length_t | CryostatLength (geo::CryostatID const &cid) const |
Returns the length of the cryostat (z direction) More... | |
geo::Length_t | CryostatLength (unsigned int cstat=0) const |
Returns the length of the cryostat (z direction) More... | |
std::string | GetCryostatVolumeName (geo::CryostatID const &cid) const |
Return the name of LAr TPC volume. More... | |
std::string | GetCryostatVolumeName (unsigned int const cstat=0) const |
Return the name of LAr TPC volume. More... | |
TPC access and information | |
unsigned int | NTPC (unsigned int cstat=0) const |
Returns the total number of TPCs in the specified cryostat. More... | |
unsigned int | MaxTPCs () const |
Returns the largest number of TPCs a cryostat in the detector has. More... | |
unsigned int | TotalNTPC () const |
Returns the total number of TPCs in the detector. More... | |
template<typename T > | |
geo::TPCDataContainer< T > | makeTPCData () const |
Returns a container with one entry per TPC. More... | |
template<typename T > | |
geo::TPCDataContainer< T > | makeTPCData (T const &defValue) const |
Returns a container with one entry per TPC. More... | |
unsigned int | NTPC (geo::CryostatID const &cryoid) const |
Returns the total number of TPCs in the specified cryostat. More... | |
unsigned int | NElements (geo::CryostatID const &cryoid) const |
Returns the total number of TPCs in the specified cryostat. More... | |
unsigned int | NSiblingElements (geo::TPCID const &tpcid) const |
Returns the total number of TPCs in the specified cryostat. More... | |
TPCGeo const & | TPC (unsigned int const tpc=0, unsigned int const cstat=0) const |
Returns the specified TPC. More... | |
TPCGeo const & | TPC (geo::TPCID const &tpcid) const |
Returns the specified TPC. More... | |
TPCGeo const & | GetElement (geo::TPCID const &tpcid) const |
Returns the specified TPC. More... | |
TPCGeo const * | TPCPtr (geo::TPCID const &tpcid) const |
Returns the specified TPC. More... | |
TPCGeo const * | GetElementPtr (geo::TPCID const &tpcid) const |
Returns the specified TPC. More... | |
geo::TPCID | FindTPCAtPosition (geo::Point_t const &point) const |
Returns the ID of the TPC at specified location. More... | |
geo::TPCID | FindTPCAtPosition (TVector3 const &point) const |
Returns the ID of the TPC at specified location. More... | |
geo::TPCGeo const & | PositionToTPC (geo::Point_t const &point) const |
Returns the TPC at specified location. More... | |
TPCGeo const & | PositionToTPC (double const point[3]) const |
Returns the TPC at specified location. More... | |
geo::Length_t | DetHalfWidth (geo::TPCID const &tpcid) const |
Returns the half width of the active volume of the specified TPC. More... | |
geo::Length_t | DetHalfWidth (unsigned int tpc=0, unsigned int cstat=0) const |
Returns the half width of the active volume of the specified TPC. More... | |
geo::Length_t | DetHalfHeight (geo::TPCID const &tpcid) const |
Returns the half height of the active volume of the specified TPC. More... | |
geo::Length_t | DetHalfHeight (unsigned int tpc=0, unsigned int cstat=0) const |
Returns the half height of the active volume of the specified TPC. More... | |
geo::Length_t | DetLength (geo::TPCID const &tpcid) const |
Returns the length of the active volume of the specified TPC. More... | |
geo::Length_t | DetLength (unsigned int tpc=0, unsigned int cstat=0) const |
Returns the length of the active volume of the specified TPC. More... | |
template<typename Point > | |
Point | GetTPCFrontFaceCenter (geo::TPCID const &tpcid) const |
Returns the center of side of the detector facing the beam. More... | |
DefaultPoint_t | GetTPCFrontFaceCenter (geo::TPCID const &tpcid) const |
Returns the center of side of the detector facing the beam. More... | |
template<typename Point > | |
Point | GetTPCFrontFaceCenter (unsigned int tpc=0, unsigned int cstat=0) const |
Returns the center of side of the detector facing the beam. More... | |
DefaultPoint_t | GetTPCFrontFaceCenter (unsigned int tpc=0, unsigned int cstat=0) const |
Returns the center of side of the detector facing the beam. More... | |
std::string | GetLArTPCVolumeName (geo::TPCID const &tpcid) const |
Return the name of specified LAr TPC volume. More... | |
std::string | GetLArTPCVolumeName (unsigned int const tpc=0, unsigned int const cstat=0) const |
Return the name of specified LAr TPC volume. More... | |
Plane access and information | |
unsigned int | Nplanes (unsigned int tpc=0, unsigned int cstat=0) const |
Returns the total number of wire planes in the specified TPC. More... | |
unsigned int | MaxPlanes () const |
Returns the largest number of planes among all TPCs in this detector. More... | |
template<typename T > | |
geo::PlaneDataContainer< T > | makePlaneData () const |
Returns a container with one entry per wire plane. More... | |
template<typename T > | |
geo::PlaneDataContainer< T > | makePlaneData (T const &defValue) const |
Returns a container with one entry per wire plane. More... | |
unsigned int | Nplanes (geo::TPCID const &tpcid) const |
Returns the total number of planes in the specified TPC. More... | |
unsigned int | NElements (geo::TPCID const &tpcid) const |
Returns the total number of wire planes in the specified TPC. More... | |
unsigned int | NSiblingElements (geo::PlaneID const &planeid) const |
Returns the total number of wire planes in the specified TPC. More... | |
bool | HasPlane (geo::PlaneID const &planeid) const |
Returns whether we have the specified plane. More... | |
bool | HasElement (geo::PlaneID const &planeid) const |
Returns whether we have the specified plane. More... | |
PlaneGeo const & | Plane (unsigned int const p, unsigned int const tpc=0, unsigned int const cstat=0) const |
Returns the specified wire. More... | |
PlaneGeo const & | Plane (geo::PlaneID const &planeid) const |
Returns the specified wire. More... | |
PlaneGeo const & | GetElement (geo::PlaneID const &planeid) const |
Returns the specified wire. More... | |
PlaneGeo const * | PlanePtr (geo::PlaneID const &planeid) const |
Returns the specified plane. More... | |
PlaneGeo const * | GetElementPtr (geo::PlaneID const &planeid) const |
Returns the specified plane. More... | |
geo::Length_t | PlanePitch (geo::TPCID const &tpcid, geo::PlaneID::PlaneID_t p1=0, geo::PlaneID::PlaneID_t p2=1) const |
Returns the distance between two planes. More... | |
geo::Length_t | PlanePitch (geo::PlaneID const &pid1, geo::PlaneID const &pid2) const |
Returns the distance between two planes. More... | |
geo::Length_t | PlanePitch (unsigned int p1=0, unsigned int p2=1, unsigned int tpc=0, unsigned int cstat=0) const |
Returns the distance between two planes. More... | |
Wire access and information | |
unsigned int | Nwires (unsigned int p, unsigned int tpc=0, unsigned int cstat=0) const |
Returns the total number of wires in the specified plane. More... | |
unsigned int | Nwires (geo::PlaneID const &planeid) const |
Returns the total number of wires in the specified plane. More... | |
unsigned int | NElements (geo::PlaneID const &planeid) const |
Returns the total number of wires in the specified plane. More... | |
unsigned int | NSiblingElements (geo::WireID const &wireid) const |
Returns the total number of wires in the specified plane. More... | |
unsigned int | MaxWires () const |
Returns the largest number of wires among all planes in this detector. More... | |
bool | HasWire (geo::WireID const &wireid) const |
Returns whether we have the specified wire. More... | |
bool | HasElement (geo::WireID const &wireid) const |
Returns whether we have the specified wire. More... | |
WireGeo const * | WirePtr (geo::WireID const &wireid) const |
Returns the specified wire. More... | |
WireGeo const * | GetElementPtr (geo::WireID const &wireid) const |
Returns the specified wire. More... | |
WireGeo const & | Wire (geo::WireID const &wireid) const |
Returns the specified wire. More... | |
WireGeo const & | WireIDToWireGeo (geo::WireID const &wireid) const |
Returns the specified wire. More... | |
WireGeo const & | GetElement (geo::WireID const &wireid) const |
Returns the specified wire. More... | |
geo::Length_t | WirePitch (geo::PlaneID const &planeid) const |
Returns the distance between two consecutive wires. More... | |
geo::Length_t | WirePitch (unsigned int plane=0, unsigned int tpc=0, unsigned int cstat=0) const |
Returns the distance between two consecutive wires. More... | |
double | WireAngleToVertical (geo::View_t view, geo::TPCID const &tpcid) const |
Returns the angle of the wires in the specified view from vertical. More... | |
double | WireAngleToVertical (geo::View_t view, int TPC=0, int Cryo=0) const |
Returns the angle of the wires in the specified view from vertical. 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. | |
void | WireEndPoints (geo::WireID const &wireid, double *xyzStart, double *xyzEnd) const |
Fills two arrays with the coordinates of the wire end points. More... | |
void | WireEndPoints (unsigned int cstat, unsigned int tpc, unsigned int plane, unsigned int wire, double *xyzStart, double *xyzEnd) const |
Fills two arrays with the coordinates of the wire end points. More... | |
template<typename Point > | |
Segment< Point > | WireEndPoints (geo::WireID const &wireID) const |
Returns a segment whose ends are the wire end points. More... | |
Segment< DefaultPoint_t > | WireEndPoints (geo::WireID const &wireID) const |
Fills two arrays with the coordinates of the wire end points. More... | |
geo::WireID | NearestWireID (const double point[3], geo::PlaneID const &planeid) const |
Returns the ID of wire closest to position in the specified TPC. More... | |
geo::WireID | NearestWireID (std::vector< double > const &point, geo::PlaneID const &planeid) const |
Returns the ID of wire closest to position in the specified TPC. More... | |
geo::WireID | NearestWireID (const TVector3 &point, geo::PlaneID const &planeid) const |
Returns the ID of wire closest to position in the specified TPC. More... | |
geo::WireID | NearestWireID (const double point[3], unsigned int const PlaneNo, unsigned int const TPCNo=0, unsigned int const cstat=0) const |
Returns the ID of wire closest to position in the specified TPC. More... | |
geo::WireID | NearestWireID (std::vector< double > const &point, unsigned int const PlaneNo, unsigned int const TPCNo=0, unsigned int const cstat=0) const |
Returns the ID of wire closest to position in the specified TPC. More... | |
geo::WireID | NearestWireID (const TVector3 &point, unsigned int const PlaneNo, unsigned int const TPCNo=0, unsigned int const cstat=0) const |
Returns the ID of wire closest to position in the specified TPC. More... | |
geo::WireID | NearestWireID (geo::Point_t const &point, unsigned int const PlaneNo, unsigned int const TPCNo=0, unsigned int const cstat=0) const |
Returns the ID of wire closest to position in the specified TPC. More... | |
unsigned int | NearestWire (const double worldLoc[3], geo::PlaneID const &planeid) const |
Returns the index of wire closest to position in the specified TPC. More... | |
unsigned int | NearestWire (std::vector< double > const &worldLoc, geo::PlaneID const &planeid) const |
Returns the index of wire closest to position in the specified TPC. More... | |
unsigned int | NearestWire (const TVector3 &worldLoc, geo::PlaneID const &planeid) const |
Returns the index of wire closest to position in the specified TPC. More... | |
unsigned int | NearestWire (const double worldLoc[3], unsigned int const PlaneNo, unsigned int const TPCNo=0, unsigned int const cstat=0) const |
Returns the index of wire closest to position in the specified TPC. More... | |
unsigned int | NearestWire (std::vector< double > const &worldLoc, unsigned int const PlaneNo, unsigned int const TPCNo=0, unsigned int const cstat=0) const |
Returns the index of wire closest to position in the specified TPC. More... | |
unsigned int | NearestWire (const TVector3 &worldLoc, unsigned int const PlaneNo, unsigned int const TPCNo=0, unsigned int const cstat=0) const |
Returns the index of wire closest to position in the specified TPC. More... | |
unsigned int | NearestWire (geo::Point_t const &worldLoc, unsigned int const PlaneNo, unsigned int const TPCNo=0, unsigned int const cstat=0) const |
Returns the index of wire closest to position in the specified TPC. More... | |
geo::Length_t | WireCoordinate (geo::Point_t const &pos, geo::PlaneID const &planeid) const |
Returns the index of the nearest wire to the specified position. More... | |
geo::Length_t | WireCoordinate (TVector3 const &pos, geo::PlaneID const &planeid) const |
Returns the index of the nearest wire to the specified position. More... | |
bool | WireIDsIntersect (WireID const &wid1, WireID const &wid2, geo::Point_t &intersection) const |
Computes the intersection between two wires. More... | |
bool | WireIDsIntersect (WireID const &wid1, WireID const &wid2, TVector3 &intersection) const |
Computes the intersection between two wires. More... | |
double | ThirdPlaneSlope (geo::PlaneID::PlaneID_t plane1, double slope1, geo::PlaneID::PlaneID_t plane2, double slope2, geo::TPCID const &tpcid) const |
Returns the slope on the third plane, given it in the other two. More... | |
double | ThirdPlaneSlope (unsigned int plane1, double slope1, unsigned int plane2, double slope2, unsigned int tpc, unsigned int cstat) const |
Returns the slope on the third plane, given it in the other two. More... | |
Optical detector geometry access and information | |
There are a number of ways to identify an optical detector or channel:
And they all should be better documented! | |
unsigned int | NOpDets () const |
Number of OpDets in the whole detector. More... | |
OpDetGeo const & | OpDetGeoFromOpChannel (unsigned int OpChannel) const |
Returns the geo::OpDetGeo object for the given channel number. More... | |
OpDetGeo const & | OpDetGeoFromOpDet (unsigned int OpDet) const |
Returns the geo::OpDetGeo object for the given detector number. More... | |
unsigned int | GetClosestOpDet (geo::Point_t const &point) const |
Find the nearest OpChannel to some point. More... | |
unsigned int | GetClosestOpDet (double const *point) const |
Number of OpDets in the whole detector. More... | |
Auxiliary detectors access and information | |
unsigned int | NAuxDets () const |
Returns the number of auxiliary detectors. More... | |
unsigned int | NAuxDetSensitive (size_t const &aid) const |
Returns the number of sensitive components of auxiliary detector. More... | |
AuxDetGeo const & | AuxDet (unsigned int const ad=0) const |
Returns the specified auxiliary detector. More... | |
unsigned int | FindAuxDetAtPosition (double const worldLoc[3]) const |
Returns the index of the auxiliary detector at specified location. More... | |
unsigned int | FindAuxDetAtPosition (geo::Point_t const &point) const |
Returns the index of the auxiliary detector at specified location. More... | |
void | FindAuxDetSensitiveAtPosition (geo::Point_t const &point, std::size_t &adg, std::size_t &sv) const |
Fills the indices of the sensitive auxiliary detector at location. More... | |
void | FindAuxDetSensitiveAtPosition (double const worldLoc[3], size_t &adg, size_t &sv) const |
Fills the indices of the sensitive auxiliary detector at location. More... | |
AuxDetGeo const & | PositionToAuxDet (geo::Point_t const &point, unsigned int &ad) const |
Returns the auxiliary detector at specified location. More... | |
AuxDetGeo const & | PositionToAuxDet (double const worldLoc[3], unsigned int &ad) const |
Returns the auxiliary detector at specified location. More... | |
const AuxDetSensitiveGeo & | PositionToAuxDetSensitive (geo::Point_t const &point, size_t &ad, size_t &sv) const |
Returns the auxiliary detector at specified location. More... | |
const AuxDetSensitiveGeo & | PositionToAuxDetSensitive (double const worldLoc[3], size_t &ad, size_t &sv) const |
Returns the auxiliary detector at specified location. More... | |
const AuxDetGeo & | ChannelToAuxDet (std::string const &auxDetName, uint32_t const &channel) const |
Returns the number of auxiliary detectors. More... | |
const AuxDetSensitiveGeo & | ChannelToAuxDetSensitive (std::string const &auxDetName, uint32_t const &channel) const |
Returns the number of auxiliary detectors. More... | |
TPC readout channels and views | |
unsigned int | Nchannels () const |
Returns the number of TPC readout channels in the detector. More... | |
unsigned int | Nchannels (readout::ROPID const &ropid) const |
Returns the number of channels in the specified ROP. More... | |
std::vector< raw::ChannelID_t > | ChannelsInTPCs () const |
Returns an std::vector<ChannelID_t> in all TPCs in a TPCSet. More... | |
std::set< geo::View_t > const & | Views () const |
Returns a list of possible views in the detector. More... | |
bool | HasChannel (raw::ChannelID_t channel) const |
Returns whether the specified channel exists and is valid. More... | |
raw::ChannelID_t | PlaneWireToChannel (WireID const &wireid) const |
Returns the ID of the TPC channel connected to the specified wire. More... | |
raw::ChannelID_t | PlaneWireToChannel (unsigned int const plane, unsigned int const wire, unsigned int const tpc=0, unsigned int const cstat=0) const |
Returns the number of TPC readout channels in the detector. More... | |
raw::ChannelID_t | NearestChannel (const double worldLoc[3], geo::PlaneID const &planeid) const |
Returns the ID of the channel nearest to the specified position. More... | |
raw::ChannelID_t | NearestChannel (std::vector< double > const &worldLoc, geo::PlaneID const &planeid) const |
Returns the ID of the channel nearest to the specified position. More... | |
raw::ChannelID_t | NearestChannel (const TVector3 &worldLoc, geo::PlaneID const &planeid) const |
Returns the ID of the channel nearest to the specified position. More... | |
raw::ChannelID_t | NearestChannel (const double worldLoc[3], unsigned int const PlaneNo, unsigned int const TPCNo=0, unsigned int const cstat=0) const |
Returns the ID of the channel nearest to the specified position. More... | |
raw::ChannelID_t | NearestChannel (std::vector< double > const &worldLoc, unsigned int const PlaneNo, unsigned int const TPCNo=0, unsigned int const cstat=0) const |
Returns the ID of the channel nearest to the specified position. More... | |
raw::ChannelID_t | NearestChannel (const TVector3 &worldLoc, unsigned int const PlaneNo, unsigned int const TPCNo=0, unsigned int const cstat=0) const |
Returns the ID of the channel nearest to the specified position. More... | |
raw::ChannelID_t | NearestChannel (geo::Point_t const &worldLoc, unsigned int const PlaneNo, unsigned int const TPCNo=0, unsigned int const cstat=0) const |
Returns the ID of the channel nearest to the specified position. More... | |
TPC set information | |
unsigned int | NTPCsets (readout::CryostatID const &cryoid) const |
Returns the total number of TPC sets in the specified cryostat. More... | |
unsigned int | NSiblingElements (readout::TPCsetID const &tpcsetid) const |
Returns the total number of TPC sets in the specified cryostat. More... | |
Readout plane information | |
unsigned int | NROPs (readout::TPCsetID const &tpcsetid) const |
Returns the total number of ROP in the specified TPC set. More... | |
unsigned int | NSiblingElements (readout::ROPID const &ropid) const |
Returns the total number of ROP in the specified TPC set. More... | |
Optical readout channels | |
unsigned int | NOpChannels () const |
Number of electronics channels for all the optical detectors. More... | |
unsigned int | MaxOpChannel () const |
Largest optical channel number. More... | |
unsigned int | NOpHardwareChannels (int opDet) const |
Number of electronics channels for all the optical detectors. More... | |
bool | IsValidOpChannel (int opChannel) const |
Is this a valid OpChannel number? More... | |
unsigned int | OpChannel (int detNum, int hardwareChannel) const |
Convert detector number and hardware channel to unique channel. More... | |
unsigned int | OpDetFromOpChannel (int opChannel) const |
Convert unique channel to detector number. More... | |
unsigned int | HardwareChannelFromOpChannel (int opChannel) const |
Convert unique channel to hardware channel. More... | |
unsigned int | OpDetFromCryo (unsigned int o, unsigned int c) const |
Get unique opdet number from cryo and internal count. More... | |
Geometry initialization | |
void | LoadGeometryFile (std::string gdmlfile, std::string rootfile, geo::GeometryBuilder &builder, bool bForceReload=false) |
Loads the geometry information from the specified files. More... | |
void | LoadGeometryFile (std::string gdmlfile, std::string rootfile, bool bForceReload=false) |
Loads the geometry information from the specified files. More... | |
void | ApplyChannelMap (std::unique_ptr< geo::ChannelMapAlg > pChannelMap) |
Initializes the geometry to work with this channel map. More... | |
Static Public Member Functions | |
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... | |
Static Public Attributes | |
static constexpr std::size_t | MaxWireDepthInGDML = 20U |
static lar::util::RealComparisons< geo::Length_t > | coordIs { 1e-8 } |
Value of tolerance for equality comparisons. More... | |
Protected Member Functions | |
void | SetDetectorName (std::string const &new_name) |
Sets the detector name. More... | |
geo::ChannelMapAlg const * | ChannelMap () const |
Returns the object handling the channel map. More... | |
CryostatList_t & | Cryostats () |
Return the internal cryostat list. More... | |
CryostatList_t const & | Cryostats () const |
Return the internal cryostat list. More... | |
AuxDetList_t & | AuxDets () |
Return the interfal auxiliary detectors list. More... | |
AuxDetList_t const & | AuxDets () const |
Return the interfal auxiliary detectors list. More... | |
Private Types | |
using | DefaultVector_t = TVector3 |
Default template argument. More... | |
using | DefaultPoint_t = TVector3 |
Default template argument. More... | |
Private Member Functions | |
std::vector< TGeoNode const * > | FindDetectorEnclosure (std::string const &name="volDetEnclosure") const |
bool | FindFirstVolume (std::string const &name, std::vector< const TGeoNode * > &path) const |
void | BuildGeometry (geo::GeometryBuilder &builder) |
bool | WireIDIntersectionCheck (const geo::WireID &wid1, const geo::WireID &wid2) const |
Wire ID check for WireIDsIntersect methods. More... | |
void | SortGeometry (geo::GeoObjectSorter const &sorter) |
Runs the sorting of geometry with the sorter provided by channel mapping. More... | |
void | UpdateAfterSorting () |
Performs all the updates needed after sorting. More... | |
void | ClearGeometry () |
Deletes the detector geometry structures. More... | |
Static Private Member Functions | |
static bool | PointWithinSegments (double A_start_x, double A_start_y, double A_end_x, double A_end_y, double B_start_x, double B_start_y, double B_end_x, double B_end_y, double x, double y) |
Returns whether x and y are within both specified ranges (A and B). More... | |
static void | CheckIndependentPlanesOnSameTPC (geo::PlaneID const &pid1, geo::PlaneID const &pid2, const char *caller) |
Private Attributes | |
GeometryData_t | fGeoData |
The detector description data. More... | |
double | fSurfaceY |
The point where air meets earth for this detector. More... | |
std::string | fDetectorName |
Name of the detector. More... | |
std::string | fGDMLfile |
path to geometry file used for Geant4 simulation More... | |
std::string | fROOTfile |
path to geometry file for geometry in GeometryCore More... | |
double | fMinWireZDist |
double | fPositionWiggle |
accounting for rounding errors when testing positions More... | |
fhicl::ParameterSet | fBuilderParameters |
std::unique_ptr< const geo::ChannelMapAlg > | fChannelMapAlg |
Object containing the channel to wire mapping. More... | |
std::set< geo::View_t > | allViews |
All views in the detector. More... | |
Description of geometry of one entire detector.
Instantiation is a multi-step procedure:
Step 3 (creation of the channel mapping algorithm object) can be performed at any time before step 4, provided that no GeometryCore instance is needed for it.
Definition at line 1468 of file GeometryCore.h.
Type of list of auxiliary detectors.
Definition at line 1505 of file GeometryCore.h.
Forward-iterator browsing all cryostat IDs in the detector.
Usage example with a while loop:
The recommended way to iterate is actually to use GeometryCore::IterateCryostatIDs()
in a range-for loop. It is recommended to save the end iterator rather than calling GeometryCore::end_cryostat_id()
on every check.
Definition at line 1536 of file GeometryCore.h.
Forward-iterator browsing all cryostats in the detector.
Usage example with a while loop:
The recommended way to iterate is actually to use GeometryCore::IterateCryostats()
in a range-for loop. It is recommended to save the end iterator rather than calling GeometryCore::end_cryostat()
on every check.
Definition at line 1557 of file GeometryCore.h.
Type of list of cryostats.
Definition at line 1503 of file GeometryCore.h.
|
private |
Default template argument.
Definition at line 1471 of file GeometryCore.h.
|
private |
Default template argument.
Definition at line 1470 of file GeometryCore.h.
Definition at line 1477 of file GeometryCore.h.
Forward-iterator browsing all plane IDs in the detector.
Usage example with a while loop:
The recommended way to iterate is actually to use GeometryCore::IteratePlaneIDs()
in a range-for loop. It is recommended to save the end iterator rather than calling GeometryCore::end_plane_id()
on every check.
Definition at line 1627 of file GeometryCore.h.
Forward-iterator browsing all planes in the detector.
Usage example with a while loop:
The recommended way to iterate is actually to use GeometryCore::IteratePlanes()
in a range-for loop. It is recommended to save the end iterator rather than calling GeometryCore::end_plane()
on every check.
Definition at line 1649 of file GeometryCore.h.
Definition at line 1500 of file GeometryCore.h.
Forward-iterator browsing all TPC IDs in the detector.
Usage example with a while loop:
The recommended way to iterate is actually to use GeometryCore::IterateTPCIDs()
in a range-for loop. It is recommended to save the end iterator rather than calling GeometryCore::end_TPC_id()
on every check.
Definition at line 1581 of file GeometryCore.h.
Forward-iterator browsing all TPCs in the detector.
Usage example with a while loop:
The recommended way to iterate is actually to use GeometryCore::IterateTPCs()
in a range-for loop. It is recommended to save the end iterator rather than calling GeometryCore::end_TPC()
on every check.
Definition at line 1603 of file GeometryCore.h.
Forward-iterator browsing all wire IDs in the detector.
Usage example with a while loop:
The recommended way to iterate is actually to use GeometryCore::IterateWireIDs()
in a range-for loop. It is recommended to save the end iterator rather than calling GeometryCore::end_wire_id()
on every check.
Definition at line 1673 of file GeometryCore.h.
Forward-iterator browsing all wires in the detector.
Usage example with a while loop:
The recommended way to iterate is actually to use GeometryCore::IterateWires()
in a range-for loop. It is recommended to save the end iterator rather than calling GeometryCore::end_wire()
on every check.
Definition at line 1695 of file GeometryCore.h.
geo::GeometryCore::GeometryCore | ( | fhicl::ParameterSet const & | pset | ) |
Initialize geometry from a given configuration.
pset | configuration parameters |
This constructor does not load any geometry description. The next step is to do exactly that, by GeometryCore::LoadGeometryFile().
Definition at line 58 of file GeometryCore.cxx.
References fDetectorName.
geo::GeometryCore::~GeometryCore | ( | ) |
Destructor.
Definition at line 74 of file GeometryCore.cxx.
References ApplyChannelMap(), and ClearGeometry().
|
delete |
|
delete |
void geo::GeometryCore::ApplyChannelMap | ( | std::unique_ptr< geo::ChannelMapAlg > | pChannelMap | ) |
Initializes the geometry to work with this channel map.
pChannelMap | a pointer to the channel mapping algorithm to be used |
The specified channel mapping is used with this geometry. These modifications typically involve some resorting of the objects.
This method needs to be called after LoadGeometryFile() to complete the geometry initialization.
Definition at line 81 of file GeometryCore.cxx.
References fChannelMapAlg, fGeoData, geo::ChannelMapAlg::Initialize(), geo::ChannelMapAlg::Sorter(), SortGeometry(), and UpdateAfterSorting().
Referenced by geo::Geometry::InitializeChannelMap(), and ~GeometryCore().
const AuxDetGeo & geo::GeometryCore::AuxDet | ( | unsigned int const | ad = 0 | ) | const |
Returns the specified auxiliary detector.
ad | the auxiliary detector index |
what happens if it does not exist?
remove the default parameter?
Definition at line 324 of file GeometryCore.cxx.
References AuxDets(), and NAuxDets().
Referenced by ChannelToAuxDet(), ChannelToAuxDetSensitive(), PositionToAuxDet(), PositionToAuxDetSensitive(), and larg4::LArG4::produce().
|
inlineprotected |
Return the interfal auxiliary detectors list.
Definition at line 5475 of file GeometryCore.h.
Referenced by AuxDet(), BuildGeometry(), ChannelToAuxDet(), ChannelToAuxDetSensitive(), ClearGeometry(), FindAuxDetAtPosition(), FindAuxDetSensitiveAtPosition(), NAuxDetSensitive(), and SortGeometry().
|
inlineprotected |
Return the interfal auxiliary detectors list.
Definition at line 5476 of file GeometryCore.h.
|
inline |
Returns an iterator pointing to the first cryostat.
Definition at line 2154 of file GeometryCore.h.
References geo::details::geometry_iterator_types::begin_pos.
Referenced by evd_tool::ICARUSDrawer::DetOutline3D(), and IterateCryostatIDs().
|
inline |
Returns an iterator pointing to the first cryostat ID.
Definition at line 2146 of file GeometryCore.h.
References geo::details::geometry_iterator_types::begin_pos.
Referenced by end_cryostat().
|
inline |
Returns an iterator pointing to the first plane in the detector.
Definition at line 3084 of file GeometryCore.h.
References geo::details::geometry_iterator_types::begin_pos.
Referenced by IteratePlaneIDs(), and IteratePlanes().
|
inline |
Returns an iterator pointing to the first plane in the specified cryostat.
Definition at line 3093 of file GeometryCore.h.
|
inline |
Returns an iterator pointing to the first plane in the specified TPC.
Definition at line 3102 of file GeometryCore.h.
|
inline |
Returns an iterator pointing to the first plane ID in the detector.
Definition at line 3056 of file GeometryCore.h.
References geo::details::geometry_iterator_types::begin_pos.
Referenced by end_plane(), IteratePlaneIDs(), and shower::TCShowerAlg::makeShowers().
|
inline |
Returns an iterator pointing to the first plane ID in the specified cryostat.
Definition at line 3065 of file GeometryCore.h.
|
inline |
Returns an iterator pointing to the first plane ID in the specified TPC.
Definition at line 3075 of file GeometryCore.h.
|
inline |
Returns an iterator pointing to the first ROP ID in the detector.
Definition at line 5204 of file GeometryCore.h.
References geo::details::geometry_iterator_types::begin_pos.
Referenced by end_ROP_id(), and IterateROPIDs().
|
inline |
Returns an iterator pointing to the first readout plane ID in the specified cryostat.
Definition at line 5213 of file GeometryCore.h.
|
inline |
Returns an iterator pointing to the first readout plane ID in the specified TPC set.
Definition at line 5223 of file GeometryCore.h.
|
inline |
Returns an iterator pointing to the first TPC in the detector.
Definition at line 2564 of file GeometryCore.h.
References geo::details::geometry_iterator_types::begin_pos.
Referenced by lar::example::SpacePointIsolationAlg::fillAlgConfigFromGeometry(), IterateTPCIDs(), IterateTPCs(), and sim::MCRecoPart::MCRecoPart().
|
inline |
Returns an iterator pointing to the first TPC in the detector.
Definition at line 2572 of file GeometryCore.h.
|
inline |
Returns an iterator pointing to the first TPC ID in the detector.
Definition at line 2546 of file GeometryCore.h.
References geo::details::geometry_iterator_types::begin_pos.
Referenced by pma::PMAlgTracker::build(), end_TPC(), IterateTPCIDs(), and tss::TrackShowerHits::produce().
|
inline |
Returns an iterator pointing to the first TPC ID in the specified cryostat.
Definition at line 2555 of file GeometryCore.h.
|
inline |
Returns an iterator pointing to the first TPC set ID in the detector.
Definition at line 4969 of file GeometryCore.h.
References geo::details::geometry_iterator_types::begin_pos.
Referenced by end_TPCset_id(), and IterateTPCsetIDs().
|
inline |
Returns an iterator pointing to the first TPC set ID in the specified cryostat.
Definition at line 4978 of file GeometryCore.h.
|
inline |
Returns an iterator pointing to the first wire in the detector.
Definition at line 3504 of file GeometryCore.h.
References geo::details::geometry_iterator_types::begin_pos.
Referenced by IterateWireIDs(), and IterateWires().
|
inline |
Returns an iterator pointing to the first wire in specified cryostat.
Definition at line 3512 of file GeometryCore.h.
|
inline |
Returns an iterator pointing to the first wire in specified TPC.
Definition at line 3520 of file GeometryCore.h.
|
inline |
Returns an iterator pointing to the first wire in specified plane.
Definition at line 3528 of file GeometryCore.h.
|
inline |
Returns an iterator pointing to the first wire ID in the detector.
Definition at line 3471 of file GeometryCore.h.
References geo::details::geometry_iterator_types::begin_pos.
Referenced by end_wire(), IterateWireIDs(), lariov::SIOVElectronicsCalibProvider::Reconfigure(), and lariov::DetPedestalRetrievalAlg::Reconfigure().
|
inline |
Returns an iterator pointing to the first wire ID in specified cryostat.
Definition at line 3479 of file GeometryCore.h.
|
inline |
Returns an iterator pointing to the first wire ID in specified TPC.
Definition at line 3488 of file GeometryCore.h.
|
inline |
Returns an iterator pointing to the first wire ID in specified plane.
Definition at line 3496 of file GeometryCore.h.
|
private |
Parses ROOT geometry nodes and builds LArSoft geometry representation.
builder | the algorithm to be used |
Definition at line 1014 of file GeometryCore.cxx.
References AuxDets(), Cryostats(), geo::GeometryBuilder::extractAuxiliaryDetectors(), and geo::GeometryBuilder::extractCryostats().
Referenced by LoadGeometryFile().
|
inlineprotected |
Returns the object handling the channel map.
Definition at line 5464 of file GeometryCore.h.
bool geo::GeometryCore::ChannelsIntersect | ( | raw::ChannelID_t | c1, |
raw::ChannelID_t | c2, | ||
double & | y, | ||
double & | z | ||
) | const |
Returns an intersection point of two channels.
c1 | one channel ID |
c2 | the other channel ID |
y | (output) y coordinate of the intersection |
z | (output) z coordinate of the intersection |
what happens for channels from different TPCs?
what happens for channels with multiple intersection points?
Definition at line 1255 of file GeometryCore.cxx.
References ChannelToWire(), WireIDsIntersect(), geo::WireIDIntersection::y, and geo::WireIDIntersection::z.
Referenced by vertex::FeatureVertexFinder::Find3dVtxFrom2dClusterVtxCand(), evd::TWQMultiTPCProjectionView::FindEndPoint(), evd::TWQMultiTPCProjectionView::FindLineLength(), vertex::FeatureVertexFinder::Get3dVertexCandidates(), util::GeometryUtilities::GetProjectedPoint(), util::GeometryUtilities::GetYZ(), and vertex::VertexFinder2D::produce().
std::vector< raw::ChannelID_t > geo::GeometryCore::ChannelsInTPCs | ( | ) | const |
Returns an std::vector<ChannelID_t> in all TPCs in a TPCSet.
Definition at line 205 of file GeometryCore.cxx.
References fChannelMapAlg, IterateTPCsetIDs(), and IterateWireIDs().
const AuxDetGeo & geo::GeometryCore::ChannelToAuxDet | ( | std::string const & | auxDetName, |
uint32_t const & | channel | ||
) | const |
Returns the number of auxiliary detectors.
This method returns the total number of scintillator paddles (Auxiliary Detectors aka AuxDet) outside of the cryostat
Definition at line 539 of file GeometryCore.cxx.
References AuxDet(), AuxDets(), and fChannelMapAlg.
const AuxDetSensitiveGeo & geo::GeometryCore::ChannelToAuxDetSensitive | ( | std::string const & | auxDetName, |
uint32_t const & | channel | ||
) | const |
Returns the number of auxiliary detectors.
This method returns the total number of scintillator paddles (Auxiliary Detectors aka AuxDet) outside of the cryostat
Definition at line 547 of file GeometryCore.cxx.
References AuxDet(), AuxDets(), fChannelMapAlg, and geo::AuxDetGeo::SensitiveVolume().
readout::ROPID geo::GeometryCore::ChannelToROP | ( | raw::ChannelID_t | channel | ) | const |
Returns the ID of the ROP the channel belongs to
cet::exception | (category: "Geometry") if non-existent channel |
Definition at line 1097 of file GeometryCore.cxx.
References fChannelMapAlg, and WireCoordinate().
Referenced by reco3d::TripletFinder::FillBadMap(), reco3d::TripletFinder::FillHitMap(), and View().
std::vector< geo::WireID > geo::GeometryCore::ChannelToWire | ( | raw::ChannelID_t const | channel | ) | const |
Returns a list of wires connected to the specified TPC channel.
channel | TPC channel ID |
cet::exception | (category: "Geometry") if non-existent channel |
Definition at line 1091 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by hit::MCHitAnaExample::analyze(), MCBTDemo::analyze(), detsim::WienerFilterAna::analyze(), apa::APAGeometryAlg::APAChannelsIntersect(), lar_cluster3d::StandardHit3DBuilder::BuildChannelStatusVec(), ChannelsIntersect(), apa::APAGeometryAlg::ChanSegsPerSide(), lar_cluster3d::StandardHit3DBuilder::CollectArtHits(), apa::DisambigAlg::CompareViews(), lar_cluster3d::MinSpanTreeAlg::configure(), reco3d::TripletFinder::FillHitMap(), evd::RawDataDrawer::FillQHisto(), evd::RecoBaseDrawer::FillQHisto(), lar_pandora::PFParticleHitDumper::FillRecoWires(), evd::RecoBaseDrawer::FillTQHisto(), evd::RecoBaseDrawer::FillTQHistoDP(), reco_tool::CandHitStandard::findHitCandidates(), reco_tool::CandHitDerivative::findHitCandidates(), reco_tool::CandHitMorphological::findHitCandidates(), hit::HitCheater::FindHitsOnChannel(), evd::RecoBaseDrawer::GetHits(), cluster::SmallClusterFinderAlg::GetPlaneAndTPC(), corner::CornerFinderAlg::GrabWires(), evd::RecoBaseDrawer::Hit2D(), lar_cluster3d::SpacePointHit3DBuilder::Hit3DBuilder(), apa::APAGeometryAlg::Init(), hit::DisambigCheater::InitHitToWids(), reco3d::IntersectionCache::ISect(), apa::APAGeometryAlg::LineSegChanIntersect(), apa::DisambigAlg::MakeCloseHits(), sim::MCRecoEdep::MakeMCEdep(), apa::APAGeometryAlg::NearestWireIDOnChan(), btutil::MCBTAlg::ProcessSimChannel(), hit::TTHitFinder::produce(), hit::RawHitFinder::produce(), hit::FFTHitFinder::produce(), hit::GausHitFinder::produce(), hit::DPRawHitFinder::produce(), evd::RawDataDrawer::RawDigit2D(), hit::RFFHitFinderAlg::Run(), hit::CCHitFinderAlg::RunCCHitFinder(), evd::RawDataDrawer::RunOperation(), ICARUS::CTreeGeometry::saveChannelWireMap(), img::DataProviderAlg::setWireDriftData(), apa::APAGeometryAlg::ThreeChanPos(), apa::DisambigAlg::TrivialDisambig(), and evd::RecoBaseDrawer::Wire2D().
|
staticprivate |
Throws an exception ("GeometryCore" category) unless pid1 and pid2 are on different planes of the same TPC (ID validity is not checked)
Definition at line 1526 of file GeometryCore.cxx.
References geo::TPCID::asTPCID().
Referenced by ThirdPlane(), ThirdPlane_dTdW(), and ThirdPlaneSlope().
|
private |
Deletes the detector geometry structures.
Definition at line 144 of file GeometryCore.cxx.
References AuxDets(), and Cryostats().
Referenced by LoadGeometryFile(), and ~GeometryCore().
|
static |
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 1644 of file GeometryCore.cxx.
References ComputeThirdPlaneSlope().
Referenced by ThirdPlane_dTdW().
|
static |
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 1619 of file GeometryCore.cxx.
References util::abs().
Referenced by ComputeThirdPlane_dTdW(), ThirdPlane_dTdW(), and ThirdPlaneSlope().
CryostatGeo const & geo::GeometryCore::Cryostat | ( | geo::CryostatID const & | cryoid | ) | const |
Returns the specified cryostat.
cstat | number of cryostat |
cryoid | cryostat ID |
cet::exception | (GeometryCore category) if cryostat not present |
The GetElement() method is overloaded and its return depends on the type of ID.
Definition at line 305 of file GeometryCore.cxx.
References geo::CryostatID::Cryostat, and CryostatPtr().
Referenced by opdet::SimPhotonCounter::beginJob(), trkf::SpacePointAna::bookHistograms(), pma::ProjectionMatchingAlg::buildShowerSeg(), larg4::LArVoxelReadoutGeometry::Construct(), ems::MultiEMShowers::convCluster(), lar_pandora::LArPandoraInput::CreatePandoraHits2D(), lar_pandora::LArPandoraInput::CreatePandoraReadoutGaps(), CryostatBoundaries(), CryostatHalfHeight(), CryostatHalfWidth(), CryostatLength(), util::DetectorPropertiesArgoNeuT::DataFor(), detinfo::DetectorPropertiesStandard::DataFor(), hit::DisambigCheater::DisambigCheater(), evd::RecoBaseDrawer::DrawTrack2D(), cluster::EndPointAlg::EndPoint(), cluster::HoughBaseAlg::FastTransform(), trkf::SpacePointAlg::fillComplexSpacePoint(), cosmic::BeamFlashTrackMatchTaggerAlg::FillFlashProperties(), opdet::FlashHypothesisAnaAlg::FillOpDetPositions(), vertex::FeatureVertexFinder::Find2dClusterVertexCandidates(), vertex::FeatureVertexFinder::Find3dVtxFrom2dClusterVtxCand(), vertex::FeatureVertexFinder::Get3dVertexCandidates(), corner::CornerFinderAlg::get_feature_points_fast(), GetCryostatVolumeName(), trkf::FeatureTracker::GetProjectedEnds(), lar_pandora::LArPandoraInput::GetTrueX0(), lar_pandora::PFParticleHitDumper::GetUVW(), cluster::HoughBaseAlg::HoughBaseAlg(), ems::EMShower3D::LinkCandidates(), trkf::SpacePointAlg::makeSpacePoints(), NOpDets(), OpDetFromCryo(), OpDetGeoFromOpDet(), OpDetGeoName(), PositionToCryostat(), cluster::ClusterCheater::produce(), trkf::CCTrackMaker::produce(), vertex::FeatureVertexFinder::produce(), larg4::LArG4::produce(), evd::SimulationDrawer::SimulationDrawer(), apa::APAGeometryAlg::ThreeChanPos(), apa::DisambigAlg::TrivialDisambig(), DUNE::NeutrinoTrackingEff::truthLength(), trkf::SpacePointAlg::update(), apa::DisambigAlg::UseEndPts(), and trkf::VertexFitAlg::VertexFit().
|
inline |
Returns the specified cryostat.
cstat | number of cryostat |
cryoid | cryostat ID |
cet::exception | (GeometryCore category) if cryostat not present |
The GetElement() method is overloaded and its return depends on the type of ID.
Definition at line 2031 of file GeometryCore.h.
void geo::GeometryCore::CryostatBoundaries | ( | double * | boundaries, |
geo::CryostatID const & | cid | ||
) | const |
Returns the boundaries of the specified cryostat.
boundaries | (output) pointer to an area of 6 doubles for boundaries |
cid | cryostat ID |
cet::exception | ("GeometryCore" category) if cryostat not present |
The boundaries array is filled with: [0] lower x coordinate [1] upper x coordinate [2] lower y coordinate [3] upper y coordinate [4] lower z coordinate [5] upper z coordinate
CryostatGeo::Boundaries()
(from Cryostat(cid)
). Definition at line 775 of file GeometryCore.cxx.
References geo::CryostatGeo::Boundaries(), and Cryostat().
Referenced by evgen::GaisserParam::beginJob(), opdet::SimPhotonCounter::beginJob(), CryostatLength(), evgen::CORSIKAGen::populateNShowers(), evgen::CosmicsGen::produce(), evgen::CORSIKAGen::produce(), and phot::PhotonVisibilityService::reconfigure().
|
inline |
Returns the boundaries of the specified cryostat.
boundaries | (output) pointer to an area of 6 doubles for boundaries |
cstat | number of cryostat |
cet::exception | ("GeometryCore" category) if cryostat not present |
The boundaries array is filled with: [0] lower x coordinate [1] upper x coordinate [2] lower y coordinate [3] upper y coordinate [4] lower z coordinate [5] upper z coordinate
CryostatBoundaries(double*, geo::CryostatID const&)
or (recommended) CryostatGeo::Boundaries()
from Cryostat(cid)
instead Definition at line 2260 of file GeometryCore.h.
geo::Length_t geo::GeometryCore::CryostatHalfHeight | ( | geo::CryostatID const & | cid | ) | const |
Returns the height of the cryostat (y direction)
Definition at line 762 of file GeometryCore.cxx.
References Cryostat(), and geo::CryostatGeo::HalfHeight().
Referenced by CryostatHalfWidth(), simfilter::FilterNoDirtNeutrinos::filter(), and evgen::FileMuons::ReadEvents().
|
inline |
Returns the height of the cryostat (y direction)
Definition at line 2214 of file GeometryCore.h.
geo::Length_t geo::GeometryCore::CryostatHalfWidth | ( | geo::CryostatID const & | cid | ) | const |
Returns the half width of the cryostat (x direction)
Definition at line 755 of file GeometryCore.cxx.
References Cryostat(), CryostatHalfHeight(), and geo::CryostatGeo::HalfWidth().
Referenced by DetLength(), simfilter::FilterNoDirtNeutrinos::filter(), and evgen::FileMuons::ReadEvents().
|
inline |
Returns the half width of the cryostat (x direction)
Definition at line 2207 of file GeometryCore.h.
geo::Length_t geo::GeometryCore::CryostatLength | ( | geo::CryostatID const & | cid | ) | const |
Returns the length of the cryostat (z direction)
Definition at line 768 of file GeometryCore.cxx.
References Cryostat(), CryostatBoundaries(), and geo::CryostatGeo::Length().
Referenced by evgen::FileMuons::ReadEvents().
|
inline |
Returns the length of the cryostat (z direction)
Definition at line 2221 of file GeometryCore.h.
|
inline |
Returns the specified cryostat.
cryoid | cryostat ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 2046 of file GeometryCore.h.
References geo::CryostatID::Cryostat.
Referenced by Cryostat().
|
inlineprotected |
Return the internal cryostat list.
Definition at line 5469 of file GeometryCore.h.
Referenced by BuildGeometry(), ClearGeometry(), MaxPlanes(), MaxTPCs(), MaxWires(), SortGeometry(), TotalNTPC(), and UpdateAfterSorting().
|
inlineprotected |
Return the internal cryostat list.
Definition at line 5470 of file GeometryCore.h.
|
inline |
Returns the tolerance used in looking for positions.
This parameter is used as tolerance ("wiggle") for methods that require it (e.g. geo::CryostatGeo::FindTPCAtPosition()
). Typically, it's a additional fraction of tolerance: 0 means no tolerance, 0.1 means 10% tolerance.
Definition at line 1731 of file GeometryCore.h.
geo::BoxBoundedGeo geo::GeometryCore::DetectorEnclosureBox | ( | std::string const & | name = "volDetEnclosure" | ) | const |
Returns the absolute coordinates of the detector enclosure volume [cm].
name | name of the volume to be sought (default: volDetEnclosure ) |
cet::exception | if the specified volume is not found |
Definition at line 613 of file GeometryCore.cxx.
References FindDetectorEnclosure(), and geo::LocalTransformation< StoredMatrix >::LocalToWorld().
Referenced by GetWorldVolumeName().
|
inline |
Returns a string with the name of the detector, as configured.
Definition at line 1761 of file GeometryCore.h.
Referenced by evgen::SNNueAr40CCGen::beginRun(), evgen::CosmicsGen::beginRun(), evgen::FileMuons::beginRun(), evgen::NDKGen::beginRun(), evgen::NucleonDecay::beginRun(), evgen::BaseRadioGen::beginRun(), evgen::GaisserParam::beginRun(), evgen::MarleyGen::beginRun(), evgen::TextFileGen::beginRun(), evgen::NeutronOsc::beginRun(), evgen::GENIEGen::beginRun(), evgen::LightSource::beginRun(), evgen::RadioGen::beginRun(), evgen::MUSUN::beginRun(), evgen::CORSIKAGen::beginRun(), evgen::MarleyTimeGen::beginRun(), evgen::SingleGen::beginRun(), geo::DumpGeometry::dump(), geo::Geometry::FillGeometryConfigurationInfo(), geo::Geometry::InitializeChannelMap(), ICARUS::CTreeGeometry::printGeometry(), wc::CellTree::processSpacePoint(), wc::CellTree::processSpacePointTruthDepo(), and geo::DumpGeometry::shouldDumpGeometry().
geo::Length_t geo::GeometryCore::DetHalfHeight | ( | geo::TPCID const & | tpcid | ) | const |
Returns the half height of the active volume of the specified TPC.
tpcid | ID of the TPC |
tpc | TPC number within the cryostat |
cstat | number of cryostat |
cet::exception | (GeometryCore category) if cryostat not present |
cet::exception | (TPCOutOfRange category) if no such TPC |
See geo::TPCGeo::ActiveHalfHeight()
for more details.
deprecate this function
rename the function
Definition at line 742 of file GeometryCore.cxx.
References geo::TPCGeo::ActiveHalfHeight(), and TPC().
Referenced by lar::example::AnalysisExample::analyze(), evgen::NDKGen::beginJob(), ICARUS::CTreeGeometry::beginJob(), evgen::GENIEGen::beginJob(), trkf::SpacePointAna::bookHistograms(), LArStackingAction::ClassifyNewTrack(), cosmic::CosmicPCAxisTagger::CosmicPCAxisTagger(), evd_tool::MicroBooNEDrawer::DetOutline3D(), evd::Display3DPad::Draw(), lar_pandora::PFParticleCosmicAna::FillRecoTree(), tca::FillWireHitRange(), simfilter::FilterNoDirtNeutrinos::filter(), util::GeometryUtilities::Get2DangleFrom3D(), trk::TrackContainmentAlg::GetCosmicTagID(), cosmic::BeamFlashTrackMatchTaggerAlg::InDetector(), tca::InsideTPC(), trk::TrackContainmentAlg::IsContained(), trkf::SeedAna::MCHists::MCHists(), trkf::TrackAna::MCHists::MCHists(), evd::Ortho3DPad::Ortho3DPad(), trk::TrackContainmentAlg::ProcessTracks(), trkf::SpacePts::produce(), evgen::NDKGen::produce(), trkf::Track3Dreco::produce(), vertex::VertexFinder2D::produce(), trkf::Track3DKalmanSPS::produce(), trkf::SeedAna::RecoHists::RecoHists(), trkf::TrackAna::RecoHists::RecoHists(), and trkf::CCTrackMaker::TagCosmics().
|
inline |
Returns the half height of the active volume of the specified TPC.
tpcid | ID of the TPC |
tpc | TPC number within the cryostat |
cstat | number of cryostat |
cet::exception | (GeometryCore category) if cryostat not present |
cet::exception | (TPCOutOfRange category) if no such TPC |
See geo::TPCGeo::ActiveHalfHeight()
for more details.
deprecate this function
rename the function
Definition at line 2738 of file GeometryCore.h.
geo::Length_t geo::GeometryCore::DetHalfWidth | ( | geo::TPCID const & | tpcid | ) | const |
Returns the half width of the active volume of the specified TPC.
tpcid | ID of the TPC |
tpc | TPC number within the cryostat |
cstat | number of cryostat |
cet::exception | (GeometryCore category) if cryostat not present |
cet::exception | (TPCOutOfRange category) if no such TPC |
deprecate this function
rename the function
Definition at line 736 of file GeometryCore.cxx.
References geo::TPCGeo::ActiveHalfWidth(), and TPC().
Referenced by lar::example::AnalysisExample::analyze(), evgen::NDKGen::beginJob(), ICARUS::CTreeGeometry::beginJob(), evgen::GENIEGen::beginJob(), trkf::SpacePointAna::bookHistograms(), LArStackingAction::ClassifyNewTrack(), cosmic::CosmicPCAxisTagger::CosmicPCAxisTagger(), evd_tool::MicroBooNEDrawer::DetOutline3D(), evd::Display3DPad::Draw(), lar_pandora::PFParticleCosmicAna::FillRecoTree(), tca::FillWireHitRange(), simfilter::FilterNoDirtNeutrinos::filter(), util::GeometryUtilities::Get2DangleFrom3D(), trk::TrackContainmentAlg::GetCosmicTagID(), cosmic::BeamFlashTrackMatchTaggerAlg::InDetector(), cosmic::BeamFlashTrackMatchTaggerAlg::InDriftWindow(), tca::InsideTPC(), trk::TrackContainmentAlg::IsContained(), trkf::SeedAna::MCHists::MCHists(), trkf::TrackAna::MCHists::MCHists(), evd::RecoBaseDrawer::OpFlashOrtho(), evd::Ortho3DPad::Ortho3DPad(), trkf::CCTrackMaker::PlnMatch(), trk::TrackContainmentAlg::ProcessTracks(), evgen::NDKGen::produce(), trkf::Track3DKalmanSPS::produce(), trkf::SeedAna::RecoHists::RecoHists(), trkf::TrackAna::RecoHists::RecoHists(), trkf::CCTrackMaker::TagCosmics(), and evd::RecoBaseDrawer::Vertex2D().
|
inline |
Returns the half width of the active volume of the specified TPC.
tpcid | ID of the TPC |
tpc | TPC number within the cryostat |
cstat | number of cryostat |
cet::exception | (GeometryCore category) if cryostat not present |
cet::exception | (TPCOutOfRange category) if no such TPC |
deprecate this function
rename the function
Definition at line 2716 of file GeometryCore.h.
geo::Length_t geo::GeometryCore::DetLength | ( | geo::TPCID const & | tpcid | ) | const |
Returns the length of the active volume of the specified TPC.
tpcid | ID of the TPC |
tpc | TPC number within the cryostat |
cstat | number of cryostat |
cet::exception | (GeometryCore category) if cryostat not present |
cet::exception | (TPCOutOfRange category) if no such TPC |
See geo::TPCGeo::ActiveLength()
for more details.
deprecate this function
rename the function
Definition at line 748 of file GeometryCore.cxx.
References geo::TPCGeo::ActiveLength(), CryostatHalfWidth(), and TPC().
Referenced by lar::example::AnalysisExample::analyze(), evgen::NDKGen::beginJob(), ICARUS::CTreeGeometry::beginJob(), evgen::GENIEGen::beginJob(), trkf::SpacePointAna::bookHistograms(), LArStackingAction::ClassifyNewTrack(), cosmic::CosmicPCAxisTagger::CosmicPCAxisTagger(), evd_tool::MicroBooNEDrawer::DetOutline3D(), evd::Display3DPad::Draw(), lar_pandora::PFParticleCosmicAna::FillRecoTree(), tca::FillWireHitRange(), simfilter::FilterNoDirtNeutrinos::filter(), util::GeometryUtilities::Get2DangleFrom3D(), trk::TrackContainmentAlg::GetCosmicTagID(), cosmic::BeamFlashTrackMatchTaggerAlg::InDetector(), tca::InsideTPC(), trk::TrackContainmentAlg::IsContained(), trkf::SeedAna::MCHists::MCHists(), trkf::TrackAna::MCHists::MCHists(), lar_cluster3d::StandardHit3DBuilder::NearestWireID(), evd::Ortho3DPad::Ortho3DPad(), trkf::CCTrackMaker::PlnMatch(), trk::TrackContainmentAlg::ProcessTracks(), evgen::CosmicsGen::produce(), evgen::NDKGen::produce(), trkf::Track3DKalmanSPS::produce(), trkf::SeedAna::RecoHists::RecoHists(), trkf::TrackAna::RecoHists::RecoHists(), trkf::CCTrackMaker::TagCosmics(), and evd::RecoBaseDrawer::Vertex2D().
|
inline |
Returns the length of the active volume of the specified TPC.
tpcid | ID of the TPC |
tpc | TPC number within the cryostat |
cstat | number of cryostat |
cet::exception | (GeometryCore category) if cryostat not present |
cet::exception | (TPCOutOfRange category) if no such TPC |
See geo::TPCGeo::ActiveLength()
for more details.
deprecate this function
rename the function
Definition at line 2759 of file GeometryCore.h.
|
inline |
Returns an iterator pointing after the last cryostat.
Definition at line 2158 of file GeometryCore.h.
References begin_cryostat_id(), end_cryostat_id(), and geo::details::geometry_iterator_types::end_pos.
Referenced by evd_tool::ICARUSDrawer::DetOutline3D(), and IterateCryostatIDs().
|
inline |
Returns an iterator pointing after the last cryostat ID.
Definition at line 2150 of file GeometryCore.h.
References geo::details::geometry_iterator_types::end_pos.
Referenced by end_cryostat().
|
inline |
Returns an iterator pointing after the last plane in the detector.
Definition at line 3088 of file GeometryCore.h.
References geo::details::geometry_iterator_types::end_pos.
Referenced by IteratePlaneIDs(), and IteratePlanes().
|
inline |
Returns an iterator pointing after the last plane in the specified cryostat.
Definition at line 3098 of file GeometryCore.h.
|
inline |
Returns an iterator pointing after the last plane in the specified TPC.
Definition at line 3106 of file GeometryCore.h.
References begin_plane_id(), and end_plane_id().
|
inline |
Returns an iterator pointing after the last plane ID in the detector.
Definition at line 3060 of file GeometryCore.h.
References geo::details::geometry_iterator_types::end_pos.
Referenced by end_plane(), IteratePlaneIDs(), and shower::TCShowerAlg::makeShowers().
|
inline |
Returns an iterator pointing after the last plane ID in the specified cryostat.
Definition at line 3070 of file GeometryCore.h.
|
inline |
Returns an iterator pointing after the last plane ID in the specified TPC.
Definition at line 3080 of file GeometryCore.h.
|
inline |
Returns an iterator pointing after the last ROP ID in the detector.
Definition at line 5208 of file GeometryCore.h.
References geo::details::geometry_iterator_types::end_pos.
Referenced by end_ROP_id(), and IterateROPIDs().
|
inline |
Returns an iterator pointing after the last readout plane ID in the specified cryostat.
Definition at line 5218 of file GeometryCore.h.
|
inline |
Returns an iterator pointing after the last readout plane ID in the specified TPC set.
Definition at line 5228 of file GeometryCore.h.
References begin_ROP_id(), and end_ROP_id().
|
inline |
Returns an iterator pointing after the last TPC in the detector.
Definition at line 2568 of file GeometryCore.h.
References geo::details::geometry_iterator_types::end_pos.
Referenced by lar::example::SpacePointIsolationAlg::fillAlgConfigFromGeometry(), IterateTPCIDs(), IterateTPCs(), and sim::MCRecoPart::MCRecoPart().
|
inline |
Returns an iterator pointing after the last TPC in the detector.
Definition at line 2576 of file GeometryCore.h.
References begin_TPC_id(), and end_TPC_id().
|
inline |
Returns an iterator pointing after the last TPC ID in the detector.
Definition at line 2550 of file GeometryCore.h.
References geo::details::geometry_iterator_types::end_pos.
Referenced by pma::PMAlgTracker::build(), end_TPC(), IterateTPCIDs(), and tss::TrackShowerHits::produce().
|
inline |
Returns an iterator pointing after the last TPC ID in the specified cryostat.
Definition at line 2560 of file GeometryCore.h.
|
inline |
Returns an iterator pointing after the last TPC set ID in the detector.
Definition at line 4973 of file GeometryCore.h.
References geo::details::geometry_iterator_types::end_pos.
Referenced by end_TPCset_id(), and IterateTPCsetIDs().
|
inline |
Returns an iterator pointing after the last TPC set ID in the specified cryostat.
Definition at line 4983 of file GeometryCore.h.
References begin_TPCset_id(), and end_TPCset_id().
|
inline |
Returns an iterator pointing after the last wire in the detector.
Definition at line 3508 of file GeometryCore.h.
References geo::details::geometry_iterator_types::end_pos.
Referenced by IterateWireIDs(), and IterateWires().
|
inline |
Returns an iterator pointing after the last wire in specified cryostat.
Definition at line 3516 of file GeometryCore.h.
|
inline |
Returns an iterator pointing after the last wire in specified TPC.
Definition at line 3524 of file GeometryCore.h.
|
inline |
Returns an iterator pointing after the last wire in specified plane.
Definition at line 3532 of file GeometryCore.h.
References begin_wire_id(), and end_wire_id().
|
inline |
Returns an iterator pointing after the last wire ID in the detector.
Definition at line 3475 of file GeometryCore.h.
References geo::details::geometry_iterator_types::end_pos.
Referenced by end_wire(), IterateWireIDs(), lariov::SIOVElectronicsCalibProvider::Reconfigure(), and lariov::DetPedestalRetrievalAlg::Reconfigure().
|
inline |
Returns an iterator pointing after the last wire ID in specified cryostat.
Definition at line 3484 of file GeometryCore.h.
|
inline |
Returns an iterator pointing after the last wire ID in specified TPC.
Definition at line 3492 of file GeometryCore.h.
|
inline |
Returns an iterator pointing after the last wire ID in specified plane.
Definition at line 3500 of file GeometryCore.h.
std::vector< std::vector< TGeoNode const * > > geo::GeometryCore::FindAllVolumePaths | ( | std::set< std::string > const & | vol_names | ) | const |
Returns paths of all nodes with volumes with the specified names.
vol_names | list of names of volumes |
All the nodes in the geometry are checked, and the path of all the ones that contain a volume with a name among the ones specified in vol_names is saved in the collection and returned. A node path is a ordered list of all nodes leading to the final one, starting from thetop level (root) down. The node at the back()
of the path is the one with name in vol_names. No empty paths are returned.
Definition at line 707 of file GeometryCore.cxx.
References geo::CollectPathsByName::paths, and ROOTGeoManager().
Referenced by FindAllVolumes().
std::vector< TGeoNode const * > geo::GeometryCore::FindAllVolumes | ( | std::set< std::string > const & | vol_names | ) | const |
Returns all the nodes with volumes with any of the specified names.
vol_names | list of names of volumes |
All the nodes in the geometry are checked, and all the ones that contain a volume with a name among the ones specified in vol_names are saved in the collection and returned.
Definition at line 690 of file GeometryCore.cxx.
References FindAllVolumePaths(), geo::CollectNodesByName::nodes, and ROOTGeoManager().
unsigned int geo::GeometryCore::FindAuxDetAtPosition | ( | double const | worldLoc[3] | ) | const |
Returns the index of the auxiliary detector at specified location.
worldLoc | 3D coordinates of the point (world reference frame) |
std::numeric_limits<unsigned int>::max()
if no detector is theregeo::Point_t
. Definition at line 489 of file GeometryCore.cxx.
References geo::vect::makePointFromCoords(), and PositionToAuxDet().
Referenced by FindAuxDetSensitiveAtPosition(), and PositionToAuxDet().
unsigned int geo::GeometryCore::FindAuxDetAtPosition | ( | geo::Point_t const & | point | ) | const |
Returns the index of the auxiliary detector at specified location.
point | location to be tested |
std::numeric_limits<unsigned int>::max()
if no detector is thereDefinition at line 480 of file GeometryCore.cxx.
References AuxDets(), and fChannelMapAlg.
void geo::GeometryCore::FindAuxDetSensitiveAtPosition | ( | geo::Point_t const & | point, |
std::size_t & | adg, | ||
std::size_t & | sv | ||
) | const |
Fills the indices of the sensitive auxiliary detector at location.
point | location to be tested |
adg | _(output)_ auxiliary detector index |
sv | _(output)_ sensitive volume index |
Definition at line 509 of file GeometryCore.cxx.
References AuxDets(), fChannelMapAlg, and FindAuxDetAtPosition().
Referenced by larg4::AuxDetReadoutGeometry::FindAndMakeAuxDetSensitive(), FindAuxDetSensitiveAtPosition(), PositionToAuxDet(), and PositionToAuxDetSensitive().
void geo::GeometryCore::FindAuxDetSensitiveAtPosition | ( | double const | worldLoc[3], |
size_t & | adg, | ||
size_t & | sv | ||
) | const |
Fills the indices of the sensitive auxiliary detector at location.
worldLoc | 3D coordinates of the point (world reference frame) |
adg | (output) auxiliary detector index |
sv | (output) sensitive volume index |
geo::Point_t
. Definition at line 520 of file GeometryCore.cxx.
References FindAuxDetSensitiveAtPosition(), geo::vect::makePointFromCoords(), and PositionToAuxDetSensitive().
geo::CryostatID::CryostatID_t geo::GeometryCore::FindCryostatAtPosition | ( | geo::Point_t const & | worldLoc | ) | const |
Returns the index of the cryostat at specified location.
worldLoc | 3D coordinates of the point (world reference frame) |
PositionToCryostatID()
instead Definition at line 377 of file GeometryCore.cxx.
References geo::CryostatID::Cryostat, geo::CryostatGeo::ID(), geo::CryostatID::InvalidID, and PositionToCryostatPtr().
Referenced by pma::ProjectionMatchingAlg::buildShowerSeg(), ems::MultiEMShowers::convCluster(), evd::RecoBaseDrawer::DrawTrack2D(), FindCryostatAtPosition(), evd::SimulationDrawer::MCTruthOrtho(), PositionToCryostat(), and PositionToCryostatID().
geo::CryostatID::CryostatID_t geo::GeometryCore::FindCryostatAtPosition | ( | double const | worldLoc[3] | ) | const |
Returns the index of the cryostat at specified location.
worldLoc | 3D coordinates of the point (world reference frame) |
PositionToCryostatID()
instead Definition at line 386 of file GeometryCore.cxx.
References FindCryostatAtPosition(), geo::vect::makePointFromCoords(), and PositionToTPCptr().
|
private |
Definition at line 982 of file GeometryCore.cxx.
References FindFirstVolume(), and ROOTGeoManager().
Referenced by DetectorEnclosureBox(), and MaterialName().
|
private |
Definition at line 991 of file GeometryCore.cxx.
Referenced by FindDetectorEnclosure().
|
inline |
Returns the ID of the TPC at specified location.
worldLoc | 3D coordinates of the point (world reference frame) [cm] |
Definition at line 2454 of file GeometryCore.h.
References geo::vect::makePointFromCoords().
Referenced by pma::ProjectionMatchingAlg::buildShowerSeg(), ShowerRecoTools::ShowerUnidirectiondEdx::CalculateElement(), ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement(), ems::MultiEMShowers::convCluster(), evd::RecoBaseDrawer::DrawTrack2D(), hit::HitCheater::FindHitsOnChannel(), shower::EMShowerAlg::FindInitialTrackHits(), FindTPCsetAtPosition(), opdet::GetHitGeometryInfo(), nnet::TrainingDataAlg::getProjection(), lar_pandora::LArPandoraInput::GetTrueStartAndEndPoints(), hit::DisambigCheater::InitHitToWids(), evd::SimulationDrawer::MCTruthOrtho(), shower::EMShowerAlg::OrderShowerHits_(), calo::Calorimetry::produce(), shower::EMShowerAlg::Project3DPointOntoPlane_(), filt::LArG4ParticleFilter::StartInTPCCheck(), filt::LArG4ParticleFilter::StopInTPCCheck(), filt::LArG4ParticleFilter::TPCTrajLengthCheck(), DUNE::NeutrinoTrackingEff::truthLength(), and DUNE::MuonTrackingEff::truthLength().
geo::TPCID geo::GeometryCore::FindTPCAtPosition | ( | geo::Point_t const & | point | ) | const |
Returns the ID of the TPC at specified location.
worldLoc | 3D point (world reference frame, centimeters) |
Definition at line 336 of file GeometryCore.cxx.
References geo::CryostatID::Cryostat, fPositionWiggle, geo::CryostatGeo::ID(), geo::CryostatID::markInvalid(), PositionToCryostatPtr(), and geo::CryostatGeo::PositionToTPCID().
|
inline |
Returns the ID of the TPC at specified location.
worldLoc | 3D point (world reference frame, centimeters) |
Definition at line 2464 of file GeometryCore.h.
References geo::vect::toPoint().
readout::TPCsetID geo::GeometryCore::FindTPCsetAtPosition | ( | double const | worldLoc[3] | ) | const |
Returns the ID of the TPC set at specified location.
worldLoc | 3D coordinates of the point (world reference frame) |
Definition at line 1703 of file GeometryCore.cxx.
References FindTPCAtPosition(), and TPCtoTPCset().
Referenced by HasTPCset().
raw::ChannelID_t geo::GeometryCore::FirstChannelInROP | ( | readout::ROPID const & | ropid | ) | const |
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.
Definition at line 1770 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by ROPtoTPCs().
|
inline |
Returns the full directory path to the GDML file source.
This is the full path of the source of the detector geometry handed to the detector simulation (GEANT).
Definition at line 1749 of file GeometryCore.h.
Referenced by larg4::LArG4::beginJob(), ICARUS::CTreeGeometry::printGeometry(), and ICARUS::CTreeGeometry::saveChannelWireMap().
|
inline |
Returns the ID of the first element of the detector.
GeoID | type of the ID to be returned |
Definition at line 1933 of file GeometryCore.h.
References GetBeginID().
Referenced by GetBeginID().
GeoID geo::GeometryCore::GetBeginID | ( | ContextID const & | id | ) | const |
Returns the ID of the first subelement of the specified element.
GeoID | type of the ID to be returned |
ContextID | type of the ID of the containing element |
id | ID of the containing element |
|
inline |
Initializes the specified ID with the ID of the first cryostat.
Definition at line 2134 of file GeometryCore.h.
|
inline |
Initializes the specified ID with the ID of the first TPC.
iterators
Definition at line 2524 of file GeometryCore.h.
|
inline |
Initializes the specified ID with the ID of the first plane.
Definition at line 3026 of file GeometryCore.h.
|
inline |
Initializes the specified ID with the ID of the first wire.
Definition at line 3432 of file GeometryCore.h.
|
inline |
Initializes the specified ID with the ID of the first TPC set.
iterators
Definition at line 4947 of file GeometryCore.h.
|
inline |
Initializes the specified ID with the ID of the first readout plane.
iterators
Definition at line 5174 of file GeometryCore.h.
|
inline |
Returns the ID of the first plane of the specified cryostat.
Definition at line 3038 of file GeometryCore.h.
|
inline |
Returns the ID of the first plane of the specified TPC.
Definition at line 3047 of file GeometryCore.h.
|
inline |
Returns the ID of the first readout plane of the specified cryostat.
Definition at line 5186 of file GeometryCore.h.
|
inline |
Returns the ID of the first readout plane of the specified TPC set.
Definition at line 5195 of file GeometryCore.h.
|
inline |
Returns the ID of the first TPC in the specified cryostat.
Definition at line 2536 of file GeometryCore.h.
|
inline |
Returns the ID of the first TPC set in the specified cryostat.
Definition at line 4959 of file GeometryCore.h.
|
inline |
Returns the ID of the first wire in the specified cryostat.
Definition at line 3444 of file GeometryCore.h.
|
inline |
Returns the ID of the first wire of the specified TPC.
Definition at line 3453 of file GeometryCore.h.
|
inline |
Returns the ID of the first wire of the specified wire plane.
Definition at line 3462 of file GeometryCore.h.
unsigned int geo::GeometryCore::GetClosestOpDet | ( | geo::Point_t const & | point | ) | const |
Find the nearest OpChannel to some point.
xyz | point to be queried, in world coordinates |
std::numeric_limits<unsigned int>::max()
if invalid pointgeo::CryostatGeo::GetClosestOpDet()
instead (find the cryostat with PositionToCryostatPtr()
).Definition at line 1879 of file GeometryCore.cxx.
References geo::CryostatID::Cryostat, geo::CryostatGeo::GetClosestOpDet(), geo::CryostatGeo::ID(), OpDetFromCryo(), and PositionToCryostatPtr().
Referenced by GetClosestOpDet().
unsigned int geo::GeometryCore::GetClosestOpDet | ( | double const * | point | ) | const |
Number of OpDets in the whole detector.
Definition at line 1890 of file GeometryCore.cxx.
References GetClosestOpDet(), geo::vect::makePointFromCoords(), and WireIDIntersectionCheck().
std::string geo::GeometryCore::GetCryostatVolumeName | ( | geo::CryostatID const & | cid | ) | const |
Return the name of LAr TPC volume.
cstat | index of the cryostat |
This information is used in the event display.
Use a cryostat ID instead
What if it does not exist?
Definition at line 730 of file GeometryCore.cxx.
References Cryostat().
|
inline |
Return the name of LAr TPC volume.
cstat | index of the cryostat |
This information is used in the event display.
Use a cryostat ID instead
What if it does not exist?
Definition at line 2280 of file GeometryCore.h.
|
inline |
Returns the specified cryostat.
cstat | number of cryostat |
cryoid | cryostat ID |
cet::exception | (GeometryCore category) if cryostat not present |
The GetElement() method is overloaded and its return depends on the type of ID.
Definition at line 2033 of file GeometryCore.h.
Referenced by sce::SCECorrection::applyT0Shift(), and evd::SimulationDrawer::MCTruthOrtho().
|
inline |
Returns the specified TPC.
tpcid | ID of the tpc |
tpc | tpc number within the cryostat |
cstat | number of cryostat |
cet::exception | (GeometryCore category) if cryostat not present |
cet::exception | (TPCOutOfRange category) if no such TPC |
The GetElement() method is overloaded and its return depends on the type of ID.
Definition at line 2427 of file GeometryCore.h.
|
inline |
Returns the specified wire.
planeid | ID of the plane |
p | plane number within the TPC |
tpc | TPC number within the cryostat |
cstat | number of cryostat |
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 2999 of file GeometryCore.h.
|
inline |
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 3423 of file GeometryCore.h.
|
inline |
Returns the specified cryostat.
cryoid | cryostat ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 2048 of file GeometryCore.h.
|
inline |
Returns the specified TPC.
tpcid | TPC ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 2445 of file GeometryCore.h.
|
inline |
Returns the specified plane.
planeid | plane ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 3017 of file GeometryCore.h.
|
inline |
Returns the specified wire.
wireid | wire ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 3405 of file GeometryCore.h.
|
inline |
Returns the (possibly invalid) ID after the last subelement of the detector.
GeoID | type of the ID to be returned |
Definition at line 1952 of file GeometryCore.h.
References GetEndID().
Referenced by GetEndID().
GeoID geo::GeometryCore::GetEndID | ( | ContextID const & | id | ) | const |
Returns the (possibly invalid) ID after the last subelement of the specified element.
GeoID | type of the ID to be returned |
ContextID | type of the ID of the containing element |
id | ID of the containing element |
|
inline |
Initializes the specified ID with the invalid ID after the last cryostat.
Definition at line 2138 of file GeometryCore.h.
|
inline |
Initializes the specified ID with the invalid ID after the last TPC.
Definition at line 2528 of file GeometryCore.h.
|
inline |
Initializes the specified ID with the invalid ID after the last plane.
Definition at line 3030 of file GeometryCore.h.
|
inline |
Initializes the specified ID with the invalid ID after the last wire.
Definition at line 3436 of file GeometryCore.h.
|
inline |
Initializes the specified ID with the invalid ID after the last TPC set.
Definition at line 4951 of file GeometryCore.h.
|
inline |
Initializes the specified ID with the invalid ID after the last ROP.
Definition at line 5178 of file GeometryCore.h.
|
inline |
Returns the (possibly invalid) ID after the last plane of the specified cryostat.
Definition at line 3043 of file GeometryCore.h.
|
inline |
Returns the (possibly invalid) ID after the last plane of the specified TPC.
Definition at line 3052 of file GeometryCore.h.
|
inline |
Returns the (possibly invalid) ID after the last readout plane of the specified cryostat.
Definition at line 5191 of file GeometryCore.h.
|
inline |
Returns the (possibly invalid) ID after the last readout plane of the specified TPC set.
Definition at line 5200 of file GeometryCore.h.
|
inline |
Returns the (possibly invalid) ID after the last TPC of the specified cryostat.
Definition at line 2541 of file GeometryCore.h.
References geo::CryostatID::Cryostat.
|
inline |
Returns the (possibly invalid) ID after the last TPC set of the specified cryostat.
Definition at line 4964 of file GeometryCore.h.
References geo::CryostatID::Cryostat.
|
inline |
Returns the (possibly invalid) ID after the last wire in the specified cryostat.
Definition at line 3449 of file GeometryCore.h.
|
inline |
Returns the (possibly invalid) ID after the last wire of the specified TPC.
Definition at line 3458 of file GeometryCore.h.
|
inline |
Returns the (possibly invalid) ID after the last wire of the specified wire plane.
Definition at line 3467 of file GeometryCore.h.
std::string geo::GeometryCore::GetLArTPCVolumeName | ( | geo::TPCID const & | tpcid | ) | const |
Return the name of specified LAr TPC volume.
tpcid | ID of the TPC |
tpc | index of TPC in the cryostat |
cstat | index of the cryostat |
This information is used by Geant4 simulation
Definition at line 724 of file GeometryCore.cxx.
References TPC().
Referenced by LArStackingAction::ClassifyNewTrack(), trkf::SpacePts::produce(), trkf::Track3Dreco::produce(), trkf::Track3DKalman::produce(), vertex::VertexFinder2D::produce(), and trkf::Track3DKalmanSPS::produce().
|
inline |
Return the name of specified LAr TPC volume.
tpcid | ID of the TPC |
tpc | index of TPC in the cryostat |
cstat | index of the cryostat |
This information is used by Geant4 simulation
Definition at line 2824 of file GeometryCore.h.
|
inline |
Returns the ID next to the specified one.
GeoID | type of the ID to be returned |
id | the element ID to be incremented |
id
Definition at line 1942 of file GeometryCore.h.
|
inline |
Returns the center of side of the detector facing the beam.
Point | _(default: DefaultPoint_t )_ return this point type |
tpcid | ID of the TPC |
Effectively, this is the center of the side of TPC active volume which faces the negative z direction, the first that a beam following the positive z direction crosses.
Definition at line 2777 of file GeometryCore.h.
|
inline |
Returns the center of side of the detector facing the beam.
Point | _(default: DefaultPoint_t )_ return this point type |
tpcid | ID of the TPC |
Effectively, this is the center of the side of TPC active volume which faces the negative z direction, the first that a beam following the positive z direction crosses.
Definition at line 2779 of file GeometryCore.h.
|
inline |
Returns the center of side of the detector facing the beam.
Point | _(default: DefaultPoint_t )_ return this point type |
tpc | _(default: 0 )_ TPC number within the cryostat cstat |
cstat | _(default: 0 )_ number of cryostat |
GetTPCFrontFaceCenter(geo::TPCID const&)
GetTPCFrontFaceCenter(geo::TPCID const&)
instead. Definition at line 2797 of file GeometryCore.h.
|
inline |
Returns the center of side of the detector facing the beam.
Point | _(default: DefaultPoint_t )_ return this point type |
tpc | _(default: 0 )_ TPC number within the cryostat cstat |
cstat | _(default: 0 )_ number of cryostat |
GetTPCFrontFaceCenter(geo::TPCID const&)
GetTPCFrontFaceCenter(geo::TPCID const&)
instead. Definition at line 2800 of file GeometryCore.h.
const std::string geo::GeometryCore::GetWorldVolumeName | ( | ) | const |
Return the name of the world volume (needed by Geant4 simulation)
Definition at line 603 of file GeometryCore.cxx.
References DetectorEnclosureBox().
Referenced by evgen::CosmicsGen::CosmicsGen(), WorldBox(), and WorldVolume().
unsigned int geo::GeometryCore::HardwareChannelFromOpChannel | ( | int | opChannel | ) | const |
Convert unique channel to hardware channel.
Definition at line 267 of file GeometryCore.cxx.
References fChannelMapAlg.
bool geo::GeometryCore::HasChannel | ( | raw::ChannelID_t | channel | ) | const |
Returns whether the specified channel exists and is valid.
channel | the ID of the channel |
A channel is defined as existing and valid if its ID is not invalid and if the channel is physical.
Definition at line 591 of file GeometryCore.cxx.
References fChannelMapAlg.
|
inline |
Returns whether we have the specified cryostat.
The HasElement() method is overloaded and its meaning depends on the type of ID.
Definition at line 2011 of file GeometryCore.h.
References geo::CryostatID::Cryostat.
|
inline |
Returns whether we have the specified cryostat.
The HasElement() method is overloaded and its meaning depends on the type of ID.
Definition at line 2013 of file GeometryCore.h.
|
inline |
Returns whether we have the specified TPC.
Definition at line 2404 of file GeometryCore.h.
|
inline |
Returns whether we have the specified plane.
The HasElement() method is overloaded and its meaning depends on the type of ID.
Definition at line 2972 of file GeometryCore.h.
|
inline |
Returns whether we have the specified wire.
The HasElement() method is overloaded and its meaning depends on the type of ID.
Definition at line 3388 of file GeometryCore.h.
|
inline |
Returns whether we have the specified TPC set.
Definition at line 4911 of file GeometryCore.h.
|
inline |
Returns whether we have the specified readout plane
Definition at line 5113 of file GeometryCore.h.
|
inline |
Returns whether we have the specified plane.
The HasElement() method is overloaded and its meaning depends on the type of ID.
Definition at line 2967 of file GeometryCore.h.
References geo::TPCGeo::HasPlane().
bool geo::GeometryCore::HasROP | ( | readout::ROPID const & | ropid | ) | const |
Returns whether we have the specified readout plane
Definition at line 1740 of file GeometryCore.cxx.
References fChannelMapAlg.
|
inline |
Returns whether we have the specified TPC.
Definition at line 2397 of file GeometryCore.h.
References geo::CryostatGeo::HasTPC().
Referenced by pma::ProjectionMatchingAlg::buildShowerSeg(), ems::MultiEMShowers::convCluster(), and evd::TWQProjectionView::SelectTPC().
bool geo::GeometryCore::HasTPCset | ( | readout::TPCsetID const & | tpcsetid | ) | const |
Returns whether we have the specified TPC set
Definition at line 1696 of file GeometryCore.cxx.
References fChannelMapAlg, and FindTPCsetAtPosition().
|
inline |
Returns whether we have the specified wire.
The HasElement() method is overloaded and its meaning depends on the type of ID.
Definition at line 3383 of file GeometryCore.h.
References geo::PlaneGeo::HasWire().
Referenced by tca::FillmAllTraj(), pma::ProjectionMatchingAlg::validate(), pma::ProjectionMatchingAlg::validate_on_adc(), pma::ProjectionMatchingAlg::validate_on_adc_test(), and WireIDIntersectionCheck().
|
inline |
Sets the ID to the ID after the specified one.
Definition at line 5605 of file GeometryCore.h.
|
inline |
Sets the ID to the ID after the specified one.
Definition at line 5611 of file GeometryCore.h.
|
inline |
Sets the ID to the ID after the specified one.
Definition at line 5619 of file GeometryCore.h.
|
inline |
Sets the ID to the ID after the specified one.
Definition at line 5629 of file GeometryCore.h.
|
inline |
Sets the ID to the ID after the specified one.
Definition at line 5639 of file GeometryCore.h.
|
inline |
Sets the ID to the ID after the specified one.
Definition at line 5648 of file GeometryCore.h.
References WireEndPoints().
std::string geo::GeometryCore::Info | ( | std::string | indent = " " | ) | const |
Returns a string with complete geometry information.
Print()
Definition at line 1082 of file GeometryCore.cxx.
References Print().
bool geo::GeometryCore::IntersectionPoint | ( | geo::WireID const & | wid1, |
geo::WireID const & | wid2, | ||
double & | y, | ||
double & | z | ||
) | const |
Returns the intersection point of two wires.
wid1 | ID of the first wire |
wid2 | ID of the other wire |
y | (output) y coordinate of the intersection point |
z | (output) z coordinate of the intersection point |
The behaviour of this method reflects the one of WireIDsIntersect()
, which supersedes this one.
To test if the result is infinity, use e.g. std::isfinite(y)
.
WireIDsIntersect()
returning a vector, instead. Definition at line 1669 of file GeometryCore.cxx.
References WireIDsIntersect(), geo::WireIDIntersection::y, and geo::WireIDIntersection::z.
Referenced by pma::ProjectionMatchingAlg::addEndpointRef_(), sppt::SpacePointAlg_TimeSort::fillCoordinatesArrays(), trkf::CCTrackMaker::FillEndMatch(), tca::FillWireIntersections(), filter::MuonFilter::filter(), tca::Find3DVertices(), vertex::FeatureVertexFinder::Get3dVertexCandidates(), pma::Track3D::InitFromHits(), tca::Match2Planes(), cluster::ClusterMatchAlg::Match_RoughZ(), trkf::CCTrackMaker::PlnMatch(), and trkf::TrackTrajectoryAlg::ShortTrackTrajectory().
|
inline |
Returns the intersection point of two wires.
wire1 | wire index of the first wire |
wire2 | wire index of the other wire |
plane1 | plane index of the first wire |
plane2 | plane index of the other wire |
cstat | cryostat number |
tpc | tpc number within the cryostat where the planes belong |
y | (output) y coordinate of the intersection point |
z | (output) z coordinate of the intersection point |
No check is performed, not any information provided, about the validity of the result.
WireIDsIntersect()
returning a vector, instead. Definition at line 4242 of file GeometryCore.h.
bool geo::GeometryCore::IntersectLines | ( | double | A_start_x, |
double | A_start_y, | ||
double | A_end_x, | ||
double | A_end_y, | ||
double | B_start_x, | ||
double | B_start_y, | ||
double | B_end_x, | ||
double | B_end_y, | ||
double & | x, | ||
double & | y | ||
) | const |
Computes the intersection between two lines on a plane.
A_start_x | x coordinate of one point of the first segment |
A_start_y | y coordinate of one point of the first segment |
A_end_x | x coordinate of another point of the first segment |
A_end_y | y coordinate of another point of the first segment |
B_start_x | x coordinate of one point of the second segment |
B_start_y | y coordinate of one point of the second segment |
B_end_x | x coordinate of another point of the second segment |
B_end_y | y coordinate of another point of the second segment |
x | _(output)_ variable to store the x coordinate of intersection |
y | _(output)_ variable to store the y coordinate of intersection |
The order of the ends is not relevant. The return value is false
if the two segments are parallel. In that case, x
and y
variables are not changed. Otherwise, they hold the intersection coordinate, even if the intersection point is beyond one or both the segments.
Definition at line 1304 of file GeometryCore.cxx.
References coordIs, and lar::util::RealComparisons< RealType >::zero().
Referenced by IntersectSegments().
bool geo::GeometryCore::IntersectSegments | ( | double | A_start_x, |
double | A_start_y, | ||
double | A_end_x, | ||
double | A_end_y, | ||
double | B_start_x, | ||
double | B_start_y, | ||
double | B_end_x, | ||
double | B_end_y, | ||
double & | x, | ||
double & | y | ||
) | const |
Computes the intersection between two segments on a plane.
A_start_x | x coordinate of the start of the first segment |
A_start_y | y coordinate of the start of the first segment |
A_end_x | x coordinate of the end of the first segment |
A_end_y | y coordinate of the end of the first segment |
B_start_x | x coordinate of the start of the second segment |
B_start_y | y coordinate of the start of the second segment |
B_end_x | x coordinate of the end of the second segment |
B_end_y | y coordinate of the end of the second segment |
x | _(output)_ variable to store the x coordinate of intersection |
y | _(output)_ variable to store the y coordinate of intersection |
The order of the ends is not relevant. The return value is false
if the two segments are parallel, or if their intersection point is not on both the segments. If the segments are parallel, x and y variables are not changed. Otherwise, they hold the intersection coordinate, even if the intersection point is beyond one or both the segments.
Definition at line 1331 of file GeometryCore.cxx.
References util::abs(), c1, c2, geo::vect::cross(), geo::WireGeo::Direction(), geo::vect::dot(), geo::GeometryCore::Segment< Point >::end(), geo::WireGeo::GetCenter(), geo::WireGeo::HalfL(), IntersectLines(), geo::TPCID::InvalidID, PointWithinSegments(), geo::GeometryCore::Segment< Point >::start(), ThirdPlane(), geo::vect::toTVector3(), geo::TPCID::TPC, geo::WireIDIntersection::TPC, Wire(), WireEndPoints(), WireIDIntersectionCheck(), WireIDsIntersect(), geo::WireIDIntersection::y, and geo::WireIDIntersection::z.
bool geo::GeometryCore::IsValidOpChannel | ( | int | opChannel | ) | const |
Is this a valid OpChannel number?
Definition at line 274 of file GeometryCore.cxx.
References fChannelMapAlg, and NOpDets().
Referenced by cosmic::BeamFlashTrackMatchTaggerAlg::CheckCompatibility(), cosmic::BeamFlashTrackMatchTaggerAlg::PrintHypothesisFlashComparison(), lariov::SIOVPmtGainProvider::Reconfigure(), and opdet::RunHitFinder().
|
inline |
Enables ranged-for loops on all cryostat IDs of the detector.
Example of usage:
for (geo::CryostatID const& cID: geom->IterateCryostatIDs()) { geo::CryostatGeo const& Cryo = geom->Cryostat(cID); // useful code here } // for all cryostats
Definition at line 2179 of file GeometryCore.h.
References begin_cryostat(), and end_cryostat().
|
inline |
Enables ranged-for loops on all cryostats of the detector.
Example of usage:
for (geo::CryostatGeo const& Cryo: geom->IterateCryostats()) { // useful code here } // for all cryostats
Definition at line 2198 of file GeometryCore.h.
Referenced by phot::PDFastSimPAR::extractActiveVolumes(), larg4::OpFastScintillation::extractActiveVolumes(), and PositionToCryostatPtr().
|
inline |
Enables ranged-for loops on all plane IDs of the detector.
Example of usage:
Definition at line 3127 of file GeometryCore.h.
References begin_plane_id(), and end_plane_id().
Referenced by vertex::FeatureVertexFinderAna::analyze(), ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement(), corner::CornerFinderAlg::create_smaller_histos(), sim::details::createPlaneIndexMap(), corner::CornerFinderAlg::get_feature_points(), corner::CornerFinderAlg::get_feature_points_LineIntegralScore(), and cluster::DBScan3DAlg::init().
|
inline |
Enables ranged-for loops on all plane IDs of the specified cryostat.
cid | the ID of the cryostat to loop the plane IDs of |
If the cryostat ID is invalid, the effect is undefined.
Example of usage:
Definition at line 3152 of file GeometryCore.h.
References begin_plane_id(), and end_plane_id().
|
inline |
Enables ranged-for loops on all plane IDs of the specified TPC.
tid | the ID of the TPC to loop the plane IDs of |
If the TPC ID is invalid, the effect is undefined.
Example of usage:
Definition at line 3176 of file GeometryCore.h.
References begin_plane(), and end_plane().
|
delete |
IteratePlaneIDs()
is not supported on plane IDs.
|
delete |
IteratePlaneIDs()
is not supported on wire IDs.
|
delete |
IteratePlaneIDs()
is not supported on readout IDs.
|
delete |
IteratePlaneIDs()
is not supported on readout IDs.
|
inline |
Enables ranged-for loops on all planes of the detector.
Example of usage:
Definition at line 3209 of file GeometryCore.h.
References begin_plane(), and end_plane().
Referenced by mvapid::MVAAlg::GetWireNormals().
|
inline |
Enables ranged-for loops on all planes of the specified cryostat.
cid | the ID of the cryostat to loop the planes of |
If the cryostat ID is invalid, the effect is undefined.
Example of usage:
Definition at line 3232 of file GeometryCore.h.
References begin_plane(), and end_plane().
|
inline |
Enables ranged-for loops on all planes of the specified TPC.
tid | the ID of the TPC to loop the planes of |
If the TPC ID is invalid, the effect is undefined.
Example of usage:
Definition at line 3255 of file GeometryCore.h.
|
delete |
IteratePlanes()
is not supported on plane IDs.
|
delete |
IteratePlanes()
is not supported on wire IDs.
|
delete |
IteratePlanes()
is not supported on readout IDs.
|
delete |
IteratePlanes()
is not supported on readout IDs.
|
inline |
Enables ranged-for loops on all readout plane IDs of the detector.
Example of usage:
Definition at line 5249 of file GeometryCore.h.
References begin_ROP_id(), and end_ROP_id().
|
inline |
Enables ranged-for loops on all readout plane IDs of the specified cryostat.
cid | the ID of the cryostat to loop the readout plane IDs of |
If the cryostat ID is invalid, the effect is undefined.
Example of usage:
Definition at line 5273 of file GeometryCore.h.
References begin_ROP_id(), and end_ROP_id().
|
inline |
Enables ranged-for loops on all readout plane IDs of the specified TPC set.
sid | the ID of the TPC set to loop the readout plane IDs of |
If the TPC set ID is invalid, the effect is undefined.
Example of usage:
Definition at line 5297 of file GeometryCore.h.
References value.
|
inline |
Enables ranged-for loops on all TPC IDs of the detector.
Example of usage:
Definition at line 2597 of file GeometryCore.h.
References begin_TPC_id(), and end_TPC_id().
Referenced by tca::InsideTPC().
|
inline |
Enables ranged-for loops on all TPC IDs of the specified cryostat.
cid | the ID of the cryostat to loop the TPC IDs of |
If the cryostat ID is invalid, the effect is undefined.
Example of usage:
Definition at line 2621 of file GeometryCore.h.
References begin_TPC(), and end_TPC().
|
delete |
IterateTPCIDs()
is not supported on TPC IDs.
|
delete |
IterateTPCIDs()
is not supported on plane IDs.
|
delete |
IterateTPCIDs()
is not supported on wire IDs.
|
delete |
IterateTPCIDs()
is not supported on readout IDs.
|
delete |
IterateTPCIDs()
is not supported on readout IDs.
|
inline |
Enables ranged-for loops on all TPCs of the detector.
If the cryostat ID is invalid, the effect is undefined.
Example of usage:
Definition at line 2655 of file GeometryCore.h.
References begin_TPC(), and end_TPC().
Referenced by ems::MCinfo::Findtpcborders(), ICARUS::CTreeGeometry::printGeometry(), and UpdateAfterSorting().
|
inline |
Enables ranged-for loops on all TPCs of the specified cryostat.
cid | the ID of the cryostat to loop the TPCs of |
If the cryostat ID is invalid, the effect is undefined.
Example of usage:
Definition at line 2678 of file GeometryCore.h.
|
delete |
IterateTPCs()
is not supported on TPC IDs.
|
delete |
IterateTPCs()
is not supported on plane IDs.
|
delete |
IterateTPCs()
is not supported on wire IDs.
|
delete |
IterateTPCs()
is not supported on readout IDs.
|
delete |
IterateTPCs()
is not supported on readout IDs.
|
inline |
Enables ranged-for loops on all TPC set IDs of the detector.
Example of usage:
Definition at line 5004 of file GeometryCore.h.
References begin_TPCset_id(), and end_TPCset_id().
Referenced by ChannelsInTPCs().
|
inline |
Enables ranged-for loops on all TPC set IDs of the specified cryostat.
cid | the ID of the cryostat to loop the TPC set IDs of |
If the cryostat ID is invalid, the effect is undefined.
Example of usage:
Definition at line 5028 of file GeometryCore.h.
|
inline |
Enables ranged-for loops on all wire IDs of the detector.
Example of usage:
Definition at line 3554 of file GeometryCore.h.
References begin_wire_id(), and end_wire_id().
Referenced by ChannelsInTPCs(), and cluster::DBScan3DAlg::init().
|
inline |
Enables ranged-for loops on all wire IDs of specified cryostat.
cid | the ID of the cryostat to loop the wires of |
If the cryostat ID is invalid, the effect is undefined.
Example of usage:
Definition at line 3579 of file GeometryCore.h.
References begin_wire_id(), and end_wire_id().
|
inline |
Enables ranged-for loops on all wire IDs of specified TPC.
tid | the ID of the TPC to loop the wires of |
If the TPC ID is invalid, the effect is undefined.
Example of usage:
Definition at line 3604 of file GeometryCore.h.
References begin_wire_id(), and end_wire_id().
|
inline |
Enables ranged-for loops on all wire IDs of specified wire plane.
pid | the ID of the wire plane to loop the wires of |
If the wire plane ID is invalid, the effect is undefined.
Example of usage:
Definition at line 3629 of file GeometryCore.h.
References begin_wire(), and end_wire().
|
delete |
IterateWireIDs()
is not supported on wire IDs.
|
delete |
IterateWireIDs()
is not supported on readout IDs.
|
delete |
IterateWireIDs()
is not supported on readout IDs.
|
inline |
Enables ranged-for loops on all wires of the detector.
Example of usage:
Definition at line 3658 of file GeometryCore.h.
References begin_wire(), and end_wire().
|
inline |
Enables ranged-for loops on all wires of specified cryostat.
cid | the ID of the cryostat to loop the wires of |
If the cryostat ID is invalid, the effect is undefined.
Example of usage:
Definition at line 3682 of file GeometryCore.h.
References begin_wire(), and end_wire().
|
inline |
Enables ranged-for loops on all wires of specified TPC.
tid | the ID of the TPC to loop the wires of |
If the TPC ID is invalid, the effect is undefined.
Example of usage:
Definition at line 3706 of file GeometryCore.h.
References begin_wire(), and end_wire().
|
inline |
Enables ranged-for loops on all wires of specified wire plane.
pid | the ID of the wire plane to loop the wires of |
If the wire plane ID is invalid, the effect is undefined.
Example of usage:
Definition at line 3730 of file GeometryCore.h.
|
delete |
IterateWires()
is not supported on wire IDs.
|
delete |