#include <AlignableBuilder.h>
Classes | |
struct | LevelInfo |
Public Member Functions | |
void | addLevelInfo (align::StructureType, bool flat, unsigned int maxComponent) |
Add info required to build a level to the list. More... | |
AlignableBuilder (align::StructureType moduleType, Counters &counter, const TrackerTopology *tTopo) | |
Init the module type. More... | |
void | buildAll (AlignSetup< align::Alignables > &setup) const |
Build the components for all levels given by user. More... | |
Private Member Functions | |
void | build (unsigned int level, align::StructureType dauType, AlignSetup< align::Alignables > &setup) const |
Build the components for a given level in the hierarchy. More... | |
unsigned int | index (unsigned int level, align::ID, const TrackerTopology *tTopo) const |
unsigned int | maxComponent (unsigned int level) const |
Find max number of components for a given level in the hierarchy. More... | |
Private Attributes | |
Counters | theCounters |
std::vector< LevelInfo > | theLevelInfos |
align::StructureType | theModuleType |
const TrackerTopology * | theTopology |
A class to build alignable composites.
Definition at line 21 of file AlignableBuilder.h.
AlignableBuilder::AlignableBuilder | ( | align::StructureType | moduleType, |
Counters & | counter, | ||
const TrackerTopology * | tTopo | ||
) |
void AlignableBuilder::addLevelInfo | ( | align::StructureType | type, |
bool | flat, | ||
unsigned int | maxComponent | ||
) |
Add info required to build a level to the list.
Definition at line 26 of file AlignableBuilder.cc.
References theLevelInfos.
Referenced by AlignableTracker::buildTEC(), AlignableTracker::buildTIB(), AlignableTracker::buildTID(), AlignableTracker::buildTOB(), AlignableTracker::buildTPB(), and AlignableTracker::buildTPE().
|
private |
Build the components for a given level in the hierarchy.
Definition at line 70 of file AlignableBuilder.cc.
References Alignable::addComponent(), AlignSetup< Type >::find(), AlignableBuilder::LevelInfo::flat_, AlignSetup< Type >::get(), Alignable::globalRotation(), i, Alignable::id(), AlignableObjectId::idToString(), index(), testEve_cfg::level, maxComponent(), theLevelInfos, theTopology, and AlignableBuilder::LevelInfo::type_.
Referenced by buildAll(), and psClasses.BuildThread::run().
void AlignableBuilder::buildAll | ( | AlignSetup< align::Alignables > & | setup | ) | const |
Build the components for all levels given by user.
Definition at line 34 of file AlignableBuilder.cc.
References build(), ConfigFiles::l, theLevelInfos, and theModuleType.
Referenced by AlignableTracker::buildTEC(), AlignableTracker::buildTIB(), AlignableTracker::buildTID(), AlignableTracker::buildTOB(), AlignableTracker::buildTPB(), and AlignableTracker::buildTPE().
|
private |
A way to index a component of a certain level in the hierarchy. Unique for each component of a given structure type. It starts from 0 and doesn't have to be continuous.
Definition at line 56 of file AlignableBuilder.cc.
References Counters::get(), info(), testEve_cfg::level, AlignableBuilder::LevelInfo::maxComponent_, theCounters, theLevelInfos, and AlignableBuilder::LevelInfo::type_.
Referenced by BeautifulSoup.PageElement::_invert(), and build().
|
private |
Find max number of components for a given level in the hierarchy.
Definition at line 43 of file AlignableBuilder.cc.
References ConfigFiles::l, max(), and theLevelInfos.
Referenced by build().
|
private |
Definition at line 66 of file AlignableBuilder.h.
Referenced by index().
|
private |
Definition at line 64 of file AlignableBuilder.h.
Referenced by addLevelInfo(), build(), buildAll(), index(), and maxComponent().
|
private |
Definition at line 62 of file AlignableBuilder.h.
Referenced by buildAll().
|
private |
Definition at line 68 of file AlignableBuilder.h.
Referenced by build().