17 const auto& theDets =
r.components();
19 os <<
" This GEMChamber contains " << theDets.size() <<
" units" << std::endl;
20 os <<
" position = " <<
r.globalPosition() << std::endl;
21 os <<
" (phi, r, z)= (" <<
r.globalPosition().phi() <<
"," <<
r.globalPosition().perp() <<
"," 22 <<
r.globalPosition().z();
23 os <<
"), orientation:" << std::endl <<
r.globalRotation() << std::endl;
25 os <<
" total displacement and rotation: " <<
r.displacement() << std::endl;
26 os <<
r.rotation() << std::endl;
28 for (
const auto& idet : theDets) {
29 const auto&
comp = idet->components();
31 for (
unsigned int i = 0;
i <
comp.size(); ++
i) {
32 os <<
" Det position, phi, r: " <<
comp[
i]->globalPosition() <<
" , " <<
comp[
i]->globalPosition().phi()
33 <<
" , " <<
comp[
i]->globalPosition().perp() << std::endl;
34 os <<
" local position, phi, r: " <<
r.surface().toLocal(
comp[
i]->globalPosition()) <<
" , " 35 <<
r.surface().toLocal(
comp[
i]->globalPosition()).phi() <<
" , " 36 <<
r.surface().toLocal(
comp[
i]->globalPosition()).perp() << std::endl;
void update(const GeomDet *geomDet)
StructureType theStructureType
AlignableGEMChamber(const GeomDet *geomDet)
const Plane & surface() const
The nominal surface of the GeomDet.
void update(const GeomDet *geomDet, bool updateComponents=true)
std::ostream & operator<<(std::ostream &os, const AlignableGEMChamber &r)
AlignableSurface theSurface