|
|
Go to the documentation of this file.
20 : trackerTopology_(trackerTopology),
21 alignableObjectId_(trackerGeometry, nullptr, nullptr, nullptr),
22 alignableIndexer_(alignableIndexer) {}
36 std::ostringstream
ss;
39 unsigned int numCompositeAlignables = 0;
44 ss <<
"built " << numCompositeAlignables <<
" CompositeAlignables for "
46 edm::LogInfo(
"AlignableBuildProcess") <<
"@SUB=AlignableCompositeBuilder::buildAll" <<
ss.str();
48 return numCompositeAlignables;
58 std::ostringstream&
ss,
60 unsigned int childLevel = parentLevel - 1;
85 throw cms::Exception(
"LogicError") <<
"@SUB=AlignableCompositeBuilder::buildLevel\n"
86 <<
"trying to update a non-existing AlignableComposite";
99 auto mother = dynamic_cast<AlignableComposite*>(
child->mother());
101 throw cms::Exception(
"LogicError") <<
"@SUB=AlignableCompositeBuilder::buildLevel\n"
102 <<
"trying to update a flat composite that is not of type "
103 <<
"AlignableComposite";
105 if (mother->id() ==
child->id()) {
106 mother->update(
child->id(), parentType,
child->globalRotation());
117 <<
"(s) (theoretical maximum: " << maxNumParents <<
") consisting of " <<
children.size() <<
" "
143 return indexOf(
id) - 1;
virtual align::Counter get(align::StructureType, const AlignableObjectId &) const
Get a counter based on its structure type.
TkRotation< Scalar > RotationType
align::AlignmentLevels alignmentLevels_
Log< level::Info, false > LogInfo
void clearAlignmentLevels()
Resets the alignment-levels.
const AlignableObjectId alignableObjectId_
AlignableIndexer alignableIndexer_
unsigned int buildLevel(unsigned int parentLevel, AlignableMap &, std::ostringstream &, bool update=false)
Builds the components for a given level in the hierarchy.
align::Alignables & find(const std::string &name="")
unsigned int maxNumComponents(unsigned int startLevel) const
unsigned int buildAll(AlignableMap &, bool update=false)
void addAlignmentLevel(std::unique_ptr< AlignmentLevel > level)
std::vector< Alignable * > Alignables
AlignableCompositeBuilder(const TrackerTopology *, const TrackerGeometry *, const AlignableIndexer &)
unsigned int getIndexOfStructure(align::ID, unsigned int level) const
align::Alignables & get(const std::string &name="")
const char * idToString(align::StructureType type) const