Go to the documentation of this file.
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;
47 os <<
"(phi, r, z) = (" <<
b.globalPosition().phi() <<
"," <<
b.globalPosition().perp() <<
","
48 <<
b.globalPosition().z();
49 os <<
"), orientation:" << std::endl <<
b.globalRotation() << std::endl;
55 for (std::vector<AlignableGEMRing*>::const_iterator iRing =
theGEMRings.begin(); iRing !=
theGEMRings.end(); iRing++)
AlignableGEMStation(const std::vector< AlignableGEMRing * > &GEMRings)
Log< level::Info, false > LogInfo
void setSurface(const AlignableSurface &s)
std::ostream & operator<<(std::ostream &os, const AlignableGEMStation &b)
void dump(void) const override
Recursive printout of alignable structure.
std::vector< AlignableGEMRing * > theGEMRings
align::PositionType PositionType
CompConstraintType compConstraintType_
void addComponent(Alignable *component) final
RotationType computeOrientation()
align::RotationType RotationType
AlignableGEMRing & ring(int i)
PositionType computePosition()
void setMother(Alignable *mother)
Assign mother to alignable.
AlignableSurface computeSurface()
Alignable * mother() const
Return pointer to container alignable (if any)
int size() const
Return number of direct components.