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

Class to support the handling of optical surfaces. More...

#include <OpticalSurfaceManager.h>

Inheritance diagram for dd4hep::OpticalSurfaceManager:
dd4hep::Handle< detail::OpticalSurfaceManagerObject >

Public Types

typedef detail::OpticalSurfaceManagerObject Object
 
- Public Types inherited from dd4hep::Handle< detail::OpticalSurfaceManagerObject >
typedef detail::OpticalSurfaceManagerObject Object
 Extern accessible definition of the contained element type. More...
 
typedef Handle< detail::OpticalSurfaceManagerObjectBase
 Self type: used by sub-classes. More...
 

Public Member Functions

 OpticalSurfaceManager ()=default
 Default constructor. More...
 
 OpticalSurfaceManager (const OpticalSurfaceManager &e)=default
 Copy constructor. More...
 
 OpticalSurfaceManager (TGeoManager *obj)
 Constructor taking object pointer. More...
 
 OpticalSurfaceManager (const Handle< Object > &e)
 Constructor from same-type handle. More...
 
template<typename Q >
 OpticalSurfaceManager (const Handle< Q > &e)
 Constructor from arbitrary handle. More...
 
 OpticalSurfaceManager (Detector &description)
 Initializing constructor. More...
 
OpticalSurfaceManageroperator= (const OpticalSurfaceManager &m)=default
 Assignment operator. More...
 
SkinSurface skinSurface (const std::string &full_name) const
 Access skin surface by its full name. More...
 
SkinSurface skinSurface (DetElement de, const std::string &nam) const
 Access skin surface by its identifier tuple (DetElement, name) More...
 
BorderSurface borderSurface (const std::string &full_name) const
 Access border surface by its full name. More...
 
BorderSurface borderSurface (DetElement de, const std::string &nam) const
 Access border surface by its identifier tuple (DetElement, name) More...
 
OpticalSurface opticalSurface (const std::string &full_name) const
 Access optical surface data by its full name. More...
 
OpticalSurface opticalSurface (DetElement de, const std::string &nam) const
 Access optical surface data by its identifier tuple (DetElement, name) More...
 
void addSkinSurface (DetElement de, SkinSurface surf) const
 Add skin surface to manager. More...
 
void addBorderSurface (DetElement de, BorderSurface surf) const
 Add border surface to manager. More...
 
void addOpticalSurface (OpticalSurface surf) const
 Add optical surface data to manager. More...
 
void registerSurfaces (DetElement subdetector)
 Register the temporary surface objects with the TGeoManager. More...
 
- Public Member Functions inherited from dd4hep::Handle< detail::OpticalSurfaceManagerObject >
 Handle ()=default
 Default constructor. More...
 
 Handle (Handle< detail::OpticalSurfaceManagerObject > &&element)=default
 Copy constructor. More...
 
 Handle (const Handle< detail::OpticalSurfaceManagerObject > &element)=default
 Copy constructor. More...
 
 Handle (detail::OpticalSurfaceManagerObject *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< detail::OpticalSurfaceManagerObject > & operator= (Handle< detail::OpticalSurfaceManagerObject > &&element)=default
 Assignment move operator. More...
 
Handle< detail::OpticalSurfaceManagerObject > & operator= (const Handle< detail::OpticalSurfaceManagerObject > &element)=default
 Assignment copy operator. More...
 
bool operator== (const Handle< detail::OpticalSurfaceManagerObject > &element) const
 Boolean operator == used for RB tree insertions. More...
 
bool operator< (const Handle< detail::OpticalSurfaceManagerObject > &element) const
 Boolean operator < used for RB tree insertions. More...
 
bool operator> (const Handle< detail::OpticalSurfaceManagerObject > &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< detail::OpticalSurfaceManagerObject > & clear ()
 Release the object held by the handle. More...
 
detail::OpticalSurfaceManagerObjectoperator-> () const
 Access the held object using the -> operator. More...
 
 operator detail::OpticalSurfaceManagerObject & () const
 Automatic type conversion to an object references. More...
 
detail::OpticalSurfaceManagerObjectoperator* () const
 Access the held object using the * operator. More...
 
detail::OpticalSurfaceManagerObjectptr () 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...
 
detail::OpticalSurfaceManagerObjectaccess () 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...
 

Static Public Member Functions

static OpticalSurfaceManager getOpticalSurfaceManager (Detector &description)
 static accessor calling DD4hepOpticalSurfaceManagerPlugin if necessary More...
 
- Static Public Member Functions inherited from dd4hep::Handle< detail::OpticalSurfaceManagerObject >
static void bad_assignment (const std::type_info &from, const std::type_info &to)
 Helper routine called when unrelated types are assigned. More...
 

Additional Inherited Members

- Public Attributes inherited from dd4hep::Handle< detail::OpticalSurfaceManagerObject >
detail::OpticalSurfaceManagerObjectm_element
 Single and only data member: Reference to the actual element. More...
 

Detailed Description

Class to support the handling of optical surfaces.

Author
M.Frank
Version
1.0

Definition at line 37 of file OpticalSurfaceManager.h.

Member Typedef Documentation

◆ Object

Definition at line 39 of file OpticalSurfaceManager.h.

Constructor & Destructor Documentation

◆ OpticalSurfaceManager() [1/6]

dd4hep::OpticalSurfaceManager::OpticalSurfaceManager ( )
default

Default constructor.

◆ OpticalSurfaceManager() [2/6]

dd4hep::OpticalSurfaceManager::OpticalSurfaceManager ( const OpticalSurfaceManager e)
default

Copy constructor.

◆ OpticalSurfaceManager() [3/6]

dd4hep::OpticalSurfaceManager::OpticalSurfaceManager ( TGeoManager *  obj)
inline

Constructor taking object pointer.

Definition at line 47 of file OpticalSurfaceManager.h.

◆ OpticalSurfaceManager() [4/6]

dd4hep::OpticalSurfaceManager::OpticalSurfaceManager ( const Handle< Object > &  e)
inline

Constructor from same-type handle.

Definition at line 49 of file OpticalSurfaceManager.h.

◆ OpticalSurfaceManager() [5/6]

template<typename Q >
dd4hep::OpticalSurfaceManager::OpticalSurfaceManager ( const Handle< Q > &  e)
inline

Constructor from arbitrary handle.

Definition at line 52 of file OpticalSurfaceManager.h.

◆ OpticalSurfaceManager() [6/6]

dd4hep::OpticalSurfaceManager::OpticalSurfaceManager ( Detector description)

Initializing constructor.

Member Function Documentation

◆ addBorderSurface()

void OpticalSurfaceManager::addBorderSurface ( DetElement  de,
BorderSurface  surf 
) const

Add border surface to manager.

Definition at line 104 of file OpticalSurfaceManager.cpp.

◆ addOpticalSurface()

void OpticalSurfaceManager::addOpticalSurface ( OpticalSurface  surf) const

Add optical surface data to manager.

Definition at line 112 of file OpticalSurfaceManager.cpp.

◆ addSkinSurface()

void OpticalSurfaceManager::addSkinSurface ( DetElement  de,
SkinSurface  surf 
) const

Add skin surface to manager.

Definition at line 96 of file OpticalSurfaceManager.cpp.

◆ borderSurface() [1/2]

BorderSurface OpticalSurfaceManager::borderSurface ( const std::string &  full_name) const

Access border surface by its full name.

Definition at line 70 of file OpticalSurfaceManager.cpp.

◆ borderSurface() [2/2]

BorderSurface OpticalSurfaceManager::borderSurface ( DetElement  de,
const std::string &  nam 
) const

Access border surface by its identifier tuple (DetElement, name)

Access border surface by its identifier.

Definition at line 54 of file OpticalSurfaceManager.cpp.

◆ getOpticalSurfaceManager()

OpticalSurfaceManager OpticalSurfaceManager::getOpticalSurfaceManager ( Detector description)
static

static accessor calling DD4hepOpticalSurfaceManagerPlugin if necessary

Definition at line 28 of file OpticalSurfaceManager.cpp.

◆ operator=()

OpticalSurfaceManager& dd4hep::OpticalSurfaceManager::operator= ( const OpticalSurfaceManager m)
default

Assignment operator.

◆ opticalSurface() [1/2]

OpticalSurface OpticalSurfaceManager::opticalSurface ( const std::string &  full_name) const

Access optical surface data by its full name.

Access optical surface data by its identifier.

Definition at line 91 of file OpticalSurfaceManager.cpp.

◆ opticalSurface() [2/2]

OpticalSurface OpticalSurfaceManager::opticalSurface ( DetElement  de,
const std::string &  nam 
) const

Access optical surface data by its identifier tuple (DetElement, name)

Access optical surface data by its identifier.

Definition at line 75 of file OpticalSurfaceManager.cpp.

◆ registerSurfaces()

void OpticalSurfaceManager::registerSurfaces ( DetElement  subdetector)

Register the temporary surface objects with the TGeoManager.

Definition at line 120 of file OpticalSurfaceManager.cpp.

◆ skinSurface() [1/2]

SkinSurface OpticalSurfaceManager::skinSurface ( const std::string &  full_name) const

Access skin surface by its full name.

Definition at line 49 of file OpticalSurfaceManager.cpp.

◆ skinSurface() [2/2]

SkinSurface OpticalSurfaceManager::skinSurface ( DetElement  de,
const std::string &  nam 
) const

Access skin surface by its identifier tuple (DetElement, name)

Access skin surface by its identifier.

Definition at line 33 of file OpticalSurfaceManager.cpp.


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