LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
Geometry information for a single TPC. More...
#include "TPCGeo.h"
Classes | |
struct | TPCGeoCoordinatesTag |
Tag for vectors in the "local" GDML coordinate frame of the TPC. More... | |
Public Types | |
using | ID_t = TPCID |
using | PlaneCollection_t = std::vector< geo::PlaneGeo > |
using | GeoNodePath_t = geo::WireGeo::GeoNodePath_t |
using | ElementIteratorBox = PlaneCollection_t const & |
Type returned by IterateElements() . More... | |
using | Projection_t = geo::PlaneGeo::WidthDepthProjection_t |
Type of 2D vector projection on a plane. More... | |
using | DecomposedVector_t = geo::PlaneGeo::WDDecomposedVector_t |
Data structure with plane and drift projections of a 3D vector. More... | |
using | Coords_t = geo::Point_t |
Type of the coordinate triplet. More... | |
using | Coord_t = Coords_t::Scalar |
Type of the coordinate. More... | |
Types for geometry-local reference vectors. | |
These types represents points and displacement vectors in the reference frame defined in the TPC geometry box from the GDML geometry description. No alias is explicitly defined for the LArSoft global vector types, Remember the | |
using | LocalPoint_t = geo::Point3DBase_t< TPCGeoCoordinatesTag > |
Type of points in the local GDML TPC frame. More... | |
using | LocalVector_t = geo::Vector3DBase_t< TPCGeoCoordinatesTag > |
Type of displacement vectors in the local GDML TPC frame. More... | |
Public Member Functions | |
TPCGeo (TGeoNode const &node, geo::TransformationMatrix &&trans, PlaneCollection_t &&planes) | |
PlaneGeo const & | Plane (geo::View_t view) const |
Return the plane in the tpc with View_t view. More... | |
PlaneGeo const & | Plane (unsigned int iplane) const |
PlaneGeo const * | PlanePtr (unsigned int iplane) const |
Returns the plane number iplane from this TPC. More... | |
geo::PlaneGeo const & | SmallestPlane () const |
Returns the wire plane with the smallest surface. More... | |
geo::PlaneGeo const & | FirstPlane () const |
Returns the first wire plane (the closest to TPC center). More... | |
geo::PlaneGeo const & | LastPlane () const |
Returns the last wire plane (the farther from TPC center). More... | |
unsigned int | MaxWires () const |
Returns the largest number of wires among the planes in this TPC. More... | |
std::set< geo::View_t > | Views () const |
Returns a set of all views covered in this TPC. More... | |
short int | DetectDriftDirection () const |
Returns the expected drift direction based on geometry. More... | |
void | SortSubVolumes (geo::GeoObjectSorter const &sorter) |
Apply sorting to the PlaneGeo objects. More... | |
void | UpdateAfterSorting (geo::TPCID tpcid) |
Performs all updates after cryostat has sorted TPCs. More... | |
template<typename Stream > | |
void | PrintTPCInfo (Stream &&out, std::string indent="", unsigned int verbosity=1) const |
Prints information about this TPC. More... | |
std::string | TPCInfo (std::string indent="", unsigned int verbosity=1) const |
Returns a string with information about this TPC. More... | |
TPC properties | |
double | ActiveHalfWidth () const |
Half width (associated with x coordinate) of active TPC volume [cm]. More... | |
double | ActiveWidth () const |
Width (associated with x coordinate) of active TPC volume [cm]. More... | |
double | ActiveHalfHeight () const |
Half height (associated with y coordinate) of active TPC volume [cm]. More... | |
double | ActiveHeight () const |
Height (associated with y coordinate) of active TPC volume [cm]. More... | |
double | ActiveLength () const |
Length (associated with z coordinate) of active TPC volume [cm]. More... | |
double | ActiveHalfLength () const |
Length (associated with z coordinate) of active TPC volume [cm]. More... | |
double | HalfWidth () const |
Width is associated with x coordinate [cm]. More... | |
double | Width () const |
Width is associated with x coordinate [cm]. More... | |
double | HalfHeight () const |
Height is associated with y coordinate [cm]. More... | |
double | Height () const |
Height is associated with y coordinate [cm]. More... | |
double | Length () const |
Length is associated with z coordinate [cm]. More... | |
double | HalfLength () const |
Length is associated with z coordinate [cm]. More... | |
double | ActiveMass () const |
Half width (associated with x coordinate) of active TPC volume [cm]. More... | |
const TGeoVolume * | ActiveVolume () const |
Half width (associated with x coordinate) of active TPC volume [cm]. More... | |
const TGeoVolume * | TotalVolume () const |
Half width (associated with x coordinate) of active TPC volume [cm]. More... | |
decltype(auto) | WidthDir () const |
Returns the direction Width() is measured on. More... | |
decltype(auto) | HeightDir () const |
Returns the direction Height() is measured on. More... | |
decltype(auto) | LengthDir () const |
Returns the direction Length() is measured on. More... | |
DriftDirection_t | DriftDirection () const |
Returns an enumerator value describing the drift direction. More... | |
Vector_t | DriftDir () const |
Returns the direction of the drift (vector pointing toward the planes). More... | |
double | DriftDistance () const |
Plane access | |
unsigned int | Nplanes () const |
Number of planes in this tpc. More... | |
unsigned int | NElements () const |
Number of planes in this tpc. More... | |
bool | HasPlane (unsigned int iplane) const |
Returns whether a plane with index iplane is present in this TPC. More... | |
bool | HasElement (unsigned int iplane) const |
Returns whether a plane with index iplane is present in this TPC. More... | |
bool | HasPlane (geo::PlaneID const &planeid) const |
Returns whether the plane in planeid is present in this TPC. More... | |
bool | HasElement (geo::PlaneID const &planeid) const |
Returns whether the plane in planeid is present in this TPC. More... | |
const PlaneGeo & | Plane (PlaneID const &planeid) const |
Returns the plane in planeid from this TPC. More... | |
const PlaneGeo & | GetElement (PlaneID const &planeid) const |
Returns the plane in planeid from this TPC. More... | |
PlaneGeo const * | PlanePtr (PlaneID const &planeid) const |
Returns the plane in planeid from this TPC. More... | |
PlaneGeo const * | GetElementPtr (PlaneID const &planeid) const |
Returns the plane in planeid from this TPC. More... | |
ElementIteratorBox | IterateElements () const |
Returns an object for iterating through all geo::PlaneGeo . More... | |
ElementIteratorBox | IteratePlanes () const |
Returns an object for iterating through all geo::PlaneGeo . More... | |
TPC geometry properties | |
Point_t | GetCenter () const |
Returns the center of the TPC volume in world coordinates [cm]. More... | |
Point_t | GetActiveVolumeCenter () const |
Returns the center of the TPC active volume in world coordinates [cm]. More... | |
Point_t | GetCathodeCenter () const |
geo::Point_t | GetFrontFaceCenter () const |
Returns the center of the active TPC volume side facing negative z. More... | |
geo::BoxBoundedGeo const & | BoundingBox () const |
Returns the bounding box of this TPC. More... | |
geo::BoxBoundedGeo const & | ActiveBoundingBox () const |
Returns the box of the active volume of this TPC. More... | |
double | Plane0Pitch (unsigned int p) const |
Returns the center of the TPC volume in world coordinates [cm]. More... | |
double | PlanePitch (unsigned int p1=0, unsigned int p2=1) const |
Returns the center of the TPC volume in world coordinates [cm]. More... | |
double | WirePitch (unsigned plane=0) const |
Returns the center of the TPC volume in world coordinates [cm]. More... | |
geo::TPCID const & | ID () const |
Returns the identifier of this TPC. More... | |
Projection on a wire plane | |
These methods deal with projection of points and vectors on a plane, using a geometric reference base which is not dependent on the wire direction. Technically, the objects are projected on the reference plane, that happens to be the first wire plane. In practice, the important bit is that all entities are consistently decomposed into a drift component and a remaining component. If which plane the projection happens on should matter, then geo::PlaneGeo can be used directly (but note that geo::PlaneGeo defines two different frames, and the names of the frame equivalent to the one used here are different). | |
geo::PlaneGeo const & | ReferencePlane () const |
Returns the plane used for reference by projection methods. More... | |
geo::PlaneID const & | ReferencePlaneID () const |
Returns the ID of the plane used for reference by projection methods. More... | |
Vector_t | RefWidthDir () const |
Return the direction of reference plane width. More... | |
Vector_t | RefDepthDir () const |
Return the direction of reference plane depth. More... | |
double | DistanceFromReferencePlane (geo::Point_t const &point) const |
Returns the distance of the specified point from reference plane. More... | |
void | DriftPoint (geo::Point_t &position, double distance) const |
Shifts the position of an electron drifted by a distance. More... | |
DecomposedVector_t | DecomposePoint (geo::Point_t const &point) const |
Decomposes a 3D point in two components. More... | |
Point_t | ProjectionReferencePoint () const |
Returns the reference point used by PointProjection() . More... | |
Projection_t | Projection (geo::Point_t const &point) const |
Returns the projection of the specified point on the plane. More... | |
Projection_t | PointProjection (geo::Point_t const &point) const |
Returns the projection of the specified point on the plane. More... | |
Projection_t | Projection (geo::Vector_t const &v) const |
Returns the projection of the specified vector on the plane. More... | |
Projection_t | VectorProjection (geo::Vector_t const &v) const |
Returns the projection of the specified vector on the plane. More... | |
Point_t | ComposePoint (DecomposedVector_t const &decomp) const |
Returns the 3D vector from composition of projection and distance. More... | |
Point_t | ComposePoint (double distance, Projection_t const &proj) const |
Returns the 3D point from composition of projection and distance. More... | |
Coordinate transformation | |
geo::Point_t | toWorldCoords (LocalPoint_t const &local) const |
Transform point from local TPC frame to world frame. More... | |
geo::Vector_t | toWorldCoords (LocalVector_t const &local) const |
Transform direction vector from local to world. More... | |
LocalPoint_t | toLocalCoords (geo::Point_t const &world) const |
Transform point from world frame to local TPC frame. More... | |
LocalVector_t | toLocalCoords (geo::Vector_t const &world) const |
Transform direction vector from world to local. More... | |
Dimension queries | |
double | MinX () const |
Returns the world x coordinate of the start of the box. More... | |
double | MaxX () const |
Returns the world x coordinate of the end of the box. More... | |
double | CenterX () const |
Returns the world x coordinate of the center of the box. More... | |
double | SizeX () const |
Returns the full size in the X dimension. More... | |
double | HalfSizeX () const |
Returns the size from the center to the border on X dimension. More... | |
double | MinY () const |
Returns the world y coordinate of the start of the box. More... | |
double | MaxY () const |
Returns the world y coordinate of the end of the box. More... | |
double | CenterY () const |
Returns the world y coordinate of the center of the box. More... | |
double | SizeY () const |
Returns the full size in the Y dimension. More... | |
double | HalfSizeY () const |
Returns the size from the center to the border on Y dimension. More... | |
double | MinZ () const |
Returns the world z coordinate of the start of the box. More... | |
double | MaxZ () const |
Returns the world z coordinate of the end of the box. More... | |
double | CenterZ () const |
Returns the world z coordinate of the center of the box. More... | |
double | SizeZ () const |
Returns the full size in the Z dimension. More... | |
double | HalfSizeZ () const |
Returns the size from the center to the border on Z dimension. More... | |
geo::Point_t | Min () const |
Returns the corner point with the smallest coordinates. More... | |
geo::Point_t | Max () const |
Returns the corner point with the largest coordinates. More... | |
geo::Point_t | Center () const |
Returns the center point of the box. More... | |
Containment in the full volume | |
bool | ContainsX (double x, double const wiggle=1) const |
Returns whether this TPC contains the specified world x coordinate. More... | |
bool | ContainsY (double y, double const wiggle=1) const |
Returns whether this TPC contains the specified world y coordinate. More... | |
bool | ContainsZ (double z, double const wiggle=1) const |
Returns whether this TPC contains the specified world z coordinate. More... | |
bool | ContainsYZ (double y, double z, double const wiggle=1) const |
Returns if TPC contains the specified world y and z coordinates. More... | |
bool | ContainsPosition (geo::Point_t const &point, double wiggle=1.0) const |
Returns whether this volume contains the specified point. More... | |
bool | ContainsPosition (TVector3 const &point, double wiggle=1.0) const |
bool | ContainsPosition (double const *point, double wiggle=1.0) const |
Containment in a fiducial volume | |
bool | InFiducialX (double x, double neg_margin, double pos_margin) const |
Returns whether TPC fiducial volume contains world x coordinate. More... | |
bool | InFiducialX (double x, double margin) const |
Returns whether TPC fiducial volume contains world x coordinate. More... | |
bool | InFiducialY (double y, double neg_margin, double pos_margin) const |
Returns whether TPC fiducial volume contains world y coordinate. More... | |
bool | InFiducialY (double y, double margin) const |
Returns whether TPC fiducial volume contains world y coordinate. More... | |
bool | InFiducialZ (double z, double neg_margin, double pos_margin) const |
Returns whether TPC fiducial volume contains world z coordinate. More... | |
bool | InFiducialZ (double z, double margin) const |
Returns whether TPC fiducial volume contains world z coordinate. More... | |
Overlaps | |
bool | OverlapsX (geo::BoxBoundedGeo const &other) const |
Returns if the x coordinates covered by this and other box overlap. More... | |
bool | OverlapsY (geo::BoxBoundedGeo const &other) const |
Returns if the y coordinates covered by this and other box overlap. More... | |
bool | OverlapsZ (geo::BoxBoundedGeo const &other) const |
Returns if the z coordinates covered by this and other box overlap. More... | |
bool | Overlaps (geo::BoxBoundedGeo const &other) const |
Returns if this and other box overlap. More... | |
Setting dimensions | |
void | SetBoundaries (Coord_t x_min, Coord_t x_max, Coord_t y_min, Coord_t y_max, Coord_t z_min, Coord_t z_max) |
Sets the boundaries in world coordinates as specified. More... | |
void | SetBoundaries (Coords_t lower, Coords_t upper) |
Sets the boundaries in world coordinates as specified. More... | |
void | ExtendToInclude (Coord_t x, Coord_t y, Coord_t z) |
Extends the current box to also include the specified point. More... | |
void | ExtendToInclude (geo::Point_t const &point) |
Extends the current box to also include the specified point. More... | |
void | ExtendToInclude (BoxBoundedGeo const &box) |
Extends the current box to also include the specified one. More... | |
std::vector< TVector3 > | GetIntersections (TVector3 const &TrajectoryStart, TVector3 const &TrajectoryDirect) const |
Calculates the entry and exit points of a trajectory on the box surface. More... | |
std::vector< geo::Point_t > | GetIntersections (geo::Point_t const &TrajectoryStart, geo::Vector_t const &TrajectoryDirect) const |
Calculates the entry and exit points of a trajectory on the box surface. More... | |
Static Public Member Functions | |
static bool | CoordinateContained (double c, double min, double max, double wiggle=1.) |
Returns whether the specified coordinate is in a range. More... | |
static bool | CoordinateContained (double c, double const *range, double wiggle=1.) |
static void | set_min (Coord_t &var, Coord_t value) |
Sets var to value if value is smaller than the current var value. More... | |
static void | set_min (Coords_t &var, geo::Point_t const &value) |
Sets each coordinate of var to the one in value if the latter is smaller. More... | |
static void | set_max (Coord_t &var, Coord_t value) |
Sets var to value if value is larger than the current var value. More... | |
static void | set_max (Coords_t &var, geo::Point_t const &value) |
Sets each coordinate of var to the one in value if the latter is larger. More... | |
Static Public Attributes | |
static constexpr unsigned int | MaxVerbosity = 6 |
Maximum verbosity supported by PrintTPCInfo() . More... | |
Private Types | |
using | LocalTransformation_t = geo::LocalTransformationGeo< ROOT::Math::Transform3D, LocalPoint_t, LocalVector_t > |
Private Member Functions | |
void | FindPlane (GeoNodePath_t &path, size_t depth) |
void | MakePlane (GeoNodePath_t &path, size_t depth) |
void | ResetDriftDirection () |
Recomputes the drift direction; needs planes to have been initialised. More... | |
double | ComputeDriftDistance () const |
void | UpdatePlaneViewCache () |
Refills the plane vs. view cache of the TPC. More... | |
void | UpdatePlaneCache () |
Updates plane cached information. More... | |
void | InitTPCBoundaries () |
Recomputes the TPC boundary. More... | |
void | SortPlanes (std::vector< geo::PlaneGeo > &) const |
Sorts (in place) the specified PlaneGeo objects by drift distance. More... | |
geo::Point_t | GetFrontFaceCenterImpl () const |
geo::Point_t | GetCathodeCenterImpl () const |
Private Attributes | |
LocalTransformation_t | fTrans |
TPC-to-world transformation. More... | |
PlaneCollection_t | fPlanes |
List of planes in this plane. More... | |
TGeoVolume * | fActiveVolume |
Active volume of LAr, called volTPCActive in GDML file. More... | |
TGeoVolume * | fTotalVolume |
Total volume of TPC, called volTPC in GDML file. More... | |
DriftDirection_t | fDriftDirection |
Direction of the electron drift in the TPC. More... | |
std::vector< double > | fPlane0Pitch |
Pitch between planes. More... | |
std::vector< std::vector< double > > | fPlaneLocation |
xyz locations of planes in the TPC. More... | |
geo::Point_t | fActiveCenter |
Center of the active volume, in world coordinates [cm]. More... | |
double | fActiveHalfWidth |
Half width of active volume. More... | |
double | fActiveHalfHeight |
Half height of active volume. More... | |
double | fActiveLength |
Length of active volume. More... | |
double | fHalfWidth |
Half width of total volume. More... | |
double | fHalfHeight |
Half height of total volume. More... | |
double | fLength |
Length of total volume. More... | |
geo::Vector_t | fWidthDir |
Direction width refers to. More... | |
geo::Vector_t | fHeightDir |
Direction height refers to. More... | |
geo::Vector_t | fLengthDir |
Direction length refers to. More... | |
geo::Vector_t | fDriftDir |
Direction electrons drift along. More... | |
geo::BoxBoundedGeo | fActiveBox |
Box of the active volume. More... | |
geo::TPCID | fID |
ID of this TPC. More... | |
std::vector< geo::PlaneID::PlaneID_t > | fViewToPlaneNumber |
Index of the plane for each view (InvalidID if none). More... | |
|
inherited |
Type of the coordinate.
Definition at line 36 of file BoxBoundedGeo.h.
|
inherited |
Type of the coordinate triplet.
Definition at line 35 of file BoxBoundedGeo.h.
using geo::TPCGeo::ElementIteratorBox = PlaneCollection_t const& |
Type returned by IterateElements()
.
using geo::TPCGeo::ID_t = TPCID |
|
private |
using geo::TPCGeo::PlaneCollection_t = std::vector<geo::PlaneGeo> |
geo::TPCGeo::TPCGeo | ( | TGeoNode const & | node, |
geo::TransformationMatrix && | trans, | ||
PlaneCollection_t && | planes | ||
) |
Definition at line 38 of file TPCGeo.cxx.
References util::abs(), fActiveCenter, fActiveHalfHeight, fActiveHalfWidth, fActiveLength, fActiveVolume, fHalfHeight, fHalfWidth, fHeightDir, fLength, fLengthDir, fTotalVolume, fTrans, fWidthDir, InitTPCBoundaries(), geo::makeTransformationMatrix(), geo::LocalTransformation< StoredMatrix >::Matrix(), MF_LOG_DEBUG, ResetDriftDirection(), geo::vect::toPoint(), geo::Xaxis(), geo::Yaxis(), and geo::Zaxis().
|
inline |
Returns the box of the active volume of this TPC.
Definition at line 263 of file TPCGeo.h.
References fActiveBox, Plane0Pitch(), PlanePitch(), and WirePitch().
Referenced by GetFrontFaceCenterImpl(), PrintTPCInfo(), and phot::PhotonVisibilityService::reconfigure().
|
inline |
Half height (associated with y coordinate) of active TPC volume [cm].
Definition at line 88 of file TPCGeo.h.
References fActiveHalfHeight.
Referenced by ActiveHeight(), geo::GeometryCore::DetHalfHeight(), evd_tool::ProtoDUNEDrawer::DrawActiveTPCoutline(), evd_tool::StandardDrawer::DrawActiveTPCoutline(), GetCathodeCenterImpl(), and InitTPCBoundaries().
|
inline |
Length (associated with z coordinate) of active TPC volume [cm].
Definition at line 94 of file TPCGeo.h.
References fActiveLength.
Referenced by evd_tool::ProtoDUNEDrawer::DrawActiveTPCoutline(), evd_tool::StandardDrawer::DrawActiveTPCoutline(), and InitTPCBoundaries().
|
inline |
Half width (associated with x coordinate) of active TPC volume [cm].
Definition at line 84 of file TPCGeo.h.
References fActiveHalfWidth.
Referenced by ActiveWidth(), geo::GeometryCore::DetHalfWidth(), evd_tool::ProtoDUNEDrawer::DrawActiveTPCoutline(), evd_tool::StandardDrawer::DrawActiveTPCoutline(), GetCathodeCenterImpl(), and InitTPCBoundaries().
|
inline |
Height (associated with y coordinate) of active TPC volume [cm].
Definition at line 90 of file TPCGeo.h.
References ActiveHalfHeight().
Referenced by PrintTPCInfo().
|
inline |
Length (associated with z coordinate) of active TPC volume [cm].
Definition at line 92 of file TPCGeo.h.
References fActiveLength.
Referenced by geo::GeometryCore::DetLength(), GetCathodeCenterImpl(), and PrintTPCInfo().
|
inline |
Half width (associated with x coordinate) of active TPC volume [cm].
Definition at line 107 of file TPCGeo.h.
References fActiveVolume.
|
inline |
Half width (associated with x coordinate) of active TPC volume [cm].
Definition at line 108 of file TPCGeo.h.
References fActiveVolume.
Referenced by geo::GeometryCore::GetLArTPCVolumeName().
|
inline |
Width (associated with x coordinate) of active TPC volume [cm].
Definition at line 86 of file TPCGeo.h.
References ActiveHalfWidth().
Referenced by PrintTPCInfo().
|
inline |
Returns the bounding box of this TPC.
Definition at line 260 of file TPCGeo.h.
Referenced by PrintTPCInfo().
|
inlineinherited |
Returns the center point of the box.
Definition at line 141 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::CenterX(), geo::BoxBoundedGeo::CenterY(), and geo::BoxBoundedGeo::CenterZ().
Referenced by geo::buildDriftVolumes(), geo::CryostatGeo::GetCenter(), and geo::PlaneGeo::UpdatePlaneNormal().
|
inlineinherited |
Returns the world x coordinate of the center of the box.
Definition at line 96 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::MaxX(), and geo::BoxBoundedGeo::MinX().
Referenced by geo::BoxBoundedGeo::Center().
|
inlineinherited |
Returns the world y coordinate of the center of the box.
Definition at line 111 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::MaxY(), and geo::BoxBoundedGeo::MinY().
Referenced by geo::BoxBoundedGeo::Center().
|
inlineinherited |
Returns the world z coordinate of the center of the box.
Definition at line 126 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::MaxZ(), and geo::BoxBoundedGeo::MinZ().
Referenced by geo::BoxBoundedGeo::Center().
|
inline |
Returns the 3D vector from composition of projection and distance.
Point | type of point to be returned |
decomp | decomposed point |
This is the "inverse" operation respect to DecomposePoint()
. The argument stores the two components, orthogonal and parallel to the plane, and compose them into a 3D point which departs from the reference point (ProjectionReferencePoint()
) by those components. See ComposePoint(double, Projection_t const&)
for more details.
Definition at line 445 of file TPCGeo.h.
References geo::PlaneGeo::ComposePoint(), and ReferencePlane().
|
inline |
Returns the 3D point from composition of projection and distance.
Point | type of point to be returned |
distance | distance of the target point from the reference plane |
proj | projection of the target point on the reference plane |
The returned point is the reference point, translated by two 3D vectors:
PointProjection()
gives the input projectionThe choice of the projection reference point embodies the same convention used in PointProjection()
and DecomposePoint()
.
Definition at line 470 of file TPCGeo.h.
References geo::PlaneGeo::ComposePoint(), and ReferencePlane().
|
private |
Computes the distance between the cathode and the last wire plane (last respect to the sorting order).
Definition at line 421 of file TPCGeo.cxx.
References util::abs(), geo::PlaneGeo::DistanceFromPlane(), fPlanes, and GetCathodeCenter().
Referenced by DriftDistance().
|
inlineinherited |
Returns whether this volume contains the specified point.
point | the point [cm] |
wiggle | expansion factor for the range |
If the wiggle is larger than 1, each size of the volume is expanded by the wiggle factor. If the wiggle is less than 1, each size is shrinked.
Definition at line 210 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::ContainsX(), and geo::BoxBoundedGeo::ContainsYZ().
Referenced by geo::BoxBoundedGeo::ContainsPosition(), and geo::GeometryCore::MaterialName().
|
inherited |
Definition at line 24 of file BoxBoundedGeo.cxx.
References geo::BoxBoundedGeo::ContainsPosition(), and geo::vect::toPoint().
|
inherited |
Definition at line 30 of file BoxBoundedGeo.cxx.
References geo::BoxBoundedGeo::ContainsPosition(), and geo::vect::makePointFromCoords().
|
inlineinherited |
Returns whether this TPC contains the specified world x coordinate.
x | the absolute ("world") coordinate x |
wiggle | expansion factor for the range (see ContainsPosition()) |
Note that x is by definition the drift direction, and a reconstructed x typically depends on an assumption respect to the event time.
Definition at line 158 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::CoordinateContained(), geo::BoxBoundedGeo::MaxX(), and geo::BoxBoundedGeo::MinX().
Referenced by geo::BoxBoundedGeo::ContainsPosition().
|
inlineinherited |
Returns whether this TPC contains the specified world y coordinate.
y | the absolute ("world") coordinate y |
wiggle | expansion factor for the range (see ContainsPosition()) |
Definition at line 170 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::CoordinateContained(), geo::BoxBoundedGeo::MaxY(), and geo::BoxBoundedGeo::MinY().
Referenced by geo::BoxBoundedGeo::ContainsYZ().
|
inlineinherited |
Returns if TPC contains the specified world y and z coordinates.
y | the absolute ("world") coordinate y |
z | the absolute ("world") coordinate z |
wiggle | expansion factor for the range (see ContainsPosition()) |
Definition at line 195 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::ContainsY(), and geo::BoxBoundedGeo::ContainsZ().
Referenced by geo::BoxBoundedGeo::ContainsPosition().
|
inlineinherited |
Returns whether this TPC contains the specified world z coordinate.
z | the absolute ("world") coordinate z |
wiggle | expansion factor for the range (see ContainsPosition()) |
Definition at line 182 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::CoordinateContained(), geo::BoxBoundedGeo::MaxZ(), and geo::BoxBoundedGeo::MinZ().
Referenced by geo::BoxBoundedGeo::ContainsYZ().
|
inlinestatic |
Returns whether the specified coordinate is in a range.
c | the coordinate |
min | lower boundary of the range |
max | upper boundary of the range |
wiggle | expansion factor for the range |
If the wiggle is larger than 1, the range is expanded by the wiggle factor. If the wiggle is less than 1, the range is shrinked.
Definition at line 579 of file TPCGeo.h.
Referenced by CoordinateContained().
|
inlinestatic |
Definition at line 585 of file TPCGeo.h.
References CoordinateContained(), FindPlane(), and MakePlane().
|
inline |
Decomposes a 3D point in two components.
point | the point to be decomposed |
The point is decomposed in:
The distance is from the reference plane (DistanceFromReferencePlane()
). The projection on the plane is obtained following the same convention as PointProjection()
.
Definition at line 373 of file TPCGeo.h.
References geo::PlaneGeo::DecomposePointWidthDepth(), and ReferencePlane().
short int geo::TPCGeo::DetectDriftDirection | ( | ) | const |
Returns the expected drift direction based on geometry.
The return value is coded as follow:
The current implementation is based on the assumption that electrons in the middle of TPC will drift toward the wire planes, and it "never fails".
Definition at line 149 of file TPCGeo.cxx.
References util::abs(), geo::PlaneGeo::GetBoxCenter(), GetCenter(), ID(), Nplanes(), and Plane().
Referenced by larg4::ISCalcCorrelated::AngleToEFieldAtStep(), sce::SCECorrection::applyT0Shift(), larg4::ISCalcCorrelated::EFieldAtStep(), GetCathodeCenterImpl(), nnet::TrainingDataAlg::getProjection(), pma::PMAlgTracker::mergeCoLinear(), detsim::DriftElectronstoPlane::produce(), detsim::SimDriftElectrons::produce(), ResetDriftDirection(), and toLocalCoords().
|
inline |
Returns the distance of the specified point from reference plane.
point | a point in world coordinates [cm] |
The distance is defined positive if the point lies in the inner side with respect to the reference plane.
It should match the drift distance from that plane.
Definition at line 334 of file TPCGeo.h.
References geo::PlaneGeo::DistanceFromPlane(), and ReferencePlane().
|
inline |
Returns the direction of the drift (vector pointing toward the planes).
Definition at line 124 of file TPCGeo.h.
References fDriftDir.
Referenced by checkTPCcoords(), groupTPCsByDriftDir(), PrintTPCInfo(), calo::GnocchiCalorimetry::TrajectoryToWirePosition(), and UpdateAfterSorting().
|
inline |
Returns an enumerator value describing the drift direction.
Definition at line 121 of file TPCGeo.h.
References fDriftDirection.
Referenced by detinfo::DetectorPropertiesStandard::DataFor(), larg4::LArVoxelReadout::DriftIonizationElectrons(), lar_pandora::LArPandoraInput::GetTrueX0(), lar_pandora::VintageLArTPCThreeView::TargetViewU(), and lar_pandora::VintageLArTPCThreeView::TargetViewV().
|
inline |
Drift distance is defined as the distance between the last anode plane and the opposite face of the TPC, in centimeters.
Definition at line 128 of file TPCGeo.h.
References ComputeDriftDistance(), fPlanes, and Nplanes().
Referenced by PrintTPCInfo().
|
inline |
Shifts the position of an electron drifted by a distance.
position | _(modified)_ the position of the electron |
distance | drift distance to shift the electron by [cm] |
This operation is delegated to the reference plane (see geo::Plane::DriftPoint()
).
Definition at line 350 of file TPCGeo.h.
References geo::PlaneGeo::DriftPoint(), and ReferencePlane().
Extends the current box to also include the specified point.
x | x coordinate of the point to include |
y | y coordinate of the point to include |
z | z coordinate of the point to include |
Definition at line 423 of file BoxBoundedGeo.h.
Referenced by geo::PlaneGeo::BoundingBox(), evd_tool::ProtoDUNEDrawer::DetOutline3D(), evd_tool::StandardDrawer::DetOutline3D(), larg4::ISTPC::extractActiveLArVolume(), larg4::OpFastScintillation::extractActiveVolumes(), and phot::PhotonVisibilityService::reconfigure().
|
inlineinherited |
Extends the current box to also include the specified point.
point | coordinates of the point to include |
Definition at line 432 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::c_max, geo::BoxBoundedGeo::c_min, geo::BoxBoundedGeo::set_max(), and geo::BoxBoundedGeo::set_min().
|
inlineinherited |
Extends the current box to also include the specified one.
box | the box to include |
It is assumed that the box has its boundaries properly sorted.
Definition at line 444 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::c_max, geo::BoxBoundedGeo::c_min, geo::BoxBoundedGeo::GetIntersections(), geo::BoxBoundedGeo::Max(), geo::BoxBoundedGeo::Min(), geo::BoxBoundedGeo::set_max(), and geo::BoxBoundedGeo::set_min().
|
private |
Referenced by CoordinateContained().
|
inline |
Returns the first wire plane (the closest to TPC center).
Definition at line 212 of file TPCGeo.h.
References fPlanes.
Referenced by ReferencePlane(), and phot::SemiAnalyticalModel::SemiAnalyticalModel().
|
inline |
Returns the center of the TPC active volume in world coordinates [cm].
Definition at line 250 of file TPCGeo.h.
References fActiveCenter.
Referenced by evd_tool::ProtoDUNEDrawer::DrawActiveTPCoutline(), evd_tool::StandardDrawer::DrawActiveTPCoutline(), GetCathodeCenterImpl(), and InitTPCBoundaries().
|
inline |
Returns the center of the active volume face opposite to the wire planes [cm]
Definition at line 254 of file TPCGeo.h.
References GetCathodeCenterImpl().
Referenced by phot::PropagationTimeModel::cathodeCentre(), geo::DriftPartitions::computeCoverage(), ComputeDriftDistance(), larg4::OpFastScintillation::OpFastScintillation(), PrintTPCInfo(), and phot::SemiAnalyticalModel::SemiAnalyticalModel().
|
private |
Definition at line 320 of file TPCGeo.cxx.
References ActiveHalfHeight(), ActiveHalfWidth(), ActiveLength(), DetectDriftDirection(), GetActiveVolumeCenter(), and geo::vect::Xcoord().
Referenced by GetCathodeCenter().
|
inline |
Returns the center of the TPC volume in world coordinates [cm].
Definition at line 247 of file TPCGeo.h.
References toWorldCoords().
Referenced by DetectDriftDirection(), evd_tool::ICARUSDrawer::DetOutline3D(), cluster::ClusterCrawlerAlg::FindHammerClusters(), pma::PMAlgStitching::GetTPCXOffsets(), PrintTPCInfo(), ResetDriftDirection(), SortPlanes(), trkf::CCTrackMaker::TagCosmics(), apa::DisambigAlg::TrivialDisambig(), apa::DisambigAlg::UseEndPts(), evd::RecoBaseDrawer::Vertex2D(), and cluster::ClusterCrawlerAlg::VtxMatch().
Returns the plane in planeid from this TPC.
planeid | full plane ID |
cet::exception | (category "PlaneOutOfRange") if no such plane |
The cryostat and TPC numbers in planeid are ignored, as it is ignored whether planeid is invalid.
Definition at line 182 of file TPCGeo.h.
References Plane().
Returns the plane in planeid from this TPC.
planeid | full plane ID |
The cryostat and TPC numbers in planeid are ignored, as it is ignored whether planeid is invalid.
Definition at line 205 of file TPCGeo.h.
References PlanePtr(), and SmallestPlane().
|
inline |
Returns the center of the active TPC volume side facing negative z.
Definition at line 257 of file TPCGeo.h.
References GetFrontFaceCenterImpl().
Referenced by geo::GeometryCore::GetTPCFrontFaceCenter(), and PrintTPCInfo().
|
private |
Definition at line 354 of file TPCGeo.cxx.
References ActiveBoundingBox().
Referenced by GetFrontFaceCenter().
|
inherited |
Calculates the entry and exit points of a trajectory on the box surface.
TrajectoryStart | position of the trajectory source |
TrajectoryDirect | direction vector of the trajectory |
This member is public since it just gives an output and does not change any member. The algorithm works only for a box shaped active volume with facing walls parallel to axis. If the return std::vector is empty the trajectory does not intersect with the box. Normally the return value should have one (if the trajectory originates in the box) or two (else) entries. If the return value has two entries the first represents the entry point and the second the exit point
Definition at line 125 of file BoxBoundedGeo.cxx.
Referenced by geo::BoxBoundedGeo::ExtendToInclude().
|
inherited |
Calculates the entry and exit points of a trajectory on the box surface.
TrajectoryStart | position of the trajectory source |
TrajectoryDirect | direction vector of the trajectory |
This member is public since it just gives an output and does not change any member. The algorithm works only for a box shaped active volume with facing walls parallel to axis. If the return std::vector is empty the trajectory does not intersect with the box. Normally the return value should have one (if the trajectory originates in the box) or two (else) entries. If the return value has two entries the first represents the entry point and the second the exit point
Definition at line 36 of file BoxBoundedGeo.cxx.
References geo::vect::bindCoord(), geo::BoxBoundedGeo::c_max, geo::BoxBoundedGeo::c_min, geo::vect::coord(), geo::BoxBoundedGeo::Max(), and geo::BoxBoundedGeo::Min().
|
inline |
Height is associated with y coordinate [cm].
Definition at line 100 of file TPCGeo.h.
References fHalfHeight.
Referenced by evd_tool::ICARUSDrawer::DetOutline3D(), cluster::ClusterCrawlerAlg::FindHammerClusters(), pma::PMAlgStitching::GetTPCXOffsets(), Height(), InitTPCBoundaries(), trkf::CCTrackMaker::TagCosmics(), and cluster::ClusterCrawlerAlg::VtxMatch().
|
inline |
Length is associated with z coordinate [cm].
Definition at line 106 of file TPCGeo.h.
References fLength.
Referenced by InitTPCBoundaries().
|
inlineinherited |
Returns the size from the center to the border on X dimension.
Definition at line 102 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::SizeX().
|
inlineinherited |
Returns the size from the center to the border on Y dimension.
Definition at line 117 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::SizeY().
|
inlineinherited |
Returns the size from the center to the border on Z dimension.
Definition at line 132 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::SizeZ().
|
inline |
Width is associated with x coordinate [cm].
Definition at line 96 of file TPCGeo.h.
References fHalfWidth.
Referenced by evd_tool::ICARUSDrawer::DetOutline3D(), larg::LArSimChannelAna::ensureHists(), hit::MagDriftAna::ensureHists(), pma::PMAlgStitching::GetTPCXOffsets(), InitTPCBoundaries(), trkf::CCTrackMaker::TagCosmics(), evd::RecoBaseDrawer::Vertex2D(), and Width().
|
inline |
Returns whether a plane with index iplane is present in this TPC.
iplane | index of plane in this TPC |
Definition at line 148 of file TPCGeo.h.
References HasPlane().
|
inline |
Returns whether the plane in planeid is present in this TPC.
planeid | full plane ID |
The cryostat and TPC numbers in planeid are ignored, as it is ignored whether planeid is invalid.
Definition at line 161 of file TPCGeo.h.
References HasPlane(), and Plane().
|
inline |
Returns whether a plane with index iplane is present in this TPC.
iplane | index of plane in this TPC |
Definition at line 147 of file TPCGeo.h.
References Nplanes().
Referenced by pma::ProjectionMatchingAlg::buildShowerSeg(), pma::PMAlgStitching::GetTPCXOffsets(), pma::ProjectionMatchingAlg::guideEndpoints(), HasElement(), geo::GeometryCore::HasPlane(), pma::PMAlgTracker::matchCluster(), pma::Node3D::Node3D(), PlanePtr(), and pma::ProjectionMatchingAlg::TestTrk_().
|
inline |
Returns whether the plane in planeid is present in this TPC.
planeid | full plane ID |
The cryostat and TPC numbers in planeid are ignored, as it is ignored whether planeid is invalid.
Definition at line 160 of file TPCGeo.h.
References HasPlane(), and geo::PlaneID::Plane.
Referenced by HasPlane().
|
inline |
Height is associated with y coordinate [cm].
Definition at line 102 of file TPCGeo.h.
References HalfHeight().
Referenced by PrintTPCInfo().
|
inline |
Returns the direction Height()
is measured on.
Definition at line 115 of file TPCGeo.h.
References fHeightDir.
Referenced by PrintTPCInfo().
|
inline |
Returns the identifier of this TPC.
Definition at line 270 of file TPCGeo.h.
References fID.
Referenced by checkTPCcoords(), DetectDriftDirection(), evd_tool::ICARUSDrawer::DetOutline3D(), geo::CryostatGeo::PositionToTPCID(), geo::GeometryCore::PositionToTPCID(), PrintTPCInfo(), and trkf::CosmicTrackerAlg::TrackTrajectory().
|
inlineinherited |
Returns whether TPC fiducial volume contains world x coordinate.
x | the absolute ("world") coordinate x |
neg_margin | how far within the TPC the fiducial region starts |
pos_margin | how far before the TPC the fiducial region ends |
The fiducial volume is defined by the specified margins, that denote how much of the coordinate is not fiducial. For example,
bool bWithin = tpc->InFiducialX(x, 5., 8.);
on a TPC with x from 0 to 100 (cm, presumably) will return true for all x
between 5 and 92. If positive margin is not specified, it's assumed to be the same as the negative one. Specifying a negative mergin effectively extends the TPC volume. Note that x is by definition the drift direction, and a reconstructed x typically depends on an assumption respect to the event time.
Definition at line 243 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::CoordinateContained(), geo::BoxBoundedGeo::MaxX(), and geo::BoxBoundedGeo::MinX().
|
inlineinherited |
Returns whether TPC fiducial volume contains world x coordinate.
Margins are symmetric.
Definition at line 253 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::InFiducialX().
Referenced by geo::BoxBoundedGeo::InFiducialX().
|
inlineinherited |
Returns whether TPC fiducial volume contains world y coordinate.
y | the absolute ("world") coordinate y |
neg_margin | how far within the TPC the fiducial region starts |
pos_margin | how far before the TPC the fiducial region ends |
The fiducial volume is defined by the specified margins, that denote how much of the coordinate is not fiducial. For example,
bool bWithin = tpc->InFiducialY(y, 5., 8.);
on a TPC with y from 0 to 100 (cm, presumably) will return true for all y
between 5 and 92. If positive margin is not specified, it's assumed to be the same as the negative one. Specifying a negative mergin effectively extends the TPC volume.
Definition at line 273 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::CoordinateContained(), geo::BoxBoundedGeo::MaxY(), and geo::BoxBoundedGeo::MinY().
|
inlineinherited |
Returns whether TPC fiducial volume contains world y coordinate.
Margins are symmetric.
Definition at line 283 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::InFiducialY().
Referenced by geo::BoxBoundedGeo::InFiducialY().
|
inlineinherited |
Returns whether TPC fiducial volume contains world z coordinate.
z | the absolute ("world") coordinate y |
neg_margin | how far within the TPC the fiducial region starts |
pos_margin | how far before the TPC the fiducial region ends |
The fiducial volume is defined by the specified margins, that denote how much of the coordinate is not fiducial. For example,
bool bWithin = tpc->InFiducialZ(z, 5., 8.);
on a TPC with z from 0 to 100 (cm, presumably) will return true for all z
between 5 and 92. If positive margin is not specified, it's assumed to be the same as the negative one. Specifying a negative mergin effectively extends the TPC volume.
Definition at line 303 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::CoordinateContained(), geo::BoxBoundedGeo::MaxZ(), and geo::BoxBoundedGeo::MinZ().
|
inlineinherited |
Returns whether TPC fiducial volume contains world z coordinate.
Margins are symmetric.
Definition at line 313 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::InFiducialZ().
Referenced by geo::BoxBoundedGeo::InFiducialZ().
|
private |
Recomputes the TPC boundary.
Definition at line 435 of file TPCGeo.cxx.
References ActiveHalfHeight(), ActiveHalfLength(), ActiveHalfWidth(), fActiveBox, GetActiveVolumeCenter(), HalfHeight(), HalfLength(), HalfWidth(), geo::BoxBoundedGeo::SetBoundaries(), and toWorldCoords().
Referenced by TPCGeo().
auto geo::TPCGeo::IterateElements | ( | ) | const |
Returns an object for iterating through all geo::PlaneGeo
.
geo::PlaneGeo
For example, this snippet computes MaxWires()
of TPC
(a TPCGeo
):
The resulting sequence exposes the planes within the TPC in their ID order, from plane 0
to Nplanes() - 1
.
Definition at line 295 of file TPCGeo.cxx.
References fPlanes.
Referenced by IteratePlanes(), and LastPlane().
|
inline |
Returns an object for iterating through all geo::PlaneGeo
.
geo::PlaneGeo
For example, this snippet computes MaxWires()
of TPC
(a TPCGeo
):
The resulting sequence exposes the planes within the TPC in their ID order, from plane 0
to Nplanes() - 1
.
Definition at line 235 of file TPCGeo.h.
References IterateElements(), and Views().
|
inline |
Returns the last wire plane (the farther from TPC center).
Definition at line 215 of file TPCGeo.h.
References fPlanes, IterateElements(), MaxWires(), and Nplanes().
Referenced by geo::DriftPartitions::computeCoverage().
|
inline |
Length is associated with z coordinate [cm].
Definition at line 104 of file TPCGeo.h.
References fLength.
Referenced by evd_tool::ICARUSDrawer::DetOutline3D(), cluster::ClusterCrawlerAlg::FindHammerClusters(), pma::PMAlgStitching::GetTPCXOffsets(), PrintTPCInfo(), trkf::CCTrackMaker::TagCosmics(), apa::APAGeometryAlg::ThreeChanPos(), evd::RecoBaseDrawer::Vertex2D(), and cluster::ClusterCrawlerAlg::VtxMatch().
|
inline |
Returns the direction Length()
is measured on.
Definition at line 118 of file TPCGeo.h.
References fLengthDir.
Referenced by PrintTPCInfo().
|
private |
Referenced by CoordinateContained().
|
inlineinherited |
Returns the corner point with the largest coordinates.
Definition at line 138 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::c_max.
Referenced by geo::BoxBoundedGeo::ExtendToInclude(), geo::BoxBoundedGeo::GetIntersections(), geo::GeometryCore::MaterialName(), geo::CryostatGeo::PrintCryostatInfo(), and PrintTPCInfo().
unsigned int geo::TPCGeo::MaxWires | ( | ) | const |
Returns the largest number of wires among the planes in this TPC.
Definition at line 284 of file TPCGeo.cxx.
References fPlanes.
Referenced by geo::GeometryCore::GetEndWireID(), LastPlane(), geo::CryostatGeo::MaxWires(), and PrintTPCInfo().
|
inlineinherited |
Returns the world x coordinate of the end of the box.
Definition at line 93 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::c_max.
Referenced by geo::CryostatGeo::Boundaries(), geo::BoxBoundedGeo::CenterX(), geo::BoxBoundedGeo::ContainsX(), evd_tool::ProtoDUNEDrawer::DrawBoxBoundedGeoOutline(), evd_tool::StandardDrawer::DrawBoxBoundedGeoOutline(), geo::BoxBoundedGeo::InFiducialX(), evd::SimulationDrawer::MCTruthOrtho(), geo::BoxBoundedGeo::OverlapsX(), geo::BoxBoundedGeo::SizeX(), TPCarea(), and geo::GeometryCore::WorldBox().
|
inlineinherited |
Returns the world y coordinate of the end of the box.
Definition at line 108 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::c_max.
Referenced by geo::CryostatGeo::Boundaries(), geo::BoxBoundedGeo::CenterY(), geo::BoxBoundedGeo::ContainsY(), evd_tool::ProtoDUNEDrawer::DrawBoxBoundedGeoOutline(), evd_tool::StandardDrawer::DrawBoxBoundedGeoOutline(), geo::BoxBoundedGeo::InFiducialY(), pma::Node3D::Node3D(), geo::BoxBoundedGeo::OverlapsY(), tca::SaveCRInfo(), geo::BoxBoundedGeo::SizeY(), TPCarea(), and geo::GeometryCore::WorldBox().
|
inlineinherited |
Returns the world z coordinate of the end of the box.
Definition at line 123 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::c_max.
Referenced by geo::CryostatGeo::Boundaries(), geo::BoxBoundedGeo::CenterZ(), geo::BoxBoundedGeo::ContainsZ(), evd_tool::ProtoDUNEDrawer::DrawBoxBoundedGeoOutline(), evd_tool::StandardDrawer::DrawBoxBoundedGeoOutline(), geo::BoxBoundedGeo::InFiducialZ(), pma::Node3D::Node3D(), geo::BoxBoundedGeo::OverlapsZ(), tca::SaveCRInfo(), geo::BoxBoundedGeo::SizeZ(), TPCarea(), and geo::GeometryCore::WorldBox().
|
inlineinherited |
Returns the corner point with the smallest coordinates.
Definition at line 135 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::c_min.
Referenced by geo::BoxBoundedGeo::ExtendToInclude(), geo::BoxBoundedGeo::GetIntersections(), geo::GeometryCore::MaterialName(), geo::CryostatGeo::PrintCryostatInfo(), and PrintTPCInfo().
|
inlineinherited |
Returns the world x coordinate of the start of the box.
Definition at line 90 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::c_min.
Referenced by opdet::SimPhotonCounter::beginJob(), geo::CryostatGeo::Boundaries(), geo::BoxBoundedGeo::CenterX(), geo::BoxBoundedGeo::ContainsX(), evd_tool::ProtoDUNEDrawer::DrawBoxBoundedGeoOutline(), evd_tool::StandardDrawer::DrawBoxBoundedGeoOutline(), geo::BoxBoundedGeo::InFiducialX(), pma::Track3D::InitFromMiddle(), evd::SimulationDrawer::MCTruthOrtho(), geo::BoxBoundedGeo::OverlapsX(), evgen::ActiveVolumeVertexSampler::sample_vertex_pos(), geo::BoxBoundedGeo::SizeX(), TPCarea(), and geo::GeometryCore::WorldBox().
|
inlineinherited |
Returns the world y coordinate of the start of the box.
Definition at line 105 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::c_min.
Referenced by geo::CryostatGeo::Boundaries(), geo::BoxBoundedGeo::CenterY(), geo::BoxBoundedGeo::ContainsY(), evd_tool::ProtoDUNEDrawer::DrawBoxBoundedGeoOutline(), evd_tool::StandardDrawer::DrawBoxBoundedGeoOutline(), geo::BoxBoundedGeo::InFiducialY(), pma::Node3D::Node3D(), geo::BoxBoundedGeo::OverlapsY(), tca::SaveCRInfo(), geo::BoxBoundedGeo::SizeY(), TPCarea(), and geo::GeometryCore::WorldBox().
|
inlineinherited |
Returns the world z coordinate of the start of the box.
Definition at line 120 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::c_min.
Referenced by geo::CryostatGeo::Boundaries(), geo::BoxBoundedGeo::CenterZ(), geo::BoxBoundedGeo::ContainsZ(), evd_tool::ProtoDUNEDrawer::DrawBoxBoundedGeoOutline(), evd_tool::StandardDrawer::DrawBoxBoundedGeoOutline(), geo::BoxBoundedGeo::InFiducialZ(), pma::Node3D::Node3D(), geo::BoxBoundedGeo::OverlapsZ(), tca::SaveCRInfo(), geo::BoxBoundedGeo::SizeZ(), TPCarea(), and geo::GeometryCore::WorldBox().
|
inline |
Number of planes in this tpc.
Definition at line 138 of file TPCGeo.h.
References fPlanes.
Referenced by geo::GeometryCore::Nplanes().
|
inline |
Number of planes in this tpc.
Definition at line 137 of file TPCGeo.h.
Referenced by detinfo::DetectorPropertiesStandard::DataFor(), DetectDriftDirection(), hit::DisambigCheater::DisambigCheater(), DriftDistance(), larg4::LArVoxelReadout::DriftIonizationElectrons(), trkf::SpacePointAlg::fillComplexSpacePoint(), tca::FillWireHitRange(), tca::FindShowers3D(), geo::GeometryCore::GetEndPlaneID(), trkf::FeatureTracker::GetProjectedEnds(), groupByDriftCoordinate(), HasPlane(), geo::ChannelMapStandardAlg::Initialize(), LastPlane(), trkf::SpacePointAlg::makeSpacePoints(), geo::CryostatGeo::MaxPlanes(), geo::GeometryCore::Print(), PrintTPCInfo(), detsim::DriftElectronstoPlane::produce(), detsim::SimDriftElectrons::produce(), SortSubVolumes(), trkf::CosmicTrackerAlg::TrackTrajectory(), UpdateAfterSorting(), UpdatePlaneCache(), UpdatePlaneViewCache(), pma::Node3D::UpdateProj2D(), trkf::VertexFitAlg::VertexFit(), cluster::ClusterCrawlerAlg::VtxMatch(), and geo::GeometryCore::WireAngleToVertical().
|
inlineinherited |
Returns if this and other
box overlap.
Definition at line 340 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::OverlapsX(), geo::BoxBoundedGeo::OverlapsY(), and geo::BoxBoundedGeo::OverlapsZ().
|
inlineinherited |
Returns if the x coordinates covered by this and other
box overlap.
Definition at line 322 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::MaxX(), and geo::BoxBoundedGeo::MinX().
Referenced by geo::BoxBoundedGeo::Overlaps().
|
inlineinherited |
Returns if the y coordinates covered by this and other
box overlap.
Definition at line 328 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::MaxY(), and geo::BoxBoundedGeo::MinY().
Referenced by geo::BoxBoundedGeo::Overlaps().
|
inlineinherited |
Returns if the z coordinates covered by this and other
box overlap.
Definition at line 334 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::MaxZ(), and geo::BoxBoundedGeo::MinZ().
Referenced by geo::BoxBoundedGeo::Overlaps().
const PlaneGeo & geo::TPCGeo::Plane | ( | geo::View_t | view | ) | const |
Return the plane in the tpc with View_t view.
Definition at line 252 of file TPCGeo.cxx.
References fPlanes, fViewToPlaneNumber, and geo::PlaneID::InvalidID.
Referenced by detinfo::DetectorPropertiesStandard::DataFor(), DetectDriftDirection(), larg4::LArVoxelReadout::DriftIonizationElectrons(), lar_pandora::detector_functions::GetDetectorType(), GetElement(), pma::PMAlgStitching::GetTPCXOffsets(), HasElement(), geo::ChannelMapStandardAlg::Initialize(), geo::GeometryCore::Plane(), geo::GeometryCore::Print(), detsim::DriftElectronstoPlane::produce(), detsim::SimDriftElectrons::produce(), ResetDriftDirection(), geo::GeometryCore::ThirdPlane_dTdW(), geo::GeometryCore::ThirdPlaneSlope(), DUNE::NeutrinoTrackingEff::truthLength(), pma::Node3D::UpdateProj2D(), pma::ProjectionMatchingAlg::validate(), pma::ProjectionMatchingAlg::validate_on_adc_test(), geo::GeometryCore::WireAngleToVertical(), and WirePitch().
const PlaneGeo & geo::TPCGeo::Plane | ( | unsigned int | iplane | ) | const |
Return the iplane'th plane in the TPC.
cet::exception | (category "PlaneOutOfRange") if no such plane |
Definition at line 240 of file TPCGeo.cxx.
References PlanePtr().
Returns the plane in planeid from this TPC.
planeid | full plane ID |
cet::exception | (category "PlaneOutOfRange") if no such plane |
The cryostat and TPC numbers in planeid are ignored, as it is ignored whether planeid is invalid.
Definition at line 181 of file TPCGeo.h.
References Plane(), and geo::PlaneID::Plane.
Referenced by Plane().
double geo::TPCGeo::Plane0Pitch | ( | unsigned int | p | ) | const |
Returns the center of the TPC volume in world coordinates [cm].
Definition at line 314 of file TPCGeo.cxx.
References fPlane0Pitch.
Referenced by ActiveBoundingBox(), larg4::LArVoxelReadout::DriftIonizationElectrons(), and groupByDriftCoordinate().
double geo::TPCGeo::PlanePitch | ( | unsigned int | p1 = 0 , |
unsigned int | p2 = 1 |
||
) | const |
Returns the center of the TPC volume in world coordinates [cm].
Definition at line 361 of file TPCGeo.cxx.
References util::abs(), and fPlane0Pitch.
Referenced by ActiveBoundingBox(), detinfo::DetectorPropertiesStandard::DataFor(), larg4::LArVoxelReadout::DriftIonizationElectrons(), geo::GeometryCore::PlanePitch(), detsim::DriftElectronstoPlane::produce(), and detsim::SimDriftElectrons::produce().
|
inline |
Returns the plane number iplane from this TPC.
iplane | the number of local plane |
Definition at line 190 of file TPCGeo.h.
References fPlanes, and HasPlane().
Referenced by GetElementPtr(), Plane(), and geo::GeometryCore::PlanePtr().
Returns the plane in planeid from this TPC.
planeid | full plane ID |
The cryostat and TPC numbers in planeid are ignored, as it is ignored whether planeid is invalid.
Definition at line 204 of file TPCGeo.h.
References geo::PlaneID::Plane, and PlanePtr().
Referenced by PlanePtr().
|
inline |
Returns the projection of the specified point on the plane.
point | the 3D point to be projected, in world coordinates |
The returned vector is a 2D vector expressing the projection of the point (from world coordinates) on the reference plane. The vector is expressed as , components following the width direction (RefWidthDir()
) and the depth direction (RefDepthDir()
) respectively. The origin point is returned by ProjectionReferencePoint()
. All coordinates are in centimeters.
Definition at line 408 of file TPCGeo.h.
References Projection().
void geo::TPCGeo::PrintTPCInfo | ( | Stream && | out, |
std::string | indent = "" , |
||
unsigned int | verbosity = 1 |
||
) | const |
Prints information about this TPC.
Stream | type of output stream to use |
out | stream to send the information to |
indent | prepend each line with this string |
verbosity | amount of information printed |
Note that the first line out the output is not indented.
The constant MaxVerbosity
is set to the highest supported verbosity level.
Definition at line 656 of file TPCGeo.h.
References ActiveBoundingBox(), ActiveHeight(), ActiveLength(), ActiveWidth(), BoundingBox(), DriftDir(), DriftDistance(), GetCathodeCenter(), GetCenter(), GetFrontFaceCenter(), Height(), HeightDir(), ID(), Length(), LengthDir(), geo::BoxBoundedGeo::Max(), MaxWires(), geo::BoxBoundedGeo::Min(), Nplanes(), Width(), and WidthDir().
Referenced by geo::part::PartitionDataDescriber< geo::TPCGeo >::PartitionDataDescriber(), geo::GeometryCore::Print(), toLocalCoords(), and TPCInfo().
|
inline |
Returns the projection of the specified point on the plane.
point | the 3D point to be projected, in world coordinates |
The returned vector is a 2D vector expressing the projection of the point (from world coordinates) on the reference plane. The vector is expressed as , components following the width direction (RefWidthDir()
) and the depth direction (RefDepthDir()
) respectively. The origin point is returned by ProjectionReferencePoint()
. All coordinates are in centimeters.
Definition at line 404 of file TPCGeo.h.
References geo::PlaneGeo::PointWidthDepthProjection(), and ReferencePlane().
Referenced by PointProjection(), and VectorProjection().
|
inline |
Returns the projection of the specified vector on the plane.
v | the 3D vector to be projected, in world units [cm] |
The returned vector is a 2D vector expressing the projection of the vector (from world units) on the reference plane. The vector is expressed as , components following the width direction (RefWidthDir()
) and the depth direction (RefDepthDir()
) respectively. All coordinates are in centimeters.
Definition at line 424 of file TPCGeo.h.
References ReferencePlane(), and geo::PlaneGeo::VectorWidthDepthProjection().
|
inline |
Returns the reference point used by PointProjection()
.
Point | type of point to be returned |
The returned point is such that its decomposition results in a null projection and a 0 distance from the plane.
Definition at line 387 of file TPCGeo.h.
References geo::PlaneGeo::GetCenter(), and ReferencePlane().
|
inline |
Return the direction of reference plane depth.
Vector | type of vector to return (current default: TVector3 ) |
The precise definition of the vector is arbitrary, but it is defined to lie on the wire plane and so that RefWidthDir(), RefDepthDir() and a vector opposite to DriftDir() make a orthonormal base. That base (width, depth, normal) is guaranteed to be positive defined.
Definition at line 320 of file TPCGeo.h.
References geo::PlaneGeo::DepthDir(), and ReferencePlane().
Referenced by geo::buildDriftVolumes().
|
inline |
Returns the plane used for reference by projection methods.
Definition at line 290 of file TPCGeo.h.
References FirstPlane().
Referenced by ComposePoint(), DecomposePoint(), DistanceFromReferencePlane(), DriftPoint(), Projection(), ProjectionReferencePoint(), RefDepthDir(), ReferencePlaneID(), and RefWidthDir().
|
inline |
Returns the ID of the plane used for reference by projection methods.
Definition at line 293 of file TPCGeo.h.
References geo::PlaneGeo::ID(), and ReferencePlane().
|
inline |
Return the direction of reference plane width.
Vector | type of vector to return (current default: TVector3 ) |
The precise definition of the vector is arbitrary, but it is defined to lie on the wire plane and so that RefWidthDir(), RefDepthDir() and a vector opposite to DriftDir() make a orthonormal base. That base (width, depth, normal) is guaranteed to be positive defined.
Definition at line 306 of file TPCGeo.h.
References ReferencePlane(), and geo::PlaneGeo::WidthDir().
Referenced by geo::buildDriftVolumes().
|
private |
Recomputes the drift direction; needs planes to have been initialised.
Definition at line 374 of file TPCGeo.cxx.
References DetectDriftDirection(), e, fDriftDir, fDriftDirection, geo::PlaneGeo::GetBoxCenter(), GetCenter(), geo::kNeg, geo::kNegX, geo::kPos, geo::kPosX, geo::kUnknownDrift, Plane(), geo::vect::round01(), geo::Xaxis(), geo::Yaxis(), and geo::Zaxis().
Referenced by TPCGeo().
Sets var to value if value is larger than the current var value.
Definition at line 479 of file BoxBoundedGeo.h.
References value.
Referenced by geo::BoxBoundedGeo::ExtendToInclude().
|
inlinestaticinherited |
Sets each coordinate of var to the one in value if the latter is larger.
Definition at line 493 of file BoxBoundedGeo.h.
Sets var to value if value is smaller than the current var value.
Definition at line 473 of file BoxBoundedGeo.h.
References value.
Referenced by geo::BoxBoundedGeo::ExtendToInclude().
|
inlinestaticinherited |
Sets each coordinate of var to the one in value if the latter is smaller.
Definition at line 485 of file BoxBoundedGeo.h.
|
inlineinherited |
Sets the boundaries in world coordinates as specified.
x_min | lower x coordinate |
x_max | upper x coordinate |
y_min | lower y coordinate |
y_max | upper y coordinate |
z_min | lower z coordinate |
z_max | upper z coordinate |
Definition at line 393 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::c_max, geo::BoxBoundedGeo::c_min, and geo::BoxBoundedGeo::SortCoordinates().
Referenced by geo::PlaneGeo::BoundingBox(), geo::CryostatGeo::InitCryoBoundaries(), and InitTPCBoundaries().
Sets the boundaries in world coordinates as specified.
lower | lower coordinates (x, y, z) |
upper | upper coordinates (x, y, z) |
Definition at line 410 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::c_max, geo::BoxBoundedGeo::c_min, and geo::BoxBoundedGeo::SortCoordinates().
|
inlineinherited |
Returns the full size in the X dimension.
Definition at line 99 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::MaxX(), and geo::BoxBoundedGeo::MinX().
Referenced by geo::BoxBoundedGeo::HalfSizeX().
|
inlineinherited |
Returns the full size in the Y dimension.
Definition at line 114 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::MaxY(), and geo::BoxBoundedGeo::MinY().
Referenced by geo::BoxBoundedGeo::HalfSizeY().
|
inlineinherited |
Returns the full size in the Z dimension.
Definition at line 129 of file BoxBoundedGeo.h.
References geo::BoxBoundedGeo::MaxZ(), and geo::BoxBoundedGeo::MinZ().
Referenced by geo::BoxBoundedGeo::HalfSizeZ().
geo::PlaneGeo const & geo::TPCGeo::SmallestPlane | ( | ) | const |
Returns the wire plane with the smallest surface.
Definition at line 263 of file TPCGeo.cxx.
References fPlanes.
Referenced by GetElementPtr().
|
private |
Sorts (in place) the specified PlaneGeo
objects by drift distance.
Definition at line 497 of file TPCGeo.cxx.
References geo::vect::dot(), GetCenter(), and geo::vect::normalize().
Referenced by SortSubVolumes().
void geo::TPCGeo::SortSubVolumes | ( | geo::GeoObjectSorter const & | sorter | ) |
Apply sorting to the PlaneGeo objects.
Definition at line 191 of file TPCGeo.cxx.
References fPlanes, fViewToPlaneNumber, geo::PlaneID::InvalidID, geo::kUnknown, Nplanes(), and SortPlanes().
Referenced by geo::CryostatGeo::SortSubVolumes(), and toLocalCoords().
|
inline |
Transform point from world frame to local TPC frame.
Definition at line 494 of file TPCGeo.h.
References fTrans, and geo::LocalTransformationGeo< StoredMatrix, LocalPoint, LocalVector >::toLocalCoords().
|
inline |
Transform direction vector from world to local.
Definition at line 500 of file TPCGeo.h.
References DetectDriftDirection(), fTrans, art::detail::indent(), PrintTPCInfo(), SortSubVolumes(), geo::LocalTransformationGeo< StoredMatrix, LocalPoint, LocalVector >::toLocalCoords(), TPCInfo(), and UpdateAfterSorting().
|
inline |
Half width (associated with x coordinate) of active TPC volume [cm].
Definition at line 109 of file TPCGeo.h.
References fTotalVolume.
|
inline |
Transform point from local TPC frame to world frame.
Definition at line 482 of file TPCGeo.h.
References fTrans, and geo::LocalTransformationGeo< StoredMatrix, LocalPoint, LocalVector >::toWorldCoords().
Referenced by GetCenter(), InitTPCBoundaries(), and geo::sortTPCStandard().
|
inline |
Transform direction vector from local to world.
Definition at line 488 of file TPCGeo.h.
References fTrans, and geo::LocalTransformationGeo< StoredMatrix, LocalPoint, LocalVector >::toWorldCoords().
std::string geo::TPCGeo::TPCInfo | ( | std::string | indent = "" , |
unsigned int | verbosity = 1 |
||
) | const |
Returns a string with information about this TPC.
PrintTPCInfo()
Arguments and provided information are the same as in PrintTPCInfo()
.
Definition at line 232 of file TPCGeo.cxx.
References PrintTPCInfo().
Referenced by toLocalCoords().
void geo::TPCGeo::UpdateAfterSorting | ( | geo::TPCID | tpcid | ) |
Performs all updates after cryostat has sorted TPCs.
Definition at line 209 of file TPCGeo.cxx.
References DriftDir(), e, fID, fPlanes, lar::util::makeVector3DComparison(), Nplanes(), UpdatePlaneCache(), and UpdatePlaneViewCache().
Referenced by toLocalCoords().
|
private |
Updates plane cached information.
Definition at line 476 of file TPCGeo.cxx.
References util::abs(), geo::vect::fillCoords(), fPlane0Pitch, fPlaneLocation, fPlanes, and Nplanes().
Referenced by UpdateAfterSorting().
|
private |
Refills the plane vs. view cache of the TPC.
Definition at line 459 of file TPCGeo.cxx.
References fPlanes, fViewToPlaneNumber, geo::PlaneID::InvalidID, geo::kUnknown, and Nplanes().
Referenced by UpdateAfterSorting().
|
inline |
Returns the projection of the specified vector on the plane.
v | the 3D vector to be projected, in world units [cm] |
The returned vector is a 2D vector expressing the projection of the vector (from world units) on the reference plane. The vector is expressed as , components following the width direction (RefWidthDir()
) and the depth direction (RefDepthDir()
) respectively. All coordinates are in centimeters.
Definition at line 428 of file TPCGeo.h.
References Projection().
std::set< geo::View_t > geo::TPCGeo::Views | ( | ) | const |
Returns a set of all views covered in this TPC.
Definition at line 301 of file TPCGeo.cxx.
References fPlanes, and geo::PlaneGeo::View().
Referenced by IteratePlanes().
|
inline |
Width is associated with x coordinate [cm].
Definition at line 98 of file TPCGeo.h.
References HalfWidth().
Referenced by PrintTPCInfo().
|
inline |
Returns the direction Width()
is measured on.
Definition at line 112 of file TPCGeo.h.
References fWidthDir.
Referenced by PrintTPCInfo().
double geo::TPCGeo::WirePitch | ( | unsigned | plane = 0 | ) | const |
Returns the center of the TPC volume in world coordinates [cm].
Definition at line 368 of file TPCGeo.cxx.
References Plane(), and geo::PlaneGeo::WirePitch().
Referenced by ActiveBoundingBox(), hit::MagDriftAna::analyze(), and geo::ChannelMapStandardAlg::Initialize().
|
private |
Box of the active volume.
Definition at line 620 of file TPCGeo.h.
Referenced by ActiveBoundingBox(), and InitTPCBoundaries().
|
private |
Center of the active volume, in world coordinates [cm].
Definition at line 606 of file TPCGeo.h.
Referenced by GetActiveVolumeCenter(), and TPCGeo().
|
private |
Half height of active volume.
Definition at line 609 of file TPCGeo.h.
Referenced by ActiveHalfHeight(), and TPCGeo().
|
private |
Half width of active volume.
Definition at line 608 of file TPCGeo.h.
Referenced by ActiveHalfWidth(), and TPCGeo().
|
private |
Length of active volume.
Definition at line 610 of file TPCGeo.h.
Referenced by ActiveHalfLength(), ActiveLength(), and TPCGeo().
|
private |
Active volume of LAr, called volTPCActive in GDML file.
Definition at line 601 of file TPCGeo.h.
Referenced by ActiveMass(), ActiveVolume(), and TPCGeo().
|
private |
Direction electrons drift along.
Definition at line 618 of file TPCGeo.h.
Referenced by DriftDir(), and ResetDriftDirection().
|
private |
Direction of the electron drift in the TPC.
Definition at line 603 of file TPCGeo.h.
Referenced by DriftDirection(), and ResetDriftDirection().
|
private |
Half height of total volume.
Definition at line 612 of file TPCGeo.h.
Referenced by HalfHeight(), and TPCGeo().
|
private |
Half width of total volume.
Definition at line 611 of file TPCGeo.h.
Referenced by HalfWidth(), and TPCGeo().
|
private |
Direction height refers to.
Definition at line 616 of file TPCGeo.h.
Referenced by HeightDir(), and TPCGeo().
|
private |
ID of this TPC.
Definition at line 622 of file TPCGeo.h.
Referenced by ID(), and UpdateAfterSorting().
|
private |
Length of total volume.
Definition at line 613 of file TPCGeo.h.
Referenced by HalfLength(), Length(), and TPCGeo().
|
private |
Direction length refers to.
Definition at line 617 of file TPCGeo.h.
Referenced by LengthDir(), and TPCGeo().
|
private |
Pitch between planes.
Definition at line 604 of file TPCGeo.h.
Referenced by Plane0Pitch(), PlanePitch(), and UpdatePlaneCache().
|
private |
xyz locations of planes in the TPC.
Definition at line 605 of file TPCGeo.h.
Referenced by UpdatePlaneCache().
|
private |
List of planes in this plane.
Definition at line 600 of file TPCGeo.h.
Referenced by ComputeDriftDistance(), DriftDistance(), FirstPlane(), IterateElements(), LastPlane(), MaxWires(), NElements(), Plane(), PlanePtr(), SmallestPlane(), SortSubVolumes(), UpdateAfterSorting(), UpdatePlaneCache(), UpdatePlaneViewCache(), and Views().
|
private |
Total volume of TPC, called volTPC in GDML file.
Definition at line 602 of file TPCGeo.h.
Referenced by TotalVolume(), and TPCGeo().
|
private |
TPC-to-world transformation.
Definition at line 598 of file TPCGeo.h.
Referenced by toLocalCoords(), toWorldCoords(), and TPCGeo().
|
private |
Index of the plane for each view (InvalidID if none).
Definition at line 625 of file TPCGeo.h.
Referenced by Plane(), SortSubVolumes(), and UpdatePlaneViewCache().
|
private |
Direction width refers to.
Definition at line 615 of file TPCGeo.h.
Referenced by TPCGeo(), and WidthDir().
|
static |
Maximum verbosity supported by PrintTPCInfo()
.
Definition at line 566 of file TPCGeo.h.
Referenced by geo::GeometryCore::Print().