Belle II Software development
|
Class for alignment/calibration parameter hierarchy & constraints. More...
#include <Hierarchy.h>
Public Member Functions | |
GlobalDerivativesHierarchy () | |
Constructor. | |
virtual | ~GlobalDerivativesHierarchy () |
Destructor (virtual) | |
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 | |
virtual std::vector< int > | getElementLabels (DetectorLevelElement element)=0 |
The only function to implement: what are the global labels for the element? | |
const std::set< unsigned short > & | getUsedDBObjUniqueIDs () |
Get the global unique ids of DB objects used to construct hierarchy Usefull 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. | |
Class for alignment/calibration parameter hierarchy & constraints.
Definition at line 41 of file Hierarchy.h.
|
inline |
|
inlinevirtual |
void buildConstraints | ( | Constraints & | constraints | ) |
Adds constraints from current hierarchy to a constraints vector.
Definition at line 24 of file Hierarchy.cc.
Belle2::alignment::GlobalDerivativeSet buildGlobalDerivativesHierarchy | ( | TMatrixD | matrixChain, |
DetectorLevelElement | child | ||
) |
Recursive function which adds labels and derivatives until top element in hierarchy is found.
Definition at line 76 of file Hierarchy.cc.
|
private |
Find the transformation in the lookup.
Definition at line 125 of file Hierarchy.cc.
|
pure virtual |
The only function to implement: what are the global labels for the element?
Implemented in LorentShiftHierarchy, and RigidBodyHierarchy.
|
inline |
Get the global unique ids of DB objects used to construct hierarchy Usefull to update hierarchy only when those changed.
Definition at line 91 of file Hierarchy.h.
|
inline |
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 lement 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.
|
static |
Merge additional set into main set of global labels and derivatives TODO: move to some utilities.
Definition at line 95 of file Hierarchy.cc.
void printHierarchy | ( | ) |
print the lookup map
Definition at line 116 of file Hierarchy.cc.
|
private |
Map of hierarchy relations mother-> child.
Definition at line 100 of file Hierarchy.h.
|
private |
Map with all the parameter data (child -> (mother, transform_child2mother))
Definition at line 98 of file Hierarchy.h.
|
private |
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.