LArSoft
v09_90_00
Liquid Argon Software toolkit - https://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 | Segment_t = Segment< Point_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... | |
Public Member Functions | |
GeometryCore (fhicl::ParameterSet const &pset) | |
Initialize geometry from a given configuration. 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 const & | ROOTFile () const |
Returns the full directory path to the geometry file source. More... | |
std::string const & | 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 (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... | |
CryostatGeo const * | PositionToCryostatPtr (Point_t const &point) const |
Returns the cryostat at specified location. More... | |
CryostatID | PositionToCryostatID (Point_t const &point) const |
Returns the ID of the cryostat at specified location. More... | |
bool | HasTPC (TPCID const &tpcid) const |
Returns whether we have the specified TPC. More... | |
bool | HasElement (TPCID const &tpcid) const |
Returns whether we have the specified TPC. More... | |
TPCGeo const * | PositionToTPCptr (Point_t const &point) const |
Returns the TPC at specified location. More... | |
TPCID | PositionToTPCID (Point_t const &point) const |
Returns the ID of the TPC at specified location. More... | |
void | GetBeginID (TPCID &id) const |
Initializes the specified ID with the ID of the first TPC. More... | |
void | GetEndID (TPCID &id) const |
Initializes the specified ID with the invalid ID after the last TPC. More... | |
bool | IncrementID (TPCID &id) const |
TPCID | GetBeginTPCID (CryostatID const &id) const |
Returns the ID of the first TPC in the specified cryostat. More... | |
TPCID | GetEndTPCID (CryostatID const &id) const |
unsigned int | Nviews () const |
Returns the number of views (different wire orientations) More... | |
void | GetBeginID (PlaneID &id) const |
Initializes the specified ID with the ID of the first plane. More... | |
void | GetEndID (PlaneID &id) const |
Initializes the specified ID with the invalid ID after the last plane. More... | |
bool | IncrementID (PlaneID &id) const |
PlaneID | GetBeginPlaneID (CryostatID const &id) const |
Returns the ID of the first plane of the specified cryostat. More... | |
PlaneID | GetEndPlaneID (CryostatID const &id) const |
PlaneID | GetBeginPlaneID (TPCID const &id) const |
Returns the ID of the first plane of the specified TPC. More... | |
PlaneID | GetEndPlaneID (TPCID const &id) const |
View_t | View (PlaneID const &pid) const |
Returns the view (wire orientation) on the channels of specified TPC plane. More... | |
SigType_t | SignalType (PlaneID const &pid) const |
Returns the type of signal on the channels of specified TPC plane. More... | |
void | GetBeginID (WireID &id) const |
Initializes the specified ID with the ID of the first wire. More... | |
void | GetEndID (WireID &id) const |
Initializes the specified ID with the invalid ID after the last wire. More... | |
bool | IncrementID (WireID &id) const |
WireID | GetBeginWireID (CryostatID const &id) const |
Returns the ID of the first wire in the specified cryostat. More... | |
WireID | GetEndWireID (CryostatID const &id) const |
WireID | GetBeginWireID (TPCID const &id) const |
Returns the ID of the first wire of the specified TPC. More... | |
WireID | GetEndWireID (TPCID const &id) const |
WireID | GetBeginWireID (PlaneID const &id) const |
Returns the ID of the first wire of the specified wire plane. More... | |
WireID | GetEndWireID (PlaneID const &id) const |
Length_t | WirePitch (View_t view) const |
Returns the distance between two wires in the specified view. More... | |
WireID | NearestWireID (Point_t const &point, PlaneID const &planeid) const |
Returns the ID of wire closest to position in the specified TPC. More... | |
bool | IntersectionPoint (WireID const &wid1, WireID const &wid2, double &y, double &z) const |
Returns the intersection point of two wires. More... | |
PlaneID | ThirdPlane (PlaneID const &pid1, PlaneID const &pid2) const |
Returns the plane that is not in the specified arguments. More... | |
double | ThirdPlaneSlope (PlaneID const &pid1, double slope1, PlaneID const &pid2, double slope2, PlaneID const &output_plane) const |
Returns the slope on the third plane, given it in the other two. More... | |
double | ThirdPlaneSlope (PlaneID const &pid1, double slope1, PlaneID const &pid2, double slope2) const |
Returns the slope on the third plane, given it in the other two. More... | |
double | ThirdPlane_dTdW (PlaneID const &pid1, double slope1, PlaneID const &pid2, double slope2, PlaneID const &output_plane) const |
Returns dT/dW on the third plane, given it in the other two. More... | |
double | ThirdPlane_dTdW (PlaneID const &pid1, double slope1, PlaneID const &pid2, double slope2) const |
Returns dT/dW on the third plane, given it in the other two. More... | |
std::string | OpDetGeoName (CryostatID const &cid=cryostat_zero) 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< 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 (Point_t const &worldLoc, 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 (Point_t const &worldLoc) const |
Returns the ID of the TPC set at specified location. More... | |
readout::TPCsetID | TPCtoTPCset (TPCID const &tpcid) const |
Returns the ID of the TPC set tpcid belongs to. More... | |
std::vector< 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 (CryostatID const &id) const |
Returns the ID of the first TPC set in the specified cryostat. More... | |
readout::TPCsetID | GetEndTPCsetID (CryostatID const &id) const |
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 (PlaneID const &planeid) const |
Returns the ID of the ROP planeid belongs to. More... | |
std::vector< PlaneID > | ROPtoWirePlanes (readout::ROPID const &ropid) const |
Returns a list of ID of planes belonging to the specified ROP. More... | |
std::vector< 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 (CryostatID const &id) const |
Returns the ID of the first readout plane of the specified cryostat. More... | |
readout::ROPID | GetEndROPID (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 |
View_t | View (readout::ROPID const &ropid) const |
Returns the view of the channels in the specified readout plane. More... | |
SigType_t | SignalType (readout::ROPID const &ropid) const |
Returns the type of signal of channels in specified readout plane. More... | |
template<> | |
TPCID | GetBeginID (CryostatID const &id) const |
template<> | |
TPCID | GetEndID (CryostatID const &id) const |
template<> | |
PlaneID | GetBeginID (CryostatID const &id) const |
template<> | |
PlaneID | GetBeginID (TPCID const &id) const |
template<> | |
PlaneID | GetEndID (CryostatID const &id) const |
template<> | |
PlaneID | GetEndID (TPCID const &id) const |
template<> | |
WireID | GetBeginID (CryostatID const &id) const |
template<> | |
WireID | GetBeginID (TPCID const &id) const |
template<> | |
WireID | GetBeginID (PlaneID const &id) const |
template<> | |
WireID | GetEndID (CryostatID const &id) const |
template<> | |
WireID | GetEndID (TPCID const &id) const |
template<> | |
WireID | GetEndID (PlaneID const &id) const |
Detector information | |
std::string const & | 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... | |
BoxBoundedGeo | WorldBox () const |
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... | |
BoxBoundedGeo | DetectorEnclosureBox (std::string const &name="volDetEnclosure") const |
std::string | VolumeName (Point_t const &point) const |
Returns the name of the deepest volume containing specified point. More... | |
std::string | MaterialName (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 (Point_t const &p1, Point_t const &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 (CryostatID const &) const |
Returns the number of cryostats in the detector. More... | |
bool | HasCryostat (CryostatID const &cryoid) const |
Returns whether we have the specified cryostat. More... | |
bool | HasElement (CryostatID const &cryoid) const |
Returns whether we have the specified cryostat. More... | |
CryostatGeo const * | CryostatPtr (CryostatID const &cryoid) const |
Returns the specified cryostat. More... | |
CryostatGeo const * | GetElementPtr (CryostatID const &cryoid) const |
Returns the specified cryostat. More... | |
CryostatGeo const & | PositionToCryostat (Point_t const &point) const |
Returns the cryostat at specified location. More... | |
void | GetBeginID (CryostatID &id) const |
Initializes the specified ID with the ID of the first cryostat. More... | |
void | GetEndID (CryostatID &id) const |
Initializes the specified ID with the invalid ID after the last cryostat. More... | |
bool | IncrementID (CryostatID &id) const |
template<typename T > | |
details::begin_type< T > | begin () const |
Initializes the specified ID with the ID of the first cryostat. More... | |
template<typename T > | |
details::end_type< T > | end () const |
Initializes the specified ID with the ID of the first cryostat. More... | |
template<typename T > | |
details::range_type< T > | Iterate () const |
Initializes the specified ID with the ID of the first cryostat. More... | |
template<typename T , typename BaseID > | |
details::begin_type< T > | begin (BaseID const &id) const |
Initializes the specified ID with the ID of the first cryostat. More... | |
template<typename T , typename BaseID > | |
details::end_type< T > | end (BaseID const &id) const |
Initializes the specified ID with the ID of the first cryostat. More... | |
template<typename T , typename ID > | |
details::range_type< T > | Iterate (ID const &id) const |
Initializes the specified ID with the ID of the first cryostat. More... | |
Length_t | CryostatHalfWidth (CryostatID const &cid=cryostat_zero) const |
Returns the half width of the cryostat (x direction) More... | |
Length_t | CryostatHalfHeight (CryostatID const &cid=cryostat_zero) const |
Returns the height of the cryostat (y direction) More... | |
Length_t | CryostatLength (CryostatID const &cid=cryostat_zero) const |
Returns the length of the cryostat (z direction) More... | |
std::string | GetCryostatVolumeName (CryostatID const &cid) const |
Return the name of LAr TPC volume. More... | |
TPC access and information | |
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 > | |
TPCDataContainer< T > | makeTPCData () const |
Returns a container with one entry per TPC. More... | |
template<typename T > | |
TPCDataContainer< T > | makeTPCData (T const &defValue) const |
Returns a container with one entry per TPC. More... | |
unsigned int | NTPC (CryostatID const &cryoid=cryostat_zero) const |
Returns the total number of TPCs in the specified cryostat. More... | |
unsigned int | NElements (CryostatID const &cryoid) const |
Returns the largest number of TPCs a cryostat in the detector has. More... | |
unsigned int | NSiblingElements (TPCID const &tpcid) const |
Returns the largest number of TPCs a cryostat in the detector has. More... | |
TPCGeo const * | TPCPtr (TPCID const &tpcid) const |
Returns the specified TPC. More... | |
TPCGeo const * | GetElementPtr (TPCID const &tpcid) const |
Returns the specified TPC. More... | |
TPCID | FindTPCAtPosition (Point_t const &point) const |
Returns the ID of the TPC at specified location. More... | |
TPCGeo const & | PositionToTPC (Point_t const &point) const |
Returns the TPC at specified location. More... | |
Length_t | DetHalfWidth (TPCID const &tpcid=tpc_zero) const |
Returns the half width of the active volume of the specified TPC. More... | |
Length_t | DetHalfHeight (TPCID const &tpcid=tpc_zero) const |
Returns the half height of the active volume of the specified TPC. More... | |
Length_t | DetLength (TPCID const &tpcid=tpc_zero) const |
Returns the length of the active volume of the specified TPC. More... | |
Point_t | GetTPCFrontFaceCenter (TPCID const &tpcid) const |
Returns the center of side of the detector facing the beam. More... | |
std::string | GetLArTPCVolumeName (TPCID const &tpcid=tpc_zero) const |
Return the name of specified LAr TPC volume. More... | |
Plane access and information | |
unsigned int | MaxPlanes () const |
Returns the largest number of planes among all TPCs in this detector. More... | |
template<typename T > | |
PlaneDataContainer< T > | makePlaneData () const |
Returns a container with one entry per wire plane. More... | |
template<typename T > | |
PlaneDataContainer< T > | makePlaneData (T const &defValue) const |
Returns a container with one entry per wire plane. More... | |
unsigned int | Nplanes (TPCID const &tpcid=tpc_zero) const |
Returns the total number of planes in the specified TPC. More... | |
unsigned int | NElements (TPCID const &tpcid) const |
Returns the largest number of planes among all TPCs in this detector. More... | |
unsigned int | NSiblingElements (PlaneID const &planeid) const |
Returns the largest number of planes among all TPCs in this detector. More... | |
bool | HasPlane (PlaneID const &planeid) const |
Returns whether we have the specified plane. More... | |
bool | HasElement (PlaneID const &planeid) const |
Returns whether we have the specified plane. More... | |
PlaneGeo const & | Plane (PlaneID const &planeid) const |
Returns the specified wire. More... | |
PlaneGeo const & | GetElement (PlaneID const &planeid) const |
Returns the specified wire. More... | |
PlaneGeo const * | PlanePtr (PlaneID const &planeid) const |
Returns the specified plane. More... | |
PlaneGeo const * | GetElementPtr (PlaneID const &planeid) const |
Returns the specified plane. More... | |
Length_t | PlanePitch (TPCID const &tpcid, PlaneID::PlaneID_t p1=0, PlaneID::PlaneID_t p2=1) const |
Returns the distance between two planes. More... | |
Length_t | PlanePitch (PlaneID const &pid1, PlaneID const &pid2) const |
Returns the distance between two planes. More... | |
Wire access and information | |
unsigned int | Nwires (PlaneID const &planeid) const |
Returns the total number of wires in the specified plane. More... | |
unsigned int | NElements (PlaneID const &planeid) const |
Returns the total number of wires in the specified plane. More... | |
unsigned int | NSiblingElements (WireID const &wireid) const |
Returns the total number of wires in the specified plane. More... | |
unsigned int | MaxWires () const |
Returns the largest number of wires among all planes in this detector. More... | |
bool | HasWire (WireID const &wireid) const |
Returns whether we have the specified wire. More... | |
bool | HasElement (WireID const &wireid) const |
Returns whether we have the specified wire. More... | |
WireGeo const * | WirePtr (WireID const &wireid) const |
Returns the specified wire. More... | |
WireGeo const * | GetElementPtr (WireID const &wireid) const |
Returns the specified wire. More... | |
WireGeo const & | Wire (WireID const &wireid) const |
Returns the specified wire. More... | |
WireGeo const & | WireIDToWireGeo (WireID const &wireid) const |
Returns the specified wire. More... | |
WireGeo const & | GetElement (WireID const &wireid) const |
Returns the specified wire. More... | |
double | WireAngleToVertical (View_t view, TPCID const &tpcid) 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 (WireID const &wireid, double *xyzStart, double *xyzEnd) const |
Fills two arrays with the coordinates of the wire end points. More... | |
Segment< Point_t > | WireEndPoints (WireID const &wireID) const |
Returns a segment whose ends are the wire end points. More... | |
Length_t | WireCoordinate (Point_t const &pos, PlaneID const &planeid) const |
Returns the index of the nearest wire to the specified position. More... | |
bool | WireIDsIntersect (WireID const &wid1, WireID const &wid2, Point_t &intersection) const |
Computes the intersection between two wires. More... | |
bool | WireIDsIntersect (WireID const &wid1, WireID const &wid2, WireIDIntersection &widIntersect) const |
Computes the intersection between two wires. More... | |
double | ThirdPlaneSlope (PlaneID::PlaneID_t plane1, double slope1, PlaneID::PlaneID_t plane2, double slope2, TPCID const &tpcid) const |
Returns the slope on the third plane, given it in the other two. More... | |
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 (Point_t const &point) const |
Find the nearest OpChannel to some point. 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 (Point_t const &point, double tolerance=0) const |
Returns the index of the auxiliary detector at specified location. More... | |
void | FindAuxDetSensitiveAtPosition (Point_t const &point, std::size_t &adg, std::size_t &sv, double tolerance=0) const |
Fills the indices of the sensitive auxiliary detector at location. More... | |
AuxDetGeo const & | PositionToAuxDet (Point_t const &point, unsigned int &ad, double tolerance=0) const |
Returns the auxiliary detector at specified location. More... | |
const AuxDetSensitiveGeo & | PositionToAuxDetSensitive (Point_t const &point, size_t &ad, size_t &sv, double tolerance=0) 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< 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... | |
TPC set information | |
unsigned int | NTPCsets (geo::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, 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< 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 |
Private Member Functions | |
CryostatList_t & | Cryostats () |
Return the internal cryostat list. More... | |
CryostatList_t const & | Cryostats () const |
AuxDetList_t & | AuxDets () |
Return the internal auxdet list. More... | |
AuxDetList_t const & | AuxDets () const |
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 (GeometryBuilder &builder) |
bool | WireIDIntersectionCheck (const WireID &wid1, const WireID &wid2) const |
Wire ID check for WireIDsIntersect methods. More... | |
void | SortGeometry (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... | |
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 ChannelMapAlg > | fChannelMapAlg |
Object containing the channel to wire mapping. More... | |
std::set< View_t > | allViews |
All views in the detector. More... | |
static constexpr CryostatID | cryostat_zero {0} |
Returns the specified cryostat. More... | |
CryostatGeo const & | Cryostat (CryostatID const &cryoid=cryostat_zero) const |
Returns the specified cryostat. More... | |
CryostatGeo const & | GetElement (CryostatID const &cryoid) const |
Returns the specified cryostat. More... | |
static constexpr TPCID | tpc_zero {cryostat_zero, 0} |
Returns the specified TPC. More... | |
TPCGeo const & | TPC (TPCID const &tpcid=tpc_zero) const |
Returns the specified TPC. More... | |
TPCGeo const & | GetElement (TPCID const &tpcid) const |
Returns the specified TPC. More... | |
static constexpr PlaneID | plane_zero {tpc_zero, 0} |
Returns the distance between two consecutive wires. More... | |
Length_t | WirePitch (PlaneID const &planeid=plane_zero) const |
Returns the distance between two consecutive wires. 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 119 of file GeometryCore.h.
Type of list of auxiliary detectors.
Definition at line 141 of file GeometryCore.h.
Type of list of cryostats.
Definition at line 139 of file GeometryCore.h.
using geo::GeometryCore::Segment_t = Segment<Point_t> |
Definition at line 136 of file GeometryCore.h.
|
explicit |
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 73 of file GeometryCore.cxx.
References fDetectorName.
|
delete |
|
delete |
void geo::GeometryCore::ApplyChannelMap | ( | std::unique_ptr< 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 84 of file GeometryCore.cxx.
References fChannelMapAlg, fGeoData, SortGeometry(), and UpdateAfterSorting().
Referenced by GetEndROPID(), and geo::Geometry::InitializeChannelMap().
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 318 of file GeometryCore.cxx.
References AuxDets(), and NAuxDets().
Referenced by ChannelToAuxDet(), ChannelToAuxDetSensitive(), NAuxDets(), PositionToAuxDet(), PositionToAuxDetSensitive(), Print(), and larg4::LArG4::produce().
|
inlineprivate |
Return the internal auxdet list.
Definition at line 2428 of file GeometryCore.h.
References geo::GeometryData_t::auxDets, and fGeoData.
Referenced by AuxDet(), BuildGeometry(), ChannelToAuxDet(), ChannelToAuxDetSensitive(), FindAuxDetAtPosition(), FindAuxDetSensitiveAtPosition(), NAuxDets(), NAuxDetSensitive(), and SortGeometry().
|
inlineprivate |
Definition at line 2429 of file GeometryCore.h.
References geo::GeometryData_t::auxDets, and fGeoData.
|
inline |
Initializes the specified ID with the ID of the first cryostat.
Definition at line 529 of file GeometryCore.h.
References geo::details::IteratorMaker< T, typename >::create_begin().
Referenced by TotalNTPC().
|
inline |
Initializes the specified ID with the ID of the first cryostat.
Definition at line 547 of file GeometryCore.h.
References geo::details::IteratorMaker< T, typename >::create_begin().
|
private |
Parses ROOT geometry nodes and builds LArSoft geometry representation.
builder | the algorithm to be used |
Definition at line 1009 of file GeometryCore.cxx.
References AuxDets(), Cryostats(), geo::GeometryBuilder::extractAuxiliaryDetectors(), and geo::GeometryBuilder::extractCryostats().
Referenced by LoadGeometryFile().
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 1157 of file GeometryCore.cxx.
References util::abs(), ChannelToWire(), geo::vect::cross(), geo::GeometryCore::Segment< Point >::end(), geo::WireGeo::HalfL(), geo::IntersectLines(), geo::TPCID::InvalidID, geo::IntersectionPointAndOffsets< Point >::offset1, geo::IntersectionPointAndOffsets< Point >::offset2, geo::IntersectionPointAndOffsets< Point >::point, lar::util::PointWithinSegments(), geo::GeometryCore::Segment< Point >::start(), geo::TPCID::TPC, geo::WireIDIntersection::TPC, Wire(), WireEndPoints(), WireIDIntersectionCheck(), WireIDsIntersect(), geo::WiresIntersectionAndOffsets(), 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(), vertex::VertexFinder2D::produce(), and Views().
std::vector< raw::ChannelID_t > geo::GeometryCore::ChannelsInTPCs | ( | ) | const |
Returns an std::vector<ChannelID_t> in all TPCs in a TPCSet.
Definition at line 210 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by NAuxDets().
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 447 of file GeometryCore.cxx.
References AuxDet(), AuxDets(), and fChannelMapAlg.
Referenced by NAuxDets().
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 455 of file GeometryCore.cxx.
References AuxDet(), AuxDets(), fChannelMapAlg, and geo::AuxDetGeo::SensitiveVolume().
Referenced by NAuxDets().
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 1087 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by reco3d::TripletFinder::FillBadMap(), reco3d::TripletFinder::FillHitMap(), View(), and Views().
std::vector< 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 1081 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by hit::MCHitAnaExample::analyze(), MCBTDemo::analyze(), detsim::WienerFilterAna::analyze(), apa::APAGeometryAlg::APAChannelsIntersect(), lar_cluster3d::StandardHit3DBuilder::BuildChannelStatusVec(), lar_cluster3d::SnippetHit3DBuilder::BuildChannelStatusVec(), ChannelsIntersect(), apa::APAGeometryAlg::ChanSegsPerSide(), lar_cluster3d::StandardHit3DBuilder::CollectArtHits(), lar_cluster3d::SnippetHit3DBuilder::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(), lcvn::WireHelper::GetID(), lcvn::SimChannelHelper::GetID(), 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(), dnn::SavePiMu::saveImage(), img::DataProviderAlg::setWireDriftData(), apa::APAGeometryAlg::ThreeChanPos(), apa::DisambigAlg::TrivialDisambig(), Views(), and evd::RecoBaseDrawer::Wire2D().
|
private |
Deletes the detector geometry structures.
Definition at line 157 of file GeometryCore.cxx.
References fGeoData.
Referenced by LoadGeometryFile().
|
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 1424 of file GeometryCore.cxx.
References ComputeThirdPlaneSlope().
Referenced by ThirdPlane_dTdW(), and ThirdPlaneSlope().
|
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 1396 of file GeometryCore.cxx.
References util::abs().
Referenced by ComputeThirdPlane_dTdW(), and ThirdPlaneSlope().
CryostatGeo const & geo::GeometryCore::Cryostat | ( | CryostatID const & | cryoid = cryostat_zero | ) | 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 303 of file GeometryCore.cxx.
References geo::CryostatID::Cryostat, and CryostatPtr().
Referenced by phot::PDFastSimANN::beginJob(), opdet::SimPhotonCounter::beginJob(), evgen::PhotonGen::beginRun(), larg4::LArVoxelReadoutGeometry::Construct(), ems::MultiEMShowers::convCluster(), CryostatHalfHeight(), CryostatHalfWidth(), CryostatLength(), detinfo::DetectorPropertiesStandard::DataFor(), cosmic::BeamFlashTrackMatchTaggerAlg::FillFlashProperties(), opdet::FlashHypothesisAnaAlg::FillOpDetPositions(), GetCryostatVolumeName(), GetElement(), ems::EMShower3D::LinkCandidates(), trkf::SpacePointAlg::makeSpacePoints(), NOpDets(), OpDetFromCryo(), OpDetGeoFromOpDet(), OpDetGeoName(), larg4::LArG4::produce(), phot::PhotonVisibilityService::reconfigure(), and TPC().
Length_t geo::GeometryCore::CryostatHalfHeight | ( | CryostatID const & | cid = cryostat_zero | ) | const |
Returns the height of the cryostat (y direction)
Definition at line 706 of file GeometryCore.cxx.
References Cryostat(), and geo::CryostatGeo::HalfHeight().
Referenced by simfilter::FilterNoDirtNeutrinos::filter(), Iterate(), and evgen::FileMuons::ReadEvents().
Length_t geo::GeometryCore::CryostatHalfWidth | ( | CryostatID const & | cid = cryostat_zero | ) | const |
Returns the half width of the cryostat (x direction)
Definition at line 700 of file GeometryCore.cxx.
References Cryostat(), and geo::CryostatGeo::HalfWidth().
Referenced by simfilter::FilterNoDirtNeutrinos::filter(), Iterate(), and evgen::FileMuons::ReadEvents().
Length_t geo::GeometryCore::CryostatLength | ( | CryostatID const & | cid = cryostat_zero | ) | const |
Returns the length of the cryostat (z direction)
Definition at line 712 of file GeometryCore.cxx.
References Cryostat(), and geo::CryostatGeo::Length().
Referenced by Iterate(), and evgen::FileMuons::ReadEvents().
|
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 477 of file GeometryCore.h.
References geo::CryostatID::Cryostat, Cryostats(), and HasCryostat().
Referenced by Cryostat(), GetElementPtr(), GetEndPlaneID(), GetEndTPCID(), GetEndWireID(), HasTPC(), and TPCPtr().
|
inlineprivate |
Return the internal cryostat list.
Definition at line 2424 of file GeometryCore.h.
References geo::GeometryData_t::cryostats, and fGeoData.
Referenced by BuildGeometry(), CryostatPtr(), MaxPlanes(), MaxTPCs(), MaxWires(), Ncryostats(), SortGeometry(), TotalNTPC(), and UpdateAfterSorting().
|
inlineprivate |
Definition at line 2425 of file GeometryCore.h.
References geo::GeometryData_t::cryostats, and fGeoData.
|
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 175 of file GeometryCore.h.
References fPositionWiggle.
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 509 of file GeometryCore.cxx.
References FindDetectorEnclosure(), and geo::LocalTransformation< StoredMatrix >::LocalToWorld().
Referenced by Print(), and SurfaceY().
|
inline |
Returns a string with the name of the detector, as configured.
Definition at line 203 of file GeometryCore.h.
References fDetectorName, WorldBox(), and WorldVolume().
Referenced by evgen::SNNueAr40CCGen::beginRun(), evgen::CosmicsGen::beginRun(), evgen::PhotonGen::beginRun(), evgen::FileMuons::beginRun(), evgen::NDKGen::beginRun(), evgen::NucleonDecay::beginRun(), evgen::GaisserParam::beginRun(), evgen::MarleyGen::beginRun(), evgen::NeutronOsc::beginRun(), evgen::TextFileGen::beginRun(), evgen::GENIEGen::beginRun(), evgen::LightSource::beginRun(), evgen::MUSUN::beginRun(), evgen::RadioGen::beginRun(), evgen::MarleyTimeGen::beginRun(), evgen::CORSIKAGen::beginRun(), evgen::SingleGen::beginRun(), geo::DumpGeometry::dump(), geo::Geometry::FillGeometryConfigurationInfo(), geo::Geometry::InitializeChannelMap(), Print(), wc::CellTree::processSpacePoint(), wc::CellTree::processSpacePointTruthDepo(), and geo::DumpGeometry::shouldDumpGeometry().
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 688 of file GeometryCore.cxx.
References geo::TPCGeo::ActiveHalfHeight(), and TPC().
Referenced by lar::example::AnalysisExample::analyze(), evgen::NDKGen::beginJob(), evgen::GENIEGen::beginJob(), trkf::SpacePointAna::bookHistograms(), LArStackingAction::ClassifyNewTrack(), cosmic::CosmicPCAxisTagger::CosmicPCAxisTagger(), evd_tool::MicroBooNEDrawer::DetOutline3D(), evd::Display3DPad::Draw(), lar_pandora::PFParticleCosmicAna::FillRecoTree(), simfilter::FilterNoDirtNeutrinos::filter(), util::GeometryUtilities::Get2DangleFrom3D(), GetBeginTPCID(), trk::TrackContainmentAlg::GetCosmicTagID(), cosmic::BeamFlashTrackMatchTaggerAlg::InDetector(), trk::TrackContainmentAlg::IsContained(), trkf::SeedAna::MCHists::MCHists(), trkf::TrackAna::MCHists::MCHists(), trk::TrackContainmentAlg::ProcessTracks(), trkf::SpacePts::produce(), trkf::Track3Dreco::produce(), vertex::VertexFinder2D::produce(), trkf::Track3DKalmanSPS::produce(), trkf::SeedAna::RecoHists::RecoHists(), and trkf::TrackAna::RecoHists::RecoHists().
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 682 of file GeometryCore.cxx.
References geo::TPCGeo::ActiveHalfWidth(), and TPC().
Referenced by lar::example::AnalysisExample::analyze(), evgen::NDKGen::beginJob(), evgen::GENIEGen::beginJob(), trkf::SpacePointAna::bookHistograms(), LArStackingAction::ClassifyNewTrack(), cosmic::CosmicPCAxisTagger::CosmicPCAxisTagger(), evd_tool::MicroBooNEDrawer::DetOutline3D(), evd::Display3DPad::Draw(), lar_pandora::PFParticleCosmicAna::FillRecoTree(), simfilter::FilterNoDirtNeutrinos::filter(), util::GeometryUtilities::Get2DangleFrom3D(), GetBeginTPCID(), trk::TrackContainmentAlg::GetCosmicTagID(), cosmic::BeamFlashTrackMatchTaggerAlg::InDetector(), cosmic::BeamFlashTrackMatchTaggerAlg::InDriftWindow(), trk::TrackContainmentAlg::IsContained(), trkf::SeedAna::MCHists::MCHists(), trkf::TrackAna::MCHists::MCHists(), trkf::CCTrackMaker::PlnMatch(), trk::TrackContainmentAlg::ProcessTracks(), trkf::Track3DKalmanSPS::produce(), trkf::SeedAna::RecoHists::RecoHists(), and trkf::TrackAna::RecoHists::RecoHists().
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 694 of file GeometryCore.cxx.
References geo::TPCGeo::ActiveLength(), and TPC().
Referenced by lar::example::AnalysisExample::analyze(), evgen::NDKGen::beginJob(), evgen::GENIEGen::beginJob(), trkf::SpacePointAna::bookHistograms(), LArStackingAction::ClassifyNewTrack(), cosmic::CosmicPCAxisTagger::CosmicPCAxisTagger(), evd_tool::MicroBooNEDrawer::DetOutline3D(), evd::Display3DPad::Draw(), lar_pandora::PFParticleCosmicAna::FillRecoTree(), simfilter::FilterNoDirtNeutrinos::filter(), util::GeometryUtilities::Get2DangleFrom3D(), GetBeginTPCID(), trk::TrackContainmentAlg::GetCosmicTagID(), cosmic::BeamFlashTrackMatchTaggerAlg::InDetector(), trk::TrackContainmentAlg::IsContained(), trkf::SeedAna::MCHists::MCHists(), trkf::TrackAna::MCHists::MCHists(), lar_cluster3d::StandardHit3DBuilder::NearestWireID(), lar_cluster3d::SnippetHit3DBuilder::NearestWireID(), trkf::CCTrackMaker::PlnMatch(), trk::TrackContainmentAlg::ProcessTracks(), evgen::CosmicsGen::produce(), trkf::Track3DKalmanSPS::produce(), trkf::SeedAna::RecoHists::RecoHists(), and trkf::TrackAna::RecoHists::RecoHists().
|
inline |
Initializes the specified ID with the ID of the first cryostat.
Definition at line 535 of file GeometryCore.h.
References geo::details::IteratorMaker< T, typename >::create_end().
Referenced by TotalNTPC().
|
inline |
Initializes the specified ID with the ID of the first cryostat.
Definition at line 553 of file GeometryCore.h.
References geo::details::IteratorMaker< T, typename >::create_end().
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 654 of file GeometryCore.cxx.
References geo::CollectPathsByName::paths, and ROOTGeoManager().
Referenced by SurfaceY().
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 637 of file GeometryCore.cxx.
References geo::CollectNodesByName::nodes, and ROOTGeoManager().
Referenced by SurfaceY().
unsigned int geo::GeometryCore::FindAuxDetAtPosition | ( | Point_t const & | point, |
double | tolerance = 0 |
||
) | const |
Returns the index of the auxiliary detector at specified location.
point | location to be tested |
tolerance | tolerance (cm) for matches. Default 0 |
std::numeric_limits<unsigned int>::max()
if no detector is thereDefinition at line 410 of file GeometryCore.cxx.
References AuxDets(), and fChannelMapAlg.
Referenced by FindAuxDetSensitiveAtPosition(), NAuxDets(), and PositionToAuxDet().
void geo::GeometryCore::FindAuxDetSensitiveAtPosition | ( | Point_t const & | point, |
std::size_t & | adg, | ||
std::size_t & | sv, | ||
double | tolerance = 0 |
||
) | 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 |
tolerance | tolerance (cm) for matches. Default 0. |
Definition at line 426 of file GeometryCore.cxx.
References AuxDets(), fChannelMapAlg, and FindAuxDetAtPosition().
Referenced by larg4::AuxDetReadoutGeometry::FindAndMakeAuxDetSensitive(), sim::GenericCRTUtility::GetAuxDetSimChannelByNumber(), NAuxDets(), and PositionToAuxDetSensitive().
|
private |
Definition at line 978 of file GeometryCore.cxx.
References FindFirstVolume(), and ROOTGeoManager().
Referenced by DetectorEnclosureBox().
|
private |
Definition at line 987 of file GeometryCore.cxx.
Referenced by FindDetectorEnclosure().
Returns the ID of the TPC at specified location.
worldLoc | 3D point (world reference frame, centimeters) |
Definition at line 326 of file GeometryCore.cxx.
References geo::CryostatID::Cryostat, fPositionWiggle, geo::CryostatGeo::ID(), geo::CryostatID::markInvalid(), PositionToCryostatPtr(), and geo::CryostatGeo::PositionToTPCID().
Referenced by trkf::TrajectoryMCSFitter::breakTrajInSegments(), pma::ProjectionMatchingAlg::buildShowerSeg(), ShowerRecoTools::ShowerUnidirectiondEdx::CalculateElement(), ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement(), ems::MultiEMShowers::convCluster(), evd::RecoBaseDrawer::DrawTrack2D(), hit::HitCheater::FindHitsOnChannel(), shower::EMShowerAlg::FindInitialTrackHits(), FindTPCsetAtPosition(), GetElementPtr(), opdet::GetHitGeometryInfo(), nnet::TrainingDataAlg::getProjection(), lar_pandora::LArPandoraInput::GetTrueStartAndEndPoints(), hit::DisambigCheater::InitHitToWids(), trkf::TrajectoryMCSFitter::linearRegression(), 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().
readout::TPCsetID geo::GeometryCore::FindTPCsetAtPosition | ( | Point_t const & | worldLoc | ) | const |
Returns the ID of the TPC set at specified location.
worldLoc | 3D coordinates of the point (world reference frame) |
Definition at line 1485 of file GeometryCore.cxx.
References FindTPCAtPosition(), and TPCtoTPCset().
Referenced by HasElement().
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 1542 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by HasElement().
|
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 193 of file GeometryCore.h.
References fGDMLfile.
Referenced by larg4::LArG4::beginJob().
|
inline |
Returns the ID of the first element of the detector.
GeoID | type of the ID to be returned |
Definition at line 357 of file GeometryCore.h.
Referenced by GetBeginID(), and GetEndID().
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 518 of file GeometryCore.h.
References HasCryostat().
|
inline |
Initializes the specified ID with the ID of the first TPC.
iterators
Definition at line 782 of file GeometryCore.h.
References GetBeginID(), GetEndID(), and IncrementID().
|
inline |
Initializes the specified ID with the ID of the first plane.
Definition at line 1060 of file GeometryCore.h.
References GetBeginID(), GetEndID(), and IncrementID().
|
inline |
Initializes the specified ID with the ID of the first wire.
Definition at line 1220 of file GeometryCore.h.
References GetBeginID(), GetEndID(), and IncrementID().
|
inline |
Initializes the specified ID with the ID of the first TPC set.
iterators
Definition at line 2091 of file GeometryCore.h.
References GetBeginID().
|
inline |
Initializes the specified ID with the ID of the first readout plane.
iterators
Definition at line 2256 of file GeometryCore.h.
References GetBeginID().
|
inline |
Definition at line 2549 of file GeometryCore.h.
References GetBeginTPCID().
|
inline |
Definition at line 2562 of file GeometryCore.h.
References GetBeginPlaneID().
Definition at line 2568 of file GeometryCore.h.
References GetBeginPlaneID().
|
inline |
Definition at line 2587 of file GeometryCore.h.
References GetBeginWireID().
Definition at line 2593 of file GeometryCore.h.
References GetBeginWireID().
Definition at line 2599 of file GeometryCore.h.
References GetBeginWireID().
|
inline |
Returns the ID of the first plane of the specified cryostat.
Definition at line 1074 of file GeometryCore.h.
References GetBeginTPCID(), and GetEndPlaneID().
Referenced by GetBeginID(), GetBeginWireID(), and GetEndPlaneID().
Returns the ID of the first plane of the specified TPC.
Definition at line 1081 of file GeometryCore.h.
References GetEndPlaneID(), PlanePitch(), SignalType(), and View().
|
inline |
Returns the ID of the first readout plane of the specified cryostat.
Definition at line 2274 of file GeometryCore.h.
References GetBeginTPCsetID().
Referenced by geo::GeometryCore::GetBeginID< readout::ROPID, CryostatID >(), and geo::GeometryCore::GetBeginID< readout::ROPID, readout::TPCsetID >().
|
inline |
Returns the ID of the first readout plane of the specified TPC set.
Definition at line 2281 of file GeometryCore.h.
|
inline |
Returns the ID of the first TPC in the specified cryostat.
Definition at line 796 of file GeometryCore.h.
References DetHalfHeight(), DetHalfWidth(), DetLength(), GetEndTPCID(), and tpc_zero.
Referenced by GetBeginID(), GetBeginPlaneID(), and GetEndTPCID().
|
inline |
Returns the ID of the first TPC set in the specified cryostat.
Definition at line 2109 of file GeometryCore.h.
Referenced by geo::GeometryCore::GetBeginID< readout::TPCsetID, CryostatID >(), and GetBeginROPID().
|
inline |
Returns the ID of the first wire in the specified cryostat.
Definition at line 1234 of file GeometryCore.h.
References GetBeginPlaneID(), and GetEndWireID().
Referenced by GetBeginID(), and GetEndWireID().
Returns the ID of the first wire of the specified TPC.
Definition at line 1241 of file GeometryCore.h.
References GetEndWireID().
Returns the ID of the first wire of the specified wire plane.
Definition at line 1248 of file GeometryCore.h.
References GetEndWireID().
unsigned int geo::GeometryCore::GetClosestOpDet | ( | 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 1635 of file GeometryCore.cxx.
References geo::CryostatID::Cryostat, geo::CryostatGeo::GetClosestOpDet(), geo::CryostatGeo::ID(), OpDetFromCryo(), and PositionToCryostatPtr().
Referenced by ThirdPlaneSlope().
std::string geo::GeometryCore::GetCryostatVolumeName | ( | 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 676 of file GeometryCore.cxx.
References Cryostat(), and geo::CryostatGeo::Volume().
Referenced by Iterate().
|
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 465 of file GeometryCore.h.
References Cryostat().
Referenced by sce::SCECorrection::applyT0Shift(), and evd::SimulationDrawer::MCTruthOrtho().
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 723 of file GeometryCore.h.
References TPC().
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 1035 of file GeometryCore.h.
References Plane().
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 1212 of file GeometryCore.h.
References Wire().
|
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 481 of file GeometryCore.h.
References CryostatPtr(), PositionToCryostat(), PositionToCryostatID(), and PositionToCryostatPtr().
Referenced by geo::details::getElementPtr(), Nplanes(), NTPC(), and Nwires().
Returns the specified TPC.
tpcid | TPC ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 740 of file GeometryCore.h.
References FindTPCAtPosition(), PositionToTPC(), PositionToTPCID(), PositionToTPCptr(), and TPCPtr().
Returns the specified plane.
planeid | plane ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 1052 of file GeometryCore.h.
References PlanePtr().
Returns the specified wire.
wireid | wire ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 1197 of file GeometryCore.h.
References WirePtr().
|
inline |
Returns the (possibly invalid) ID after the last subelement of the detector.
GeoID | type of the ID to be returned |
Definition at line 385 of file GeometryCore.h.
References GetBeginID().
Referenced by GetBeginID(), and 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 521 of file GeometryCore.h.
References IncrementID(), and Ncryostats().
void geo::GeometryCore::GetEndID | ( | TPCID & | id | ) | const |
Initializes the specified ID with the invalid ID after the last TPC.
Definition at line 380 of file GeometryCore.cxx.
References GetBeginID(), GetEndID(), and MaxTPCs().
void geo::GeometryCore::GetEndID | ( | PlaneID & | id | ) | const |
Initializes the specified ID with the invalid ID after the last plane.
Definition at line 718 of file GeometryCore.cxx.
References GetBeginID(), GetEndID(), and MaxPlanes().
void geo::GeometryCore::GetEndID | ( | WireID & | id | ) | const |
Initializes the specified ID with the invalid ID after the last wire.
Definition at line 840 of file GeometryCore.cxx.
References GetBeginID(), GetEndID(), and MaxWires().
|
inline |
Initializes the specified ID with the invalid ID after the last TPC set.
Definition at line 2098 of file GeometryCore.h.
References GetEndID(), and IncrementID().
|
inline |
Initializes the specified ID with the invalid ID after the last ROP.
Definition at line 2263 of file GeometryCore.h.
References GetEndID(), and IncrementID().
|
inline |
Definition at line 2555 of file GeometryCore.h.
References GetEndTPCID().
|
inline |
Definition at line 2574 of file GeometryCore.h.
References GetEndPlaneID().
Definition at line 2580 of file GeometryCore.h.
References GetEndPlaneID().
|
inline |
Definition at line 2605 of file GeometryCore.h.
References GetEndWireID().
Definition at line 2611 of file GeometryCore.h.
References GetEndWireID().
Definition at line 2617 of file GeometryCore.h.
References GetEndWireID().
PlaneID geo::GeometryCore::GetEndPlaneID | ( | CryostatID const & | id | ) | const |
Returns the (possibly invalid) ID after the last plane of the specified cryostat.
Definition at line 731 of file GeometryCore.cxx.
References CryostatPtr(), GetBeginPlaneID(), GetEndTPCID(), and geo::CryostatGeo::MaxPlanes().
Referenced by GetBeginPlaneID(), GetEndID(), and GetEndWireID().
Returns the (possibly invalid) ID after the last plane of the specified TPC.
Definition at line 738 of file GeometryCore.cxx.
References GetBeginPlaneID(), GetNextID(), geo::CryostatID::markInvalid(), geo::TPCGeo::Nplanes(), TPC(), and TPCPtr().
|
inline |
Returns the (possibly invalid) ID after the last readout plane of the specified cryostat.
Definition at line 2278 of file GeometryCore.h.
References GetEndTPCsetID().
Referenced by geo::GeometryCore::GetEndID< readout::ROPID, CryostatID >(), and geo::GeometryCore::GetEndID< readout::ROPID, readout::TPCsetID >().
|
inline |
Returns the (possibly invalid) ID after the last readout plane of the specified TPC set.
Definition at line 2285 of file GeometryCore.h.
References ApplyChannelMap(), GetNextID(), HardwareChannelFromOpChannel(), IsValidOpChannel(), LoadGeometryFile(), MaxOpChannel(), NOpChannels(), NOpHardwareChannels(), OpChannel(), OpDetFromCryo(), OpDetFromOpChannel(), SignalType(), and View().
TPCID geo::GeometryCore::GetEndTPCID | ( | CryostatID const & | id | ) | const |
Returns the (possibly invalid) ID after the last TPC of the specified cryostat.
Definition at line 393 of file GeometryCore.cxx.
References geo::CryostatID::Cryostat, CryostatPtr(), GetBeginTPCID(), geo::CryostatID::markInvalid(), and geo::CryostatGeo::NTPC().
Referenced by GetBeginTPCID(), GetEndID(), and GetEndPlaneID().
|
inline |
Returns the (possibly invalid) ID after the last TPC set of the specified cryostat.
Definition at line 2113 of file GeometryCore.h.
References geo::CryostatID::Cryostat, and NROPs().
Referenced by geo::GeometryCore::GetEndID< readout::TPCsetID, CryostatID >(), and GetEndROPID().
WireID geo::GeometryCore::GetEndWireID | ( | CryostatID const & | id | ) | const |
Returns the (possibly invalid) ID after the last wire in the specified cryostat.
Definition at line 853 of file GeometryCore.cxx.
References CryostatPtr(), GetBeginWireID(), GetEndPlaneID(), geo::CryostatID::markInvalid(), and geo::CryostatGeo::MaxWires().
Referenced by GetBeginWireID(), and GetEndID().
Returns the (possibly invalid) ID after the last wire of the specified TPC.
Definition at line 863 of file GeometryCore.cxx.
References GetBeginWireID(), GetEndPlaneID(), geo::CryostatID::markInvalid(), geo::TPCGeo::MaxWires(), TPC(), and TPCPtr().
Returns the (possibly invalid) ID after the last wire of the specified wire plane.
Definition at line 873 of file GeometryCore.cxx.
References GetBeginWireID(), GetNextID(), geo::CryostatID::markInvalid(), geo::PlaneGeo::Nwires(), and PlanePtr().
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 670 of file GeometryCore.cxx.
References geo::TPCGeo::ActiveVolume(), and TPC().
Referenced by LArStackingAction::ClassifyNewTrack(), GetTPCFrontFaceCenter(), trkf::SpacePts::produce(), trkf::Track3Dreco::produce(), trkf::Track3DKalman::produce(), vertex::VertexFinder2D::produce(), and trkf::Track3DKalmanSPS::produce().
|
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 371 of file GeometryCore.h.
References IncrementID().
Referenced by GetEndPlaneID(), GetEndROPID(), and GetEndWireID().
Returns the center of side of the detector facing the beam.
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 872 of file GeometryCore.h.
References geo::TPCGeo::GetFrontFaceCenter(), GetLArTPCVolumeName(), MaxPlanes(), TPC(), and tpc_zero.
const std::string geo::GeometryCore::GetWorldVolumeName | ( | ) | const |
Return the name of the world volume (needed by Geant4 simulation)
Definition at line 501 of file GeometryCore.cxx.
Referenced by SurfaceY(), WorldBox(), and WorldVolume().
unsigned int geo::GeometryCore::HardwareChannelFromOpChannel | ( | int | opChannel | ) | const |
Convert unique channel to hardware channel.
Definition at line 268 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by GetEndROPID().
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 495 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by Views().
|
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 446 of file GeometryCore.h.
References geo::CryostatID::Cryostat, and Ncryostats().
Referenced by CryostatPtr(), GetBeginID(), HasElement(), and IncrementID().
|
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 447 of file GeometryCore.h.
References HasCryostat().
|
inline |
Returns whether we have the specified TPC.
Definition at line 706 of file GeometryCore.h.
References HasTPC().
|
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 1016 of file GeometryCore.h.
References HasPlane().
|
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 1180 of file GeometryCore.h.
References HasWire().
|
inline |
Returns whether we have the specified TPC set.
Definition at line 2059 of file GeometryCore.h.
References FindTPCsetAtPosition(), HasTPCset(), TPCsetToTPCs(), and TPCtoTPCset().
|
inline |
Returns whether we have the specified readout plane
Definition at line 2198 of file GeometryCore.h.
References FirstChannelInROP(), HasROP(), ROPtoTPCs(), ROPtoWirePlanes(), and WirePlaneToROP().
|
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 1011 of file GeometryCore.h.
References geo::TPCGeo::HasPlane(), and TPCPtr().
Referenced by HasElement().
bool geo::GeometryCore::HasROP | ( | readout::ROPID const & | ropid | ) | const |
Returns whether we have the specified readout plane
Definition at line 1518 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by HasElement(), and makeROPdata().
|
inline |
Returns whether we have the specified TPC.
Definition at line 699 of file GeometryCore.h.
References CryostatPtr(), and geo::CryostatGeo::HasTPC().
Referenced by pma::ProjectionMatchingAlg::buildShowerSeg(), ems::MultiEMShowers::convCluster(), HasElement(), and evd::TWQProjectionView::SelectTPC().
bool geo::GeometryCore::HasTPCset | ( | readout::TPCsetID const & | tpcsetid | ) | const |
Returns whether we have the specified TPC set
Definition at line 1479 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by HasElement(), and makeTPCsetData().
|
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 1175 of file GeometryCore.h.
References geo::PlaneGeo::HasWire(), and PlanePtr().
Referenced by tca::FillmAllTraj(), HasElement(), 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 2481 of file GeometryCore.h.
References HasCryostat().
Referenced by GetBeginID(), GetEndID(), GetNextID(), and IncrementID().
|
inline |
Sets the ID to the ID after the specified one.
Definition at line 2488 of file GeometryCore.h.
References IncrementID(), NTPC(), and TPC().
|
inline |
Sets the ID to the ID after the specified one.
Definition at line 2497 of file GeometryCore.h.
References IncrementID(), Nplanes(), and Plane().
|
inline |
Sets the ID to the ID after the specified one.
Definition at line 2508 of file GeometryCore.h.
References IncrementID(), Nwires(), and Wire().
|
inline |
Sets the ID to the ID after the specified one.
Definition at line 2519 of file GeometryCore.h.
References IncrementID(), and NTPCsets().
|
inline |
Sets the ID to the ID after the specified one.
Definition at line 2528 of file GeometryCore.h.
References IncrementID(), and NROPs().
std::string geo::GeometryCore::Info | ( | std::string | indent = " " | ) | const |
Returns a string with complete geometry information.
Print()
Definition at line 1073 of file GeometryCore.cxx.
References Print().
Referenced by SurfaceY().
bool geo::GeometryCore::IntersectionPoint | ( | WireID const & | wid1, |
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 1451 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().
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(), GetEndROPID(), cosmic::BeamFlashTrackMatchTaggerAlg::PrintHypothesisFlashComparison(), lariov::SIOVPmtGainProvider::Reconfigure(), and opdet::RunHitFinder().
|
inline |
Initializes the specified ID with the ID of the first cryostat.
Definition at line 541 of file GeometryCore.h.
References geo::details::IteratorMaker< T, typename >::create_range().
Referenced by vertex::FeatureVertexFinderAna::analyze(), pfpf::PFPAna::analyze(), cluster::ClusterAna::analyze(), cluster::DBclusterAna::analyze(), evgen::GaisserParam::beginJob(), trkf::SpacePointAna::bookHistograms(), pma::PMAlgTracker::build(), ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement(), corner::CornerFinderAlg::create_smaller_histos(), lar_pandora::LArPandoraInput::CreatePandoraReadoutGaps(), sim::details::createPlaneIndexMap(), evd_tool::ICARUSDrawer::DetOutline3D(), trkf::TrackKalmanFitter::doFitWork(), larg4::ISTPC::extractActiveLArVolume(), larg4::OpFastScintillation::extractActiveVolumes(), cluster::HoughBaseAlg::FastTransform(), trkf::CCTrackMaker::FillChgNear(), tca::FillWireHitRange(), vertex::FeatureVertexFinder::Find2dClusterVertexCandidates(), vertex::FeatureVertexFinder::Find3dVtxFrom2dClusterVtxCand(), trkf::CCTrackMaker::FindMaybeVertices(), ems::MCinfo::Findtpcborders(), vertex::FeatureVertexFinder::Get3dVertexCandidates(), corner::CornerFinderAlg::get_feature_points(), corner::CornerFinderAlg::get_feature_points_fast(), corner::CornerFinderAlg::get_feature_points_LineIntegralScore(), mvapid::MVAAlg::GetDetectorEdges(), lar_pandora::LArPandoraInput::GetTrueStartAndEndPoints(), mvapid::MVAAlg::GetWireNormals(), corner::CornerFinderAlg::GrabWires(), cluster::HoughBaseAlg::HoughBaseAlg(), cluster::DBScan3DAlg::init(), corner::CornerFinderAlg::InitializeGeometry(), cluster::DBScanAlg::InitScan(), tca::InsideTPC(), lar_pandora::LArPandoraGeometry::LoadGeometry(), sim::MCRecoEdep::MakeMCEdep(), shower::TCShowerAlg::makeShowers(), trkf::SpacePointAlg::makeSpacePoints(), sim::MCRecoPart::MCRecoPart(), evd::RecoBaseDrawer::OpFlashOrtho(), evd::Ortho3DPad::Ortho3DPad(), evgen::CORSIKAGen::populateNShowers(), trkf::CCTrackMaker::PrintClusters(), evgen::CosmicsGen::produce(), tss::TrackShowerHits::produce(), evgen::NDKGen::produce(), trkf::CCTrackMaker::produce(), evgen::NucleonDecay::produce(), vertex::FeatureVertexFinder::produce(), evgen::NeutronOsc::produce(), evgen::CORSIKAGen::produce(), evd::RecoBaseDrawer::RecoBaseDrawer(), phot::PhotonVisibilityService::reconfigure(), lariov::SIOVElectronicsCalibProvider::Reconfigure(), lariov::DetPedestalRetrievalAlg::Reconfigure(), evgen::ActiveVolumeVertexSampler::reconfigure(), evgen::ActiveVolumeVertexSampler::sample_vertex_pos(), evd::SimulationDrawer::SimulationDrawer(), trkf::CCTrackMaker::StoreTrack(), evd::TWQProjectionView::TWQProjectionView(), and trkf::SpacePointAlg::update().
|
inline |
Initializes the specified ID with the ID of the first cryostat.
Definition at line 559 of file GeometryCore.h.
References geo::details::IteratorMaker< T, typename >::create_range(), cryostat_zero, CryostatHalfHeight(), CryostatHalfWidth(), CryostatLength(), GetCryostatVolumeName(), MaxTPCs(), and TotalNTPC().
void geo::GeometryCore::LoadGeometryFile | ( | std::string | gdmlfile, |
std::string | rootfile, | ||
GeometryBuilder & | builder, | ||
bool | bForceReload = false |
||
) |
Loads the geometry information from the specified files.
gdmlfile | path to file to be used for Geant4 simulation |
rootfile | path to file for internal geometry representation |
builder | algorithm to be used for the interpretation of geometry |
bForceReload | reload even if there is already a valid geometry |
Both paths must directly resolve to an available file, as no search is performed for them.
The gdmlfile parameter does not have to necessarily be in GDML format, as long as it's something supported by Geant4. This file is not used by the geometry, but its path is provided on request by the simulation modules (see LArSoft LArG4
module). The rootfile also does not need to be a ROOT file, but just anything that TGeoManager::Import() supports. This file is parsed immediately and the internal geometry representation is built out of it.
Definition at line 93 of file GeometryCore.cxx.
References BuildGeometry(), ClearGeometry(), fGDMLfile, and fROOTfile.
Referenced by GetEndROPID(), LoadGeometryFile(), and geo::Geometry::LoadNewGeometry().
void geo::GeometryCore::LoadGeometryFile | ( | std::string | gdmlfile, |
std::string | rootfile, | ||
bool | bForceReload = false |
||
) |
Loads the geometry information from the specified files.
gdmlfile | path to file to be used for Geant4 simulation |
rootfile | path to file for internal geometry representation |
bForceReload | reload even if there is already a valid geometry |
This legacy version of LoadGeometryFile()
uses a standard geo::GeometryBuilder
implementation. Do not rely on it if you can avoid it.
Definition at line 143 of file GeometryCore.cxx.
References fBuilderParameters, and LoadGeometryFile().
|
inline |
Returns a container with one entry per wire plane.
T | type of data in the container |
T
per plane geo::PlaneDataContainer
The working assumption is that all cryostats have the same number of TPCs, and all TPCs have the same number of planes. It is always guaranteed that all existing planes have an entry in the container, although if the previous working assumption is not satisfied there will be entries in the containers which are not associated to a valid plane.
The interface of the container is detailed in the documentation of the container itself, geo::PlaneDataContainer
. Example of usage:
where the container will be filled with pointers to all hits on the given wire plane (wire IDs are implicitly converted into plane IDs in the index operator[]
call).
Definition at line 937 of file GeometryCore.h.
References MaxPlanes(), MaxTPCs(), and Ncryostats().
|
inline |
Returns a container with one entry per wire plane.
T | type of data in the container |
defValue | the initial value of all elements in the container |
T
per plane geo::PlaneDataContainer
This function operates as makePlaneData() const
, except that copies the specified value into all the entries of the container. Example:
Definition at line 961 of file GeometryCore.h.
References MaxPlanes(), MaxTPCs(), and Ncryostats().
|
inline |
Returns a container with one entry per readout plane.
T | type of data in the container |
T
per readout plane readout::ROPDataContainer
The working assumption is that all cryostats have the same number of TPC sets, and all TPC sets have the same number of readout planes. It is always guaranteed that all existing readout planes have an entry in the container, although if the previous working assumption is not satisfied there will be entries in the container which are not associated to a valid readout plane.
The interface of the container is detailed in the documentation of the container itself, readout::ROPDataContainer
. Example of usage:
Definition at line 2164 of file GeometryCore.h.
References MaxROPs(), MaxTPCsets(), and Ncryostats().
|
inline |
Returns a container with one entry per readout plane.
T | type of data in the container |
defValue | the initial value of all elements in the container |
T
per readout plane readout::ROPDataContainer
This function operates as makeROPdata() const
, except that copies the specified value into all the entries of the container. Example:
Definition at line 2184 of file GeometryCore.h.
References HasROP(), MaxROPs(), MaxTPCsets(), and Ncryostats().
|
inline |
Returns a container with one entry per TPC.
T | type of data in the container |
T
per TPC geo::TPCDataContainer
The working assumption is that all cryostats have the same number of TPCs. It is always guaranteed that all existing TPCs have an entry in the container, although if the previous working assumption is not satisfied there will be entries in the containers which are not associated to a valid TPC.
The interface of the container is detailed in the documentation of the container itself, geo::TPCDataContainer
. Example of usage:
where the container will be filled with pointers to all tracks starting from a given TPC (tracks reconstructed as starting outside the TPCs will be not saved in the container).
Definition at line 645 of file GeometryCore.h.
References MaxTPCs(), and Ncryostats().
|
inline |
Returns a container with one entry per TPC.
T | type of data in the container |
defValue | the initial value of all elements in the container |
defValue
per each TPC geo::TPCDataContainer
This function operates as makeTPCData() const
, except that copies the specified value into all the entries of the container. Example:
Definition at line 670 of file GeometryCore.h.
References MaxTPCs(), and Ncryostats().
|
inline |
Returns a container with one entry per TPC set.
T | type of data in the container |
T
per TPC set readout::TPCsetDataContainer
The working assumption is that all cryostats have the same number of TPC sets. It is always guaranteed that all existing TPC sets have an entry in the container, although if the previous working assumption is not satisfied there will be entries in the containers which are not associated to a valid TPC set.
The interface of the container is detailed in the documentation of the container itself, readout::TPCsetDataContainer
. Example of usage:
Definition at line 2026 of file GeometryCore.h.
References MaxTPCsets(), and Ncryostats().
|
inline |
Returns a container with one entry per TPC set.
T | type of data in the container |
defValue | the initial value of all elements in the container |
defValue
per each TPC set readout::TPCsetDataContainer
This function operates as makeTPCsetData() const
, except that it copies the specified value into all the entries of the container. Example:
Definition at line 2046 of file GeometryCore.h.
References HasTPCset(), MaxTPCsets(), and Ncryostats().
Returns the column density between two points.
p1 | the first point |
p2 | the second point |
The column density is defined as where is the density at point , which the integral leads from p1
to p2
in a straight line.
Both points are specified in world coordinates.
Definition at line 1033 of file GeometryCore.cxx.
References dir, and geo::vect::makePointFromCoords().
Referenced by SurfaceY().
TGeoMaterial const * geo::GeometryCore::Material | ( | Point_t const & | point | ) | const |
Returns the material at the specified position.
Definition at line 949 of file GeometryCore.cxx.
Referenced by MaterialName(), and SurfaceY().
std::string geo::GeometryCore::MaterialName | ( | Point_t const & | point | ) | const |
Name of the deepest material containing the point xyz.
Definition at line 958 of file GeometryCore.cxx.
References geo::BoxBoundedGeo::ContainsPosition(), Material(), geo::BoxBoundedGeo::Max(), geo::BoxBoundedGeo::Min(), and WorldBox().
Referenced by larg4::LArG4Ana::analyze(), and SurfaceY().
unsigned int geo::GeometryCore::MaxOpChannel | ( | ) | const |
Largest optical channel number.
Definition at line 244 of file GeometryCore.cxx.
References fChannelMapAlg, and NOpDets().
Referenced by cosmic::BeamFlashTrackMatchTaggerAlg::CheckCompatibility(), opdet::ConstructFlash(), GetEndROPID(), and cosmic::BeamFlashTrackMatchTaggerAlg::PrintHypothesisFlashComparison().
unsigned int geo::GeometryCore::MaxPlanes | ( | ) | const |
Returns the largest number of planes among all TPCs in this detector.
Definition at line 818 of file GeometryCore.cxx.
References Cryostats().
Referenced by pma::PMAlgTracker::build(), ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement(), shower::EMShowerAlg::CheckIsolatedHits_(), img::DataProviderAlg::DataProviderAlg(), trkf::TrackKalmanFitter::doFitWork(), lar_pandora::detector_functions::GetDetectorType(), GetEndID(), GetTPCFrontFaceCenter(), makePlaneData(), shower::EMShowerAlg::MakeShower(), shower::EMShowerAlg::MakeSpacePoints(), Nviews(), shower::EMShowerAlg::OrderShowerHits(), pma::PMAlgTracker::PMAlgTracker(), trkf::PMAlgTrackMaker::PMAlgTrackMaker(), nnet::PointIdTrainingData::PointIdTrainingData(), shower::EMShowerAlg::RelativeWireWidth_(), lar_pandora::LArPandoraGeometry::ShouldSwitchUV(), trkf::TrackKalmanFitter::sortOutput(), and shower::EMShowerAlg::WorstPlane_().
unsigned int geo::GeometryCore::MaxROPs | ( | ) | const |
Returns the largest number of ROPs a TPC set in the detector has.
Definition at line 1512 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by makeROPdata(), and NSiblingElements().
unsigned int geo::GeometryCore::MaxTPCs | ( | ) | const |
Returns the largest number of TPCs a cryostat in the detector has.
Definition at line 796 of file GeometryCore.cxx.
References Cryostats().
Referenced by GetEndID(), Iterate(), makePlaneData(), makeTPCData(), and evd::TWQProjectionView::SetUpTPCselection().
unsigned int geo::GeometryCore::MaxTPCsets | ( | ) | const |
Returns the largest number of TPC sets any cryostat in the detector has.
Definition at line 1473 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by makeROPdata(), makeTPCsetData(), and NSiblingElements().
unsigned int geo::GeometryCore::MaxWires | ( | ) | const |
Returns the largest number of wires among all planes in this detector.
Definition at line 829 of file GeometryCore.cxx.
References Cryostats().
Referenced by cluster::BlurredClusteringAlg::ConvertRecobHitsToVector(), GetEndID(), and NSiblingElements().
|
inline |
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 1775 of file GeometryCore.h.
References AuxDet(), AuxDets(), ChannelsInTPCs(), ChannelToAuxDet(), ChannelToAuxDetSensitive(), FindAuxDetAtPosition(), FindAuxDetSensitiveAtPosition(), NAuxDetSensitive(), Nchannels(), PositionToAuxDet(), and PositionToAuxDetSensitive().
Referenced by AuxDet(), NAuxDetSensitive(), Print(), and larg4::LArG4::produce().
unsigned int geo::GeometryCore::NAuxDetSensitive | ( | size_t const & | aid | ) | const |
Returns the number of sensitive components of auxiliary detector.
aid | ID of the auxiliary detector |
Definition at line 280 of file GeometryCore.cxx.
References AuxDets(), and NAuxDets().
Referenced by NAuxDets().
unsigned int geo::GeometryCore::Nchannels | ( | ) | const |
Returns the number of TPC readout channels in the detector.
Definition at line 198 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by larg4::LArG4Ana::beginJob(), lar_cluster3d::StandardHit3DBuilder::BuildChannelStatusVec(), lar_cluster3d::SnippetHit3DBuilder::BuildChannelStatusVec(), trkf::SeedFinderAlgorithm::CalculateGeometricalElements(), apa::APAGeometryAlg::Init(), cluster::DBScanAlg::InitScan(), NAuxDets(), hit::MCHitFinder::produce(), and detsim::SimWire::produce().
unsigned int geo::GeometryCore::Nchannels | ( | readout::ROPID const & | ropid | ) | const |
Returns the number of channels in the specified ROP.
Definition at line 204 of file GeometryCore.cxx.
References fChannelMapAlg.
|
inline |
Returns the number of cryostats in the detector.
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 430 of file GeometryCore.h.
References Cryostats().
Referenced by detsim::WienerFilterAna::beginJob(), detsim::DriftElectronstoPlane::beginJob(), detsim::SimDriftElectrons::beginJob(), lar_cluster3d::StandardHit3DBuilder::BuildHitPairMap(), lar_cluster3d::SnippetHit3DBuilder::BuildHitPairMap(), larg4::LArVoxelReadout::ClearSimChannels(), lar_cluster3d::StandardHit3DBuilder::CollectArtHits(), lar_cluster3d::SnippetHit3DBuilder::CollectArtHits(), larg4::LArVoxelReadoutGeometry::Construct(), detinfo::DetectorPropertiesStandard::DataFor(), hit::DisambigCheater::DisambigCheater(), detsim::WienerFilterAna::endJob(), larg4::ISTPC::extractActiveLArVolume(), larg4::OpFastScintillation::extractActiveVolumes(), GetEndID(), HasCryostat(), lar_cluster3d::SpacePointHit3DBuilder::Hit3DBuilder(), makePlaneData(), makeROPdata(), trkf::SpacePointAlg::makeSpacePoints(), makeTPCData(), makeTPCsetData(), NElements(), NOpDets(), NSiblingElements(), OpDetFromCryo(), OpDetGeoFromOpDet(), larg4::OpFastScintillation::OpFastScintillation(), phot::PDFastSimPAR::PDFastSimPAR(), Print(), larg4::LArG4::produce(), evd::TWQProjectionView::SelectTPC(), evd::TWQProjectionView::SetUpTPCselection(), cheat::BackTracker::SpacePointHitsToWeightedXYZ(), and UpdateAfterSorting().
raw::ChannelID_t geo::GeometryCore::NearestChannel | ( | Point_t const & | worldLoc, |
PlaneID const & | planeid | ||
) | const |
Returns the ID of the channel nearest to the specified position.
worldLoc | 3D coordinates of the point (world reference frame) |
planeid | ID of the wire plane the channel must belong to |
raw::InvalidChannelID
if invalid wire geo::InvalidWireError
exception is thrownDefinition at line 1105 of file GeometryCore.cxx.
References raw::InvalidChannelID, NearestWireID(), and PlaneWireToChannel().
Referenced by larg4::LArVoxelReadout::DriftIonizationElectrons(), sim::MCRecoEdep::MakeMCEdep(), vertex::FeatureVertexFinder::produce(), detsim::SimDriftElectrons::produce(), apa::DisambigAlg::TrivialDisambig(), and Views().
Returns the ID of wire closest to position in the specified TPC.
point | the point to be tested [cm] |
planeid | ID of the plane |
geo::PlaneGeo::ClosestWireID()
If the nearest wire is not closer than half a wire pitch, the result is marked invalid. The returned (invalid) ID will contain the non-existing wire that would be the nearest, if it existed.
If the wire ID is invalid and the existing closest wire is desired, a possible solution is (when the BUG will be solved):
Note however that this will execute plane lookup twice, and a more efficient approach would be to ask the plane everything directly:
Until the BUG is fixed, the actual working code is:
Definition at line 1099 of file GeometryCore.cxx.
References geo::PlaneGeo::NearestWireID(), and Plane().
Referenced by vertex::FeatureVertexFinderAna::analyze(), trkf::TrackAna::analyze(), evd::RecoBaseDrawer::DrawTrack2D(), evd::TWQMultiTPCProjectionView::FindEndPoint(), evd::TWQProjectionView::FindEndPoint(), hit::HitCheater::FindHitsOnChannel(), util::GeometryUtilities::Get2DPointProjection(), util::GeometryUtilities::Get2DPointProjectionCM(), opdet::GetHitGeometryInfo(), trkf::FeatureTracker::GetProjectedEnds(), nnet::TrainingDataAlg::getProjection(), hit::DisambigCheater::InitHitToWids(), apa::APAGeometryAlg::LineSegChanIntersect(), NearestChannel(), apa::APAGeometryAlg::NearestWireIDOnChan(), evd::RecoBaseDrawer::OpFlash2D(), trk::TrackContainmentAlg::ProcessTracks(), cluster::ClusterCheater::produce(), vertex::FeatureVertexFinder::produce(), shower::EMShowerAlg::Project3DPointOntoPlane_(), and evd::RecoBaseDrawer::Seed2D().
|
inline |
Returns the number of cryostats in the detector.
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 431 of file GeometryCore.h.
References Ncryostats().
|
inline |
Returns the largest number of TPCs a cryostat in the detector has.
Definition at line 691 of file GeometryCore.h.
References NTPC().
|
inline |
Returns the largest number of planes among all TPCs in this detector.
Definition at line 982 of file GeometryCore.h.
References Nplanes().
|
inline |
Returns the total number of wires in the specified plane.
planeid | plane ID |
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 1156 of file GeometryCore.h.
References Nwires().
unsigned int geo::GeometryCore::NOpChannels | ( | ) | const |
Number of electronics channels for all the optical detectors.
Definition at line 238 of file GeometryCore.cxx.
References fChannelMapAlg, and NOpDets().
Referenced by opdet::OpHitAna::analyze(), opdet::OpFlashAna::analyze(), opdet::SimPhotonCounter::analyze(), opdet::OpDetResponseInterface::doNOpChannels(), opdet::OpDigiProperties::FillGainArray(), opdet::OpDigiProperties::FillPedMeanArray(), GetEndROPID(), opdet::OpDigiProperties::OpDigiProperties(), and opdet::OptDetDigitizer::produce().
unsigned int geo::GeometryCore::NOpDets | ( | ) | const |
Number of OpDets in the whole detector.
Definition at line 229 of file GeometryCore.cxx.
References Cryostat(), and Ncryostats().
Referenced by cosmic::BeamFlashTrackMatchTaggerAlg::CheckCompatibility(), phot::CreateHybridLibrary::CreateHybridLibrary(), opdet::FlashHypothesisAnaAlg::FillOpDetPositions(), larg4::OpDetLookup::FindClosestOpDet(), IsValidOpChannel(), phot::PhotonVisibilityService::LoadLibrary(), phot::PhotonMappingIdentityTransformations::makeLibraryIndicesToOpDetsMap(), phot::PhotonMappingIdentityTransformations::makeOpDetsToLibraryIndicesMap(), MaxOpChannel(), NOpChannels(), cosmic::BeamFlashTrackMatchTaggerAlg::NormalizeLightHypothesis(), phot::PropagationTimeModel::opDetCenters(), phot::PropagationTimeModel::opDetOrientations(), phot::PDFastSimPAR::PDFastSimPAR(), phot::PhotonLibraryHybrid::PhotonLibraryHybrid(), cosmic::BeamFlashTrackMatchTaggerAlg::PrintHypothesisFlashComparison(), wc::CellTree::processOpFlash(), sim::PhotonHitConverter::produce(), larg4::LArG4::produce(), lariov::SIOVPmtGainProvider::Reconfigure(), phot::SemiAnalyticalModel::SemiAnalyticalModel(), opdet::FlashHypothesisAnaAlg::SetOutputObjects(), and ThirdPlaneSlope().
unsigned int geo::GeometryCore::NOpHardwareChannels | ( | int | opDet | ) | const |
Number of electronics channels for all the optical detectors.
Definition at line 250 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by GetEndROPID().
Returns the total number of planes in the specified TPC.
tpcid | TPC ID |
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 977 of file GeometryCore.h.
References GetElementPtr(), and geo::TPCGeo::NElements().
Referenced by hit::MCHitAnaExample::analyze(), hit::MagDriftAna::analyze(), pfpf::PFPAna::analyze(), cluster::ClusterAna::analyze(), trkf::TrackAna::analyze(), tca::AnalyzeHits(), detsim::WienerFilterAna::beginJob(), shwf::ShowerReco::beginJob(), cluster::SmallClusterFinder::beginJob(), lar_cluster3d::StandardHit3DBuilder::BuildChannelStatusVec(), lar_cluster3d::SnippetHit3DBuilder::BuildChannelStatusVec(), btutil::MCMatchAlg::BuildMap(), mvapid::MVAAlg::CalcSegmentdEdxDist(), ShowerRecoTools::ShowerUnidirectiondEdx::CalculateElement(), ShowerRecoTools::ShowerNumElectronsEnergy::CalculateElement(), opdet::ConstructFlash(), tca::TrajClusterAlg::CreateSlice(), evd::AnalysisBaseDrawer::DrawDeDx(), evd::AnalysisBaseDrawer::DrawKineticEnergy(), detsim::WienerFilterAna::endJob(), cluster::HoughBaseAlg::FastTransform(), trkf::CCTrackMaker::FillEndMatch(), hit::GausHitFinder::FillOutHitParameterVector(), hit::DPRawHitFinder::FillOutHitParameterVector(), trkf::CCTrackMaker::FillWireHitRange(), tca::FillWireHitRange(), filter::MuonFilter::filter(), trkf::CCTrackMaker::FitVertices(), util::GeometryUtilities::GeometryUtilities(), opdet::GetHitGeometryInfo(), mvapid::MVAAlg::GetWireNormals(), corner::CornerFinderAlg::GrabWires(), evd::GraphCluster::GraphCluster(), evd::GraphClusterAlg::GraphClusterAlg(), cluster::HoughBaseAlg::HoughBaseAlg(), IncrementID(), evd::InfoTransfer::InfoTransfer(), corner::CornerFinderAlg::InitializeGeometry(), reco::shower::LArPandoraModularShowerCreation::LArPandoraModularShowerCreation(), trkf::CCTrackMaker::MakeClusterChains(), trkf::CCTrackMaker::MakeFamily(), cluster::ClusterMatchTQ::MatchedClusters(), hit::MCHitAnaExample::MCHitAnaExample(), NElements(), NSiblingElements(), trkf::CCTrackMaker::PlnMatch(), cluster::ClusterMatchAlg::PrepareDetParams(), trkf::CCTrackMaker::PrintClusters(), btutil::MCBTAlg::ProcessSimChannel(), trk::TrackContainmentAlg::ProcessTracks(), calo::ShowerCalorimetry::produce(), calo::Calorimetry::produce(), calo::GnocchiCalorimetry::produce(), evd::RawDataDrawer::RawDataDrawer(), evd::InfoTransfer::Rebuild(), evd::InfoTransfer::reconfigure(), hit::RFFHitFinderAlg::SetFitterParamsVectors(), ShowerRecoTools::ShowerLinearEnergy::ShowerLinearEnergy(), showerreco::ShowerRecoManager::ShowerRecoManager(), cluster::SmallClusterFinderAlg::SmallClusterFinderAlg(), trkf::CCTrackMaker::SortMatches(), cheat::BackTracker::SpacePointHitsToWeightedXYZ(), trkf::CCTrackMaker::StoreTrack(), ThirdPlane(), evd::TQPad::TQPad(), evd::TWireProjPad::TWireProjPad(), evd::TWQMultiTPCProjectionView::TWQMultiTPCProjectionView(), evd::TWQProjectionView::TWQProjectionView(), trkf::CCTrackMaker::VtxMatch(), and nnet::WaveformDenoiseTest::WaveformDenoiseTest().
unsigned int geo::GeometryCore::NROPs | ( | readout::TPCsetID const & | tpcsetid | ) | const |
Returns the total number of ROP in the specified TPC set.
tpcsetid | TPC set ID |
Note that this methods explicitly check the existence of the TPC set.
The NSiblingElements() method is overloaded and its return depends on the type of ID.
Definition at line 1506 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by GetEndTPCsetID(), IncrementID(), and NSiblingElements().
|
inline |
Returns the number of cryostats in the detector.
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 432 of file GeometryCore.h.
References Ncryostats().
Referenced by geo::details::NSiblings().
|
inline |
Returns the largest number of TPCs a cryostat in the detector has.
Definition at line 692 of file GeometryCore.h.
References NTPC().
|
inline |
Returns the largest number of planes among all TPCs in this detector.
Definition at line 983 of file GeometryCore.h.
References Nplanes(), and Nviews().
|
inline |
Returns the total number of wires in the specified plane.
planeid | plane ID |
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 1157 of file GeometryCore.h.
References MaxWires(), and Nwires().
|
inline |
Returns the total number of TPC sets in the specified cryostat.
cryoid | cryostat ID |
The NSiblingElements() method is overloaded and its return depends on the type of ID.
Definition at line 1996 of file GeometryCore.h.
References MaxTPCsets(), and NTPCsets().
|
inline |
Returns the total number of ROP in the specified TPC set.
tpcsetid | TPC set ID |
Note that this methods explicitly check the existence of the TPC set.
The NSiblingElements() method is overloaded and its return depends on the type of ID.
Definition at line 2136 of file GeometryCore.h.
References MaxROPs(), and NROPs().
|
inline |
Returns the total number of TPCs in the specified cryostat.
cryoid | cryostat number |
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 686 of file GeometryCore.h.
References GetElementPtr(), and geo::CryostatGeo::NElements().
Referenced by detsim::WienerFilterAna::beginJob(), detsim::DriftElectronstoPlane::beginJob(), detsim::SimDriftElectrons::beginJob(), lar_cluster3d::StandardHit3DBuilder::BuildHitPairMap(), lar_cluster3d::SnippetHit3DBuilder::BuildHitPairMap(), mvapid::MVAAlg::CalcSegmentdEdxDist(), larg4::LArVoxelReadout::ClearSimChannels(), lar_cluster3d::StandardHit3DBuilder::CollectArtHits(), lar_cluster3d::SnippetHit3DBuilder::CollectArtHits(), hit::DisambigCheater::DisambigCheater(), detsim::WienerFilterAna::endJob(), mvapid::MVAAlg::GetWireNormals(), lar_cluster3d::SpacePointHit3DBuilder::Hit3DBuilder(), IncrementID(), apa::APAGeometryAlg::Init(), NElements(), NSiblingElements(), phot::PDFastSimPAR::PDFastSimPAR(), nnet::PointIdTrainingData::PointIdTrainingData(), evgen::ActiveVolumeVertexSampler::reconfigure(), evgen::ActiveVolumeVertexSampler::sample_vertex_pos(), evd::TWQProjectionView::SelectTPC(), phot::SemiAnalyticalModel::SemiAnalyticalModel(), tca::TrajClusterAlg::SetSourceHits(), evd::TWQProjectionView::SetUpTPCselection(), cheat::BackTracker::SpacePointHitsToWeightedXYZ(), tca::StitchPFPs(), apa::DisambigAlg::TrivialDisambig(), and evd::TWQMultiTPCProjectionView::TWQMultiTPCProjectionView().
unsigned int geo::GeometryCore::NTPCsets | ( | geo::CryostatID const & | cryoid | ) | const |
Returns the total number of TPC sets in the specified cryostat.
cryoid | cryostat ID |
The NSiblingElements() method is overloaded and its return depends on the type of ID.
Definition at line 1467 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by IncrementID(), NSiblingElements(), and Views().
unsigned int geo::GeometryCore::Nviews | ( | ) | const |
Returns the number of views (different wire orientations)
Returns the number of different views, or wire orientations, in the detector.
The function assumes that all TPCs in all cryostats of a detector have the same number of planes, which should be a safe assumption.
Definition at line 289 of file GeometryCore.cxx.
References MaxPlanes().
Referenced by evd_tool::MicroBooNEDrawer::DrawBadChannels(), evd_tool::ICARUSDrawer::DrawBadChannels(), and NSiblingElements().
|
inline |
Returns the total number of wires in the specified plane.
planeid | plane ID |
The NElements() and NSiblingElements() methods are overloaded and their return depends on the type of ID.
Definition at line 1151 of file GeometryCore.h.
References GetElementPtr(), and geo::PlaneGeo::NElements().
Referenced by lar_cluster3d::StandardHit3DBuilder::BuildChannelStatusVec(), lar_cluster3d::SnippetHit3DBuilder::BuildChannelStatusVec(), lar_pandora::LArPandoraInput::CreatePandoraReadoutGaps(), noisefilteralg::WireCellNoiseFilter::DoNoiseFilter(), evd_tool::MicroBooNEDrawer::DrawBadChannels(), evd_tool::ICARUSDrawer::DrawBadChannels(), sppt::SpacePointAlg_TimeSort::fillCoordinatesArrays(), trkf::CCTrackMaker::FillWireHitRange(), tca::FillWireHitRange(), vertex::FeatureVertexFinder::Find2dClusterVertexCandidates(), evd::RawDataDrawer::RoIextractorClass::Finish(), evd::RawDataDrawer::GetRegionOfInterest(), evd::RecoBaseDrawer::GetRegionOfInterest(), util::GeometryUtilities::GetYZ(), cluster::MergeClusterAlg::GlobalWire(), cluster::BlurredClusteringAlg::GlobalWire(), shower::EMShowerAlg::GlobalWire_(), corner::CornerFinderAlg::GrabWires(), IncrementID(), corner::CornerFinderAlg::InitializeGeometry(), lar_cluster3d::StandardHit3DBuilder::NearestWireID(), lar_cluster3d::SnippetHit3DBuilder::NearestWireID(), NElements(), NSiblingElements(), util::GeometryUtilities::SelectPolygonHitList(), evd::TWQProjectionView::SetWire(), img::DataProviderAlg::setWireDriftData(), cluster::HoughBaseAlg::Transform(), evd::TWireProjPad::TWireProjPad(), evd::TWQMultiTPCProjectionView::TWQMultiTPCProjectionView(), evd::TWQProjectionView::TWQProjectionView(), evd::RecoBaseDrawer::Wire2D(), WireIDIntersectionCheck(), evd::TWQMultiTPCProjectionView::ZoomInterest(), and evd::TWQProjectionView::ZoomInterest().
unsigned int geo::GeometryCore::OpChannel | ( | int | detNum, |
int | hardwareChannel | ||
) | const |
Convert detector number and hardware channel to unique channel.
Definition at line 256 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by GetEndROPID(), and ThirdPlaneSlope().
unsigned int geo::GeometryCore::OpDetFromCryo | ( | unsigned int | o, |
unsigned int | c | ||
) | const |
Get unique opdet number from cryo and internal count.
Definition at line 1569 of file GeometryCore.cxx.
References Cryostat(), Ncryostats(), and geo::CryostatGeo::NOpDet().
Referenced by GetClosestOpDet(), and GetEndROPID().
unsigned int geo::GeometryCore::OpDetFromOpChannel | ( | int | opChannel | ) | const |
Convert unique channel to detector number.
Definition at line 262 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by cheat::PhotonBackTracker::ChannelToTrackSDPs(), cosmic::BeamFlashTrackMatchTaggerAlg::CheckCompatibility(), opdet::OpDetResponseInterface::doReadoutToGeoChannel(), GetEndROPID(), OpDetGeoFromOpChannel(), cheat::PhotonBackTracker::OpHitToSDPs(), cheat::PhotonBackTracker::OpHitToSimSDPs_Ps(), cheat::PhotonBackTracker::OpHitToTrackSDPs(), cosmic::BeamFlashTrackMatchTaggerAlg::PrintHypothesisFlashComparison(), and cheat::PhotonBackTracker::TrackIdsToOpHits_Ps().
const OpDetGeo & geo::GeometryCore::OpDetGeoFromOpChannel | ( | unsigned int | OpChannel | ) | const |
Returns the geo::OpDetGeo
object for the given channel number.
OpChannel | optical detector unique channel number |
Definition at line 1597 of file GeometryCore.cxx.
References OpDetFromOpChannel(), and OpDetGeoFromOpDet().
Referenced by evdb_tool::OpHit3DDrawer::Draw(), evdb_tool::DrawSimPhoton3D::Draw(), evdb_tool::OpFlash3DDrawer::Draw(), opdet::GetHitGeometryInfo(), and ThirdPlaneSlope().
const OpDetGeo & geo::GeometryCore::OpDetGeoFromOpDet | ( | unsigned int | OpDet | ) | const |
Returns the geo::OpDetGeo
object for the given detector number.
OpDet | optical detector unique number |
Definition at line 1603 of file GeometryCore.cxx.
References Cryostat(), Ncryostats(), geo::CryostatGeo::NOpDet(), and geo::CryostatGeo::OpDet().
Referenced by opdet::SimPhotonCounter::beginJob(), phot::CreateHybridLibrary::CreateHybridLibrary(), phot::PhotonVisibilityService::DistanceToOpDetImpl(), larg4::OpDetLookup::FindClosestOpDet(), phot::PhotonLibraryHybrid::GetCount(), phot::PropagationTimeModel::opDetCenters(), phot::PDFastSimPAR::opDetCenters(), OpDetGeoFromOpChannel(), phot::PropagationTimeModel::opDetOrientations(), larg4::OpFastScintillation::OpFastScintillation(), phot::SemiAnalyticalModel::opticalDetectors(), phot::PhotonVisibilityService::SolidAngleFactorImpl(), and ThirdPlaneSlope().
std::string geo::GeometryCore::OpDetGeoName | ( | CryostatID const & | cid = cryostat_zero | ) | const |
Returns gdml string which gives sensitive opdet name.
c | ID of the cryostat the detector is in |
This name is defined in the geometry (GDML) description.
Definition at line 1562 of file GeometryCore.cxx.
References Cryostat(), and geo::CryostatGeo::OpDetGeoName().
Referenced by larg4::LArG4::beginJob(), and ThirdPlaneSlope().
|
delete |
|
delete |
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 1034 of file GeometryCore.h.
References geo::TPCGeo::Plane(), and TPC().
Referenced by hit::MagDriftAna::analyze(), hit::GausHitFinderAna::analyze(), cluster::ClusterMergeHelper::AppendResult(), ShowerRecoTools::ShowerUnidirectiondEdx::CalculateElement(), ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement(), util::GeometryUtilities::CalculatePitch(), util::GeometryUtilities::CalculatePitchPolar(), evd::RecoBaseDrawer::Cluster2D(), pma::CmToWireDrift(), tca::dEdx(), hit::DisambigCheater::DisambigCheater(), trkf::Track3DKalmanSPS::dQdxCalc(), evd::RecoBaseDrawer::DrawTrack2D(), evd::RecoBaseDrawer::DrawTrackVertexAssns2D(), cluster::EndPointAlg::EndPoint(), evd::RecoBaseDrawer::EndPoint2D(), evd::RecoBaseDrawer::Event2D(), cluster::HoughBaseAlg::FastTransform(), filter::MuonFilter::filter(), evd::TWQMultiTPCProjectionView::FindEndPoint(), evd::TWQProjectionView::FindEndPoint(), evd::TWQMultiTPCProjectionView::FindLineLength(), evd::TWQProjectionView::FindLineLength(), util::GeometryUtilities::Get2DangleFrom3D(), util::GeometryUtilities::Get2DPointProjection(), pma::ProjectionMatchingAlg::GetCloseHits_(), GetElement(), calo::Calorimetry::GetPitch(), util::GeometryUtilities::GetProjectedPoint(), pma::GetProjectionToPlane(), util::GeometryUtilities::GetTimeTicks(), util::GeometryUtilities::GetXYZ(), cluster::HoughBaseAlg::HoughBaseAlg(), IncrementID(), shower::EMShowerAlg::MakeShower(), trkf::SpacePointAlg::makeSpacePoints(), lar_cluster3d::StandardHit3DBuilder::NearestWireID(), lar_cluster3d::SnippetHit3DBuilder::NearestWireID(), NearestWireID(), shower::LArPandoraShowerAlg::OrderShowerHits(), util::GeometryUtilities::PitchInView(), cluster::ClusterCheater::produce(), trkf::SpacePts::produce(), trkf::Track3Dreco::produce(), cluster::SmallClusterFinder::produce(), vertex::VertexFinder2D::produce(), evd::GraphCluster::produce(), calo::Calorimetry::produce(), evd::RecoBaseDrawer::Prong2D(), pma::ProjectionMatchingAlg::validate(), pma::ProjectionMatchingAlg::validate_on_adc_test(), View(), Wire(), WireCoordinate(), pma::WireDriftToCm(), and WirePitch().
double geo::GeometryCore::PlanePitch | ( | TPCID const & | tpcid, |
PlaneID::PlaneID_t | p1 = 0 , |
||
PlaneID::PlaneID_t | p2 = 1 |
||
) | const |
Returns the distance between two planes.
p1 | index of the first plane |
p2 | index of the second plane |
tpc | tpc number within the cryostat |
cstat | cryostat number |
add a version with plane IDs
deprecate this function
add a default version for a given TPCID
add a version with two plane indices for a given TPCID
return the absolute value of the distance (makes the order unimportant)
document what will happen (in the future methods) with planes on different TPCs
Definition at line 749 of file GeometryCore.cxx.
References geo::TPCGeo::PlanePitch(), and TPC().
Referenced by GetBeginPlaneID(), PlanePitch(), trkf::SpacePts::produce(), and trkf::Track3Dreco::produce().
Returns the distance between two planes.
p1 | index of the first plane |
p2 | index of the second plane |
tpc | tpc number within the cryostat |
cstat | cryostat number |
add a version with plane IDs
deprecate this function
add a default version for a given TPCID
add a version with two plane indices for a given TPCID
return the absolute value of the distance (makes the order unimportant)
document what will happen (in the future methods) with planes on different TPCs
Definition at line 756 of file GeometryCore.cxx.
References geo::TPCID::asTPCID(), geo::PlaneID::Plane, and PlanePitch().
Returns the specified plane.
planeid | plane ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 1047 of file GeometryCore.h.
References geo::TPCGeo::PlanePtr(), and TPCPtr().
Referenced by GetElementPtr(), GetEndWireID(), HasWire(), and WirePtr().
raw::ChannelID_t geo::GeometryCore::PlaneWireToChannel | ( | WireID const & | wireid | ) | const |
Returns the ID of the TPC channel connected to the specified wire.
plane | the number of plane |
wire | the number of wire |
tpc | the number of TPC |
cryostat | the number of cryostat |
wireid | the ID of the wire |
Definition at line 1124 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by hit::MCHitAnaExample::analyze(), cluster::BlurredClusteringAlg::ConvertRecobHitsToVector(), lar_pandora::LArPandoraInput::CreatePandoraReadoutGaps(), evd::TQPad::Draw(), evd_tool::MicroBooNEDrawer::DrawBadChannels(), evd_tool::ICARUSDrawer::DrawBadChannels(), evd::RawDataDrawer::FillTQHisto(), tca::FillWireHitRange(), vertex::FeatureVertexFinder::Find3dVtxFrom2dClusterVtxCand(), evd::TWQMultiTPCProjectionView::FindEndPoint(), evd::TWQMultiTPCProjectionView::FindLineLength(), vertex::FeatureVertexFinder::Get3dVertexCandidates(), tca::GetOrigin(), util::GeometryUtilities::GetProjectedPoint(), util::GeometryUtilities::GetYZ(), cluster::DBScan3DAlg::init(), apa::DisambigAlg::MakeCloseHits(), tca::NearbySrcHit(), NearestChannel(), vertex::VertexFinder2D::produce(), calo::Calorimetry::produce(), lariov::SIOVElectronicsCalibProvider::Reconfigure(), lariov::DetPedestalRetrievalAlg::Reconfigure(), pma::ProjectionMatchingAlg::validate(), pma::ProjectionMatchingAlg::validate_on_adc(), pma::ProjectionMatchingAlg::validate_on_adc_test(), Views(), and evd::RecoBaseDrawer::Wire2D().
const AuxDetGeo & geo::GeometryCore::PositionToAuxDet | ( | Point_t const & | point, |
unsigned int & | ad, | ||
double | tolerance = 0 |
||
) | const |
Returns the auxiliary detector at specified location.
point | location to be tested |
ad | _(output)_ the auxiliary detector index |
tolerance | tolerance (cm) for matches. Default 0. |
Definition at line 416 of file GeometryCore.cxx.
References AuxDet(), and FindAuxDetAtPosition().
Referenced by larg4::AuxDetReadoutGeometry::FindAndMakeAuxDet(), and NAuxDets().
const AuxDetSensitiveGeo & geo::GeometryCore::PositionToAuxDetSensitive | ( | Point_t const & | point, |
size_t & | ad, | ||
size_t & | sv, | ||
double | tolerance = 0 |
||
) | const |
Returns the auxiliary detector at specified location.
point | location to be tested |
ad | _(output)_ the auxiliary detector index |
sv | _(output)_ the auxiliary detector sensitive volume index |
tolerance | tolerance (cm) for matches. Default 0. |
Definition at line 436 of file GeometryCore.cxx.
References AuxDet(), FindAuxDetSensitiveAtPosition(), and geo::AuxDetGeo::SensitiveVolume().
Referenced by NAuxDets().
CryostatGeo const & geo::GeometryCore::PositionToCryostat | ( | Point_t const & | point | ) | const |
Returns the cryostat at specified location.
point | the location [cm] |
geo::CryostatGeo
containing point
cet::exception | ("Geometry" category) if no cryostat matches |
The tolerance used here is the one returned by DefaultWiggle().
Definition at line 403 of file GeometryCore.cxx.
References PositionToCryostatPtr().
Referenced by GetElementPtr().
CryostatID geo::GeometryCore::PositionToCryostatID | ( | Point_t const & | point | ) | const |
Returns the ID of the cryostat at specified location.
point | the location [cm] |
point
(invalid if none)The tolerance used here is the one returned by DefaultWiggle().
Definition at line 352 of file GeometryCore.cxx.
References geo::CryostatGeo::ID(), and PositionToCryostatPtr().
Referenced by pma::ProjectionMatchingAlg::buildShowerSeg(), ems::MultiEMShowers::convCluster(), larg4::LArVoxelReadoutGeometry::FindNestedVolume(), GetElementPtr(), sim::MCRecoEdep::MakeMCEdep(), evd::SimulationDrawer::MCTruthOrtho(), and detsim::SimDriftElectrons::produce().
CryostatGeo const * geo::GeometryCore::PositionToCryostatPtr | ( | Point_t const & | point | ) | const |
Returns the cryostat at specified location.
point | the location [cm] |
geo::CryostatGeo
including point
, or nullptr
The tolerance used here is the one returned by DefaultWiggle().
Definition at line 343 of file GeometryCore.cxx.
References fPositionWiggle.
Referenced by FindTPCAtPosition(), GetClosestOpDet(), GetElementPtr(), PositionToCryostat(), PositionToCryostatID(), and PositionToTPCptr().
Returns the TPC at specified location.
point | the location [cm] |
geo::TPCGeo
including point
cet::exception | ("Geometry" category) if no TPC matches |
Definition at line 366 of file GeometryCore.cxx.
References PositionToTPCptr().
Referenced by GetElementPtr(), and opreco::OpticalRecoAna::update_MC_particle_time().
Returns the ID of the TPC at specified location.
point | the location [cm] |
PositionToTPC()
Definition at line 373 of file GeometryCore.cxx.
References geo::TPCGeo::ID(), and PositionToTPCptr().
Referenced by larg4::ISCalcCorrelated::AngleToEFieldAtStep(), evdb_tool::DrawLArVoxel3D::Draw(), evdb_tool::DrawSimEnergyDeposit3D::drawAll(), evdb_tool::DrawSimEnergyDeposit3D::drawMCPartAssociated(), larg4::ISCalcCorrelated::EFieldAtStep(), larg4::LArVoxelReadoutGeometry::FindNestedVolume(), GetElementPtr(), lar_pandora::LArPandoraInput::GetTrueX0(), apa::APAGeometryAlg::LineSegChanIntersect(), sim::MCRecoEdep::MakeMCEdep(), evd::SimulationDrawer::MCTruth3D(), detsim::SimDriftElectrons::produce(), and cheat::BackTracker::SpacePointHitsToWeightedXYZ().
Returns the TPC at specified location.
point | the location [cm] |
geo::TPCGeo
including point
, or nullptr
if none Definition at line 359 of file GeometryCore.cxx.
References fPositionWiggle, PositionToCryostatPtr(), and geo::CryostatGeo::PositionToTPCptr().
Referenced by GetElementPtr(), lar_pandora::PFParticleMonitoring::GetStartAndEndPoints(), PositionToTPC(), and PositionToTPCID().
void geo::GeometryCore::Print | ( | Stream && | out, |
std::string | indent = " " |
||
) | const |
Prints geometry information with maximum verbosity.
Definition at line 2677 of file GeometryCore.h.
References AuxDet(), DetectorEnclosureBox(), DetectorName(), geo::PlaneGeo::ID(), art::detail::indent(), geo::AuxDetSensitiveGeo::MaxVerbosity, geo::AuxDetGeo::MaxVerbosity, geo::OpDetGeo::MaxVerbosity, geo::WireGeo::MaxVerbosity, geo::TPCGeo::MaxVerbosity, geo::PlaneGeo::MaxVerbosity, NAuxDets(), Ncryostats(), geo::TPCGeo::Nplanes(), geo::AuxDetGeo::NSensitiveVolume(), geo::PlaneGeo::Nwires(), geo::TPCGeo::Plane(), geo::AuxDetSensitiveGeo::PrintAuxDetInfo(), geo::AuxDetGeo::PrintAuxDetInfo(), geo::OpDetGeo::PrintOpDetInfo(), geo::PlaneGeo::PrintPlaneInfo(), geo::TPCGeo::PrintTPCInfo(), geo::WireGeo::PrintWireInfo(), geo::AuxDetGeo::SensitiveVolume(), SignalType(), geo::SignalTypeName(), w, and geo::PlaneGeo::Wire().
Referenced by geo::DumpGeometry::dumpGeometryCore(), Info(), and SurfaceY().
|
inline |
Returns the full directory path to the geometry file source.
This is the full path of the source of the detector geometry GeometryCore relies on.
Definition at line 184 of file GeometryCore.h.
References fROOTfile.
Referenced by geo::DumpGeometry::dumpGeometryCore(), and evgen::GENIEGen::GENIEGen().
TGeoManager * geo::GeometryCore::ROOTGeoManager | ( | ) | const |
Access to the ROOT geometry description manager.
Definition at line 192 of file GeometryCore.cxx.
Referenced by evgen::BaseRadioGen::BaseRadioGen(), evgen::LightSource::checkMaterials(), FindAllVolumePaths(), FindAllVolumes(), FindDetectorEnclosure(), evgen::GENIEGen::GENIEGen(), evgen::RadioGen::SampleOne(), and SurfaceY().
std::vector< TPCID > geo::GeometryCore::ROPtoTPCs | ( | readout::ROPID const & | ropid | ) | const |
Returns a list of ID of TPCs the specified ROP spans.
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 on non-existing readout planes is undefined.
Definition at line 1536 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by reco3d::TripletFinder::FillBadMap(), reco3d::TripletFinder::FillHitMap(), and HasElement().
std::vector< PlaneID > geo::GeometryCore::ROPtoWirePlanes | ( | readout::ROPID const & | ropid | ) | const |
Returns a list of ID of planes belonging to the specified ROP.
ropid | ID of the readout plane |
If ropid is an invalid ID, an empty list is returned. If ropid is a valid ID (i.e. an ID whose isValid flag is set) that points to a non-existent readout plane, the result is undefined. Use HasROP() to check if the readout plane actually exists.
Definition at line 1530 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by HasElement().
Returns the type of signal on the channels of specified TPC plane.
plane | TPC plane ID |
Assumes that all the channels on the plane have the same signal type.
Definition at line 469 of file GeometryCore.cxx.
References WirePlaneToROP().
Referenced by caldata::CalWireAna::analyze(), lar::example::AnalysisExample::analyze(), evdb_tool::DrawWireHist::BookHistogram(), evdb_tool::DrawRawHist::BookHistogram(), cluster::HoughBaseAlg::FastTransform(), reco3d::TripletFinder::FillHitMap(), hit::HitCheater::FindHitsOnChannel(), GetBeginPlaneID(), GetEndROPID(), cluster::MergeClusterAlg::GlobalWire(), cluster::BlurredClusteringAlg::GlobalWire(), shower::EMShowerAlg::GlobalWire_(), cluster::HoughBaseAlg::HoughBaseAlg(), shwf::ShowerReco::LongTransEnergy(), trkf::SpacePointAlg::makeSpacePoints(), Print(), evd::TWQMultiTPCProjectionView::PrintCharge(), evd::TWQProjectionView::PrintCharge(), hit::TTHitFinder::produce(), hit::RawHitFinder::produce(), hit::FFTHitFinder::produce(), cluster::DBcluster::produce(), caldata::CalWire::produce(), reco3d::SpacePointSolver::produce(), trkf::SpacePts::produce(), detsim::SimWire::produce(), evd::RawDataDrawer::QueueDrawingBoxes(), lariov::DetPedestalRetrievalAlg::Reconfigure(), hit::RFFHitFinderAlg::Run(), evd::TWireProjPad::TWireProjPad(), trkf::SpacePointAlg::update(), Views(), and evd::RecoBaseDrawer::Wire2D().
SigType_t geo::GeometryCore::SignalType | ( | raw::ChannelID_t const | channel | ) | const |
Returns the type of signal on the specified TPC channel.
channel | TPC channel ID |
Definition at line 463 of file GeometryCore.cxx.
References fChannelMapAlg.
SigType_t geo::GeometryCore::SignalType | ( | readout::ROPID const & | ropid | ) | const |
Returns the type of signal of channels in specified readout plane.
ropid | readout plane ID |
Assumes that all the channels on the readout plane have the same signal type. If ropid is an invalid ID, geo::kMysteryType is returned. If ropid is a valid ID (i.e. an ID whose isValid flag is set) that points to a non-existent readout plane, the result is undefined. Use HasROP() to check if the readout plane actually exists.
Definition at line 1554 of file GeometryCore.cxx.
References fChannelMapAlg.
|
private |
Runs the sorting of geometry with the sorter provided by channel mapping.
Definition at line 163 of file GeometryCore.cxx.
References AuxDets(), Cryostats(), geo::GeoObjectSorter::SortAuxDets(), and geo::GeoObjectSorter::SortCryostats().
Referenced by ApplyChannelMap().
|
inline |
The position of the detector respect to earth surface.
This is the depth (y) of the surface (where earth meets air) for this detector site. The number is expressed in world coordinates and in centimetres, and it represents the y coordinate of earth surface. A negative value means that the origin of coordinates, typically matching the detector centre, is above surface.
Definition at line 251 of file GeometryCore.h.
References DetectorEnclosureBox(), FindAllVolumePaths(), FindAllVolumes(), fSurfaceY, GetWorldVolumeName(), art::detail::indent(), Info(), MassBetweenPoints(), Material(), MaterialName(), Print(), ROOTGeoManager(), TotalMass(), and VolumeName().
Referenced by evgen::CosmicsGen::produce().
Returns the plane that is not in the specified arguments.
pid1 | a plane |
pid2 | another plane |
cet::exception | (category: "GeometryCore") if other than 3 planes |
cet::exception | (category: "GeometryCore") if pid1 and pid2 match |
This function requires a geometry with exactly three planes. If the two input planes are not on the same TPC, the result is undefined.
Definition at line 1292 of file GeometryCore.cxx.
References Nplanes(), and geo::PlaneID::Plane.
Referenced by ThirdPlane_dTdW(), and ThirdPlaneSlope().
double geo::GeometryCore::ThirdPlane_dTdW | ( | PlaneID const & | pid1, |
double | slope1, | ||
PlaneID const & | pid2, | ||
double | slope2, | ||
PlaneID const & | output_plane | ||
) | const |
Returns dT/dW on the third plane, given it in the other two.
pid1 | ID of the plane of the first dT/dW |
dTdW1 | dT/dW as seen on the first plane |
pid2 | ID of the plane of the second dT/dW |
dTdW2 | dT/dW as seen on the second plane |
output_plane | ID of the plane on which to calculate the slope |
cet::exception | (category: "GeometryCore") if different TPC |
cet::exception | (category: "GeometryCore") if same plane |
cet::exception | (category: "GeometryCore") if other than 3 planes |
Given a dT/dW as projected in two planes, returns the dT/dW as projected in the third plane. The dT/dW are defined in time ticks/wide number units.
Definition at line 1352 of file GeometryCore.cxx.
References ComputeThirdPlane_dTdW(), geo::PlaneGeo::PhiZ(), geo::TPCGeo::Plane(), TPC(), and geo::PlaneGeo::WirePitch().
Referenced by ThirdPlane_dTdW(), and ThirdPlaneSlope().
double geo::GeometryCore::ThirdPlane_dTdW | ( | PlaneID const & | pid1, |
double | slope1, | ||
PlaneID const & | pid2, | ||
double | slope2 | ||
) | const |
Returns dT/dW on the third plane, given it in the other two.
pid1 | ID of the plane of the first dT/dW |
dTdW1 | dT/dW as seen on the first plane |
pid2 | ID of the plane of the second dT/dW |
dTdW2 | dT/dW as seen on the second plane |
cet::exception | (category: "GeometryCore") if different TPC |
cet::exception | (category: "GeometryCore") if same plane |
cet::exception | (category: "GeometryCore") if other than 3 planes |
Given a dT/dW as projected in two planes, returns the dT/dW as projected in the third plane. This function is a shortcut assuming exactly three wire planes in the TPC, in which case the output plane is chosen as the one that is neither of the input planes.
Definition at line 1379 of file GeometryCore.cxx.
References ThirdPlane(), and ThirdPlane_dTdW().
double geo::GeometryCore::ThirdPlaneSlope | ( | PlaneID const & | pid1, |
double | slope1, | ||
PlaneID const & | pid2, | ||
double | slope2, | ||
PlaneID const & | output_plane | ||
) | const |
Returns the slope on the third plane, given it in the other two.
pid1 | ID of the plane of the first slope |
slope1 | slope as seen on the first plane |
pid2 | ID of the plane of the second slope |
slope2 | slope as seen on the second plane |
output_plane | ID of the plane on which to calculate the slope |
cet::exception | (category: "GeometryCore") if different TPC |
cet::exception | (category: "GeometryCore") if input planes match |
Given a slope as projected in two planes, returns the slope as projected in the specified output plane. The slopes are defined in uniform units; they should be computed as distance ratios (or tangent of a geometrical angle; the formula is still valid using dt/dw directly in case of equal wire pitch in all planes and uniform drift velocity.
Definition at line 1321 of file GeometryCore.cxx.
References ComputeThirdPlaneSlope(), geo::PlaneGeo::PhiZ(), geo::TPCGeo::Plane(), and TPC().
Referenced by trkf::CCTrackMaker::FillEndMatch(), trkf::CCTrackMaker::PlnMatch(), and ThirdPlaneSlope().
double geo::GeometryCore::ThirdPlaneSlope | ( | PlaneID const & | pid1, |
double | slope1, | ||
PlaneID const & | pid2, | ||
double | slope2 | ||
) | const |
Returns the slope on the third plane, given it in the other two.
pid1 | ID of the plane of the first slope |
slope1 | slope as seen on the first plane |
pid2 | ID of the plane of the second slope |
slope2 | slope as seen on the second plane |
cet::exception | (category: "GeometryCore") if different TPC |
cet::exception | (category: "GeometryCore") if same plane |
cet::exception | (category: "GeometryCore") if other than 3 planes |
Given a slope as projected in two planes, returns the slope as projected in the third plane. This function is a shortcut assuming exactly three wire planes in the TPC, in which case the output plane is chosen as the one that is neither of the input planes.
Definition at line 1342 of file GeometryCore.cxx.
References ThirdPlane(), and ThirdPlaneSlope().
|
inline |
Returns the slope on the third plane, given it in the other two.
plane1 | index of the plane of the first slope |
slope1 | slope as seen on the first plane |
plane2 | index of the plane of the second slope |
slope2 | slope as seen on the second plane |
tpcid | TPC where the two planes belong |
cet::exception | (category: "GeometryCore") if different TPC |
cet::exception | (category: "GeometryCore") if same plane |
cet::exception | (category: "GeometryCore") if other than 3 planes |
Given a slope as projected in two planes, returns the slope as projected in the third plane.
Definition at line 1586 of file GeometryCore.h.
References ComputeThirdPlane_dTdW(), ComputeThirdPlaneSlope(), cryostat_zero, GetClosestOpDet(), NOpDets(), OpChannel(), OpDetGeoFromOpChannel(), OpDetGeoFromOpDet(), OpDetGeoName(), ThirdPlane_dTdW(), and ThirdPlaneSlope().
|
inline |
Returns the total mass [kg] of the specified volume (default: world).
Definition at line 319 of file GeometryCore.h.
Referenced by evgen::GENIEGen::GENIEGen(), and SurfaceY().
double geo::GeometryCore::TotalMass | ( | std::string | vol | ) | const |
Returns the total mass [kg] of the specified volume (default: world).
Definition at line 1021 of file GeometryCore.cxx.
unsigned int geo::GeometryCore::TotalNTPC | ( | ) | const |
Returns the total number of TPCs in the detector.
Definition at line 807 of file GeometryCore.cxx.
References begin(), Cryostats(), end(), geo::CryostatGeo::NTPC(), and sum.
Referenced by Iterate().
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 722 of file GeometryCore.h.
References Cryostat(), and geo::CryostatGeo::TPC().
Referenced by hit::MagDriftAna::analyze(), larg4::ISCalcCorrelated::AngleToEFieldAtStep(), pma::ProjectionMatchingAlg::buildShowerSeg(), phot::PropagationTimeModel::cathodeCentre(), pma::VtxCandidate::ComputeMse2D(), DetHalfHeight(), DetHalfWidth(), DetLength(), hit::DisambigCheater::DisambigCheater(), larg4::LArVoxelReadout::DriftIonizationElectrons(), larg4::ISCalcCorrelated::EFieldAtStep(), larg::LArSimChannelAna::ensureHists(), hit::MagDriftAna::ensureHists(), trkf::SpacePointAlg::fillComplexSpacePoint(), tca::FillWireHitRange(), tca::FindShowers3D(), lar_pandora::detector_functions::GetDetectorType(), GetElement(), GetEndPlaneID(), GetEndWireID(), GetLArTPCVolumeName(), trkf::FeatureTracker::GetProjectedEnds(), nnet::TrainingDataAlg::getProjection(), GetTPCFrontFaceCenter(), lar_pandora::LArPandoraInput::GetTrueX0(), pma::ProjectionMatchingAlg::guideEndpoints(), IncrementID(), pma::Track3D::InitFromMiddle(), trkf::SpacePointAlg::makeSpacePoints(), pma::PMAlgTracker::matchCluster(), larg4::OpFastScintillation::OpFastScintillation(), Plane(), PlanePitch(), trkf::PMAlgTrajFitter::produce(), detsim::DriftElectronstoPlane::produce(), detsim::SimDriftElectrons::produce(), trkf::PMAlgTrackMaker::produce(), evgen::ActiveVolumeVertexSampler::sample_vertex_pos(), tca::SaveCRInfo(), phot::SemiAnalyticalModel::SemiAnalyticalModel(), lar_pandora::LArPandoraGeometry::ShouldSwitchUV(), trkf::CCTrackMaker::TagCosmics(), lar_pandora::VintageLArTPCThreeView::TargetViewU(), lar_pandora::VintageLArTPCThreeView::TargetViewV(), ThirdPlane_dTdW(), ThirdPlaneSlope(), apa::APAGeometryAlg::ThreeChanPos(), calo::GnocchiCalorimetry::TrajectoryToWirePosition(), apa::DisambigAlg::TrivialDisambig(), DUNE::NeutrinoTrackingEff::truthLength(), trkf::SpacePointAlg::update(), apa::DisambigAlg::UseEndPts(), pma::ProjectionMatchingAlg::validate(), pma::ProjectionMatchingAlg::validate_on_adc_test(), evd::RecoBaseDrawer::Vertex2D(), trkf::VertexFitAlg::VertexFit(), WireAngleToVertical(), and WirePitch().
Returns the specified TPC.
tpcid | TPC ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 735 of file GeometryCore.h.
References CryostatPtr(), and geo::CryostatGeo::TPCPtr().
Referenced by GetElementPtr(), GetEndPlaneID(), GetEndWireID(), HasPlane(), and PlanePtr().
std::vector< TPCID > geo::GeometryCore::TPCsetToTPCs | ( | readout::TPCsetID const & | tpcsetid | ) | const |
Returns a list of ID of TPCs belonging to the specified TPC set.
tpcsetid | ID of the TPC set to convert into TPC IDs |
Note that the check is performed on the validity of the TPC set ID, that does not necessarily imply that the TPC set specified by the ID actually exists. Check the existence of the TPC set first (HasTPCset()). Behaviour on valid, non-existent TPC set IDs is undefined.
Definition at line 1497 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by HasElement().
readout::TPCsetID geo::GeometryCore::TPCtoTPCset | ( | TPCID const & | tpcid | ) | const |
Returns the ID of the TPC set tpcid belongs to.
Definition at line 1491 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by FindTPCsetAtPosition(), and HasElement().
|
private |
Performs all the updates needed after sorting.
Definition at line 179 of file GeometryCore.cxx.
References allViews, Cryostats(), and Ncryostats().
Referenced by ApplyChannelMap().
Returns the view (wire orientation) on the channels of specified TPC plane.
plane | TPC plane ID |
Definition at line 489 of file GeometryCore.cxx.
References geo::kUnknown, Plane(), and geo::PlaneGeo::View().
Referenced by nnet::WaveformDenoiseTest::analyze(), nnet::NoiseWaveformDump::analyze(), nnet::RawWaveformDump::analyze(), nnet::RawWaveformClnSigDump::analyze(), calo::TrackCalorimetryAlg::AnalyzeHit(), apa::APAGeometryAlg::APAChannelsIntersect(), apa::APAGeometryAlg::APAView(), tca::FillWireHitRange(), hit::HitCheater::FindHitsOnChannel(), apa::APAGeometryAlg::FirstChannelInView(), corner::CornerFinderAlg::get_feature_points(), corner::CornerFinderAlg::get_feature_points_LineIntegralScore(), GetBeginPlaneID(), GetEndROPID(), quad::GetPts2D(), apa::APAGeometryAlg::Init(), apa::DisambigAlg::MakeCloseHits(), apa::APAGeometryAlg::NearestWireIDOnChan(), reco3d::SpacePointSolver::produce(), cluster::TrajCluster::produce(), vertex::FeatureVertexFinder::produce(), shower::TCShowerTemplateMaker::showerProfileTrue(), lar_pandora::DUNEFarDetVDThreeView::TargetViewU(), lar_pandora::ProtoDUNEDualPhase::TargetViewU(), lar_pandora::VintageLArTPCThreeView::TargetViewU(), lar_pandora::DUNEFarDetVDThreeView::TargetViewV(), lar_pandora::ProtoDUNEDualPhase::TargetViewV(), lar_pandora::VintageLArTPCThreeView::TargetViewV(), lar_pandora::DUNEFarDetVDThreeView::TargetViewW(), lar_pandora::ICARUS::TargetViewW(), lar_pandora::VintageLArTPCThreeView::TargetViewW(), cheat::BackTracker::TrackIdToSimIDEs_Ps(), View(), and Views().
View_t geo::GeometryCore::View | ( | raw::ChannelID_t const | channel | ) | const |
Returns the view (wire orientation) on the specified TPC channel.
channel | TPC channel ID |
The view of the readout plane channel
belongs to is returned, as in View(readout::ROPID const&) const
.
Definition at line 483 of file GeometryCore.cxx.
References ChannelToROP(), raw::InvalidChannelID, geo::kUnknown, and View().
View_t geo::GeometryCore::View | ( | readout::ROPID const & | ropid | ) | const |
Returns the view of the channels in the specified readout plane.
ropid | readout plane ID |
Returns the view (wire orientation) on the channels of specified readout plane. If ropid is an invalid ID, geo::kUnknown is returned. If ropid is a valid ID (i.e. an ID whose isValid flag is set) that points to a non-existent readout plane, the result is undefined. Use HasROP() to check if the readout plane actually exists.
Definition at line 1548 of file GeometryCore.cxx.
References fChannelMapAlg, and View().
|
inline |
Returns a list of possible views in the detector.
Definition at line 1882 of file GeometryCore.h.
References allViews, c1, c2, ChannelsIntersect(), ChannelToROP(), ChannelToWire(), HasChannel(), NearestChannel(), NTPCsets(), PlaneWireToChannel(), SignalType(), and View().
Referenced by cluster::HoughLineFinderAna::analyze(), vertex::FeatureVertexFinderAna::analyze(), detinfo::DetectorPropertiesStandard::CheckTimeOffsets(), cluster::EndPointAlg::EndPoint(), cluster::HoughBaseAlg::FastTransform(), pma::PMAlgTracker::PMAlgTracker(), and vertex::VertexFinder2D::produce().
std::string geo::GeometryCore::VolumeName | ( | Point_t const & | point | ) | const |
Returns the name of the deepest volume containing specified point.
point | the location to query, in world coordinates |
what happens if none?
Unify the coordinates type
Definition at line 928 of file GeometryCore.cxx.
References util::abs(), and WorldVolume().
Referenced by larg4::LArG4Ana::analyze(), LArStackingAction::InsideTPC(), and SurfaceY().
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 1210 of file GeometryCore.h.
References Plane(), and geo::PlaneGeo::Wire().
Referenced by ChannelsIntersect(), lar_pandora::LArPandoraInput::CreatePandoraHits2D(), util::GeometryUtilities::GeometryUtilities(), GetElement(), lar_pandora::PFParticleHitDumper::GetUVW(), IncrementID(), trkf::Track3DKalmanHitAlg::makeSeed(), WireEndPoints(), and WireIDToWireGeo().
Returns the angle of the wires in the specified view from vertical.
view | the view |
TPC | the index of the TPC in the specified cryostat |
Cryo | the cryostat |
tpcid | ID of the TPC |
cet::exception | ("GeometryCore" category) if no such view |
The angle is defined as in WireGeo::ThetaZ().
This method assumes all wires in the view have the same angle (it queries for the first).
Definition at line 781 of file GeometryCore.cxx.
References geo::TPCGeo::Nplanes(), geo::TPCGeo::Plane(), geo::PlaneGeo::ThetaZ(), TPC(), geo::PlaneGeo::View(), and geo::PlaneGeo::ViewName().
Referenced by ShowerRecoTools::ShowerUnidirectiondEdx::CalculateElement(), util::GeometryUtilities::CalculatePitch(), util::GeometryUtilities::CalculatePitchPolar(), util::GeometryUtilities::Get2DangleFrom3D(), calo::GnocchiCalorimetry::GetPitch(), shower::EMShowerAlg::MakeShower(), util::GeometryUtilities::PitchInView(), calo::ShowerCalorimetry::produce(), calo::Calorimetry::produce(), lar_pandora::detector_functions::WireAngle(), lar_pandora::PFParticleHitDumper::YZtoU(), and lar_pandora::PFParticleHitDumper::YZtoV().
Returns the index of the nearest wire to the specified position.
pos | world coordinates of the position (it will be projected) |
planeid | ID of the plane |
Respect to NearestWireID(), this method returns a real number, representing a continuous coordinate in the wire axis, with the round values corresponding to the actual wires.
Definition at line 1093 of file GeometryCore.cxx.
References Plane(), and geo::PlaneGeo::WireCoordinate().
Referenced by tca::ChgFracBetween(), tca::ChgFracNearEnd(), evd::RecoBaseDrawer::DrawProng2D(), evd::RecoBaseDrawer::DrawTrackVertexAssns2D(), trkf::CCTrackMaker::FillEndMatch(), tca::Find3DVertices(), trkf::CCTrackMaker::FindMaybeVertices(), tca::FitTP3Ds(), shower::TCShowerElectronLikelihood::getShowerProfile(), cluster::MergeClusterAlg::GlobalWire(), cluster::BlurredClusteringAlg::GlobalWire(), shower::EMShowerAlg::GlobalWire_(), ems::Hit2D::Hit2D(), lar_cluster3d::PCASeedFinderAlg::LineFit2DHits(), lar_cluster3d::HoughSeedFinderAlg::LineFit2DHits(), tca::MakeBareTP(), shower::TCShowerAlg::makeShowers(), tca::MakeTP3D(), evd::SimulationDrawer::MCTruthVectors2D(), shower::LArPandoraShowerAlg::OrderShowerHits(), shower::EMShowerAlg::OrderShowerHits_(), trkf::CCTrackMaker::PlnMatch(), tca::PosInPlane(), trkf::CCTrackMaker::PrintClusters(), evd::RecoBaseDrawer::Prong2D(), tca::SetSection(), shower::TCShowerTemplateMaker::showerProfile(), shower::TCShowerTemplateMaker::showerProfileTrue(), evd::RecoBaseDrawer::Slice2D(), trkf::TrackLineFitAlg::TrkLineFit(), pma::ProjectionMatchingAlg::validate(), pma::ProjectionMatchingAlg::validate_on_adc(), pma::ProjectionMatchingAlg::validate_on_adc_test(), evd::RecoBaseDrawer::Vertex2D(), and trkf::VertexFitAlg::VertexFit().
void geo::GeometryCore::WireEndPoints | ( | WireID const & | wireid, |
double * | xyzStart, | ||
double * | xyzEnd | ||
) | const |
Fills two arrays with the coordinates of the wire end points.
wireid | ID of the wire |
xyzStart | (output) an array with the start coordinate |
xyzEnd | (output) an array with the end coordinate |
cet::exception | wire not present |
The starting point is the wire end with lower z coordinate.
Definition at line 1130 of file GeometryCore.cxx.
References util::abs(), geo::GeometryCore::Segment< Point >::end(), and geo::GeometryCore::Segment< Point >::start().
Referenced by trkf::SeedFinderAlgorithm::CalculateGeometricalElements(), ChannelsIntersect(), lar_cluster3d::StandardHit3DBuilder::DistanceFromPointToHitWire(), trkf::SeedFinderAlgorithm::GetHitDistAndProj(), quad::GetPts2D(), and apa::DisambigAlg::TrivialDisambig().
|
inline |
Returns a segment whose ends are the wire end points.
wireid | ID of the wire |
cet::exception | wire not present |
The start and end are assigned as returned from the geo::WireGeo object. The rules for this assignment are documented in that class.
Definition at line 2668 of file GeometryCore.h.
References geo::WireGeo::GetEnd(), geo::WireGeo::GetStart(), and Wire().
|
private |
Wire ID check for WireIDsIntersect methods.
Definition at line 1644 of file GeometryCore.cxx.
References geo::TPCID::asTPCID(), HasWire(), Nwires(), geo::PlaneID::Plane, and geo::WireID::planeID().
Referenced by ChannelsIntersect().
bool geo::GeometryCore::WireIDsIntersect | ( | WireID const & | wid1, |
WireID const & | wid2, | ||
Point_t & | intersection | ||
) | const |
Computes the intersection between two wires.
wid1 | ID of the first wire | |
wid2 | ID of the other wire | |
[out] | intersection | the intersection point (global coordinates) |
The wires identified by wid1
and wid2
are intersected, and the 3D intersection point is written into the intersection
parameter. The "intersection" point is actually the point belonging to the first wire (wid2
) which is the closest (in Euclidean 3D metric) to the second wire.
The intersection is computed only if the wires belong to different planes of the same TPC. If that is not the case (i.e. they belong to different TPC or cryostat, or if they belong to the same plane), false
is returned and intersection
is set with all components to infinity (std::numeric_limits<>::infinity()
).
When the intersection is computed, it is always stored in the intersection
output parameter. Return value is true
if this intersection lies within the physical boundaries first wire, while it is instead false
if it lies on the extrapolation of the wire direction, but not within the wire physical extension.
To test that the result is not infinity (nor NaN), use geo::vect::isfinite(intersection)
etc.
geo::WireGeo
objects are already available, using instead the free function geo::WiresIntersection()
or the method geo::WireGeo::IntersectionWith()
is faster (and recommended). For purely geometric intersection, geo::LineClosestPoint()
is also available. Referenced by apa::APAGeometryAlg::APAChannelsIntersect(), ChannelsIntersect(), apa::DisambigAlg::CompareViews(), shower::EMShowerAlg::Construct3DPoint_(), evd::TWQProjectionView::FindEndPoint(), evd::TWQProjectionView::FindLineLength(), IntersectionPoint(), reco3d::IntersectionCache::ISect(), lar_cluster3d::StandardHit3DBuilder::makeDeadChannelPair(), lar_cluster3d::SnippetHit3DBuilder::makeDeadChannelPair(), lar_cluster3d::StandardHit3DBuilder::makeHitPair(), and apa::APAGeometryAlg::ThreeChanPos().
bool geo::GeometryCore::WireIDsIntersect | ( | WireID const & | wid1, |
WireID const & | wid2, | ||
WireIDIntersection & | widIntersect | ||
) | const |
Computes the intersection between two wires.
wid1 | ID of the first wire |
wid2 | ID of the other wire |
widIntersect | (output) the coordinate of the intersection point |
The "intersection" refers to the projection of the wires into the same plane. Wires are assumed to have at most one intersection. If wires are parallel, widIntersect
will have the two components set to infinity (std::numeric_limits<>::infinity()
) and the TPC number set to invalid (geo::TPCID::InvalidID
). Also, false
is returned. If the intersection is outside the TPC, false
is also returned, but the widIntersect
will contain the coordinates of that intersection. The TPC number is still set to invalid, although the intersection might belong to a valid TPC somewhere else.
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 1211 of file GeometryCore.h.
References Wire().
Referenced by trkf::SpacePointAlg::compatible(), lar_cluster3d::SnippetHit3DBuilder::DistanceFromPointToHitWire(), trkf::SpacePointAlg::fillComplexSpacePoint(), trkf::SpacePointAlg::fillSpacePoint(), cluster::MergeClusterAlg::GlobalWire(), cluster::BlurredClusteringAlg::GlobalWire(), shower::EMShowerAlg::GlobalWire_(), ems::Hit2D::Hit2D(), trkf::SpacePointAlg::makeSpacePoints(), lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_2D(), lar_cluster3d::PrincipalComponentsAlg::PCAAnalysis_calc2DDocas(), trkf::SpacePointAlg::separation(), trkf::TrackKalmanFitter::setupInputStates(), trkf::SurfWireLine::SurfWireLine(), trkf::SurfWireX::SurfWireX(), apa::APAGeometryAlg::ThreeChanPos(), and lar_cluster3d::SnippetHit3DBuilder::WireIDsIntersect().
Length_t geo::GeometryCore::WirePitch | ( | PlaneID const & | planeid = plane_zero | ) | const |
Returns the distance between two consecutive wires.
p | plane number within the TPC |
tpc | tpc number within the cryostat |
cstat | cryostat number |
add a version with wire IDs
deprecate this function
document what will happen (in the future methods) with wires on different planes
Definition at line 763 of file GeometryCore.cxx.
References Plane(), and geo::PlaneGeo::WirePitch().
Referenced by vertex::FeatureVertexFinderAna::analyze(), shwf::ShowerReco::beginJob(), mvapid::MVAAlg::CalcSegmentdEdxDist(), ShowerRecoTools::ShowerUnidirectiondEdx::CalculateElement(), ShowerRecoTools::ShowerTrajPointdEdx::CalculateElement(), trkf::SeedFinderAlgorithm::CalculateGeometricalElements(), evd::RecoBaseDrawer::Cluster2D(), lar_cluster3d::DBScanAlg::configure(), lar_pandora::LArPandoraInput::CreatePandoraHits2D(), lar_pandora::LArPandoraInput::CreatePandoraReadoutGaps(), tca::dEdx(), trkf::Track3DKalmanSPS::dQdxCalc(), evd::RecoBaseDrawer::DrawTrack2D(), cluster::EndPointAlg::EndPoint(), trkf::SpacePointAlg::fillComplexSpacePoint(), trkf::SpacePointAlg::fillSpacePoint(), tca::FillWireHitRange(), apa::DisambigAlg::FindChanTimeEndPts(), lar_cluster3d::HoughSeedFinderAlg::findHoughClusters(), cluster::SmallClusterFinderAlg::FindSmallClusters(), util::GeometryUtilities::GeometryUtilities(), lar_pandora::LArPandoraInput::GetMips(), calo::Calorimetry::GetPitch(), calo::GnocchiCalorimetry::GetPitch(), shower::TCShowerElectronLikelihood::getShowerProfile(), shower::TCShowerAlg::goodHit(), evd::RecoBaseDrawer::Hit2D(), shower::LArPandoraShowerAlg::HitCoordinates(), shower::EMShowerAlg::HitPosition_(), apa::APAGeometryAlg::Init(), lar_cluster3d::PCASeedFinderAlg::LineFit2DHits(), lar_cluster3d::HoughSeedFinderAlg::LineFit2DHits(), shower::EMShowerAlg::MakeShower(), trkf::SpacePointAlg::makeSpacePoints(), cluster::ClusterMatchTQ::MatchedClusters(), shower::LArPandoraShowerAlg::OrderShowerHits(), cluster::DBCluster3D::produce(), calo::ShowerCalorimetry::produce(), trkf::SpacePts::produce(), trkf::Track3Dreco::produce(), trkf::CCTrackMaker::produce(), vertex::VertexFinder2D::produce(), calo::Calorimetry::produce(), shower::TCShowerTemplateMaker::showerProfile(), shower::TCShowerTemplateMaker::showerProfileTrue(), trkf::KHitWireLine::subpredict(), trkf::KHitWireX::subpredict(), trkf::TrackLineFitAlg::TrkLineFit(), trkf::VertexFitAlg::VertexFit(), lar_pandora::VintageLArTPCThreeView::WirePitchU(), lar_pandora::VintageLArTPCThreeView::WirePitchV(), and lar_pandora::VintageLArTPCThreeView::WirePitchW().
Returns the distance between two wires in the specified view.
w1 | index of the first wire |
w2 | index of the second wire |
p | plane number within the TPC |
tpc | tpc number within the cryostat |
cstat | cryostat number |
This method assumes that all the wires on all the planes on the specified view of all TPCs have the same pitch.
Definition at line 771 of file GeometryCore.cxx.
References Plane(), TPC(), and geo::PlaneGeo::WirePitch().
readout::ROPID geo::GeometryCore::WirePlaneToROP | ( | PlaneID const & | planeid | ) | const |
Returns the ID of the ROP planeid belongs to.
planeid | ID of the wire plane |
If planeid is an invalid ID, an invalid ROP ID is returned. If planeid is a valid ID (i.e. an ID whose isValid flag is set) that points to a non-existent wire plane, the result is undefined. Use HasPlaneID() to check if the wire plane actually exists.
Definition at line 1524 of file GeometryCore.cxx.
References fChannelMapAlg.
Referenced by HasElement(), and SignalType().
Returns the specified wire.
wireid | wire ID |
The GetElementPtr() method is overloaded and its return depends on the type of ID.
Definition at line 1192 of file GeometryCore.h.
References PlanePtr(), and geo::PlaneGeo::WirePtr().
Referenced by lar_cluster3d::MinSpanTreeAlg::configure(), evd_tool::MicroBooNEDrawer::DrawBadChannels(), evd_tool::ICARUSDrawer::DrawBadChannels(), and GetElementPtr().
void geo::GeometryCore::WorldBox | ( | double * | xlo, |
double * | xhi, | ||
double * | ylo, | ||
double * | yhi, | ||
double * | zlo, | ||
double * | zhi | ||
) | const |
Fills the arguments with the boundaries of the world.
xlo | (output) pointer to the lower x coordinate |
xlo | (output) pointer to the upper x coordinate |
ylo | (output) pointer to the lower y coordinate |
ylo | (output) pointer to the upper y coordinate |
zlo | (output) pointer to the lower z coordinate |
zlo | (output) pointer to the upper z coordinate |
cet::exception | ("GeometryCore" category) if no world found |
GetWorldVolumeName()
This method fills the boundaries of the world volume (GetWorldVolumeName()
).
If a pointer is null, its coordinate is skipped.
Definition at line 911 of file GeometryCore.cxx.
References geo::BoxBoundedGeo::MaxX(), geo::BoxBoundedGeo::MaxY(), geo::BoxBoundedGeo::MaxZ(), geo::BoxBoundedGeo::MinX(), geo::BoxBoundedGeo::MinY(), geo::BoxBoundedGeo::MinZ(), and WorldBox().
Referenced by evd_tool::ICARUSDrawer::DetOutline3D(), and evgen::CORSIKAGen::GetSample().
BoxBoundedGeo geo::GeometryCore::WorldBox | ( | ) | const |
Returns a box with the extremes of the world volume (from shape axes).
GetWorldVolumeName()
Definition at line 889 of file GeometryCore.cxx.
References GetWorldVolumeName(), WorldVolume(), x1, x2, y1, and y2.
Referenced by DetectorName(), MaterialName(), and WorldBox().
TGeoVolume const * geo::GeometryCore::WorldVolume | ( | ) | const |
Returns a pointer to the world volume.
Definition at line 883 of file GeometryCore.cxx.
References GetWorldVolumeName().
Referenced by DetectorName(), VolumeName(), and WorldBox().
|
private |
All views in the detector.
Definition at line 2448 of file GeometryCore.h.
Referenced by UpdateAfterSorting(), and Views().
|
static |
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 463 of file GeometryCore.h.
Referenced by Iterate(), and ThirdPlaneSlope().
|
private |
Configuration for the geometry builder (needed since builder is created after construction).
Definition at line 2443 of file GeometryCore.h.
Referenced by LoadGeometryFile().
|
private |
Object containing the channel to wire mapping.
Definition at line 2444 of file GeometryCore.h.
Referenced by ApplyChannelMap(), ChannelsInTPCs(), ChannelToAuxDet(), ChannelToAuxDetSensitive(), ChannelToROP(), ChannelToWire(), FindAuxDetAtPosition(), FindAuxDetSensitiveAtPosition(), FirstChannelInROP(), HardwareChannelFromOpChannel(), HasChannel(), HasROP(), HasTPCset(), IsValidOpChannel(), MaxOpChannel(), MaxROPs(), MaxTPCsets(), Nchannels(), NOpChannels(), NOpHardwareChannels(), NROPs(), NTPCsets(), OpChannel(), OpDetFromOpChannel(), PlaneWireToChannel(), ROPtoTPCs(), ROPtoWirePlanes(), SignalType(), TPCsetToTPCs(), TPCtoTPCset(), View(), and WirePlaneToROP().
|
private |
Name of the detector.
Definition at line 2434 of file GeometryCore.h.
Referenced by DetectorName(), and GeometryCore().
|
private |
path to geometry file used for Geant4 simulation
Definition at line 2435 of file GeometryCore.h.
Referenced by GDMLFile(), and LoadGeometryFile().
|
private |
The detector description data.
Definition at line 2431 of file GeometryCore.h.
Referenced by ApplyChannelMap(), AuxDets(), ClearGeometry(), and Cryostats().
|
private |
Minimum distance in Z from a point in which to look for the closest wire
Definition at line 2437 of file GeometryCore.h.
|
private |
accounting for rounding errors when testing positions
Definition at line 2439 of file GeometryCore.h.
Referenced by DefaultWiggle(), FindTPCAtPosition(), PositionToCryostatPtr(), and PositionToTPCptr().
|
private |
path to geometry file for geometry in GeometryCore
Definition at line 2436 of file GeometryCore.h.
Referenced by LoadGeometryFile(), and ROOTFile().
|
private |
The point where air meets earth for this detector.
Definition at line 2433 of file GeometryCore.h.
Referenced by SurfaceY().
|
static |
Wires must be found in GDML description within this number of nested volumes.
Definition at line 145 of file GeometryCore.h.
Returns the distance between two consecutive wires.
p | plane number within the TPC |
tpc | tpc number within the cryostat |
cstat | cryostat number |
add a version with wire IDs
deprecate this function
document what will happen (in the future methods) with wires on different planes
Definition at line 1275 of file GeometryCore.h.
|
static |
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 721 of file GeometryCore.h.
Referenced by GetBeginTPCID(), and GetTPCFrontFaceCenter().