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 &, std::unique_ptr< DDRotationMatrix >) | |
DDRotationMatrix & | matrix () |
const DDRotationMatrix & | rotation () const |
Returns the read-only rotation-matrix. More... | |
DDRotationMatrix & | rotation () |
Public Member Functions inherited from DDBase< DDName, std::unique_ptr< DDRotationMatrix > > | |
void | create (const DDName &name, std::unique_ptr< DDRotationMatrix > vals) |
void | create (const DDName &name) |
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, std::unique_ptr< DDRotationMatrix > >::reference | rep () const |
DDI::rep_traits< DDName, std::unique_ptr< DDRotationMatrix > >::reference | rep () |
std::string | toString () const |
const DDI::rep_traits< DDName, std::unique_ptr< DDRotationMatrix > >::reference | val () const |
const DDI::rep_traits< DDName, std::unique_ptr< DDRotationMatrix > >::reference | val () |
virtual | ~DDBase () |
Private Member Functions | |
DDRotation (std::unique_ptr< DDRotationMatrix >) | |
Friends | |
DDRotation | DDanonymousRot (std::unique_ptr< DDRotationMatrix >) |
Defines a anonymous rotation or rotation-reflection matrix. More... | |
DDRotation | DDrot (const DDName &, std::unique_ptr< DDRotationMatrix >) |
Definition of a uniquely identifiable rotation matrix named by DDName name. More... | |
std::unique_ptr< DDRotation > | DDrotPtr (const DDName &, std::unique_ptr< 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, std::unique_ptr< DDRotationMatrix > > | |
using | def_type = std::pair< const DDName *, bool > |
using | StoreT = DDI::Singleton< DDI::Store< DDName, std::unique_ptr< DDRotationMatrix > > > |
Static Public Member Functions inherited from DDBase< DDName, std::unique_ptr< DDRotationMatrix > > | |
static auto | begin () |
static auto | end () |
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 ROOT Rotation3D.
Definition at line 57 of file DDTransform.h.
DDRotation::DDRotation | ( | ) |
refers to the unit-rotation (no rotation at all)
Definition at line 40 of file DDRotation.cc.
References constexpr, and DDBase< DDName, std::unique_ptr< DDRotationMatrix > >::create().
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 53 of file DDRotation.cc.
References DDBase< DDName, std::unique_ptr< DDRotationMatrix > >::create().
DDRotation::DDRotation | ( | const DDName & | name, |
std::unique_ptr< DDRotationMatrix > | rot | ||
) |
Definition at line 55 of file DDRotation.cc.
References DDBase< DDName, std::unique_ptr< DDRotationMatrix > >::create(), and eostools::move().
|
private |
Definition at line 60 of file DDRotation.cc.
References DDBase< DDName, std::unique_ptr< DDRotationMatrix > >::create(), and eostools::move().
|
inline |
Definition at line 85 of file DDTransform.h.
References DDRotation(), and rotation().
Referenced by TGeoFromDddService::createShape(), TGeoMgrFromDdd::createShape(), DDHtmlRoDetails::details(), and DDTrackerRingAlgo::execute().
|
inline |
Returns the read-only rotation-matrix.
Definition at line 81 of file DDTransform.h.
References DDBase< DDName, std::unique_ptr< DDRotationMatrix > >::rep().
Referenced by DDCompareDDRot(), DDPixFwdBlades::execute(), DDG4SolidConverter::intersection(), matrix(), operator<<(), DDCoreToDDXMLOutput::position(), DDPosData::rot(), DDPosData::rotation(), DDCoreToDDXMLOutput::rotation(), DDG4SolidConverter::subtraction(), and DDG4SolidConverter::unionsolid().
|
inline |
Definition at line 83 of file DDTransform.h.
References DDBase< DDName, std::unique_ptr< 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 143 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 67 of file DDRotation.cc.
|
friend |
Definition at line 72 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 101 of file DDRotation.cc.