Represents a uniquely identifyable rotation matrix. More...
#include <DDTransform.h>
Public Member Functions | |
DDRotation () | |
refers to the unit-rotation (no rotation at all) More... | |
DDRotation (const DDName &name) | |
Creates a initialized reference-object or a reference to an allready defined rotation. More... | |
DDRotation (const DDName &, DDRotationMatrix *) | |
DDRotationMatrix * | matrix () |
const DDRotationMatrix * | rotation () const |
Returns the read-only rotation-matrix. More... | |
DDRotationMatrix * | rotation () |
Public Member Functions inherited from DDBase< DDName, DDRotationMatrix * > | |
DDBase () | |
const DDName & | ddname () const |
def_type | isDefined () const |
bool | isValid () const |
true, if the wrapped pointer is valid More... | |
const DDName & | name () const |
operator bool () const | |
bool | operator< (const DDBase &b) const |
bool | operator== (const DDBase &b) const |
bool | operator> (const DDBase &b) const |
const DDI::rep_traits< DDName, DDRotationMatrix * >::reference | rep () const |
DDI::rep_traits< DDName, DDRotationMatrix * >::reference | rep () |
std::string | toString () const |
const DDI::rep_traits< DDName, DDRotationMatrix * >::reference | val () const |
const DDI::rep_traits< DDName, DDRotationMatrix * >::reference | val () |
virtual | ~DDBase () |
Private Member Functions | |
DDRotation (DDRotationMatrix *) | |
Friends | |
DDRotation | DDanonymousRot (DDRotationMatrix *) |
Defines a anonymous rotation or rotation-reflection matrix. More... | |
DDRotation | DDrot (const DDName &, DDRotationMatrix *) |
Definition of a uniquely identifiable rotation matrix named by DDName name. More... | |
std::unique_ptr< DDRotation > | DDrotPtr (const DDName &, DDRotationMatrix *) |
DDRotation | DDrotReflect (const DDName &, double, double, double, double, double, double) |
Defines a rotation-reflection in the Geant3 way. More... | |
Additional Inherited Members | |
Public Types inherited from DDBase< DDName, DDRotationMatrix * > | |
typedef std::pair< const DDName *, bool > | def_type |
typedef DDRotationMatrix * | pimpl_type |
typedef DDI::rep_type< DDName, pimpl_type > * | prep_type |
typedef DDI::Singleton< DDI::Store< DDName, DDRotationMatrix * > > | StoreT |
Static Public Member Functions inherited from DDBase< DDName, DDRotationMatrix * > | |
static auto | begin () |
static void | clear () |
static auto | end () |
static size_t | size () |
Protected Attributes inherited from DDBase< DDName, DDRotationMatrix * > | |
prep_type | prep_ |
Represents a uniquely identifyable rotation matrix.
An object of this class is a reference-object and thus leightweighted. It is uniquely identified by its DDName. Further details concerning reference-objects can be found in the documentation of DDLogicalPart.
DDRotation encapsulates CLHEP CLHEP::HepRotation.
Definition at line 67 of file DDTransform.h.
DDRotation::DDRotation | ( | ) |
refers to the unit-rotation (no rotation at all)
Definition at line 44 of file DDRotation.cc.
References constexpr, DDI::Singleton< I >::instance(), and DDBase< DDName, DDRotationMatrix * >::prep_.
Referenced by DDanonymousRot(), DDrot(), DDrotReflect(), and matrix().
DDRotation::DDRotation | ( | const DDName & | name | ) |
Creates a initialized reference-object or a reference to an allready defined rotation.
A reference-object to a defined rotation is created if a rotation was already defined usind DDrot(). Otherwise a (default) initialized reference-object named name is created. At any later stage the rotation matrix can be defined using DDrot(). All initialized-reference object referring to the same name will then immidialtely refere to the matrix created by DDrot().
DDRotation is a lightweighted reference-object. For further details concerning reference-object refere to the documentation of DDLogicalPart.
Definition at line 60 of file DDRotation.cc.
References DDI::Singleton< I >::instance(), and DDBase< DDName, DDRotationMatrix * >::prep_.
DDRotation::DDRotation | ( | const DDName & | name, |
DDRotationMatrix * | rot | ||
) |
Definition at line 67 of file DDRotation.cc.
References DDI::Singleton< I >::instance(), and DDBase< DDName, DDRotationMatrix * >::prep_.
|
private |
Definition at line 75 of file DDRotation.cc.
References DDI::Singleton< I >::instance(), and DDBase< DDName, DDRotationMatrix * >::prep_.
|
inline |
Definition at line 95 of file DDTransform.h.
References DDRotation(), and rotation().
Referenced by TGeoMgrFromDdd::createShape(), TGeoFromDddService::createShape(), DDHtmlRoDetails::details(), and DDTrackerRingAlgo::execute().
|
inline |
Returns the read-only rotation-matrix.
Definition at line 91 of file DDTransform.h.
References DDBase< DDName, DDRotationMatrix * >::rep().
Referenced by DDPixFwdBlades::execute(), DDG4SolidConverter::intersection(), matrix(), DDCompareDDRot::operator()(), operator<<(), DDCoreToDDXMLOutput::position(), DDPosData::rot(), DDPosData::rotation(), DDCoreToDDXMLOutput::rotation(), DDG4SolidConverter::subtraction(), and DDG4SolidConverter::unionsolid().
|
inline |
Definition at line 93 of file DDTransform.h.
References DDBase< DDName, DDRotationMatrix * >::rep().
|
friend |
Defines a anonymous rotation or rotation-reflection matrix.
It can't be addressed by a unique DDName. Once created, it's the users responsibility to keep the reference object DDRotation! Will be mostly used by algorithmic positioning.
Definition at line 193 of file DDRotation.cc.
|
friend |
Definition of a uniquely identifiable rotation matrix named by DDName name.
DDrot() returns a reference-object DDRotation representing the rotation matrix rot.
The user must not free memory allocated for rot!
Definition at line 90 of file DDRotation.cc.
|
friend |
Definition at line 96 of file DDRotation.cc.
|
friend |
Defines a rotation-reflection in the Geant3 way.
The resulting matrix MUST be a LEFThanded orthonormal system, otherwise a DDException will be thrown!
Definition at line 137 of file DDRotation.cc.