21 for (
const auto&
wheel : dtWheels) {
34 throw cms::Exception(
"LogicError") <<
"Wheel index (" << i <<
") out of range";
49 for (std::vector<AlignableDTWheel*>::iterator ilayer =
theDTWheels.begin(); ilayer !=
theDTWheels.end(); ilayer++)
50 zz += (*ilayer)->globalPosition().
z();
62 os <<
"This DTBarrel contains " << b.
theDTWheels.size() <<
" Barrel wheels" << std::endl;
65 os <<
"), orientation:" << std::endl << b.
globalRotation() << std::endl;
72 for (std::vector<AlignableDTWheel*>::const_iterator iWheel =
theDTWheels.begin(); iWheel !=
theDTWheels.end();
83 std::unique_ptr<Alignments> tmpAlignments{
i->alignments()};
84 std::copy(tmpAlignments->m_align.begin(), tmpAlignments->m_align.end(), std::back_inserter(m_alignments->
m_align));
88 std::sort(m_alignments->
m_align.begin(), m_alignments->
m_align.end());
99 std::unique_ptr<AlignmentErrorsExtended> tmpAlignmentErrorsExtended{
i->alignmentErrors()};
100 std::copy(tmpAlignmentErrorsExtended->m_alignError.begin(),
101 tmpAlignmentErrorsExtended->m_alignError.end(),
108 return m_alignmentErrors;
AlignmentErrorsExtended * alignmentErrors() const override
Return vector of alignment errors.
PositionType computePosition()
Compute average z position from all components (x and y forced to 0)
uint16_t *__restrict__ id
Geom::Phi< T > phi() const
const Alignables & components() const override
Return vector of direct components.
const RotationType & globalRotation() const
Return the global orientation of the object.
std::ostream & operator<<(std::ostream &out, const ALILine &li)
std::vector< AlignTransform > m_align
Alignments * alignments() const override
Return alignment data.
AlignableDTBarrel(const std::vector< AlignableDTWheel * > &dtWheels)
The constructor simply copies the vector of wheels and computes the surface from them.
RotationType computeOrientation()
Just initialize to default given by default constructor of a RotationType.
void setSurface(const AlignableSurface &s)
std::vector< AlignableDTWheel * > theDTWheels
AlignableDTWheel & wheel(int i)
Return AlignableBarrelLayer at given index.
AlignableSurface computeSurface()
Log< level::Info, false > LogInfo
void setMother(Alignable *mother)
Assign mother to alignable.
std::vector< AlignTransformErrorExtended > m_alignError
align::RotationType RotationType
align::PositionType PositionType
const PositionType & globalPosition() const
Return the global position of the object.
Alignable * mother() const
Return pointer to container alignable (if any)
void addComponent(Alignable *component) final
int size() const
Return number of direct components.
void dump(void) const override
Recursive printout of the muon Barrel structure.