#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) | |
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 |
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 |
A class to build alignable composites.
Definition at line 19 of file AlignableBuilder.h.
AlignableBuilder::AlignableBuilder | ( | align::StructureType | moduleType, |
Counters & | counter | ||
) |
void AlignableBuilder::addLevelInfo | ( | align::StructureType | type, |
bool | flat, | ||
unsigned int | maxComponent | ||
) |
Add info required to build a level to the list.
Definition at line 25 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 69 of file AlignableBuilder.cc.
References Alignable::addComponent(), AlignSetup< Type >::find(), AlignableBuilder::LevelInfo::flat_, AlignSetup< Type >::get(), Alignable::globalRotation(), i, Alignable::id(), index(), testEve_cfg::level, maxComponent(), theLevelInfos, AlignableBuilder::LevelInfo::type_, and AlignableObjectId::typeToName().
Referenced by buildAll().
void AlignableBuilder::buildAll | ( | AlignSetup< align::Alignables > & | setup | ) | const |
Build the components for all levels given by user.
Definition at line 33 of file AlignableBuilder.cc.
References build(), prof2calltree::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 55 of file AlignableBuilder.cc.
References Counters::get(), ExpressReco_HICollisions_FallBack::id, info, testEve_cfg::level, AlignableBuilder::LevelInfo::maxComponent_, theCounters, theLevelInfos, and AlignableBuilder::LevelInfo::type_.
Referenced by build().
|
private |
Find max number of components for a given level in the hierarchy.
Definition at line 42 of file AlignableBuilder.cc.
References prof2calltree::l, max(), and theLevelInfos.
Referenced by build().
|
private |
Definition at line 64 of file AlignableBuilder.h.
Referenced by index().
|
private |
Definition at line 62 of file AlignableBuilder.h.
Referenced by addLevelInfo(), build(), buildAll(), index(), and maxComponent().
|
private |
Definition at line 60 of file AlignableBuilder.h.
Referenced by buildAll().