DD4hep  1.30.0
Detector Description Toolkit for High Energy Physics
Public Member Functions | Protected Attributes | List of all members
dd4hep::DetElement::DetElementExtension< Q, T > Class Template Reference

Wrapper class for detector element extension objects. More...

#include <DetElement.h>

Inheritance diagram for dd4hep::DetElement::DetElementExtension< Q, T >:
dd4hep::ExtensionEntry

Public Member Functions

 DetElementExtension ()=delete
 Inhibit default constructor. More...
 
 DetElementExtension (T *p)
 Typed objects constructor. More...
 
 DetElementExtension (const DetElementExtension &copy)=default
 Copy constructor. More...
 
DetElementExtensionoperator= (const DetElementExtension &copy)=default
 Assignment operator. More...
 
virtual ~DetElementExtension ()=default
 Default destructor. More...
 
T * copy (DetElement de) const
 This one ensures we have the correct signatures. More...
 
virtual void destruct () const override
 Wrapper for the object destruction. More...
 
virtual void * object () const override
 Wrapper to access the desired interface. More...
 
virtual void * copy (void *det) const override
 Copy/clone the object. More...
 
virtual ExtensionEntryclone (void *det) const override
 Copy/clone the object. More...
 
virtual unsigned long long int hash64 () const override
 Hash value. More...
 
- Public Member Functions inherited from dd4hep::ExtensionEntry
virtual ~ExtensionEntry ()=default
 Default destructor. More...
 
void invalidCall (const char *tag) const
 Callback on invalid call invokation. More...
 

Protected Attributes

T * ptr = 0
 
Q * iface = 0
 

Additional Inherited Members

- Protected Member Functions inherited from dd4hep::ExtensionEntry
 ExtensionEntry ()=default
 Default constructor. More...
 
 ExtensionEntry (const ExtensionEntry &copy)=default
 Copy constructor. More...
 

Detailed Description

template<typename Q, typename T>
class dd4hep::DetElement::DetElementExtension< Q, T >

Wrapper class for detector element extension objects.

A wrapper class is necessary for the ROOT persistency of extension objects

Author
M.Frank
Version
1.0

Definition at line 239 of file DetElement.h.

Constructor & Destructor Documentation

◆ DetElementExtension() [1/3]

template<typename Q , typename T >
dd4hep::DetElement::DetElementExtension< Q, T >::DetElementExtension ( )
delete

Inhibit default constructor.

◆ DetElementExtension() [2/3]

template<typename Q , typename T >
dd4hep::DetElement::DetElementExtension< Q, T >::DetElementExtension ( T *  p)
inline

Typed objects constructor.

Definition at line 247 of file DetElement.h.

◆ DetElementExtension() [3/3]

template<typename Q , typename T >
dd4hep::DetElement::DetElementExtension< Q, T >::DetElementExtension ( const DetElementExtension< Q, T > &  copy)
default

Copy constructor.

◆ ~DetElementExtension()

template<typename Q , typename T >
virtual dd4hep::DetElement::DetElementExtension< Q, T >::~DetElementExtension ( )
virtualdefault

Default destructor.

Member Function Documentation

◆ clone()

template<typename Q , typename T >
virtual ExtensionEntry* dd4hep::DetElement::DetElementExtension< Q, T >::clone ( void *  det) const
inlineoverridevirtual

Copy/clone the object.

Implements dd4hep::ExtensionEntry.

Definition at line 265 of file DetElement.h.

◆ copy() [1/2]

template<typename Q , typename T >
T* dd4hep::DetElement::DetElementExtension< Q, T >::copy ( DetElement  de) const
inline

This one ensures we have the correct signatures.

Definition at line 255 of file DetElement.h.

◆ copy() [2/2]

template<typename Q , typename T >
virtual void* dd4hep::DetElement::DetElementExtension< Q, T >::copy ( void *  det) const
inlineoverridevirtual

Copy/clone the object.

Implements dd4hep::ExtensionEntry.

Definition at line 262 of file DetElement.h.

◆ destruct()

template<typename Q , typename T >
virtual void dd4hep::DetElement::DetElementExtension< Q, T >::destruct ( ) const
inlineoverridevirtual

Wrapper for the object destruction.

Implements dd4hep::ExtensionEntry.

Definition at line 257 of file DetElement.h.

◆ hash64()

template<typename Q , typename T >
virtual unsigned long long int dd4hep::DetElement::DetElementExtension< Q, T >::hash64 ( ) const
inlineoverridevirtual

Hash value.

Implements dd4hep::ExtensionEntry.

Definition at line 268 of file DetElement.h.

◆ object()

template<typename Q , typename T >
virtual void* dd4hep::DetElement::DetElementExtension< Q, T >::object ( ) const
inlineoverridevirtual

Wrapper to access the desired interface.

Implements dd4hep::ExtensionEntry.

Definition at line 259 of file DetElement.h.

◆ operator=()

template<typename Q , typename T >
DetElementExtension& dd4hep::DetElement::DetElementExtension< Q, T >::operator= ( const DetElementExtension< Q, T > &  copy)
default

Assignment operator.

Member Data Documentation

◆ iface

template<typename Q , typename T >
Q* dd4hep::DetElement::DetElementExtension< Q, T >::iface = 0
mutableprotected

Definition at line 242 of file DetElement.h.

◆ ptr

template<typename Q , typename T >
T* dd4hep::DetElement::DetElementExtension< Q, T >::ptr = 0
protected

Definition at line 241 of file DetElement.h.


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