11 for (
const auto&
ring : GEMRings) {
23 throw cms::Exception(
"LogicError") <<
"GEM Ring index (" << i <<
") out of range";
35 for (std::vector<AlignableGEMRing*>::iterator ilayer =
theGEMRings.begin(); ilayer !=
theGEMRings.end(); ilayer++)
36 zz += (*ilayer)->globalPosition().
z();
46 os <<
"This GEM Station contains " << b.
theGEMRings.size() <<
" GEM rings" << std::endl;
49 os <<
"), orientation:" << std::endl << b.
globalRotation() << std::endl;
55 for (std::vector<AlignableGEMRing*>::const_iterator iRing =
theGEMRings.begin(); iRing !=
theGEMRings.end(); iRing++)
RotationType computeOrientation()
void dump(void) const override
Recursive printout of alignable structure.
uint16_t *__restrict__ id
Geom::Phi< T > phi() const
const RotationType & globalRotation() const
Return the global orientation of the object.
std::ostream & operator<<(std::ostream &out, const ALILine &li)
AlignableGEMRing & ring(int i)
std::vector< AlignableGEMRing * > theGEMRings
void setSurface(const AlignableSurface &s)
Log< level::Info, false > LogInfo
void setMother(Alignable *mother)
Assign mother to alignable.
AlignableGEMStation(const std::vector< AlignableGEMRing * > &GEMRings)
align::RotationType RotationType
align::PositionType PositionType
PositionType computePosition()
const PositionType & globalPosition() const
Return the global position of the object.
AlignableSurface computeSurface()
Alignable * mother() const
Return pointer to container alignable (if any)
void addComponent(Alignable *component) final
int size() const
Return number of direct components.