22 for (
const auto&
chamber: dtChambers) {
38 throw cms::Exception(
"LogicError") <<
"DT Chamber index (" << i <<
") out of range";
62 for ( std::vector<AlignableDTChamber*>::iterator ilayer =
theDTChambers.begin();
64 zz += (*ilayer)->globalPosition().z();
85 os <<
"This DT Station contains " << b.
theDTChambers.size() <<
" DT chambers" << std::endl;
88 os <<
"), orientation:" << std::endl<< b.
globalRotation() << std::endl;
99 for ( std::vector<AlignableDTChamber*>::const_iterator iChamber =
theDTChambers.begin();
A muon DT Chamber( an AlignableDet )
AlignableSurface computeSurface()
RotationType computeOrientation()
Just initialize to default given by default constructor of a RotationType.
Geom::Phi< T > phi() const
const RotationType & globalRotation() const
Return the global orientation of the object.
AlignableDTChamber & chamber(int i)
Return Alignable DT Chamber at given index.
void setSurface(const AlignableSurface &s)
friend std::ostream & operator<<(std::ostream &, const AlignableDTStation &)
Printout muon DT Station information (not recursive)
std::vector< AlignableDTChamber * > theDTChambers
AlignableDTStation(const std::vector< AlignableDTChamber * > &dtChambers)
The constructor simply copies the vector of DT Chambers and computes the surface from them...
void dump(void) const override
Recursive printout of the muon DT Station structure.
void setMother(Alignable *mother)
Assign mother to alignable.
PositionType computePosition()
Compute average z position from all components (x and y forced to 0)
align::RotationType RotationType
align::PositionType PositionType
CompConstraintType compConstraintType_
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.