DD4hep  1.28.0
Detector Description Toolkit for High Energy Physics
Classes | Public Types | Public Member Functions | List of all members
dd4hep::PlacedVolume Class Reference

Handle class holding a placed volume (also called physical volume) More...

#include <Volumes.h>

Inheritance diagram for dd4hep::PlacedVolume:
dd4hep::Handle< TGeoNode >

Classes

class  Processor
 Abstract base for processing callbacks to PlacedVolume objects. More...
 

Public Types

typedef PlacedVolumeExtension Object
 
typedef PlacedVolumeExtension::VolIDs VolIDs
 
- Public Types inherited from dd4hep::Handle< TGeoNode >
typedef TGeoNode Object
 Extern accessible definition of the contained element type. More...
 
typedef Handle< TGeoNode > Base
 Self type: used by sub-classes. More...
 

Public Member Functions

 PlacedVolume ()=default
 Default constructor. More...
 
 PlacedVolume (PlacedVolume &&e)=default
 Move constructor. More...
 
 PlacedVolume (const PlacedVolume &e)=default
 Copy assignment. More...
 
template<typename T >
 PlacedVolume (const Handle< T > &e)
 Copy assignment from other handle type. More...
 
 PlacedVolume (const TGeoNode *e)
 Constructor taking implementation object pointer. More...
 
PlacedVolumeoperator= (PlacedVolume &&v)=default
 Assignment operator (must match copy constructor) More...
 
PlacedVolumeoperator= (const PlacedVolume &v)=default
 Assignment operator (must match copy constructor) More...
 
template<typename T >
bool operator== (const Handle< T > &e) const
 Equality operator. More...
 
template<typename T >
bool operator!= (const Handle< T > &e) const
 Non-Equality operator. More...
 
Objectdata () const
 Check if placement is properly instrumented. More...
 
const char * type () const
 Access the object type from the class information. More...
 
int copyNumber () const
 Access the copy number of this placement within its mother. More...
 
Material material () const
 Volume material. More...
 
Volume volume () const
 Logical volume of this placement. More...
 
Volume motherVol () const
 Parent volume (envelope) More...
 
std::size_t num_daughters () const
 Number of daughters placed in this volume. More...
 
PlacedVolume daughter (std::size_t which) const
 Access the daughter by index. More...
 
const TGeoMatrix & matrix () const
 Access the full transformation matrix to the parent volume. More...
 
Position position () const
 Access the translation vector to the parent volume. More...
 
const PlacedVolumeExtension::VolIDsvolIDs () const
 Access to the volume IDs. More...
 
PlacedVolumeaddPhysVolID (const std::string &name, int value)
 Add identifier. More...
 
std::string toString () const
 String dump. More...
 
- Public Member Functions inherited from dd4hep::Handle< TGeoNode >
 Handle ()=default
 Default constructor. More...
 
 Handle (Handle< TGeoNode > &&element)=default
 Copy constructor. More...
 
 Handle (const Handle< TGeoNode > &element)=default
 Copy constructor. More...
 
 Handle (TGeoNode *element)
 Initializing constructor from pointer. More...
 
 Handle (Q *element)
 Initializing constructor from unrelated pointer with type checking. More...
 
 Handle (const Handle< Q > &element)
 Initializing constructor from unrelated handle with type checking. More...
 
Handle< TGeoNode > & operator= (Handle< TGeoNode > &&element)=default
 Assignment move operator. More...
 
Handle< TGeoNode > & operator= (const Handle< TGeoNode > &element)=default
 Assignment copy operator. More...
 
bool operator== (const Handle< TGeoNode > &element) const
 Boolean operator == used for RB tree insertions. More...
 
bool operator< (const Handle< TGeoNode > &element) const
 Boolean operator < used for RB tree insertions. More...
 
bool operator> (const Handle< TGeoNode > &element) const
 Boolean operator > used for RB tree insertions. More...
 
bool isValid () const
 Check the validity of the object held by the handle. More...
 
bool operator! () const
 Check the validity of the object held by the handle. More...
 
Handle< TGeoNode > & clear ()
 Release the object held by the handle. More...
 
TGeoNode * operator-> () const
 Access the held object using the -> operator. More...
 
 operator TGeoNode & () const
 Automatic type conversion to an object references. More...
 
TGeoNode & operator* () const
 Access the held object using the * operator. More...
 
TGeoNode * ptr () const
 Access to the held object. More...
 
Q * _ptr () const
 Access to an unrelated object type. More...
 
Q * data () const
 Access to an unrelated object type. More...
 
Q & object () const
 Access to an unrelated object type. More...
 
TGeoNode * access () const
 Checked object access. Throws invalid handle runtime exception if invalid handle. More...
 
const char * name () const
 Access the object name (or "" if not supported by the object) More...
 
const char * name () const
 
const char * name () const
 
void assign (Object *n, const std::string &nam, const std::string &title)
 Assign a new named object. Note: object references must be managed by the user. More...
 
void assign (_Segmentation *s, const std::string &n, const std::string &)
 
void assign (NamedObject *p, const std::string &n, const std::string &t)
 
void destroy ()
 Destroy the underlying object (be careful here: things are not reference counted)! More...
 

Additional Inherited Members

- Static Public Member Functions inherited from dd4hep::Handle< TGeoNode >
static void bad_assignment (const std::type_info &from, const std::type_info &to)
 Helper routine called when unrelated types are assigned. More...
 
- Public Attributes inherited from dd4hep::Handle< TGeoNode >
TGeoNode * m_element
 Single and only data member: Reference to the actual element. More...
 

Detailed Description

Handle class holding a placed volume (also called physical volume)

For any further documentation please see the following ROOT documentation:

See also
http://root.cern.ch/root/html/TGeoNode.html
Author
M.Frank
Version
1.0

Definition at line 173 of file Volumes.h.

Member Typedef Documentation

◆ Object

Definition at line 175 of file Volumes.h.

◆ VolIDs

Definition at line 176 of file Volumes.h.

Constructor & Destructor Documentation

◆ PlacedVolume() [1/5]

dd4hep::PlacedVolume::PlacedVolume ( )
default

Default constructor.

◆ PlacedVolume() [2/5]

dd4hep::PlacedVolume::PlacedVolume ( PlacedVolume &&  e)
default

Move constructor.

◆ PlacedVolume() [3/5]

dd4hep::PlacedVolume::PlacedVolume ( const PlacedVolume e)
default

Copy assignment.

◆ PlacedVolume() [4/5]

template<typename T >
dd4hep::PlacedVolume::PlacedVolume ( const Handle< T > &  e)
inline

Copy assignment from other handle type.

Definition at line 203 of file Volumes.h.

◆ PlacedVolume() [5/5]

dd4hep::PlacedVolume::PlacedVolume ( const TGeoNode *  e)
inline

Constructor taking implementation object pointer.

Definition at line 205 of file Volumes.h.

Member Function Documentation

◆ addPhysVolID()

PlacedVolume & PlacedVolume::addPhysVolID ( const std::string &  name,
int  value 
)

Add identifier.

Definition at line 485 of file Volumes.cpp.

◆ copyNumber()

int PlacedVolume::copyNumber ( ) const

Access the copy number of this placement within its mother.

Definition at line 442 of file Volumes.cpp.

◆ data()

PlacedVolume::Object * PlacedVolume::data ( ) const

Check if placement is properly instrumented.

Definition at line 431 of file Volumes.cpp.

◆ daughter()

PlacedVolume PlacedVolume::daughter ( std::size_t  which) const

Access the daughter by index.

Definition at line 467 of file Volumes.cpp.

◆ material()

Material PlacedVolume::material ( ) const

Volume material.

Definition at line 447 of file Volumes.cpp.

◆ matrix()

const TGeoMatrix & PlacedVolume::matrix ( ) const

Access the full transformation matrix to the parent volume.

Translation vector within parent volume.

Definition at line 510 of file Volumes.cpp.

◆ motherVol()

Volume PlacedVolume::motherVol ( ) const

Parent volume (envelope)

Definition at line 457 of file Volumes.cpp.

◆ num_daughters()

std::size_t PlacedVolume::num_daughters ( ) const

Number of daughters placed in this volume.

Definition at line 462 of file Volumes.cpp.

◆ operator!=()

template<typename T >
bool dd4hep::PlacedVolume::operator!= ( const Handle< T > &  e) const
inline

Non-Equality operator.

Definition at line 215 of file Volumes.h.

◆ operator=() [1/2]

PlacedVolume& dd4hep::PlacedVolume::operator= ( const PlacedVolume v)
default

Assignment operator (must match copy constructor)

◆ operator=() [2/2]

PlacedVolume& dd4hep::PlacedVolume::operator= ( PlacedVolume &&  v)
default

Assignment operator (must match copy constructor)

◆ operator==()

template<typename T >
bool dd4hep::PlacedVolume::operator== ( const Handle< T > &  e) const
inline

Equality operator.

Definition at line 211 of file Volumes.h.

◆ position()

Position PlacedVolume::position ( ) const

Access the translation vector to the parent volume.

Translation vector within parent volume.

Definition at line 518 of file Volumes.cpp.

◆ toString()

std::string PlacedVolume::toString ( ) const

String dump.

Definition at line 524 of file Volumes.cpp.

◆ type()

const char * PlacedVolume::type ( ) const

Access the object type from the class information.

Definition at line 437 of file Volumes.cpp.

◆ volIDs()

const PlacedVolume::VolIDs & PlacedVolume::volIDs ( ) const

Access to the volume IDs.

Definition at line 480 of file Volumes.cpp.

◆ volume()

Volume PlacedVolume::volume ( ) const

Logical volume of this placement.

Definition at line 452 of file Volumes.cpp.


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