18 const auto& theDets =
r.components();
20 os <<
" This DTSuperLayer contains " << theDets.size() <<
" units" << std::endl;
21 os <<
" position = " <<
r.globalPosition() << std::endl;
22 os <<
" (phi, r, z)= (" <<
r.globalPosition().phi() <<
"," <<
r.globalPosition().perp() <<
"," 23 <<
r.globalPosition().z();
24 os <<
"), orientation:" << std::endl <<
r.globalRotation() << std::endl;
26 os <<
" total displacement and rotation: " <<
r.displacement() << std::endl;
27 os <<
r.rotation() << std::endl;
29 for (
const auto& idet : theDets) {
30 const auto&
comp = idet->components();
32 for (
unsigned int i = 0;
i <
comp.size(); ++
i) {
33 os <<
" Det position, phi, r: " <<
comp[
i]->globalPosition() <<
" , " <<
comp[
i]->globalPosition().phi()
34 <<
" , " <<
comp[
i]->globalPosition().perp() << std::endl;
35 os <<
" local position, phi, r: " <<
r.surface().toLocal(
comp[
i]->globalPosition()) <<
" , " 36 <<
r.surface().toLocal(
comp[
i]->globalPosition()).phi() <<
" , " 37 <<
r.surface().toLocal(
comp[
i]->globalPosition()).perp() << std::endl;
A muon DT SuperLayer ( an AlignableDet )
std::ostream & operator<<(std::ostream &os, const AlignableDTSuperLayer &r)
Printout the DetUnits in the CSC chamber.
StructureType theStructureType
const Plane & surface() const
The nominal surface of the GeomDet.
AlignableDTSuperLayer(const GeomDet *geomDet)
Constructor.
AlignableSurface theSurface