CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
AlignableSurface Class Reference

#include <AlignableSurface.h>

Inheritance diagram for AlignableSurface:
GloballyPositioned< align::Scalar >

Public Member Functions

 AlignableSurface (const Plane &surface)
 Constructor to set surface from geometry. More...
 
 AlignableSurface (const align::PositionType &=PositionType(), const align::RotationType &=RotationType())
 Constructor to set position and rotation; width and length default to 0. More...
 
align::Scalar length () const
 
void setLength (align::Scalar length)
 
void setWidth (align::Scalar width)
 
align::GlobalPoints toGlobal (const align::LocalPoints &) const
 Return in global coord given a set of local points. More...
 
align::RotationType toGlobal (const align::RotationType &) const
 Return in global frame a rotation given in local frame. More...
 
align::EulerAngles toGlobal (const align::EulerAngles &) const
 Return in global coord given Euler angles in local coord. More...
 
align::RotationType toLocal (const align::RotationType &) const
 Return in local frame a rotation given in global frame. More...
 
align::EulerAngles toLocal (const align::EulerAngles &) const
 Return in local coord given Euler angles in global coord. More...
 
align::Scalar width () const
 
- Public Member Functions inherited from GloballyPositioned< align::Scalar >
align::Scalar eta () const
 
 GloballyPositioned ()
 
 GloballyPositioned (const PositionType &pos, const RotationType &rot)
 
void move (const GlobalVector &displacement)
 
align::Scalar phi () const
 
const PositionTypeposition () const
 
void rotate (const RotationType &rotation)
 
const RotationTyperotation () const
 
GlobalPoint toGlobal (const LocalPoint &lp) const
 
Point3DBase< U, GlobalTagtoGlobal (const Point3DBase< U, LocalTag > &lp) const
 
GlobalVector toGlobal (const LocalVector &lv) const
 
Vector3DBase< U, GlobalTagtoGlobal (const Vector3DBase< U, LocalTag > &lv) const
 
LocalPoint toLocal (const GlobalPoint &gp) const
 
Point3DBase< U, LocalTagtoLocal (const Point3DBase< U, GlobalTag > &gp) const
 
LocalVector toLocal (const GlobalVector &gv) const
 
Vector3DBase< U, LocalTagtoLocal (const Vector3DBase< U, GlobalTag > &gv) const
 
virtual ~GloballyPositioned ()
 

Private Attributes

align::Scalar theLength
 
align::Scalar theWidth
 

Additional Inherited Members

- Public Types inherited from GloballyPositioned< align::Scalar >
typedef Point3DBase< align::Scalar, GlobalTagGlobalPoint
 
typedef Vector3DBase< align::Scalar, GlobalTagGlobalVector
 
typedef Point3DBase< align::Scalar, LocalTagLocalPoint
 
typedef Vector3DBase< align::Scalar, LocalTagLocalVector
 
typedef Point3DBase< align::Scalar, GlobalTagPositionType
 
typedef TkRotation< align::ScalarRotationType
 
typedef align::Scalar Scalar
 
- Static Public Member Functions inherited from GloballyPositioned< align::Scalar >
static align::Scalar iniEta ()
 
static align::Scalar iniPhi ()
 

Detailed Description

A class to hold a surface with width and length for alignment purposes.

Date
2007/04/25 18:37:59
Revision
1.8
Author
Chung Khim Lae

Definition at line 20 of file AlignableSurface.h.

Constructor & Destructor Documentation

◆ AlignableSurface() [1/2]

AlignableSurface::AlignableSurface ( const Plane surface)

Constructor to set surface from geometry.

◆ AlignableSurface() [2/2]

AlignableSurface::AlignableSurface ( const align::PositionType pos = PositionType(),
const align::RotationType rot = RotationType() 
)

Constructor to set position and rotation; width and length default to 0.

Definition at line 12 of file AlignableSurface.cc.

Member Function Documentation

◆ length()

align::Scalar AlignableSurface::length ( ) const
inline

◆ setLength()

void AlignableSurface::setLength ( align::Scalar  length)
inline

◆ setWidth()

void AlignableSurface::setWidth ( align::Scalar  width)
inline

◆ toGlobal() [1/3]

GlobalPoints AlignableSurface::toGlobal ( const align::LocalPoints localPoints) const

Return in global coord given a set of local points.

Definition at line 15 of file AlignableSurface.cc.

References dqmiolumiharvest::j.

Referenced by AlignableDet::addAlignmentPositionErrorFromRotation(), AlignableDetUnit::addAlignmentPositionErrorFromRotation(), MillePedeAlignmentAlgorithm::addPxbSurvey(), SurveyInputTrackerFromDB::addSurveyInfo(), SurveyInputCSCfromPins::analyze(), BeamSpotAlignmentParameters::apply(), RigidBodyAlignmentParameters::apply(), BowedSurfaceAlignmentParameters::apply(), TwoBowedSurfacesAlignmentParameters::apply(), CSCAlignmentCorrections::applyAlignment(), SurveyResidual::calculate(), PedeSteererWeakModeConstraints::constructConstraints(), align::createPoints(), MuonAlignmentInputXML::do_movelocal(), MuonAlignmentInputXML::do_rotatebeamline(), MuonAlignmentInputXML::do_rotateglobalaxis(), AlignableBeamSpot::dump(), PedeSteererWeakModeConstraints::getDoubleSensorPosition(), MuonChamberResidual::global_stubpos(), MuonChamberResidual::global_trackpos(), BeamSpotAlignmentParameters::globalParameters(), RigidBodyAlignmentParameters::globalParameters(), SurveyDet::globalPoints(), ParametersToParametersDerivatives::init2BowedRigid(), AlignableModifier::moveAlignableLocal(), AlignmentMonitorSegmentDifferences::processMuonResidualsFromTrack(), CreateSurveyRcds::setGeometry(), SurveyAlignment::shiftSensors(), and toGlobal().

15  {
16  GlobalPoints globalPoints;
17 
18  unsigned int nPoint = localPoints.size();
19 
20  globalPoints.reserve(nPoint);
21 
22  for (unsigned int j = 0; j < nPoint; ++j) {
23  globalPoints.push_back(toGlobal(localPoints[j]));
24  }
25 
26  return globalPoints;
27 }
align::GlobalPoints toGlobal(const align::LocalPoints &) const
Return in global coord given a set of local points.
std::vector< GlobalPoint > GlobalPoints
Definition: Utilities.h:27

◆ toGlobal() [2/3]

RotationType AlignableSurface::toGlobal ( const align::RotationType rot) const

Return in global frame a rotation given in local frame.

Definition at line 29 of file AlignableSurface.cc.

References TkRotation< T >::multiplyInverse(), makeMuonMisalignmentScenario::rot, and GloballyPositioned< align::Scalar >::rotation().

29  {
30  return rotation().multiplyInverse(rot * rotation());
31 }
Basic3DVector< T > multiplyInverse(const Basic3DVector< T > &v) const
const RotationType & rotation() const

◆ toGlobal() [3/3]

EulerAngles AlignableSurface::toGlobal ( const align::EulerAngles angles) const

Return in global coord given Euler angles in local coord.

Definition at line 33 of file AlignableSurface.cc.

References align::toAngles(), toGlobal(), and align::toMatrix().

33 { return toAngles(toGlobal(toMatrix(angles))); }
align::GlobalPoints toGlobal(const align::LocalPoints &) const
Return in global coord given a set of local points.
EulerAngles toAngles(const RotationType &)
Convert rotation matrix to angles about x-, y-, z-axes (frame rotation).
Definition: Utilities.cc:8
RotationType toMatrix(const EulerAngles &)
Convert rotation angles about x-, y-, z-axes to matrix.
Definition: Utilities.cc:34

◆ toLocal() [1/2]

RotationType AlignableSurface::toLocal ( const align::RotationType rot) const

◆ toLocal() [2/2]

EulerAngles AlignableSurface::toLocal ( const align::EulerAngles angles) const

Return in local coord given Euler angles in global coord.

Definition at line 39 of file AlignableSurface.cc.

References align::toAngles(), toLocal(), and align::toMatrix().

39 { return toAngles(toLocal(toMatrix(angles))); }
EulerAngles toAngles(const RotationType &)
Convert rotation matrix to angles about x-, y-, z-axes (frame rotation).
Definition: Utilities.cc:8
align::RotationType toLocal(const align::RotationType &) const
Return in local frame a rotation given in global frame.
RotationType toMatrix(const EulerAngles &)
Convert rotation angles about x-, y-, z-axes to matrix.
Definition: Utilities.cc:34

◆ width()

align::Scalar AlignableSurface::width ( ) const
inline

Member Data Documentation

◆ theLength

align::Scalar AlignableSurface::theLength
private

Definition at line 58 of file AlignableSurface.h.

Referenced by length(), and setLength().

◆ theWidth

align::Scalar AlignableSurface::theWidth
private

Definition at line 57 of file AlignableSurface.h.

Referenced by setWidth(), and width().