320 void InitTPCBoundaries()
Recomputes the TPC boundary.
decltype(auto) LengthDir() const
Returns the direction Length() is measured on.
decltype(auto) WidthDir() const
Returns the direction Width() is measured on.
Point_t GetCathodeCenter() const
Returns the expected drift direction based on geometry.
void PrintTPCInfo(Stream &&out, std::string indent="", unsigned int verbosity=1) const
Prints information about this TPC.
decltype(auto) HeightDir() const
Returns the direction Height() is measured on.
LocalVector_t toLocalCoords(Vector_t const &world) const
Transform direction vector from world to local.
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
double fLength
Length of total volume.
Point_t Max() const
Returns the corner point with the largest coordinates.
double ActiveHalfHeight() const
Half height (associated with y coordinate) of active TPC volume [cm].
const TGeoVolume * TotalVolume() const
Returns the expected drift direction based on geometry.
LocalPoint_t toLocalCoords(Point_t const &world) const
Transform point from world frame to local TPC frame.
double fActiveHalfWidth
Half width of active volume.
Geometry information for a single TPC.
constexpr Vector Yaxis()
Returns a y axis vector of the specified type.
BoxBoundedGeo fActiveBox
Box of the active volume.
static bool CoordinateContained(double c, double const *range, double wiggle=1.)
double ActiveMass() const
Returns the expected drift direction based on geometry.
double HalfLength() const
Length is associated with z coordinate [cm].
DriftAxis DriftAxisWithSign() const
Returns the expected drift direction based on geometry.
static bool CoordinateContained(double c, double min, double max, double wiggle=1.)
Returns whether the specified coordinate is in a range.
Point_t toWorldCoords(LocalPoint_t const &local) const
Transform point from local TPC frame to world frame.
double Width() const
Width is associated with x coordinate [cm].
double Height() const
Height is associated with y coordinate [cm].
double Length() const
Length is associated with z coordinate [cm].
Interface to algorithm class for sorting geo::AuxDet objects .
Point_t GetCenter() const
Returns the center of the TPC volume in world coordinates [cm].
double ActiveHalfLength() const
Length (associated with z coordinate) of active TPC volume [cm].
double fHalfWidth
Half width of total volume.
BoxBoundedGeo const & ActiveBoundingBox() const
Returns the box of the active volume of this TPC.
Vector3DBase_t< TPCGeoCoordinatesTag > LocalVector_t
Type of displacement vectors in the local GDML TPC frame.
double fActiveLength
Length of active volume.
TPCGeo(TGeoNode const *tpc_node, std::size_t hash_value, TransformationMatrix &&trans, DriftAxis driftAxis, double driftDistance)
double ActiveHalfWidth() const
Half width (associated with x coordinate) of active TPC volume [cm].
std::string indent(std::size_t const i)
Vector_t toWorldCoords(LocalVector_t const &local) const
Transform direction vector from local to world.
Utilities to extend the interface of geometry vectors.This library provides facilities that can be us...
constexpr Vector Xaxis()
Returns a x axis vector of the specified type.
TGeoVolume * fTotalVolume
Total volume of TPC, called volTPC in GDML file.
const TGeoVolume * ActiveVolume() const
Returns the expected drift direction based on geometry.
static TGeoNode const * NodeForActiveVolume(TGeoNode const *tpc)
double ActiveHeight() const
Height (associated with y coordinate) of active TPC volume [cm].
geo::DriftSign DriftSign() const
Returns the expected drift direction based on geometry.
void UpdateAfterSorting(TPCID tpcid)
Performs all updates after cryostat has sorted TPCs.
The data type to uniquely identify a TPC.
Definition of data types for geometry description.
Point_t GetActiveVolumeCenter() const
Returns the center of the TPC active volume in world coordinates [cm].
double ActiveLength() const
Length (associated with z coordinate) of active TPC volume [cm].
Provides a base class aware of world box coordinates.
Tag for vectors in the "local" GDML coordinate frame of the TPC.
double HalfHeight() const
Height is associated with y coordinate [cm].
constexpr Vector Zaxis()
Returns a z axis vector of the specified type.
std::string TPCInfo(std::string indent="", unsigned int verbosity=1) const
Returns a string with information about this TPC.
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Point_t
Type for representation of position in physical 3D space.
Point_t Min() const
Returns the corner point with the smallest coordinates.
DriftSign
Drift sign: positive or negative.
TGeoVolume * fActiveVolume
Active volume of LAr, called volTPCActive in GDML file.
double DriftDistance() const
Drift distance is defined as the distance between the anode and the cathode, in centimeters.
A base class aware of world box coordinatesAn object describing a simple shape can inherit from this ...
std::size_t fHash
Uniquely identifies TPC before sorting has been performed.
Vector_t fWidthDir
Direction width refers to.
BoxBoundedGeo const & BoundingBox() const
Returns the bounding box of this TPC.
double ActiveWidth() const
Width (associated with x coordinate) of active TPC volume [cm].
LocalTransformation_t fTrans
TPC-to-world transformation.
Vector_t fHeightDir
Direction height refers to.
Vector_t fLengthDir
Direction length refers to.
GenPoint3DBase_t< double, C > Point3DBase_t
Type of 3D point with representation in double precision.
GenVector3DBase_t< double, C > Vector3DBase_t
IDparameter< geo::TPCID > TPCID
Member type of validated geo::TPCID parameter.
Point_t fActiveCenter
Center of the active volume, in world coordinates [cm].
Vector_t DriftDir() const
Returns the direction of the drift (vector pointing toward the planes).
static constexpr unsigned int MaxVerbosity
Maximum verbosity supported by PrintTPCInfo().
TPCID const & ID() const
Returns the identifier of this TPC.
Point3DBase_t< TPCGeoCoordinatesTag > LocalPoint_t
Type of points in the local GDML TPC frame.
Point_t GetFrontFaceCenter() const
Returns the center of the active TPC volume side facing negative z.
double fHalfHeight
Half height of total volume.
double HalfWidth() const
Width is associated with x coordinate [cm].
ROOT::Math::Transform3D TransformationMatrix
Type of transformation matrix used in geometry.
double fActiveHalfHeight
Half height of active volume.