#include <AuxDetGeo.h>
Classes | |
struct | AuxDetGeoCoordinatesTag |
Public Types | |
using | AuxDetSensitiveList_t = std::vector< geo::AuxDetSensitiveGeo > |
Type of list of sensitive volumes. More... | |
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< AuxDetGeoCoordinatesTag > |
Type of points in the local GDML auxiliary detector frame. More... | |
using | LocalVector_t = geo::Vector3DBase_t< AuxDetGeoCoordinatesTag > |
Type of displacement vectors in the local GDML auxiliary detector frame. More... | |
Public Member Functions | |
AuxDetGeo (TGeoNode const &node, geo::TransformationMatrix &&trans, AuxDetSensitiveList_t &&sensitive) | |
void | GetCenter (double *xyz, double localz=0.0) const |
Return the center position of an AuxDet. More... | |
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... | |
void | GetNormalVector (double *xyzDir) const |
Fills the unit normal vector to the detector. More... | |
std::string | Name () const |
AuxDetSensitiveGeo const & | SensitiveVolume (size_t sv) const |
size_t | NSensitiveVolume () const |
void | SortSubVolumes (geo::GeoObjectSorter const &sorter) |
template<typename Stream > | |
void | PrintAuxDetInfo (Stream &&out, std::string indent="", unsigned int verbosity=1) const |
Prints information about this auxiliary detector. More... | |
std::string | AuxDetInfo (std::string indent="", unsigned int verbosity=1) const |
Returns a string with auxiliary detector information. More... | |
Box geometry | |
double | Length () const |
double | HalfWidth1 () const |
double | HalfWidth2 () const |
double | HalfHeight () const |
const TGeoVolume * | TotalVolume () const |
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 |
Coordinate transformation | |
void | LocalToWorld (const double *auxdet, double *world) const |
Transform point from local auxiliary detector frame to world frame. More... | |
geo::Point_t | toWorldCoords (LocalPoint_t const &local) const |
Transform point from local auxiliary detector frame to world frame. More... | |
void | LocalToWorldVect (const double *auxdet, double *world) const |
Transform direction vector from local to world. More... | |
geo::Vector_t | toWorldCoords (LocalVector_t const &local) const |
Transform direction vector from local to world. More... | |
void | WorldToLocal (const double *world, double *auxdet) const |
Transform point from world frame to local auxiliary detector frame. More... | |
LocalPoint_t | toLocalCoords (geo::Point_t const &world) const |
Transform point from world frame to local auxiliary detector frame. More... | |
void | WorldToLocalVect (const double *world, double *auxdet) const |
Transform direction vector from world to local. More... | |
LocalVector_t | toLocalCoords (geo::Vector_t const &world) const |
Transform direction vector from world to local. More... | |
Access to the sensitive volumes in the detector | |
std::size_t | FindSensitiveVolume (geo::Point_t const &point) const |
std::size_t | FindSensitiveVolume (double const worldLoc[3]) const |
AuxDetSensitiveGeo const & | PositionToSensitiveVolume (geo::Point_t const &point, size_t &sv) const |
AuxDetSensitiveGeo const & | PositionToSensitiveVolume (double const worldLoc[3], size_t &sv) const |
Static Public Attributes | |
static constexpr unsigned int | MaxVerbosity = 4 |
Maximum verbosity supported by PrintAuxDetInfo() . More... | |
Private Types | |
using | LocalTransformation_t = geo::LocalTransformationGeo< geo::TransformationMatrix, LocalPoint_t, LocalVector_t > |
Private Member Functions | |
void | InitShapeSize () |
Extracts the size of the detector from the geometry information. More... | |
Private Attributes | |
const TGeoVolume * | fTotalVolume |
Total volume of AuxDet, called vol*. More... | |
LocalTransformation_t | fTrans |
Auxiliary detector-to-world transformation. 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... | |
std::vector< AuxDetSensitiveGeo > | fSensitive |
sensitive volumes in the detector More... | |
Definition at line 38 of file AuxDetGeo.h.
using geo::AuxDetGeo::AuxDetSensitiveList_t = std::vector<geo::AuxDetSensitiveGeo> |
Type of list of sensitive volumes.
Definition at line 42 of file AuxDetGeo.h.
Type of points in the local GDML auxiliary detector frame.
Definition at line 64 of file AuxDetGeo.h.
|
private |
Definition at line 221 of file AuxDetGeo.h.
Type of displacement vectors in the local GDML auxiliary detector frame.
Definition at line 67 of file AuxDetGeo.h.
geo::AuxDetGeo::AuxDetGeo | ( | TGeoNode const & | node, |
geo::TransformationMatrix && | trans, | ||
AuxDetSensitiveList_t && | sensitive | ||
) |
Definition at line 32 of file AuxDetGeo.cxx.
std::string geo::AuxDetGeo::AuxDetInfo | ( | std::string | indent = "" , |
unsigned int | verbosity = 1 |
||
) | const |
Returns a string with auxiliary detector information.
PrintAuxDetInfo()
The arguments and provided information are the same as in PrintAuxDetInfo()
.
Definition at line 150 of file AuxDetGeo.cxx.
|
inline |
Returns the distance of point
from the center of the detector.
Definition at line 111 of file AuxDetGeo.h.
geo::Length_t geo::AuxDetGeo::DistanceToPoint | ( | double const * | point | ) | const |
Definition at line 87 of file AuxDetGeo.cxx.
std::size_t geo::AuxDetGeo::FindSensitiveVolume | ( | geo::Point_t const & | point | ) | const |
Definition at line 91 of file AuxDetGeo.cxx.
std::size_t geo::AuxDetGeo::FindSensitiveVolume | ( | double const | worldLoc[3] | ) | const |
geo::Point_t
argument instead Definition at line 121 of file AuxDetGeo.cxx.
void geo::AuxDetGeo::GetCenter | ( | double * | xyz, |
double | localz = 0.0 |
||
) | const |
Return the center position of an AuxDet.
xyz | _(output)_ the returned location: { x, y, z } [cm] |
localz | (default: 0 ) distance along the length of the volume (z) [cm] |
Definition at line 62 of file AuxDetGeo.cxx.
geo::Point_t geo::AuxDetGeo::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 58 of file AuxDetGeo.cxx.
geo::Vector_t geo::AuxDetGeo::GetNormalVector | ( | ) | const |
Returns the unit normal vector to the detector.
Definition at line 72 of file AuxDetGeo.cxx.
void geo::AuxDetGeo::GetNormalVector | ( | double * | xyzDir | ) | const |
Fills the unit normal vector to the detector.
Definition at line 78 of file AuxDetGeo.cxx.
|
inline |
Definition at line 105 of file AuxDetGeo.h.
|
inline |
Definition at line 103 of file AuxDetGeo.h.
|
inline |
Definition at line 104 of file AuxDetGeo.h.
|
private |
Extracts the size of the detector from the geometry information.
Definition at line 159 of file AuxDetGeo.cxx.
|
inline |
Definition at line 102 of file AuxDetGeo.h.
|
inline |
Transform point from local auxiliary detector frame to world frame.
Definition at line 120 of file AuxDetGeo.h.
|
inline |
Transform direction vector from local to world.
Definition at line 128 of file AuxDetGeo.h.
|
inline |
Definition at line 154 of file AuxDetGeo.h.
|
inline |
Definition at line 172 of file AuxDetGeo.h.
AuxDetSensitiveGeo const & geo::AuxDetGeo::PositionToSensitiveVolume | ( | geo::Point_t const & | point, |
size_t & | sv | ||
) | const |
Definition at line 127 of file AuxDetGeo.cxx.
AuxDetSensitiveGeo const & geo::AuxDetGeo::PositionToSensitiveVolume | ( | double const | worldLoc[3], |
size_t & | sv | ||
) | const |
geo::Point_t
argument instead Definition at line 139 of file AuxDetGeo.cxx.
void geo::AuxDetGeo::PrintAuxDetInfo | ( | Stream && | out, |
std::string | indent = "" , |
||
unsigned int | verbosity = 1 |
||
) | const |
Prints information about this auxiliary 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 245 of file AuxDetGeo.h.
|
inline |
Definition at line 171 of file AuxDetGeo.h.
void geo::AuxDetGeo::SortSubVolumes | ( | geo::GeoObjectSorter const & | sorter | ) |
Definition at line 143 of file AuxDetGeo.cxx.
|
inline |
Transform point from world frame to local auxiliary detector frame.
Definition at line 140 of file AuxDetGeo.h.
|
inline |
Transform direction vector from world to local.
Definition at line 148 of file AuxDetGeo.h.
|
inline |
Definition at line 106 of file AuxDetGeo.h.
|
inline |
Transform point from local auxiliary detector frame to world frame.
Definition at line 124 of file AuxDetGeo.h.
|
inline |
Transform direction vector from local to world.
Definition at line 132 of file AuxDetGeo.h.
|
inline |
Transform point from world frame to local auxiliary detector frame.
Definition at line 136 of file AuxDetGeo.h.
|
inline |
Transform direction vector from world to local.
Definition at line 144 of file AuxDetGeo.h.
|
private |
half height of volume
Definition at line 228 of file AuxDetGeo.h.
|
private |
1st half width of volume, at -z/2 in local coordinates
Definition at line 226 of file AuxDetGeo.h.
|
private |
2nd half width (width1==width2 for boxes), at +z/2
Definition at line 227 of file AuxDetGeo.h.
|
private |
length of volume, along z direction in local
Definition at line 225 of file AuxDetGeo.h.
|
private |
sensitive volumes in the detector
Definition at line 229 of file AuxDetGeo.h.
|
private |
Total volume of AuxDet, called vol*.
Definition at line 223 of file AuxDetGeo.h.
|
private |
Auxiliary detector-to-world transformation.
Definition at line 224 of file AuxDetGeo.h.
|
static |
Maximum verbosity supported by PrintAuxDetInfo()
.
Definition at line 215 of file AuxDetGeo.h.