#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) | |
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 |
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 |
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... | |
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 183 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 31 of file AuxDetSensitiveGeo.cxx.
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 78 of file AuxDetSensitiveGeo.cxx.
|
inline |
Returns the distance of point
from the center of the detector.
Definition at line 101 of file AuxDetSensitiveGeo.h.
geo::Length_t geo::AuxDetSensitiveGeo::DistanceToPoint | ( | double const * | point | ) | const |
Definition at line 72 of file AuxDetSensitiveGeo.cxx.
void geo::AuxDetSensitiveGeo::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 47 of file AuxDetSensitiveGeo.cxx.
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 43 of file AuxDetSensitiveGeo.cxx.
geo::Vector_t geo::AuxDetSensitiveGeo::GetNormalVector | ( | ) | const |
Returns the unit normal vector to the detector.
Definition at line 57 of file AuxDetSensitiveGeo.cxx.
void geo::AuxDetSensitiveGeo::GetNormalVector | ( | double * | xyzDir | ) | const |
Fills the unit normal vector to the detector.
Definition at line 63 of file AuxDetSensitiveGeo.cxx.
|
inline |
Definition at line 95 of file AuxDetSensitiveGeo.h.
|
inline |
Definition at line 96 of file AuxDetSensitiveGeo.h.
|
inline |
Definition at line 92 of file AuxDetSensitiveGeo.h.
|
inline |
Definition at line 93 of file AuxDetSensitiveGeo.h.
|
inline |
Definition at line 94 of file AuxDetSensitiveGeo.h.
|
private |
Extracts the size of the detector from the geometry information.
Definition at line 87 of file AuxDetSensitiveGeo.cxx.
|
inline |
Definition at line 91 of file AuxDetSensitiveGeo.h.
|
inline |
Transform point from local auxiliary detector frame to world frame.
Definition at line 110 of file AuxDetSensitiveGeo.h.
|
inline |
Transform direction vector from local to world.
Definition at line 118 of file AuxDetSensitiveGeo.h.
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 207 of file AuxDetSensitiveGeo.h.
|
inline |
Transform point from world frame to local auxiliary detector frame.
Definition at line 130 of file AuxDetSensitiveGeo.h.
|
inline |
Transform direction vector from world to local.
Definition at line 138 of file AuxDetSensitiveGeo.h.
|
inline |
Definition at line 97 of file AuxDetSensitiveGeo.h.
|
inline |
Transform point from local auxiliary detector frame to world frame.
Definition at line 114 of file AuxDetSensitiveGeo.h.
|
inline |
Transform direction vector from local to world.
Definition at line 122 of file AuxDetSensitiveGeo.h.
|
inline |
Transform point from world frame to local auxiliary detector frame.
Definition at line 126 of file AuxDetSensitiveGeo.h.
|
inline |
Transform direction vector from world to local.
Definition at line 134 of file AuxDetSensitiveGeo.h.
|
private |
half height of volume
Definition at line 190 of file AuxDetSensitiveGeo.h.
|
private |
1st half width of volume, at -z/2 in local coordinates
Definition at line 188 of file AuxDetSensitiveGeo.h.
|
private |
2nd half width (width1==width2 for boxes), at +z/2
Definition at line 189 of file AuxDetSensitiveGeo.h.
|
private |
length of volume, along z direction in local
Definition at line 187 of file AuxDetSensitiveGeo.h.
|
private |
Total volume of AuxDet, called vol*.
Definition at line 186 of file AuxDetSensitiveGeo.h.
|
private |
Auxiliary detector-to-world transformation.
Definition at line 185 of file AuxDetSensitiveGeo.h.
|
static |
Maximum verbosity supported by PrintAuxDetInfo()
.
Definition at line 178 of file AuxDetSensitiveGeo.h.