|
| Solid_type ()=default |
| Default constructor for uninitialized object. More...
|
|
| Solid_type (Solid_type &&e)=default |
| Move constructor. More...
|
|
| Solid_type (const Solid_type &e)=default |
| Copy constructor. More...
|
|
| Solid_type (T *p) |
| Direct assignment using the implementation pointer. More...
|
|
| Solid_type (Handle< T > &&e) |
| Move Constructor from handle. More...
|
|
| Solid_type (const Handle< T > &e) |
| Copy Constructor from handle. More...
|
|
template<typename Q > |
| Solid_type (const Handle< Q > &e) |
| Constructor to be used when passing an already created object: need to check pointers. More...
|
|
Solid_type & | operator= (Solid_type &©)=default |
| Assignment move operator. More...
|
|
Solid_type & | operator= (const Solid_type ©)=default |
| Assignment copy operator. More...
|
|
const char * | name () const |
| Access to shape name. More...
|
|
Solid_type< T > & | setName (const char *value) |
| Set new shape name. More...
|
|
Solid_type< T > & | setName (const std::string &value) |
| Set new shape name. More...
|
|
const char * | title () const |
| Access to shape title (GetTitle accessor of the TGeoShape) More...
|
|
const char * | type () const |
| Access to shape type (The TClass name of the ROOT implementation) More...
|
|
| operator T* () const |
| Auto conversion to underlying ROOT object. More...
|
|
T * | operator-> () const |
| Overloaded operator -> to access underlying object. More...
|
|
std::vector< double > | dimensions () |
| Access the dimensions of the shape: inverse of the setDimensions member function. More...
|
|
Solid_type & | setDimensions (const std::vector< double > ¶ms) |
| Set the shape dimensions. As for the TGeo shape, but angles in rad rather than degrees. More...
|
|
std::string | toString (int precision=2) const |
| Conversion to string for pretty print. More...
|
|
TGeoVolume * | divide (const Volume &voldiv, const std::string &divname, int iaxis, int ndiv, double start, double step) const |
| Divide volume into subsections (See the ROOT manuloa for details) More...
|
|
Public Member Functions inherited from dd4hep::Handle< T > |
| Handle ()=default |
| Default constructor. More...
|
|
| Handle (Handle< T > &&element)=default |
| Copy constructor. More...
|
|
| Handle (const Handle< T > &element)=default |
| Copy constructor. More...
|
|
| Handle (T *element) |
| Initializing constructor from pointer. More...
|
|
template<typename Q > |
| Handle (Q *element) |
| Initializing constructor from unrelated pointer with type checking. More...
|
|
template<typename Q > |
| Handle (const Handle< Q > &element) |
| Initializing constructor from unrelated handle with type checking. More...
|
|
Handle< T > & | operator= (Handle< T > &&element)=default |
| Assignment move operator. More...
|
|
Handle< T > & | operator= (const Handle< T > &element)=default |
| Assignment copy operator. More...
|
|
bool | operator== (const Handle< T > &element) const |
| Boolean operator == used for RB tree insertions. More...
|
|
bool | operator< (const Handle< T > &element) const |
| Boolean operator < used for RB tree insertions. More...
|
|
bool | operator> (const Handle< T > &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< T > & | clear () |
| Release the object held by the handle. More...
|
|
T * | operator-> () const |
| Access the held object using the -> operator. More...
|
|
| operator T& () const |
| Automatic type conversion to an object references. More...
|
|
T & | operator* () const |
| Access the held object using the * operator. More...
|
|
T * | ptr () const |
| Access to the held object. More...
|
|
template<typename Q > |
Q * | _ptr () const |
| Access to an unrelated object type. More...
|
|
template<typename Q > |
Q * | data () const |
| Access to an unrelated object type. More...
|
|
template<typename Q > |
Q & | object () const |
| Access to an unrelated object type. More...
|
|
T * | 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...
|
|
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 | destroy () |
| Destroy the underlying object (be careful here: things are not reference counted)! More...
|
|
void | assign (_Segmentation *s, const std::string &n, const std::string &) |
|
const char * | name () const |
|
const char * | name () const |
|
void | assign (NamedObject *p, const std::string &n, const std::string &t) |
|
template<typename T>
class dd4hep::Solid_type< T >
Base class for Solid (shape) objects.
Generic handle holding an object of base TGeoShape.
One note about divisions:
Since dd4hep requires Volumes (aka TGeoVolume) and PlacedVolumes (aka TGeoNode) to be enhaced with the user extension mechanism shape divisions MUST be done using the division mechanism of the dd4hep shape or volume wrapper. Otherwise the enhancements are not added and you shall get exception when dd4hep is closing the geometry. The same argument holds when a division is made from a Volume. Unfortunately there is no reasonable way to intercept this call to the TGeo objects - except to sub-class each of them, which is not really acceptable either.
For any further documentation please see the following ROOT documentation:
- See also
- http://root.cern.ch/root/html/TGeoShape.html
- Author
- M.Frank
- Version
- 1.0
Definition at line 135 of file Shapes.h.