#include <AlignableCompositeBuilder.h>
Public Member Functions | |
void | addAlignmentLevel (std::unique_ptr< AlignmentLevel > level) |
AlignableCompositeBuilder (const TrackerTopology *, const TrackerGeometry *, const AlignableIndexer &) | |
unsigned int | buildAll (AlignableMap &, bool update=false) |
void | clearAlignmentLevels () |
Resets the alignment-levels. More... | |
const AlignableObjectId & | objectIdProvider () const |
Return tracker alignable object ID provider derived from the tracker's geometry. More... | |
virtual | ~AlignableCompositeBuilder ()=default |
Private Member Functions | |
unsigned int | buildLevel (unsigned int parentLevel, AlignableMap &, std::ostringstream &, bool update=false) |
Builds the components for a given level in the hierarchy. More... | |
unsigned int | getIndexOfStructure (align::ID, unsigned int level) const |
unsigned int | maxNumComponents (unsigned int startLevel) const |
Private Attributes | |
AlignableIndexer | alignableIndexer_ |
const AlignableObjectId | alignableObjectId_ |
align::AlignmentLevels | alignmentLevels_ |
const TrackerTopology * | trackerTopology_ |
Definition at line 14 of file AlignableCompositeBuilder.h.
AlignableCompositeBuilder::AlignableCompositeBuilder | ( | const TrackerTopology * | trackerTopology, |
const TrackerGeometry * | trackerGeometry, | ||
const AlignableIndexer & | alignableIndexer | ||
) |
Definition at line 17 of file AlignableCompositeBuilder.cc.
|
virtualdefault |
void AlignableCompositeBuilder::addAlignmentLevel | ( | std::unique_ptr< AlignmentLevel > | level | ) |
Add all desired AlignmentLevels for a sub-detector to the builder before calling buildAll(), the order matters! Example for PixelBarrel-RunI geometry: -> PXBModule, PXBLadder, TPBLayer, TPBHalfBarrel, TPBBarrel
Definition at line 25 of file AlignableCompositeBuilder.cc.
References alignmentLevels_, and eostools::move().
unsigned int AlignableCompositeBuilder::buildAll | ( | AlignableMap & | alignableMap, |
bool | update = false |
||
) |
Builds all composite Alignables according to the levels added before via addAlignmentLevel(). The Alignables were built from bottom- to the top- hierarchy, e.g. for PixelBarrel-RunI geometry:
Definition at line 33 of file AlignableCompositeBuilder.cc.
References alignableObjectId_, alignmentLevels_, buildLevel(), AlignableObjectId::idToString(), testEve_cfg::level, and contentValuesCheck::ss.
|
private |
Builds the components for a given level in the hierarchy.
Definition at line 56 of file AlignableCompositeBuilder.cc.
References alignableObjectId_, alignmentLevels_, Exception, AlignableMap::find(), AlignableMap::get(), getIndexOfStructure(), AlignableObjectId::idToString(), maxNumComponents(), SpecificationBuilder_cfi::parent(), and parents.
Referenced by buildAll().
void AlignableCompositeBuilder::clearAlignmentLevels | ( | ) |
Resets the alignment-levels.
Definition at line 30 of file AlignableCompositeBuilder.cc.
References alignmentLevels_.
|
private |
Calculates the index of an Alignable within the hierarchy; unique for each component of a given structure-type.
Definition at line 135 of file AlignableCompositeBuilder.cc.
References alignableIndexer_, alignableObjectId_, alignmentLevels_, AlignableIndexer::get(), and testEve_cfg::level.
Referenced by buildLevel().
|
private |
Calculates the theoretical max. number of components for a given level in the hierarchy.
Definition at line 124 of file AlignableCompositeBuilder.cc.
References alignmentLevels_, makeMuonMisalignmentScenario::components, and testEve_cfg::level.
Referenced by buildLevel().
|
inline |
Return tracker alignable object ID provider derived from the tracker's geometry.
Definition at line 40 of file AlignableCompositeBuilder.h.
References alignableObjectId_.
|
private |
Definition at line 66 of file AlignableCompositeBuilder.h.
Referenced by getIndexOfStructure().
|
private |
Definition at line 64 of file AlignableCompositeBuilder.h.
Referenced by buildAll(), buildLevel(), getIndexOfStructure(), and objectIdProvider().
|
private |
Definition at line 68 of file AlignableCompositeBuilder.h.
Referenced by addAlignmentLevel(), buildAll(), buildLevel(), clearAlignmentLevels(), getIndexOfStructure(), and maxNumComponents().
|
private |
Definition at line 63 of file AlignableCompositeBuilder.h.