DD4hep  1.30.0
Detector Description Toolkit for High Energy Physics
Public Member Functions | Public Attributes | List of all members
dd4hep::VolumeManagerContext Class Reference

This structure describes the cached data for one placement held by the volume manager. More...

#include <VolumeManager.h>

Inheritance diagram for dd4hep::VolumeManagerContext:
dd4hep::detail::VolumeManagerContextExtension

Public Member Functions

 VolumeManagerContext ()=default
 Default constructor. More...
 
 VolumeManagerContext (const VolumeManagerContext &copy)=delete
 Inhibit copy constructor. More...
 
 VolumeManagerContext (VolumeManagerContext &&copy)=delete
 Inhibit move constructor. More...
 
VolumeManagerContextoperator= (const VolumeManagerContext &copy)=delete
 Inhibit assignment. More...
 
VolumeManagerContextoperator= (VolumeManagerContext &&copy)=delete
 Inhibit move assignment. More...
 
virtual ~VolumeManagerContext ()
 Default destructor. More...
 
PlacedVolume volumePlacement () const
 Acces the sensitive volume placement. More...
 
PlacedVolume elementPlacement () const
 Acces the detector element volume placement. More...
 
const TGeoHMatrix & toElement () const
 Access the transformation to the closest detector element. More...
 
Position localToElement (const double local[3]) const
 Transform local coordinates to the DetElement coordinates. More...
 
Position localToElement (const Position &local) const
 Transform local coordinates to the DetElement coordinates. More...
 
Position localToWorld (const double local[3]) const
 Transform local coordinates to the world coordinates. More...
 
Position localToWorld (const Position &local) const
 Transform local coordinates to the world coordinates. More...
 
Position worldToElement (const Position &world) const
 Transform world coordinates to the DetElement coordinates. More...
 
Position worldToElement (const double world[3]) const
 Transform world coordinates to the DetElement coordinates. More...
 
void worldToElement (const double world[3], double element[3]) const
 Transform world coordinates to the DetElement coordinates. More...
 
Position worldToLocal (const Position &world) const
 Transform world coordinates to the local coordinates. More...
 
Position worldToLocal (const double world[3]) const
 Transform world coordinates to the local coordinates. More...
 
void worldToLocal (const double world[3], double local[3]) const
 Transform world coordinates to the local coordinates. More...
 

Public Attributes

DetElement element
 Handle to the closest Detector element. More...
 
VolumeID identifier = 0
 Placement identifier. More...
 
VolumeID mask = ~0x0ULL
 Ignore mask of the placement identifier. More...
 
long flag = 0
 Flag to indicate optional information. More...
 

Detailed Description

This structure describes the cached data for one placement held by the volume manager.

This structure is slightly optimized, since there are soooo many instances: If the sensitive volume is associated as a placement to the DetElement, then – placement() returns element.placement() – toElement() returns an identity matrix

If the sensitive volume is NOT the element's placement, then the calls are forwarded to an appended invisible structure at the end of the memory.

Author
M.Frank
Version
1.0

Definition at line 50 of file VolumeManager.h.

Constructor & Destructor Documentation

◆ VolumeManagerContext() [1/3]

dd4hep::VolumeManagerContext::VolumeManagerContext ( )
default

Default constructor.

◆ VolumeManagerContext() [2/3]

dd4hep::VolumeManagerContext::VolumeManagerContext ( const VolumeManagerContext copy)
delete

Inhibit copy constructor.

◆ VolumeManagerContext() [3/3]

dd4hep::VolumeManagerContext::VolumeManagerContext ( VolumeManagerContext &&  copy)
delete

Inhibit move constructor.

◆ ~VolumeManagerContext()

VolumeManagerContext::~VolumeManagerContext ( )
virtual

Default destructor.

Definition at line 304 of file VolumeManager.cpp.

Member Function Documentation

◆ elementPlacement()

PlacedVolume VolumeManagerContext::elementPlacement ( ) const

Acces the detector element volume placement.

Acces the sensitive volume placement.

Definition at line 309 of file VolumeManager.cpp.

◆ localToElement() [1/2]

Position VolumeManagerContext::localToElement ( const double  local[3]) const

Transform local coordinates to the DetElement coordinates.

Definition at line 330 of file VolumeManager.cpp.

◆ localToElement() [2/2]

Position VolumeManagerContext::localToElement ( const Position local) const

Transform local coordinates to the DetElement coordinates.

Definition at line 337 of file VolumeManager.cpp.

◆ localToWorld() [1/2]

Position VolumeManagerContext::localToWorld ( const double  local[3]) const

Transform local coordinates to the world coordinates.

Definition at line 344 of file VolumeManager.cpp.

◆ localToWorld() [2/2]

Position VolumeManagerContext::localToWorld ( const Position local) const

Transform local coordinates to the world coordinates.

Definition at line 351 of file VolumeManager.cpp.

◆ operator=() [1/2]

VolumeManagerContext& dd4hep::VolumeManagerContext::operator= ( const VolumeManagerContext copy)
delete

Inhibit assignment.

◆ operator=() [2/2]

VolumeManagerContext& dd4hep::VolumeManagerContext::operator= ( VolumeManagerContext &&  copy)
delete

Inhibit move assignment.

◆ toElement()

const TGeoHMatrix & VolumeManagerContext::toElement ( ) const

Access the transformation to the closest detector element.

Definition at line 322 of file VolumeManager.cpp.

◆ volumePlacement()

PlacedVolume VolumeManagerContext::volumePlacement ( ) const

Acces the sensitive volume placement.

Definition at line 314 of file VolumeManager.cpp.

◆ worldToElement() [1/3]

Position VolumeManagerContext::worldToElement ( const double  world[3]) const

Transform world coordinates to the DetElement coordinates.

Definition at line 358 of file VolumeManager.cpp.

◆ worldToElement() [2/3]

void VolumeManagerContext::worldToElement ( const double  world[3],
double  element[3] 
) const

Transform world coordinates to the DetElement coordinates.

Definition at line 368 of file VolumeManager.cpp.

◆ worldToElement() [3/3]

Position VolumeManagerContext::worldToElement ( const Position world) const

Transform world coordinates to the DetElement coordinates.

Definition at line 363 of file VolumeManager.cpp.

◆ worldToLocal() [1/3]

Position VolumeManagerContext::worldToLocal ( const double  world[3]) const

Transform world coordinates to the local coordinates.

Definition at line 373 of file VolumeManager.cpp.

◆ worldToLocal() [2/3]

void VolumeManagerContext::worldToLocal ( const double  world[3],
double  local[3] 
) const

Transform world coordinates to the local coordinates.

Transform world coordinates to the DetElement coordinates.

Definition at line 388 of file VolumeManager.cpp.

◆ worldToLocal() [3/3]

Position VolumeManagerContext::worldToLocal ( const Position world) const

Transform world coordinates to the local coordinates.

Definition at line 381 of file VolumeManager.cpp.

Member Data Documentation

◆ element

DetElement dd4hep::VolumeManagerContext::element

Handle to the closest Detector element.

Definition at line 53 of file VolumeManager.h.

◆ flag

long dd4hep::VolumeManagerContext::flag = 0

Flag to indicate optional information.

Definition at line 59 of file VolumeManager.h.

◆ identifier

VolumeID dd4hep::VolumeManagerContext::identifier = 0

Placement identifier.

Definition at line 55 of file VolumeManager.h.

◆ mask

VolumeID dd4hep::VolumeManagerContext::mask = ~0x0ULL

Ignore mask of the placement identifier.

Definition at line 57 of file VolumeManager.h.


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