25 for (
const auto&
station: cscStations) {
40 throw cms::Exception(
"LogicError") <<
"Station index (" << i <<
") out of range";
64 for ( std::vector<AlignableCSCStation*>::iterator ilayer =
theCSCStations.begin();
66 zz += (*ilayer)->globalPosition().z();
86 os <<
"This EndCap contains " << b.
theCSCStations.size() <<
" CSC stations" << std::endl;
89 os <<
"), orientation:" << std::endl<< b.
globalRotation() << std::endl;
100 for ( std::vector<AlignableCSCStation*>::const_iterator iLayer =
theCSCStations.begin();
114 std::unique_ptr<Alignments> tmpAlignments{
i->alignments()};
115 std::copy(tmpAlignments->m_align.begin(), tmpAlignments->m_align.end(),
116 std::back_inserter(m_alignments->
m_align));
133 std::unique_ptr<AlignmentErrorsExtended> tmpAlignmentErrorsExtended{
i->alignmentErrors()};
134 std::copy(tmpAlignmentErrorsExtended->m_alignError.begin(), tmpAlignmentErrorsExtended->m_alignError.end(),
141 return m_alignmentErrors;
const Alignables & components() const override
Return vector of direct components.
void dump(void) const override
Recursive printout of the muon End Cap structure.
friend std::ostream & operator<<(std::ostream &, const AlignableCSCEndcap &)
Printout muon End Cap information (not recursive)
Geom::Phi< T > phi() const
Alignments * alignments() const override
Return alignment data.
const RotationType & globalRotation() const
Return the global orientation of the object.
AlignmentErrorsExtended * alignmentErrors() const override
Return vector of alignment errors.
std::vector< AlignTransform > m_align
void setSurface(const AlignableSurface &s)
AlignableSurface computeSurface()
RotationType computeOrientation()
Just initialize to default given by default constructor of a RotationType.
void setMother(Alignable *mother)
Assign mother to alignable.
std::vector< AlignableCSCStation * > theCSCStations
std::vector< AlignTransformErrorExtended > m_alignError
align::RotationType RotationType
align::PositionType PositionType
PositionType computePosition()
Compute average z position from all components (x and y forced to 0)
CompConstraintType compConstraintType_
const PositionType & globalPosition() const
Return the global position of the object.
Alignable * mother() const
Return pointer to container alignable (if any)
AlignableCSCEndcap(const std::vector< AlignableCSCStation * > &cscStations)
The constructor simply copies the vector of stations and computes the surface from them...
void addComponent(Alignable *component) final
int size() const
Return number of direct components.
AlignableCSCStation & station(int i)
Return AlignableCSCEndcap station at given index.