1404 unsigned int NElements() const
Number of wires in this plane.
WireGeo const & Wire(WireID const &wireid) const
Returns the wire in wireid from this plane.
Geometry description of a TPC wireThe wire is a single straight segment on a wire plane...
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
geo::Vector_t toWorldCoords(LocalVector_t const &local) const
Transform direction vector from local to world.
WireDecomposedVector_t DecomposePoint(TVector3 const &point) const
Decomposes a 3D point in two components.
void SetView(geo::View_t view)
Set the signal view (for TPCGeo).
geo::Point_t fCenter
Center of the plane, lying on the wire plane.
double fWirePitch
Pitch of wires in this plane.
WireCoordProjection_t PointProjection(TVector3 const &point) const
Returns the projection of the specified point on the plane.
std::vector< geo::WireGeo > WireCollection_t
enum geo::_plane_proj View_t
Enumerate the possible plane projections.
enum geo::_plane_orient Orient_t
Enumerate the possible plane projections.
double DistanceFromPlane(TVector3 const &point) const
Returns the distance of the specified point from the wire plane.
WireCoordProjection_t VectorProjection(TVector3 const &v) const
Returns the projection of the specified vector on the plane.
geo::PlaneID fID
ID of this plane.
The data type to uniquely identify a Plane.
Volume delimited by two points.
Point ProjectionReferencePoint() const
Returns the reference point used by PointProjection().
void DriftPoint(TVector3 &position, double distance) const
Shifts the position of an electron drifted by a distance.
::geo::Point_t toPoint(Point const &p)
Convert the specified point into a geo::Point_t.
Point GetBoxCenter() const
Returns the centre of the box representing the plane.
WireGeo const * WirePtr(WireID const &wireid) const
Returns the wire in wireid from this plane.
Point ComposePoint(WireDecomposedVector_t const &decomp) const
Returns the 3D vector from composition of projection and distance.
::geo::Vector_t toVector(Vector const &v)
Convert the specified vector into a geo::Vector_t.
WireID_t Wire
Index of the wire within its plane.
Rect const & ActiveArea() const
Returns an area covered by the wires in the plane.
Vector GetNormalDirection() const
Returns the direction normal to the plane.
bool HasElement(geo::WireID const &wireid) const
Returns whether the wire in wireid is present in this plane.
WireCoordProjection_t Projection(geo::Point_t const &point) const
Returns the projection of the specified point on the plane.
Vector GetIncreasingWireDirection() const
Returns the direction of increasing wires.
LocalPoint_t toLocalCoords(geo::Point_t const &world) const
Transform point from world frame to local plane frame.
WDDecomposedVector_t DecomposePointWidthDepth(TVector3 const &point) const
Decomposes a 3D point in two components.
void WorldToLocal(const double *world, double *plane) const
Transform point from world frame to local plane frame.
View_t fView
Does this plane measure U, V, or W?
WireGeo const * GetElementPtr(WireID const &wireid) const
Returns the wire in wireid from this plane.
void DriftPoint(geo::Point_t &position, double distance) const
Shifts the position of an electron drifted by a distance.
Interface to algorithm class for sorting geo::XXXGeo objects.
TGeoVolume const * fVolume
Plane volume description.
bool isProjectionOnPlane(TVector3 const &point) const
Returns if the projection of specified point is within the plane.
View_t View() const
Which coordinate does this plane measure.
auto IterateWires() const
Allows range-for iteration on all wires in this plane.
ROOT::Math::DisplacementVector2D< ROOT::Math::Cartesian2D< double >, WidthDepthReferenceTag > WidthDepthProjection_t
Offer iterators automatically dereferencing their values.
WireDecomposedVector_t DecomposePoint(geo::Point_t const &point) const
Decomposes a 3D point in two components.
Classes to project and compose a vector on a plane.
WidthDepthDecomposer_t::DecomposedVector_t WDDecomposedVector_t
WidthDepthDecomposer_t fDecompFrame
double PhiZ() const
Angle from positive z axis of the wire coordinate axis, in radians.
const WireGeo & MiddleWire() const
Return the middle wire in the plane.
geo::Point_t toWorldCoords(LocalPoint_t const &local) const
Transform point from local plane frame to world frame.
ROOT::Math::DisplacementVector2D< ROOT::Math::Cartesian2D< double >, WireCoordinateReferenceTag > WireCoordProjection_t
Type for projections in the wire base representation.
Tag for vectors in the "local" GDML coordinate frame of the plane.
std::tuple< double, double, const reco::ClusterHit3D * > Point
Definitions used by the VoronoiDiagram algorithm.
WireCollection_t fWire
List of wires in this plane.
WireGeo const & GetElement(WireID const &wireid) const
Returns the wire in wireid from this plane.
WireCoordProjection_t Projection(geo::Vector_t const &v) const
Returns the projection of the specified vector on the plane.
double Depth() const
Return the depth of the plane.
Point GetCenter() const
Returns the centre of the wire plane in world coordinates [cm].
std::string indent(std::size_t const i)
Geometry information for a single wire plane.The plane is represented in the geometry by a solid whic...
double Width() const
Return the width of the plane.
Utilities to extend the interface of geometry vectors.
PlaneID const & asPlaneID() const
Conversion to PlaneID (for convenience of notation).
void DriftPoint(geo::Point_t &position) const
Shifts the position along drift direction to fall on the plane.
WireCoordProjection_t PointProjection(geo::Point_t const &point) const
Returns the projection of the specified point on the plane.
double CosPhiZ() const
Cosine of PhiZ()
const WireGeo & FirstWire() const
Return the first wire in the plane.
bool HasElement(unsigned int iwire) const
Returns whether a wire with index iwire is present in this plane.
double SinPhiZ() const
Sine of PhiZ()
ROOT::Math::DisplacementVector2D< ROOT::Math::Cartesian2D< double >, WidthDepthReferenceTag > WidthDepthDisplacement_t
Type for vector projections in the plane frame base representation.
std::vector< TGeoNode const * > GeoNodePath_t
void markInvalid()
Sets the ID as invalid.
LocalTransformation_t fTrans
Plane to world transform.
Definition of data types for geometry description.
static T boundedValue(T v, T min, T max)
Returns min if v < min, max if v > max, v otherwise.
Provides a base class aware of world box coordinates.
typename PlaneDecomposer_t::DecomposedVector_t DecomposedVector_t
Type representing a decomposition on the plane.
Orient_t Orientation() const
What is the orientation of the plane.
Encapsulate the geometry of a wire.
Vector DepthDir() const
Return the direction of plane depth.
unsigned int WireID_t
Type for the ID number.
RTree::BoundingBox BoundingBox
Tag for plane frame base vectors.
WireCoordProjection_t VectorProjection(geo::Vector_t const &v) const
Returns the projection of the specified vector on the plane.
A base class aware of world box coordinatesAn object describing a simple shape can inherit from this ...
bool HasWire(unsigned int iwire) const
Returns whether a wire with index iwire is present in this plane.
void PrintPlaneInfo(Stream &&out, std::string indent="", unsigned int verbosity=1) const
Prints information about this plane.
double DistanceFromPlane(geo::Point_t const &point) const
Returns the distance of the specified point from the wire plane.
geo::PlaneID const & ID() const
Returns the identifier of this plane.
WireGeo const * WirePtr(unsigned int iwire) const
Returns the wire number iwire from this plane.
TVector3 WorldToLocal(TVector3 const &world) const
Transform point from world frame to local plane frame.
geo::WireID ClosestWireID(geo::WireID::WireID_t wireNo) const
Returns the closest valid wire ID to the specified wire.
Some simple functions to represent geometry entities.
WireDecomposer_t::DecomposedVector_t WireDecomposedVector_t
Type describing a 3D point or vector decomposed on a plane on wire base.
double fCosPhiZ
Cosine of .
TVector3 LocalToWorldVect(const TVector3 &local) const
Transform direction vector from local to world.
Vector WidthDir() const
Return the direction of plane width.
WDDecomposedVector_t DecomposePointWidthDepth(geo::Point_t const &point) const
Decomposes a 3D point in two components.
GenPoint3DBase_t< double, C > Point3DBase_t
Type of 3D point with representation in double precision.
GenVector3DBase_t< double, C > Vector3DBase_t
void LocalToWorldVect(const double *plane, double *world) const
Transform direction vector from local to world.
void GetCenter(double *xyz, double localz=0.0) const
Fills the world coordinate of a point on the wire.
double WireCoordinate(Point const &point) const
Returns the coordinate of the point on the plane, in wire units.
Class computing the active area of the plane.
bool HasWire(geo::WireID const &wireid) const
Returns whether the wire in wireid is present in this plane.
geo::Vector3DBase_t< PlaneGeoCoordinatesTag > LocalVector_t
Type of displacement vectors in the local GDML wire plane frame.
Point ComposePoint(WDDecomposedVector_t const &decomp) const
Returns the 3D vector from composition of projection and distance.
const WireGeo & LastWire() const
Return the last wire in the plane.
TVector3 WorldToLocalVect(TVector3 const &world) const
Transform direction vector from world to local.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
Namespace collecting geometry-related classes utilities.
void DriftPoint(TVector3 &position) const
Shifts the position along drift direction to fall on the plane.
Orient_t fOrientation
Is the plane vertical or horizontal?
double PlaneCoordinate(geo::Point_t const &point) const
Returns the coordinate of the point on the plane.
TVector3 LocalToWorld(const TVector3 &local) const
Transform point from local plane frame to world frame.
double PlaneCoordinate(TVector3 const &point) const
Returns the coordinate of the point on the plane.
geo::Point3DBase_t< PlaneGeoCoordinatesTag > LocalPoint_t
Type of points in the local GDML wire plane frame.
LocalVector_t toLocalCoords(geo::Vector_t const &world) const
Transform direction vector from world to local.
double WirePitch() const
Return the wire pitch (in centimeters). It is assumed constant.
void WorldToLocalVect(const double *world, double *plane) const
Transform direction vector from world to local.
geo::WireID NearestWireID(TVector3 const &pos) const
Return the wire pitch (in centimeters). It is assumed constant.
Tag for wire base vectors.
Vector GetWireDirection() const
Returns the direction of the wires.