29 for ( std::vector<AlignableCSCChamber*>::iterator iter =
theCSCChambers.begin();
40 throw cms::Exception(
"LogicError") <<
"CSC Chamber index (" << i <<
") out of range";
64 for ( std::vector<AlignableCSCChamber*>::iterator ichamber =
theCSCChambers.begin();
66 zz += (*ichamber)->globalPosition().
z();
96 os <<
"This CSC Ring contains " << b.
theCSCChambers.size() <<
" CSC chambers" << std::endl;
99 os <<
"), orientation:" << std::endl<< b.
globalRotation() << std::endl;
110 for ( std::vector<AlignableCSCChamber*>::const_iterator iChamber =
theCSCChambers.begin();
Geom::Phi< T > phi() const
const RotationType & globalRotation() const
Return the global orientation of the object.
std::ostream & operator<<(std::ostream &out, const ALILine &li)
~AlignableCSCRing()
Clean delete of the vector and its elements.
PositionType computePosition()
Compute average z position from all components (x and y forced to 0)
void setSurface(const AlignableSurface &s)
std::vector< AlignableCSCChamber * > theCSCChambers
RotationType computeOrientation()
Just initialize to default given by default constructor of a RotationType.
align::RotationType RotationType
AlignableCSCRing(const std::vector< AlignableCSCChamber * > cscChambers)
The constructor simply copies the vector of CSC Chambers and computes the surface from them...
align::PositionType PositionType
AlignableSurface computeSurface()
void dump(void) const
Recursive printout of the muon CSC Ring structure.
const PositionType & globalPosition() const
Return the global position of the object.
AlignableCSCChamber & chamber(int i)
Return Alignable CSC Chamber at given index.
int size() const
Return number of direct components.
A muon CSC Chamber( an AlignableDet )