9 const std::vector<const GeomDet*>& geomDets = geomDet->
components();
10 for (std::vector<const GeomDet*>::const_iterator idet = geomDets.begin(); idet != geomDets.end(); ++idet) {
22 const auto& theDets =
r.components();
24 os <<
" This GEMSuperChamber contains " << theDets.size() <<
" units" << std::endl;
25 os <<
" position = " <<
r.globalPosition() << std::endl;
26 os <<
" (phi, r, z)= (" <<
r.globalPosition().phi() <<
"," <<
r.globalPosition().perp() <<
"," 27 <<
r.globalPosition().z();
28 os <<
"), orientation:" << std::endl <<
r.globalRotation() << std::endl;
30 os <<
" total displacement and rotation: " <<
r.displacement() << std::endl;
31 os <<
r.rotation() << std::endl;
33 for (
const auto& idet : theDets) {
34 const auto&
comp = idet->components();
36 for (
unsigned int i = 0;
i <
comp.size(); ++
i) {
37 os <<
" Det position, phi, r: " <<
comp[
i]->globalPosition() <<
" , " <<
comp[
i]->globalPosition().phi()
38 <<
" , " <<
comp[
i]->globalPosition().perp() << std::endl;
39 os <<
" local position, phi, r: " <<
r.surface().toLocal(
comp[
i]->globalPosition()) <<
" , " 40 <<
r.surface().toLocal(
comp[
i]->globalPosition()).phi() <<
" , " 41 <<
r.surface().toLocal(
comp[
i]->globalPosition()).perp() << std::endl;
virtual std::vector< const GeomDet * > components() const
Returns direct components, if any.
std::ostream & operator<<(std::ostream &os, const AlignableGEMSuperChamber &r)
StructureType theStructureType
const Plane & surface() const
The nominal surface of the GeomDet.
void update(const GeomDet *geomDet)
void update(const GeomDet *geomDet, bool updateComponents=true)
AlignableGEMSuperChamber(const GeomDet *geomDet)
void addComponent(Alignable *component) final
AlignableSurface theSurface