9 const std::vector<const GeomDet*>& geomDets = geomDet->
components();
10 for (std::vector<const GeomDet*>::const_iterator idet = geomDets.begin(); idet != geomDets.end(); ++idet) {
24 os <<
" This GEMSuperChamber contains " << theDets.size() <<
" units" << std::endl;
28 os <<
"), orientation:" << std::endl << r.
globalRotation() << std::endl;
30 os <<
" total displacement and rotation: " << r.
displacement() << 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()) <<
" , "
const GlobalVector & displacement() const
Return change of the global position since the creation of the object.
Geom::Phi< T > phi() const
const Alignables & components() const override
Return vector of direct components.
const RotationType & globalRotation() const
Return the global orientation of the object.
virtual std::vector< const GeomDet * > components() const
Returns direct components, if any.
std::ostream & operator<<(std::ostream &out, const ALILine &li)
const Plane & surface() const
The nominal surface of the GeomDet.
const RotationType & rotation() const
Return change of orientation since the creation of the object.
StructureType theStructureType
align::RotationType toLocal(const align::RotationType &) const
Return in local frame a rotation given in global frame.
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
void update(const GeomDet *geomDet)
void update(const GeomDet *geomDet, bool updateComponents=true)
const PositionType & globalPosition() const
Return the global position of the object.
AlignableGEMSuperChamber(const GeomDet *geomDet)
void addComponent(Alignable *component) final
AlignableSurface theSurface