LArSoft
v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
|
#include "AuxDetSensitiveGeo.h"
Classes | |
struct | AuxDetSensitiveGeoCoordinatesTag |
Public Types | |
Types for geometry-local reference vectors. | |
These types represents points and displacement vectors in the reference frame defined in the auxiliary detector 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< AuxDetSensitiveGeoCoordinatesTag > |
Type of points in the local GDML auxiliary detector frame. More... | |
using | LocalVector_t = geo::Vector3DBase_t< AuxDetSensitiveGeoCoordinatesTag > |
Type of displacement vectors in the local GDML auxiliary detector frame. More... | |
Public Member Functions | |
AuxDetSensitiveGeo (TGeoNode const &node, geo::TransformationMatrix &&trans) | |
geo::Point_t | GetCenter (double localz=0.0) const |
Returns the geometric center of the sensitive volume. More... | |
geo::Vector_t | GetNormalVector () const |
Returns the unit normal vector to the detector. More... | |
double | Length () const |
double | HalfLength () const |
double | HalfWidth1 () const |
double | HalfWidth2 () const |
double | HalfCenterWidth () const |
double | HalfHeight () const |
const TGeoVolume * | TotalVolume () const |
template<typename Stream > | |
void | PrintAuxDetInfo (Stream &&out, std::string indent="", unsigned int verbosity=0) const |
Prints information about this auxiliary sensitive detector. More... | |
std::string | AuxDetInfo (std::string indent="", unsigned int verbosity=1) const |
Returns a string with auxiliary sensitive detector information. More... | |
geo::Length_t | DistanceToPoint (geo::Point_t const &point) const |
Returns the distance of point from the center of the detector. More... | |
geo::Length_t | DistanceToPoint (double const *point) const |
Returns the distance of point from the center of the detector. More... | |
Coordinate transformation | |
geo::Point_t | toWorldCoords (LocalPoint_t const &local) const |
Transform point from local auxiliary detector 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 auxiliary detector frame. More... | |
LocalVector_t | toLocalCoords (geo::Vector_t const &world) const |
Transform direction vector from world to local. More... | |
Static Public Attributes | |
static constexpr unsigned int | MaxVerbosity = 2 |
Maximum verbosity supported by PrintAuxDetInfo() . More... | |
Private Types | |
using | LocalTransformation_t = geo::LocalTransformationGeo< ROOT::Math::Transform3D, LocalPoint_t, LocalVector_t > |
Private Member Functions | |
void | InitShapeSize () |
Extracts the size of the detector from the geometry information. More... | |
Private Attributes | |
LocalTransformation_t | fTrans |
Auxiliary detector-to-world transformation. More... | |
const TGeoVolume * | fTotalVolume |
Total volume of AuxDet, called vol*. More... | |
double | fLength |
length of volume, along z direction in local More... | |
double | fHalfWidth1 |
1st half width of volume, at -z/2 in local coordinates More... | |
double | fHalfWidth2 |
2nd half width (width1==width2 for boxes), at +z/2 More... | |
double | fHalfHeight |
half height of volume More... | |
Definition at line 34 of file AuxDetSensitiveGeo.h.
Type of points in the local GDML auxiliary detector frame.
Definition at line 57 of file AuxDetSensitiveGeo.h.
|
private |
Definition at line 160 of file AuxDetSensitiveGeo.h.
using geo::AuxDetSensitiveGeo::LocalVector_t = geo::Vector3DBase_t<AuxDetSensitiveGeoCoordinatesTag> |
Type of displacement vectors in the local GDML auxiliary detector frame.
Definition at line 60 of file AuxDetSensitiveGeo.h.
geo::AuxDetSensitiveGeo::AuxDetSensitiveGeo | ( | TGeoNode const & | node, |
geo::TransformationMatrix && | trans | ||
) |
Definition at line 29 of file AuxDetSensitiveGeo.cxx.
References fTotalVolume, InitShapeSize(), and MF_LOG_DEBUG.
std::string geo::AuxDetSensitiveGeo::AuxDetInfo | ( | std::string | indent = "" , |
unsigned int | verbosity = 1 |
||
) | const |
Returns a string with auxiliary sensitive detector information.
PrintAuxDetInfo()
The arguments and provided information are the same as in PrintAuxDetInfo()
.
Definition at line 59 of file AuxDetSensitiveGeo.cxx.
References PrintAuxDetInfo().
Referenced by toLocalCoords().
|
inline |
Returns the distance of point
from the center of the detector.
Definition at line 88 of file AuxDetSensitiveGeo.h.
Referenced by DistanceToPoint(), and TotalVolume().
geo::Length_t geo::AuxDetSensitiveGeo::DistanceToPoint | ( | double const * | point | ) | const |
Returns the distance of point
from the center of the detector.
Definition at line 53 of file AuxDetSensitiveGeo.cxx.
References DistanceToPoint(), and geo::vect::makePointFromCoords().
geo::Point_t geo::AuxDetSensitiveGeo::GetCenter | ( | double | localz = 0.0 | ) | const |
Returns the geometric center of the sensitive volume.
localz | (default: 0 ) distance from the center along the length of the volume (z) [cm] |
Definition at line 39 of file AuxDetSensitiveGeo.cxx.
References toWorldCoords().
Referenced by PrintAuxDetInfo(), and TotalVolume().
geo::Vector_t geo::AuxDetSensitiveGeo::GetNormalVector | ( | ) | const |
Returns the unit normal vector to the detector.
Definition at line 47 of file AuxDetSensitiveGeo.cxx.
References toWorldCoords().
Referenced by PrintAuxDetInfo().
|
inline |
|
inline |
Definition at line 83 of file AuxDetSensitiveGeo.h.
References fHalfHeight.
Referenced by geo::AuxDetChannelMapAlg::NearestSensitiveAuxDet(), geo::ChannelMapAlg::NearestSensitiveAuxDet(), and PrintAuxDetInfo().
|
inline |
|
inline |
Definition at line 80 of file AuxDetSensitiveGeo.h.
References fHalfWidth1.
Referenced by HalfCenterWidth(), geo::AuxDetChannelMapAlg::NearestSensitiveAuxDet(), geo::ChannelMapAlg::NearestSensitiveAuxDet(), and PrintAuxDetInfo().
|
inline |
Definition at line 81 of file AuxDetSensitiveGeo.h.
References fHalfWidth2.
Referenced by HalfCenterWidth(), geo::AuxDetChannelMapAlg::NearestSensitiveAuxDet(), geo::ChannelMapAlg::NearestSensitiveAuxDet(), and PrintAuxDetInfo().
|
private |
Extracts the size of the detector from the geometry information.
Definition at line 68 of file AuxDetSensitiveGeo.cxx.
References fHalfHeight, fHalfWidth1, fHalfWidth2, fLength, and fTotalVolume.
Referenced by AuxDetSensitiveGeo().
|
inline |
Definition at line 78 of file AuxDetSensitiveGeo.h.
References fLength.
Referenced by HalfLength(), geo::AuxDetChannelMapAlg::NearestSensitiveAuxDet(), geo::ChannelMapAlg::NearestSensitiveAuxDet(), and PrintAuxDetInfo().
void geo::AuxDetSensitiveGeo::PrintAuxDetInfo | ( | Stream && | out, |
std::string | indent = "" , |
||
unsigned int | verbosity = 0 |
||
) | const |
Prints information about this auxiliary sensitive detector.
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 183 of file AuxDetSensitiveGeo.h.
References e, GetCenter(), GetNormalVector(), HalfHeight(), HalfWidth1(), HalfWidth2(), Length(), and lar::util::RealComparisons< RealType >::nonEqual().
Referenced by AuxDetInfo(), geo::GeometryCore::Print(), and toLocalCoords().
|
inline |
Transform point from world frame to local auxiliary detector frame.
Definition at line 111 of file AuxDetSensitiveGeo.h.
References fTrans, and geo::LocalTransformationGeo< StoredMatrix, LocalPoint, LocalVector >::toLocalCoords().
Referenced by geo::AuxDetChannelMapAlg::NearestSensitiveAuxDet(), and geo::ChannelMapAlg::NearestSensitiveAuxDet().
|
inline |
Transform direction vector from world to local.
Definition at line 117 of file AuxDetSensitiveGeo.h.
References AuxDetInfo(), fTrans, art::detail::indent(), PrintAuxDetInfo(), and geo::LocalTransformationGeo< StoredMatrix, LocalPoint, LocalVector >::toLocalCoords().
|
inline |
Definition at line 84 of file AuxDetSensitiveGeo.h.
References DistanceToPoint(), fTotalVolume, and GetCenter().
Referenced by geo::sortAuxDetSensitiveStandard().
|
inline |
Transform point from local auxiliary detector frame to world frame.
Definition at line 99 of file AuxDetSensitiveGeo.h.
References fTrans, and geo::LocalTransformationGeo< StoredMatrix, LocalPoint, LocalVector >::toWorldCoords().
Referenced by GetCenter(), and GetNormalVector().
|
inline |
Transform direction vector from local to world.
Definition at line 105 of file AuxDetSensitiveGeo.h.
References fTrans, and geo::LocalTransformationGeo< StoredMatrix, LocalPoint, LocalVector >::toWorldCoords().
|
private |
half height of volume
Definition at line 167 of file AuxDetSensitiveGeo.h.
Referenced by HalfHeight(), and InitShapeSize().
|
private |
1st half width of volume, at -z/2 in local coordinates
Definition at line 165 of file AuxDetSensitiveGeo.h.
Referenced by HalfWidth1(), and InitShapeSize().
|
private |
2nd half width (width1==width2 for boxes), at +z/2
Definition at line 166 of file AuxDetSensitiveGeo.h.
Referenced by HalfWidth2(), and InitShapeSize().
|
private |
length of volume, along z direction in local
Definition at line 164 of file AuxDetSensitiveGeo.h.
Referenced by InitShapeSize(), and Length().
|
private |
Total volume of AuxDet, called vol*.
Definition at line 163 of file AuxDetSensitiveGeo.h.
Referenced by AuxDetSensitiveGeo(), InitShapeSize(), and TotalVolume().
|
private |
Auxiliary detector-to-world transformation.
Definition at line 162 of file AuxDetSensitiveGeo.h.
Referenced by toLocalCoords(), and toWorldCoords().
|
static |
Maximum verbosity supported by PrintAuxDetInfo()
.
Definition at line 156 of file AuxDetSensitiveGeo.h.
Referenced by geo::GeometryCore::Print().