18 const std::vector<const GeomDet*>& geomDets = geomDet->
components();
19 for (std::vector<const GeomDet*>::const_iterator idet = geomDets.begin(); idet != geomDets.end(); ++idet) {
29 const auto& theDets =
r.components();
31 os <<
" This DTChamber contains " << theDets.size() <<
" units" << std::endl;
32 os <<
" position = " <<
r.globalPosition() << std::endl;
33 os <<
" (phi, r, z)= (" <<
r.globalPosition().phi() <<
"," <<
r.globalPosition().perp() <<
"," 34 <<
r.globalPosition().z();
35 os <<
"), orientation:" << std::endl <<
r.globalRotation() << std::endl;
37 os <<
" total displacement and rotation: " <<
r.displacement() << std::endl;
38 os <<
r.rotation() << std::endl;
40 for (
const auto& idet : theDets) {
41 const auto&
comp = idet->components();
43 for (
unsigned int i = 0;
i <
comp.size(); ++
i) {
44 os <<
" Det position, phi, r: " <<
comp[
i]->globalPosition() <<
" , " <<
comp[
i]->globalPosition().phi()
45 <<
" , " <<
comp[
i]->globalPosition().perp() << std::endl;
46 os <<
" local position, phi, r: " <<
r.surface().toLocal(
comp[
i]->globalPosition()) <<
" , " 47 <<
r.surface().toLocal(
comp[
i]->globalPosition()).phi() <<
" , " 48 <<
r.surface().toLocal(
comp[
i]->globalPosition()).perp() << std::endl;
virtual std::vector< const GeomDet * > components() const
Returns direct components, if any.
A muon DT Chamber( an AlignableDet )
AlignableDTChamber(const GeomDet *geomDet)
Constructor.
std::ostream & operator<<(std::ostream &os, const AlignableDTChamber &r)
Printout the DetUnits in the DT chamber.
StructureType theStructureType
const Plane & surface() const
The nominal surface of the GeomDet.
void addComponent(Alignable *component) final
AlignableSurface theSurface