#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 16 of file AlignableCompositeBuilder.h.
AlignableCompositeBuilder::AlignableCompositeBuilder | ( | const TrackerTopology * | trackerTopology, |
const TrackerGeometry * | trackerGeometry, | ||
const AlignableIndexer & | alignableIndexer | ||
) |
Definition at line 20 of file AlignableCompositeBuilder.cc.
References addAlignmentLevel().
|
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 31 of file AlignableCompositeBuilder.cc.
References clearAlignmentLevels(), and eostools::move().
Referenced by AlignableCompositeBuilder(), and AlignableTrackerBuilder::buildAlignableComposites().
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 43 of file AlignableCompositeBuilder.cc.
References buildLevel(), and hcalDigis_cfi::level.
Referenced by clearAlignmentLevels().
|
private |
Builds the components for a given level in the hierarchy.
Definition at line 72 of file AlignableCompositeBuilder.cc.
References class-composition::children, Exception, AlignableMap::find(), AlignableMap::get(), maxNumComponents(), class-composition::parent, and parents.
Referenced by buildAll(), and objectIdProvider().
void AlignableCompositeBuilder::clearAlignmentLevels | ( | ) |
Resets the alignment-levels.
Definition at line 37 of file AlignableCompositeBuilder.cc.
References buildAll().
Referenced by addAlignmentLevel().
|
private |
Calculates the index of an Alignable within the hierarchy; unique for each component of a given structure-type.
Definition at line 162 of file AlignableCompositeBuilder.cc.
References hcalDigis_cfi::level.
Referenced by maxNumComponents(), and objectIdProvider().
|
private |
Calculates the theoretical max. number of components for a given level in the hierarchy.
Definition at line 147 of file AlignableCompositeBuilder.cc.
References makeMuonMisalignmentScenario::components, getIndexOfStructure(), and hcalDigis_cfi::level.
Referenced by buildLevel(), and objectIdProvider().
|
inline |
Return tracker alignable object ID provider derived from the tracker's geometry.
Definition at line 45 of file AlignableCompositeBuilder.h.
References alignableObjectId_, buildLevel(), getIndexOfStructure(), maxNumComponents(), and update.
|
private |
Definition at line 73 of file AlignableCompositeBuilder.h.
|
private |
Definition at line 71 of file AlignableCompositeBuilder.h.
Referenced by objectIdProvider().
|
private |
Definition at line 75 of file AlignableCompositeBuilder.h.
|
private |
Definition at line 70 of file AlignableCompositeBuilder.h.