Classes | Public Types | Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
geo::AuxDetGeo Class Reference

#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, geo::Point_t and geo::Vector_t.

Remember the LocalPoint_t and LocalVector_t vectors from different instances of geo::AuxDetGeo have the same type but are not compatible.

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< AuxDetSensitiveGeofSensitive
 sensitive volumes in the detector More...
 

Detailed Description

Definition at line 38 of file AuxDetGeo.h.

Member Typedef Documentation

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.

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.

Constructor & Destructor Documentation

geo::AuxDetGeo::AuxDetGeo ( TGeoNode const &  node,
geo::TransformationMatrix &&  trans,
AuxDetSensitiveList_t &&  sensitive 
)

Definition at line 32 of file AuxDetGeo.cxx.

36  : fTotalVolume(node.GetVolume())
37  , fTrans(std::move(trans))
38  , fSensitive(std::move(sensitive))
39  {
40 
41  if(!fTotalVolume)
42  throw cet::exception("AuxDetGeo") << "cannot find AuxDet volume\n";
43 
44  MF_LOG_DEBUG("Geometry") << "detector total volume is " << fTotalVolume->GetName();
45 
46  // if there are no sensitive volumes then this aux det
47  // could be from an older gdml file than the introduction of AuxDetSensitiveGeo
48  // in that case assume the full AuxDetGeo is sensitive and copy its information
49  // into a single AuxDetSensitive
50  if (fSensitive.empty())
51  fSensitive.emplace_back(node, geo::TransformationMatrix(fTrans.Matrix()));
52 
53  InitShapeSize();
54 
55  }
LocalTransformation_t fTrans
Auxiliary detector-to-world transformation.
Definition: AuxDetGeo.h:224
TransformationMatrix_t const & Matrix() const
Direct access to the transformation matrix.
const TGeoVolume * fTotalVolume
Total volume of AuxDet, called vol*.
Definition: AuxDetGeo.h:223
def move(depos, offset)
Definition: depos.py:107
#define MF_LOG_DEBUG(id)
void InitShapeSize()
Extracts the size of the detector from the geometry information.
Definition: AuxDetGeo.cxx:159
ROOT::Math::Transform3D TransformationMatrix
Type of transformation matrix used in geometry.
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
std::vector< AuxDetSensitiveGeo > fSensitive
sensitive volumes in the detector
Definition: AuxDetGeo.h:229

Member Function Documentation

std::string geo::AuxDetGeo::AuxDetInfo ( std::string  indent = "",
unsigned int  verbosity = 1 
) const

Returns a string with auxiliary detector information.

See also
PrintAuxDetInfo()

The arguments and provided information are the same as in PrintAuxDetInfo().

Definition at line 150 of file AuxDetGeo.cxx.

151  {
152  std::ostringstream sstr;
153  PrintAuxDetInfo(sstr, indent, verbosity);
154  return sstr.str();
155  } // AuxDetGeo::AuxDetInfo()
void PrintAuxDetInfo(Stream &&out, std::string indent="", unsigned int verbosity=1) const
Prints information about this auxiliary detector.
Definition: AuxDetGeo.h:245
geo::Length_t geo::AuxDetGeo::DistanceToPoint ( geo::Point_t const &  point) const
inline

Returns the distance of point from the center of the detector.

Definition at line 111 of file AuxDetGeo.h.

112  { return (point - GetCenter()).R(); }
void GetCenter(double *xyz, double localz=0.0) const
Return the center position of an AuxDet.
Definition: AuxDetGeo.cxx:62
geo::Length_t geo::AuxDetGeo::DistanceToPoint ( double const *  point) const

Definition at line 87 of file AuxDetGeo.cxx.

geo::Length_t DistanceToPoint(geo::Point_t const &point) const
Returns the distance of point from the center of the detector.
Definition: AuxDetGeo.h:111
GENVECTOR_CONSTEXPR::geo::Point_t makePointFromCoords(Coords &&coords)
Creates a geo::Point_t from its coordinates (see makeFromCoords()).
std::size_t geo::AuxDetGeo::FindSensitiveVolume ( geo::Point_t const &  point) const

Definition at line 91 of file AuxDetGeo.cxx.

92  {
93  for(std::size_t a = 0; a < fSensitive.size(); ++a) {
94  auto const& sensVol = SensitiveVolume(a);
95 
96  auto const local = sensVol.toLocalCoords(point);
97 
98  double const HalfCenterWidth = sensVol.HalfCenterWidth();
99 
100  double const deltaWidth
101  = local.Z()*(HalfCenterWidth-sensVol.HalfWidth2())/sensVol.HalfLength();
102 
103  if (local.Z() >= - sensVol.HalfLength() &&
104  local.Z() <= sensVol.HalfLength() &&
105  local.Y() >= - sensVol.HalfHeight() &&
106  local.Y() <= sensVol.HalfHeight() &&
107  // if SensitiveVolume a is a box, then HalfSmallWidth = HalfWidth
108  local.X() >= - HalfCenterWidth + deltaWidth &&
109  local.X() <= HalfCenterWidth - deltaWidth
110  ) return a;
111 
112  }// for loop over AuxDetSensitive a
113 
114  throw cet::exception("AuxDetGeo")
115  << "Can't find AuxDetSensitive for position " << point << "\n";
116  // the following is not very useful right now...
118  } // AuxDetGeo::FindSensitiveVolume(geo::Point_t)
AuxDetSensitiveGeo const & SensitiveVolume(size_t sv) const
Definition: AuxDetGeo.h:171
const double a
static int max(int a, int b)
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
std::vector< AuxDetSensitiveGeo > fSensitive
sensitive volumes in the detector
Definition: AuxDetGeo.h:229
std::size_t geo::AuxDetGeo::FindSensitiveVolume ( double const  worldLoc[3]) const
Deprecated:
Use the version with geo::Point_t argument instead

Definition at line 121 of file AuxDetGeo.cxx.

GENVECTOR_CONSTEXPR::geo::Point_t makePointFromCoords(Coords &&coords)
Creates a geo::Point_t from its coordinates (see makeFromCoords()).
std::size_t FindSensitiveVolume(geo::Point_t const &point) const
Definition: AuxDetGeo.cxx:91
void geo::AuxDetGeo::GetCenter ( double *  xyz,
double  localz = 0.0 
) const

Return the center position of an AuxDet.

Parameters
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.

62  {
63  auto const& center = GetCenter(localz);
64  xyz[0] = center.X();
65  xyz[1] = center.Y();
66  xyz[2] = center.Z();
67  } // AuxDetGeo::GetCenter(double*)
def center(depos, point)
Definition: depos.py:117
void GetCenter(double *xyz, double localz=0.0) const
Return the center position of an AuxDet.
Definition: AuxDetGeo.cxx:62
geo::Point_t geo::AuxDetGeo::GetCenter ( double  localz = 0.0) const

Returns the geometric center of the sensitive volume.

Parameters
localz(default: 0) distance from the center along the length of the volume (z) [cm]
Returns
the geometric center of the sensitive volume [cm]

Definition at line 58 of file AuxDetGeo.cxx.

59  { return toWorldCoords(LocalPoint_t{ 0.0, 0.0, localz }); }
geo::Point3DBase_t< AuxDetGeoCoordinatesTag > LocalPoint_t
Type of points in the local GDML auxiliary detector frame.
Definition: AuxDetGeo.h:64
geo::Point_t toWorldCoords(LocalPoint_t const &local) const
Transform point from local auxiliary detector frame to world frame.
Definition: AuxDetGeo.h:124
geo::Vector_t geo::AuxDetGeo::GetNormalVector ( ) const

Returns the unit normal vector to the detector.

Definition at line 72 of file AuxDetGeo.cxx.

73  { return toWorldCoords(geo::Zaxis<LocalVector_t>()); }
geo::Point_t toWorldCoords(LocalPoint_t const &local) const
Transform point from local auxiliary detector frame to world frame.
Definition: AuxDetGeo.h:124
void geo::AuxDetGeo::GetNormalVector ( double *  xyzDir) const

Fills the unit normal vector to the detector.

Definition at line 78 of file AuxDetGeo.cxx.

78  {
79  auto const& norm = GetNormalVector();
80  xyzDir[0] = norm.X();
81  xyzDir[1] = norm.Y();
82  xyzDir[2] = norm.Z();
83  } // AuxDetGeo::GetNormalVector(double*)
geo::Vector_t GetNormalVector() const
Returns the unit normal vector to the detector.
Definition: AuxDetGeo.cxx:72
auto norm(Vector const &v)
Return norm of the specified vector.
double geo::AuxDetGeo::HalfHeight ( ) const
inline

Definition at line 105 of file AuxDetGeo.h.

105 { return fHalfHeight; }
double fHalfHeight
half height of volume
Definition: AuxDetGeo.h:228
double geo::AuxDetGeo::HalfWidth1 ( ) const
inline

Definition at line 103 of file AuxDetGeo.h.

103 { return fHalfWidth1; }
double fHalfWidth1
1st half width of volume, at -z/2 in local coordinates
Definition: AuxDetGeo.h:226
double geo::AuxDetGeo::HalfWidth2 ( ) const
inline

Definition at line 104 of file AuxDetGeo.h.

104 { return fHalfWidth2; }
double fHalfWidth2
2nd half width (width1==width2 for boxes), at +z/2
Definition: AuxDetGeo.h:227
void geo::AuxDetGeo::InitShapeSize ( )
private

Extracts the size of the detector from the geometry information.

Definition at line 159 of file AuxDetGeo.cxx.

159  {
160  // set the ends depending on whether the shape is a box or trapezoid
161  std::string volName(fTotalVolume->GetName());
162  if( volName.find("Trap") != std::string::npos ) {
163 
164  // Small Width
165  // ____ Height is the thickness
166  // / \ T of the trapezoid
167  // / \ |
168  // / \ | Length
169  // /__________\ _
170  // Width
171  fHalfHeight = ((TGeoTrd2*)fTotalVolume->GetShape())->GetDy1(); // same as Dy2()
172  fLength = 2.0*((TGeoTrd2*)fTotalVolume->GetShape())->GetDz();
173  fHalfWidth1 = ((TGeoTrd2*)fTotalVolume->GetShape())->GetDx1(); // at -Dz
174  fHalfWidth2 = ((TGeoTrd2*)fTotalVolume->GetShape())->GetDx2(); // at +Dz
175  }
176  else {
177  fHalfWidth1 = ((TGeoBBox*)fTotalVolume->GetShape())->GetDX();
178  fHalfHeight = ((TGeoBBox*)fTotalVolume->GetShape())->GetDY();
179  fLength = 2.0*((TGeoBBox*)fTotalVolume->GetShape())->GetDZ();
181  }
182  } // AuxDetGeo::InitShapeSize()
std::string string
Definition: nybbler.cc:12
double fHalfWidth2
2nd half width (width1==width2 for boxes), at +z/2
Definition: AuxDetGeo.h:227
double fHalfWidth1
1st half width of volume, at -z/2 in local coordinates
Definition: AuxDetGeo.h:226
double fLength
length of volume, along z direction in local
Definition: AuxDetGeo.h:225
const TGeoVolume * fTotalVolume
Total volume of AuxDet, called vol*.
Definition: AuxDetGeo.h:223
double fHalfHeight
half height of volume
Definition: AuxDetGeo.h:228
double geo::AuxDetGeo::Length ( ) const
inline

Definition at line 102 of file AuxDetGeo.h.

102 { return fLength; }
double fLength
length of volume, along z direction in local
Definition: AuxDetGeo.h:225
void geo::AuxDetGeo::LocalToWorld ( const double *  auxdet,
double *  world 
) const
inline

Transform point from local auxiliary detector frame to world frame.

Definition at line 120 of file AuxDetGeo.h.

121  { fTrans.LocalToWorld(auxdet, world); }
LocalTransformation_t fTrans
Auxiliary detector-to-world transformation.
Definition: AuxDetGeo.h:224
void LocalToWorld(double const *local, double *world) const
Transforms a point from local frame to world frame.
void geo::AuxDetGeo::LocalToWorldVect ( const double *  auxdet,
double *  world 
) const
inline

Transform direction vector from local to world.

Definition at line 128 of file AuxDetGeo.h.

129  { fTrans.LocalToWorldVect(auxdet, world); }
LocalTransformation_t fTrans
Auxiliary detector-to-world transformation.
Definition: AuxDetGeo.h:224
void LocalToWorldVect(double const *local, double *world) const
Transforms a vector from local frame to world frame.
std::string geo::AuxDetGeo::Name ( void  ) const
inline

Definition at line 154 of file AuxDetGeo.h.

154 { return fTotalVolume->GetName(); }
const TGeoVolume * fTotalVolume
Total volume of AuxDet, called vol*.
Definition: AuxDetGeo.h:223
size_t geo::AuxDetGeo::NSensitiveVolume ( ) const
inline

Definition at line 172 of file AuxDetGeo.h.

172 { return fSensitive.size(); }
std::vector< AuxDetSensitiveGeo > fSensitive
sensitive volumes in the detector
Definition: AuxDetGeo.h:229
AuxDetSensitiveGeo const & geo::AuxDetGeo::PositionToSensitiveVolume ( geo::Point_t const &  point,
size_t &  sv 
) const

Definition at line 127 of file AuxDetGeo.cxx.

128  {
129  sv = FindSensitiveVolume(point);
131  throw cet::exception("AuxDetGeo")
132  << "Can't find AuxDetSensitiveGeo for position " << point << "\n";
133  }
134  return SensitiveVolume(sv);
135  }
AuxDetSensitiveGeo const & SensitiveVolume(size_t sv) const
Definition: AuxDetGeo.h:171
std::size_t FindSensitiveVolume(geo::Point_t const &point) const
Definition: AuxDetGeo.cxx:91
static int max(int a, int b)
cet::coded_exception< error, detail::translate > exception
Definition: exception.h:33
AuxDetSensitiveGeo const & geo::AuxDetGeo::PositionToSensitiveVolume ( double const  worldLoc[3],
size_t &  sv 
) const
Deprecated:
Use the version with geo::Point_t argument instead

Definition at line 139 of file AuxDetGeo.cxx.

AuxDetSensitiveGeo const & PositionToSensitiveVolume(geo::Point_t const &point, size_t &sv) const
Definition: AuxDetGeo.cxx:127
GENVECTOR_CONSTEXPR::geo::Point_t makePointFromCoords(Coords &&coords)
Creates a geo::Point_t from its coordinates (see makeFromCoords()).
template<typename Stream >
void geo::AuxDetGeo::PrintAuxDetInfo ( Stream &&  out,
std::string  indent = "",
unsigned int  verbosity = 1 
) const

Prints information about this auxiliary detector.

Template Parameters
Streamtype of output stream to use
Parameters
outstream to send the information to
indentprepend each line with this string
verbosityamount of information printed

Note that the first line out the output is not indented.

Verbosity levels

  • 0: only detector name
  • 1 _(default)_: also center
  • 2: also size
  • 3: also number of sensitive detectors
  • 4: also normal direction

The constant MaxVerbosity is set to the highest supported verbosity level.

Definition at line 245 of file AuxDetGeo.h.

249  {
250 
251  //----------------------------------------------------------------------------
252  out << "\"" << Name() << "\"";
253 
254  if (verbosity-- <= 0) return; // 0
255 
256  //----------------------------------------------------------------------------
257  out << " centered at " << GetCenter() << " cm";
258 
259  if (verbosity-- <= 0) return; // 1
260 
261  //----------------------------------------------------------------------------
263  out << ", size ( " << (2.0 * HalfWidth1());
264  if (coordIs.nonEqual(HalfWidth1(), HalfWidth2()))
265  out << "/" << (2.0 * HalfWidth2());
266  out << " x " << (2.0 * HalfHeight()) << " x " << Length() << " ) cm";
267 
268  if (verbosity-- <= 0) return; // 2
269 
270  //----------------------------------------------------------------------------
271  out << "\n" << indent
272  << "with ";
273  switch (NSensitiveVolume()) {
274  case 0: out << "no sensitive volume"; break;
275  case 1: out << "1 sensitive volume"; break;
276  default: out << NSensitiveVolume() << " sensitive volumes"; break;
277  } // switch
278 
279  if (verbosity-- <= 0) return; // 3
280 
281  //----------------------------------------------------------------------------
282  out << ", normal facing " << GetNormalVector();
283 
284 // if (verbosity-- <= 0) return; // 4
285 
286  //----------------------------------------------------------------------------
287 
288 } // geo::AuxDetGeo::PrintAuxDetInfo()
Provides simple real number checks.
double HalfWidth2() const
Definition: AuxDetGeo.h:104
const double e
double HalfHeight() const
Definition: AuxDetGeo.h:105
size_t NSensitiveVolume() const
Definition: AuxDetGeo.h:172
geo::Vector_t GetNormalVector() const
Returns the unit normal vector to the detector.
Definition: AuxDetGeo.cxx:72
double Length() const
Definition: AuxDetGeo.h:102
std::string Name() const
Definition: AuxDetGeo.h:154
double HalfWidth1() const
Definition: AuxDetGeo.h:103
void GetCenter(double *xyz, double localz=0.0) const
Return the center position of an AuxDet.
Definition: AuxDetGeo.cxx:62
AuxDetSensitiveGeo const& geo::AuxDetGeo::SensitiveVolume ( size_t  sv) const
inline

Definition at line 171 of file AuxDetGeo.h.

171 { return fSensitive[sv]; }
std::vector< AuxDetSensitiveGeo > fSensitive
sensitive volumes in the detector
Definition: AuxDetGeo.h:229
void geo::AuxDetGeo::SortSubVolumes ( geo::GeoObjectSorter const &  sorter)

Definition at line 143 of file AuxDetGeo.cxx.

144  {
145  sorter.SortAuxDetSensitive(fSensitive);
146  }
std::vector< AuxDetSensitiveGeo > fSensitive
sensitive volumes in the detector
Definition: AuxDetGeo.h:229
LocalPoint_t geo::AuxDetGeo::toLocalCoords ( geo::Point_t const &  world) const
inline

Transform point from world frame to local auxiliary detector frame.

Definition at line 140 of file AuxDetGeo.h.

141  { return fTrans.toLocalCoords(world); }
LocalTransformation_t fTrans
Auxiliary detector-to-world transformation.
Definition: AuxDetGeo.h:224
LocalPoint_t toLocalCoords(GlobalPoint_t const &world) const
Transforms a point from world frame to local frame.
LocalVector_t geo::AuxDetGeo::toLocalCoords ( geo::Vector_t const &  world) const
inline

Transform direction vector from world to local.

Definition at line 148 of file AuxDetGeo.h.

149  { return fTrans.toLocalCoords(world); }
LocalTransformation_t fTrans
Auxiliary detector-to-world transformation.
Definition: AuxDetGeo.h:224
LocalPoint_t toLocalCoords(GlobalPoint_t const &world) const
Transforms a point from world frame to local frame.
const TGeoVolume* geo::AuxDetGeo::TotalVolume ( ) const
inline

Definition at line 106 of file AuxDetGeo.h.

106 { return fTotalVolume; }
const TGeoVolume * fTotalVolume
Total volume of AuxDet, called vol*.
Definition: AuxDetGeo.h:223
geo::Point_t geo::AuxDetGeo::toWorldCoords ( LocalPoint_t const &  local) const
inline

Transform point from local auxiliary detector frame to world frame.

Definition at line 124 of file AuxDetGeo.h.

125  { return fTrans.toWorldCoords(local); }
LocalTransformation_t fTrans
Auxiliary detector-to-world transformation.
Definition: AuxDetGeo.h:224
GlobalPoint_t toWorldCoords(LocalPoint_t const &local) const
Transforms a point from local frame to world frame.
geo::Vector_t geo::AuxDetGeo::toWorldCoords ( LocalVector_t const &  local) const
inline

Transform direction vector from local to world.

Definition at line 132 of file AuxDetGeo.h.

133  { return fTrans.toWorldCoords(local); }
LocalTransformation_t fTrans
Auxiliary detector-to-world transformation.
Definition: AuxDetGeo.h:224
GlobalPoint_t toWorldCoords(LocalPoint_t const &local) const
Transforms a point from local frame to world frame.
void geo::AuxDetGeo::WorldToLocal ( const double *  world,
double *  auxdet 
) const
inline

Transform point from world frame to local auxiliary detector frame.

Definition at line 136 of file AuxDetGeo.h.

137  { fTrans.WorldToLocal(world, auxdet); }
LocalTransformation_t fTrans
Auxiliary detector-to-world transformation.
Definition: AuxDetGeo.h:224
void WorldToLocal(double const *world, double *local) const
Transforms a point from world frame to local frame.
void geo::AuxDetGeo::WorldToLocalVect ( const double *  world,
double *  auxdet 
) const
inline

Transform direction vector from world to local.

Definition at line 144 of file AuxDetGeo.h.

145  { fTrans.WorldToLocalVect(world, auxdet); }
LocalTransformation_t fTrans
Auxiliary detector-to-world transformation.
Definition: AuxDetGeo.h:224
void WorldToLocalVect(const double *world, double *local) const
Transforms a vector from world frame to local frame.

Member Data Documentation

double geo::AuxDetGeo::fHalfHeight
private

half height of volume

Definition at line 228 of file AuxDetGeo.h.

double geo::AuxDetGeo::fHalfWidth1
private

1st half width of volume, at -z/2 in local coordinates

Definition at line 226 of file AuxDetGeo.h.

double geo::AuxDetGeo::fHalfWidth2
private

2nd half width (width1==width2 for boxes), at +z/2

Definition at line 227 of file AuxDetGeo.h.

double geo::AuxDetGeo::fLength
private

length of volume, along z direction in local

Definition at line 225 of file AuxDetGeo.h.

std::vector<AuxDetSensitiveGeo> geo::AuxDetGeo::fSensitive
private

sensitive volumes in the detector

Definition at line 229 of file AuxDetGeo.h.

const TGeoVolume* geo::AuxDetGeo::fTotalVolume
private

Total volume of AuxDet, called vol*.

Definition at line 223 of file AuxDetGeo.h.

LocalTransformation_t geo::AuxDetGeo::fTrans
private

Auxiliary detector-to-world transformation.

Definition at line 224 of file AuxDetGeo.h.

constexpr unsigned int geo::AuxDetGeo::MaxVerbosity = 4
static

Maximum verbosity supported by PrintAuxDetInfo().

Definition at line 215 of file AuxDetGeo.h.


The documentation for this class was generated from the following files: