#include <AlignableCompositeBuilder.h>
Public Member Functions | |
void | addAlignmentLevel (std::unique_ptr< AlignmentLevel > level) |
AlignableCompositeBuilder (const TrackerTopology *, AlignableIndexer &) | |
unsigned int | buildAll (AlignableMap &) |
void | clearAlignmentLevels () |
Resets the alignment-levels. More... | |
virtual | ~AlignableCompositeBuilder () |
Private Member Functions | |
unsigned int | buildLevel (unsigned int parentLevel, AlignableMap &, std::ostringstream &) |
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_ |
align::AlignmentLevels | alignmentLevels_ |
const TrackerTopology * | trackerTopology_ |
Definition at line 16 of file AlignableCompositeBuilder.h.
AlignableCompositeBuilder::AlignableCompositeBuilder | ( | const TrackerTopology * | trackerTopology, |
AlignableIndexer & | alignableIndexer | ||
) |
Definition at line 20 of file AlignableCompositeBuilder.cc.
|
inlinevirtual |
Definition at line 22 of file AlignableCompositeBuilder.h.
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 29 of file AlignableCompositeBuilder.cc.
References eostools::move().
Referenced by AlignableTrackerBuilder::buildAlignableComposites().
unsigned int AlignableCompositeBuilder::buildAll | ( | AlignableMap & | alignableMap | ) |
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 41 of file AlignableCompositeBuilder.cc.
References AlignableObjectId::idToString(), testEve_cfg::level, and contentValuesCheck::ss.
Referenced by AlignableTrackerBuilder::buildAlignableComposites().
|
private |
Builds the components for a given level in the hierarchy.
Definition at line 70 of file AlignableCompositeBuilder.cc.
References AlignableMap::find(), AlignableMap::get(), AlignableObjectId::idToString(), cmsHarvester::index, SpecificationBuilder_cfi::parent(), and parents.
void AlignableCompositeBuilder::clearAlignmentLevels | ( | ) |
Resets the alignment-levels.
Definition at line 35 of file AlignableCompositeBuilder.cc.
Referenced by AlignableTrackerBuilder::buildAlignableComposites().
|
private |
Calculates the index of an Alignable within the hierarchy; unique for each component of a given structure-type.
Definition at line 140 of file AlignableCompositeBuilder.cc.
References testEve_cfg::level.
|
private |
Calculates the theoretical max. number of components for a given level in the hierarchy.
Definition at line 125 of file AlignableCompositeBuilder.cc.
References makeMuonMisalignmentScenario::components, and testEve_cfg::level.
|
private |
Definition at line 68 of file AlignableCompositeBuilder.h.
|
private |
Definition at line 70 of file AlignableCompositeBuilder.h.
|
private |
Definition at line 66 of file AlignableCompositeBuilder.h.