15 for (
const auto&
station : GEMStations) {
27 throw cms::Exception(
"LogicError") <<
"Station index (" <<
i <<
") out of range";
41 zz += (*ilayer)->globalPosition().z();
51 os <<
"This EndCap contains " <<
b.theGEMStations.size() <<
" GEM stations" << std::endl;
52 os <<
"(phi, r, z) = (" <<
b.globalPosition().phi() <<
"," <<
b.globalPosition().perp() <<
"," 53 <<
b.globalPosition().z();
54 os <<
"), orientation:" << std::endl <<
b.globalRotation() << std::endl;
60 for (std::vector<AlignableGEMStation*>::const_iterator iLayer =
theGEMStations.begin();
70 std::unique_ptr<Alignments> tmpAlignments{
i->alignments()};
71 std::copy(tmpAlignments->m_align.begin(), tmpAlignments->m_align.end(), std::back_inserter(m_alignments->
m_align));
83 std::unique_ptr<AlignmentErrorsExtended> tmpAlignmentErrorsExtended{
i->alignmentErrors()};
84 std::copy(tmpAlignmentErrorsExtended->m_alignError.begin(),
85 tmpAlignmentErrorsExtended->m_alignError.end(),
91 return m_alignmentErrors;
Alignable * mother() const
Return pointer to container alignable (if any)
Alignments * alignments() const override
Return alignment data.
AlignableGEMEndcap(const std::vector< AlignableGEMStation *> &GEMStations)
std::vector< AlignableGEMStation * > theGEMStations
RotationType computeOrientation()
const Alignables & components() const override
Return vector of direct components.
PositionType computePosition()
std::vector< AlignTransform > m_align
AlignmentErrorsExtended * alignmentErrors() const override
Return vector of alignment errors.
AlignableSurface computeSurface()
void setSurface(const AlignableSurface &s)
AlignableGEMStation & station(int i)
std::ostream & operator<<(std::ostream &os, const AlignableGEMEndcap &b)
Log< level::Info, false > LogInfo
void setMother(Alignable *mother)
Assign mother to alignable.
std::vector< AlignTransformErrorExtended > m_alignError
align::RotationType RotationType
int size() const
Return number of direct components.
align::PositionType PositionType
CompConstraintType compConstraintType_
void dump(void) const override
Recursive printout of alignable structure.
void addComponent(Alignable *component) final