17 for (
const auto&
station : dtStations) {
30 throw cms::Exception(
"LogicError") <<
"Station index (" << i <<
") out of range";
47 zz += (*ilayer)->globalPosition().
z();
59 os <<
"This DTWheel contains " << b.
theDTStations.size() <<
" DT stations" << std::endl;
62 os <<
"), orientation:" << std::endl << b.
globalRotation() << std::endl;
69 for (std::vector<AlignableDTStation*>::const_iterator iStation =
theDTStations.begin();
uint16_t *__restrict__ id
Geom::Phi< T > phi() const
AlignableDTWheel(const std::vector< AlignableDTStation * > &dtStations)
The constructor simply copies the vector of stations and computes the surface from them...
const RotationType & globalRotation() const
Return the global orientation of the object.
std::ostream & operator<<(std::ostream &out, const ALILine &li)
AlignableDTStation & station(int i)
Return Alignable DT Station at given index.
AlignableSurface computeSurface()
PositionType computePosition()
Compute average z position from all components (x and y forced to 0)
void setSurface(const AlignableSurface &s)
Log< level::Info, false > LogInfo
void setMother(Alignable *mother)
Assign mother to alignable.
align::RotationType RotationType
align::PositionType PositionType
void dump(void) const override
Recursive printout of the muon DT wheel structure.
RotationType computeOrientation()
Just initialize to default given by default constructor of a RotationType.
std::vector< AlignableDTStation * > theDTStations
const PositionType & globalPosition() const
Return the global position of the object.
Alignable * mother() const
Return pointer to container alignable (if any)
void addComponent(Alignable *component) final
int size() const
Return number of direct components.