11 for (
const auto& chamber : GEMSuperChambers) {
14 chamber->setMother(
mother);
23 throw cms::Exception(
"LogicError") <<
"GEM Super Chamber index (" << i <<
") out of range";
35 for (std::vector<AlignableGEMSuperChamber*>::iterator ichamber =
theGEMSuperChambers.begin();
38 zz += (*ichamber)->globalPosition().
z();
48 os <<
"This GEM Ring contains " << b.
theGEMSuperChambers.size() <<
" GEM Super chambers" << std::endl;
51 os <<
"), orientation:" << std::endl << b.
globalRotation() << std::endl;
57 for (std::vector<AlignableGEMSuperChamber*>::const_iterator iChamber =
theGEMSuperChambers.begin();
RotationType computeOrientation()
uint16_t *__restrict__ id
PositionType computePosition()
Geom::Phi< T > phi() const
const RotationType & globalRotation() const
Return the global orientation of the object.
std::vector< AlignableGEMSuperChamber * > theGEMSuperChambers
std::ostream & operator<<(std::ostream &out, const ALILine &li)
void setSurface(const AlignableSurface &s)
Log< level::Info, false > LogInfo
void dump(void) const override
Recursive printout of alignable structure.
align::RotationType RotationType
AlignableSurface computeSurface()
align::PositionType PositionType
const PositionType & globalPosition() const
Return the global position of the object.
AlignableGEMSuperChamber & superChamber(int i)
Alignable * mother() const
Return pointer to container alignable (if any)
void addComponent(Alignable *component) final
int size() const
Return number of direct components.
AlignableGEMRing(const std::vector< AlignableGEMSuperChamber * > &GEMSuperChambers)