420
void InitCryoBoundaries()
Fill the boundary information of the cryostat.
IDparameter< geo::CryostatID > CryostatID
Member type of validated geo::CryostatID parameter.
double HalfLength() const
Half height of the cryostat [cm].
Vector3DBase_t< CryostatGeoCoordinatesTag > LocalVector_t
Type of displacement vectors in the local GDML cryostat frame.
TPCGeo const * TPCPtr(TPCID const &tpcid) const
Returns the TPC in tpcid from this cryostat.
TPCGeo const & TPC(TPCID const &tpcid) const
Returns the TPC in tpcid from this cryostat.
bool HasTPC(TPCID const &tpcid) const
Returns whether the TPC in tpcid is present in this cryostat.
Point_t Center() const
Returns the center point of the box.
unsigned int MaxPlanes() const
Returns the largest number of planes among the TPCs in this cryostat.
OpDetGeo const & OpDet(unsigned int iopdet) const
Return the iopdet'th optical detector in the cryostat.
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double >, ROOT::Math::GlobalCoordinateSystemTag > Vector_t
Type for representation of momenta in 3D space.
Point_t Max() const
Returns the corner point with the largest coordinates.
unsigned int GetClosestOpDet(Point_t const &point) const
double Mass() const
Mass of the cryostat.
LocalVector_t toLocalCoords(Vector_t const &world) const
Transform direction vector from world to local.
TGeoVolume * fVolume
Total volume of cryostat, called volCryostat in GDML file.
GENVECTOR_CONSTEXPR Point_t makePointFromCoords(Coords &&coords)
Creates a geo::Point_t from its coordinates (see makeFromCoords()).
Vector_t toWorldCoords(LocalVector_t const &local) const
Transform direction vector from local to world.
Geometry information for a single TPC.
ElementIteratorBox IterateTPCs() const
Returns an object suitable for iterating through all TPCs.
OpDetList_t fOpDets
List of opdets in this cryostat.
CryostatGeo(TGeoNode const *node, TransformationMatrix &&trans, TPCList_t &&TPCs, OpDetList_t &&OpDets)
Construct a representation of a single cryostat of the detector.
std::vector< OpDetGeo > OpDetList_t
Type used internally to store the optical detectors.
OpDetGeo const * GetClosestOpDetPtr(Point_t const &point) const
Geometry information for a single cryostat.
TPCGeo const & PositionToTPC(double const worldLoc[3], double wiggle) const
Returns the ID of the TPC at specified location.
BoxBoundedGeo const & BoundingBox() const
Returns the bounding box of this cryostat.
TPCGeo const * GetElementPtr(TPCID const &tpcid) const
Alias for TPCPtr().
std::string fOpDetGeoName
Name of opdet geometry elements in gdml.
std::string OpDetGeoName() const
Get name of opdet geometry element.
Tag for vectors in the "local" GDML coordinate frame of the cryostat.
Point_t toWorldCoords(LocalPoint_t const &local) const
Transform point from local cryostat frame to world frame.
bool HasElement(unsigned int itpc) const
Alias for HasTPC().
void PrintCryostatInfo(Stream &&out, std::string indent="", unsigned int verbosity=1) const
Prints information about this cryostat.
const TGeoVolume * Volume() const
Pointer to ROOT's volume descriptor.
Definitions of geometry vector data types.
double Height() const
Full height of the cryostat [cm].
TPCGeo const & PositionToTPC(Point_t const &point, double wiggle) const
Returns the ID of the TPC at specified location.
WireGeo::GeoNodePath_t GeoNodePath_t
std::string indent(std::size_t const i)
double HalfWidth() const
Half width of the cryostat [cm].
unsigned int NElements() const
Alias for NTPC().
Utilities to extend the interface of geometry vectors.This library provides facilities that can be us...
void UpdateAfterSorting(CryostatID cryoid)
Performs all needed updates after geometry has sorted the cryostats.
double Width() const
Full width of the cryostat [cm].
TPCGeo const * TPCPtr(unsigned int itpc) const
Returns the TPC number itpc from this cryostat.
Point_t GetCenter() const
Returns the geometrical center of the cryostat.
unsigned int NTPC() const
Number of TPCs in this cryostat.
CryostatID const & ID() const
Returns the identifier of this cryostat.
The data type to uniquely identify a TPC.
void FindOpDet(std::vector< const TGeoNode * > &path, unsigned int depth)
Definition of data types for geometry description.
unsigned int MaxWires() const
Returns the largest number of wires among the TPCs in this cryostat.
Provides a base class aware of world box coordinates.
Encapsulate the geometry of a wire .
double HalfHeight() const
Half height of the cryostat [cm].
TPCList_t const & ElementIteratorBox
Type returned by IterateElements().
Encapsulate the geometry of an optical detector.
static constexpr unsigned int MaxVerbosity
Maximum verbosity supported by PrintCryostatInfo().
std::string CryostatInfo(std::string indent="", unsigned int verbosity=1) const
Returns a string with cryostat information.
TPCID PositionToTPCID(Point_t const &point, double wiggle) const
Returns the ID of the TPC at specified location.
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.
TPCGeo const & TPC(unsigned int itpc) const
Return the itpc'th TPC in the cryostat.
void FindTPC(std::vector< const TGeoNode * > &path, unsigned int depth)
A base class aware of world box coordinatesAn object describing a simple shape can inherit from this ...
std::vector< TGeoNode const * > GeoNodePath_t
TPCList_t fTPCs
List of tpcs in this cryostat.
unsigned int NOpDet() const
Number of optical detectors in this TPC.
bool HasElement(TPCID const &tpcid) const
Alias for HasTPC(geo::TPCID const&)
void MakeOpDet(std::vector< const TGeoNode * > &path, int depth)
Point3DBase_t< CryostatGeoCoordinatesTag > LocalPoint_t
Type of points in the local GDML cryostat frame.
std::vector< TPCGeo > TPCList_t
Type used internally to store the TPCs.
LocalPoint_t toLocalCoords(Point_t const &world) const
Transform point from world frame to local cryostat frame.
LocalTransformation_t fTrans
Cryostat-to-world transformation.
BoxBoundedGeo const & Boundaries() const
Returns boundaries of the cryostat (in centimetres).
GenPoint3DBase_t< double, C > Point3DBase_t
Type of 3D point with representation in double precision.
GenVector3DBase_t< double, C > Vector3DBase_t
void SortSubVolumes(GeoObjectSorter const &sorter)
Method to sort TPCGeo objects.
bool HasTPC(unsigned int itpc) const
Returns whether a TPC with index itpc is present in this cryostat.
CryostatID fID
ID of this cryostat.
TPCGeo const * PositionToTPCptr(Point_t const &point, double wiggle) const
Returns a pointer to the TPC at specified location.
TPCID_t TPC
Index of the TPC within its cryostat.
void MakeTPC(std::vector< const TGeoNode * > &path, int depth)
TPCGeo const & GetElement(TPCID const &tpcid) const
Alias for TPC().
ROOT::Math::Transform3D TransformationMatrix
Type of transformation matrix used in geometry.
double Length() const
Length of the cryostat [cm].
Encapsulate the construction of a single detector plane .
The data type to uniquely identify a cryostat.
ElementIteratorBox IterateElements() const
Returns an object suitable for iterating through all TPCs.