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

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

#include <OpticalSurfaces.h>

Inheritance diagram for dd4hep::OpticalSurface:
dd4hep::Handle< TGeoOpticalSurface >

Public Types

typedef TGeoOpticalSurface Object
 
typedef Object Finish
 
typedef Object Model
 
typedef Object Type
 
typedef Object::ESurfaceModel EModel
 
typedef Object::ESurfaceFinish EFinish
 
typedef Object::ESurfaceType EType
 
typedef const TGDMLMatrix * Property
 
- Public Types inherited from dd4hep::Handle< TGeoOpticalSurface >
typedef TGeoOpticalSurface Object
 Extern accessible definition of the contained element type. More...
 
typedef Handle< TGeoOpticalSurface > Base
 Self type: used by sub-classes. More...
 

Public Member Functions

 OpticalSurface ()=default
 Default constructor. More...
 
 OpticalSurface (const OpticalSurface &e)=default
 Copy constructor. More...
 
 OpticalSurface (Object *obj)
 Constructor taking object pointer. More...
 
 OpticalSurface (const Handle< Object > &e)
 Constructor from same-type handle. More...
 
template<typename Q >
 OpticalSurface (const Handle< Q > &e)
 Constructor from arbitrary handle. More...
 
 OpticalSurface (Detector &detector, const std::string &name, EModel model=Model::kMglisur, EFinish finish=Finish::kFpolished, EType type=Type::kTdielectric_dielectric, double value=1.0)
 Initializing constructor. More...
 
OpticalSurfaceoperator= (const OpticalSurface &m)=default
 Assignment operator. More...
 
Property property (const char *name) const
 Access to tabular properties of the surface. More...
 
Property property (const std::string &name) const
 Access to tabular properties of the surface. More...
 
- Public Member Functions inherited from dd4hep::Handle< TGeoOpticalSurface >
 Handle ()=default
 Default constructor. More...
 
 Handle (Handle< TGeoOpticalSurface > &&element)=default
 Copy constructor. More...
 
 Handle (const Handle< TGeoOpticalSurface > &element)=default
 Copy constructor. More...
 
 Handle (TGeoOpticalSurface *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< TGeoOpticalSurface > & operator= (Handle< TGeoOpticalSurface > &&element)=default
 Assignment move operator. More...
 
Handle< TGeoOpticalSurface > & operator= (const Handle< TGeoOpticalSurface > &element)=default
 Assignment copy operator. More...
 
bool operator== (const Handle< TGeoOpticalSurface > &element) const
 Boolean operator == used for RB tree insertions. More...
 
bool operator< (const Handle< TGeoOpticalSurface > &element) const
 Boolean operator < used for RB tree insertions. More...
 
bool operator> (const Handle< TGeoOpticalSurface > &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< TGeoOpticalSurface > & clear ()
 Release the object held by the handle. More...
 
TGeoOpticalSurface * operator-> () const
 Access the held object using the -> operator. More...
 
 operator TGeoOpticalSurface & () const
 Automatic type conversion to an object references. More...
 
TGeoOpticalSurface & operator* () const
 Access the held object using the * operator. More...
 
TGeoOpticalSurface * 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...
 
TGeoOpticalSurface * 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...
 

Static Public Member Functions

static EType stringToType (const std::string &type)
 Convenience function forwarding to TGeoOpticalSurface. More...
 
static std::string typeToString (EType type)
 Convenience function forwarding to TGeoOpticalSurface. More...
 
static EModel stringToModel (const std::string &model)
 
static std::string modelToString (EModel model)
 
static EFinish stringToFinish (const std::string &finish)
 
static std::string finishToString (EFinish finish)
 
- Static Public Member Functions inherited from dd4hep::Handle< TGeoOpticalSurface >
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< TGeoOpticalSurface >
TGeoOpticalSurface * m_element
 Single and only data member: Reference to the actual element. More...
 

Detailed Description

Class to support the handling of optical surfaces.

Optical surfaces are "global" objects ie. they are attached to the TGeoManager of the Detector object.

IF the optical surface is created locally in a detector constructor, and registered to the OpticalSurfaceManager, the surfaces are ALSO attached to the currently built detector. Alternatively the call OpticalSurfaceManager::registerSurfaces(DetElement subdetector) may be issued to attach then to the subdetector DetElement.

Author
M.Frank
Version
1.0

Definition at line 42 of file OpticalSurfaces.h.

Member Typedef Documentation

◆ EFinish

typedef Object::ESurfaceFinish dd4hep::OpticalSurface::EFinish

Definition at line 49 of file OpticalSurfaces.h.

◆ EModel

typedef Object::ESurfaceModel dd4hep::OpticalSurface::EModel

Definition at line 48 of file OpticalSurfaces.h.

◆ EType

typedef Object::ESurfaceType dd4hep::OpticalSurface::EType

Definition at line 50 of file OpticalSurfaces.h.

◆ Finish

Definition at line 45 of file OpticalSurfaces.h.

◆ Model

Definition at line 46 of file OpticalSurfaces.h.

◆ Object

typedef TGeoOpticalSurface dd4hep::OpticalSurface::Object

Definition at line 44 of file OpticalSurfaces.h.

◆ Property

typedef const TGDMLMatrix* dd4hep::OpticalSurface::Property

Definition at line 51 of file OpticalSurfaces.h.

◆ Type

Definition at line 47 of file OpticalSurfaces.h.

Constructor & Destructor Documentation

◆ OpticalSurface() [1/6]

dd4hep::OpticalSurface::OpticalSurface ( )
default

Default constructor.

◆ OpticalSurface() [2/6]

dd4hep::OpticalSurface::OpticalSurface ( const OpticalSurface e)
default

Copy constructor.

◆ OpticalSurface() [3/6]

dd4hep::OpticalSurface::OpticalSurface ( Object obj)
inline

Constructor taking object pointer.

Definition at line 59 of file OpticalSurfaces.h.

◆ OpticalSurface() [4/6]

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

Constructor from same-type handle.

Definition at line 61 of file OpticalSurfaces.h.

◆ OpticalSurface() [5/6]

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

Constructor from arbitrary handle.

Definition at line 64 of file OpticalSurfaces.h.

◆ OpticalSurface() [6/6]

OpticalSurface::OpticalSurface ( Detector detector,
const std::string &  name,
EModel  model = Model::kMglisur,
EFinish  finish = Finish::kFpolished,
EType  type = Type::kTdielectric_dielectric,
double  value = 1.0 
)

Initializing constructor.

Definition at line 34 of file OpticalSurfaces.cpp.

Member Function Documentation

◆ finishToString()

static std::string dd4hep::OpticalSurface::finishToString ( EFinish  finish)
inlinestatic

Definition at line 99 of file OpticalSurfaces.h.

◆ modelToString()

static std::string dd4hep::OpticalSurface::modelToString ( EModel  model)
inlinestatic

Definition at line 93 of file OpticalSurfaces.h.

◆ operator=()

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

Assignment operator.

◆ property() [1/2]

OpticalSurface::Property OpticalSurface::property ( const char *  name) const

Access to tabular properties of the surface.

Definition at line 46 of file OpticalSurfaces.cpp.

◆ property() [2/2]

OpticalSurface::Property OpticalSurface::property ( const std::string &  name) const

Access to tabular properties of the surface.

Definition at line 51 of file OpticalSurfaces.cpp.

◆ stringToFinish()

static EFinish dd4hep::OpticalSurface::stringToFinish ( const std::string &  finish)
inlinestatic

Definition at line 96 of file OpticalSurfaces.h.

◆ stringToModel()

static EModel dd4hep::OpticalSurface::stringToModel ( const std::string &  model)
inlinestatic

Definition at line 90 of file OpticalSurfaces.h.

◆ stringToType()

static EType dd4hep::OpticalSurface::stringToType ( const std::string &  type)
inlinestatic

Convenience function forwarding to TGeoOpticalSurface.

Definition at line 83 of file OpticalSurfaces.h.

◆ typeToString()

static std::string dd4hep::OpticalSurface::typeToString ( EType  type)
inlinestatic

Convenience function forwarding to TGeoOpticalSurface.

Definition at line 87 of file OpticalSurfaces.h.


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