![]() |
Belle II Software release-09-00-03
|
6D Hierarchy of rigid bodies More...
#include <Hierarchy.h>


Public Member Functions | |
| RigidBodyHierarchy () | |
| Constructor. | |
| std::vector< int > | getElementLabels (DetectorLevelElement element) override |
| Rigid body labels. | |
| template<class LowestLevelDBObject > | |
| GlobalDerivativeSet | getGlobalDerivatives (unsigned short sensor, const genfit::StateOnPlane *sop) |
| Get globals for given db object (and the rest of hierarchy) and its element at StateOnPlane. | |
| template<class ChildDBObjectType , class MotherDBObjectType > | |
| void | insertG4Transform (unsigned short child, unsigned short mother, G4Transform3D childToMother) |
| Insert hierarchy relation. | |
| template<class ChildDBObjectType , class MotherDBObjectType > | |
| void | insertTGeoTransform (unsigned short child, unsigned short mother, TGeoHMatrix childToMother) |
| Insert hierarchy relation. | |
| TMatrixD | getRigidBodyDerivatives (const genfit::StateOnPlane *sop) |
| 2x6 matrix of rigid body derivatives | |
| TMatrixD | convertG4ToRigidBodyTransformation (G4Transform3D g4transform) |
| Conversion from G4Transform3D to 6D rigid body transformation parametrization. | |
| TMatrixD | convertTGeoToRigidBodyTransformation (TGeoHMatrix tgeo) |
| Conversion from G4Transform3D to 6D rigid body transformation parametrization. | |
| void | buildConstraints (Constraints &constraints) |
| Adds constraints from current hierarchy to a constraints vector. | |
| GlobalDerivativeSet | buildGlobalDerivativesHierarchy (TMatrixD matrixChain, DetectorLevelElement child) |
| Recursive function which adds labels and derivatives until top element in hierarchy is found. | |
| template<class ChildDBObjectType , class MotherDBObjectType > | |
| void | insert (unsigned short child, unsigned short mother, TMatrixD childToMotherParamTransform) |
| Template function to add relation between two elements (possibly in different objects with constants) First object is the child object, second its hierarchy parent. | |
| void | printHierarchy () |
| print the lookup map | |
| const std::set< unsigned short > & | getUsedDBObjUniqueIDs () |
| Get the global unique ids of DB objects used to construct hierarchy Useful to update hierarchy only when those changed. | |
Static Public Member Functions | |
| static void | mergeGlobals (GlobalDerivativeSet &main, GlobalDerivativeSet additional) |
| Merge additional set into main set of global labels and derivatives TODO: move to some utilities. | |
Private Member Functions | |
| std::pair< DetectorLevelElement, TMatrixD > | getChildToMotherTransform (DetectorLevelElement child) |
| Find the transformation in the lookup. | |
Private Attributes | |
| std::map< DetectorLevelElement, std::pair< DetectorLevelElement, TMatrixD > > | m_lookup |
| Map with all the parameter data (child -> (mother, transform_child2mother)) | |
| std::map< DetectorLevelElement, std::vector< DetectorLevelElement > > | m_hierarchy |
| Map of hierarchy relations mother-> child. | |
| std::set< unsigned short > | m_usedUniqueIDs {} |
| The set of unique id of each DB object used for construction For more efficient updates of hierarchy only when used objects change. | |
6D Hierarchy of rigid bodies
Definition at line 144 of file Hierarchy.h.
|
inline |
Constructor.
Definition at line 149 of file Hierarchy.h.
|
inline |
Definition at line 152 of file Hierarchy.h.
|
inherited |
Adds constraints from current hierarchy to a constraints vector.
Definition at line 24 of file Hierarchy.cc.
|
inherited |
Recursive function which adds labels and derivatives until top element in hierarchy is found.
Definition at line 76 of file Hierarchy.cc.
| TMatrixD convertG4ToRigidBodyTransformation | ( | G4Transform3D | g4transform | ) |
Conversion from G4Transform3D to 6D rigid body transformation parametrization.
Definition at line 235 of file Hierarchy.cc.
| TMatrixD convertTGeoToRigidBodyTransformation | ( | TGeoHMatrix | tgeo | ) |
Conversion from G4Transform3D to 6D rigid body transformation parametrization.
Definition at line 265 of file Hierarchy.cc.
|
privateinherited |
Find the transformation in the lookup.
Definition at line 125 of file Hierarchy.cc.
|
overridevirtual |
Rigid body labels.
Implements GlobalDerivativesHierarchy.
Definition at line 172 of file Hierarchy.cc.
|
inline |
Get globals for given db object (and the rest of hierarchy) and its element at StateOnPlane.
Definition at line 159 of file Hierarchy.h.
| TMatrixD getRigidBodyDerivatives | ( | const genfit::StateOnPlane * | sop | ) |
2x6 matrix of rigid body derivatives
Definition at line 203 of file Hierarchy.cc.
|
inlineinherited |
Get the global unique ids of DB objects used to construct hierarchy Useful to update hierarchy only when those changed.
Definition at line 91 of file Hierarchy.h.
|
inlineinherited |
Template function to add relation between two elements (possibly in different objects with constants) First object is the child object, second its hierarchy parent.
| child | is the element's numeric id in child obj |
| mother | is the parent object |
| childToMotherParamTransform | is the transformation matrix (placement from geometry of the detector) |
Definition at line 60 of file Hierarchy.h.
|
inline |
Insert hierarchy relation.
Definition at line 170 of file Hierarchy.h.
|
inline |
Insert hierarchy relation.
Definition at line 177 of file Hierarchy.h.
|
staticinherited |
Merge additional set into main set of global labels and derivatives TODO: move to some utilities.
Definition at line 95 of file Hierarchy.cc.
|
inherited |
print the lookup map
Definition at line 116 of file Hierarchy.cc.
|
privateinherited |
Map of hierarchy relations mother-> child.
Definition at line 100 of file Hierarchy.h.
|
privateinherited |
Map with all the parameter data (child -> (mother, transform_child2mother))
Definition at line 98 of file Hierarchy.h.
|
privateinherited |
The set of unique id of each DB object used for construction For more efficient updates of hierarchy only when used objects change.
Definition at line 104 of file Hierarchy.h.