#include <Alignable.h>
Public Types | |
typedef align::Alignables | Alignables |
typedef align::GlobalVector | GlobalVector |
typedef align::LocalVector | LocalVector |
typedef align::PositionType | PositionType |
typedef align::RotationType | RotationType |
typedef align::Scalar | Scalar |
typedef align::StructureType | StructureType |
Public Member Functions | |
virtual void | addAlignmentPositionError (const AlignmentPositionError &ape, bool propagateDown)=0 |
virtual void | addAlignmentPositionErrorFromLocalRotation (const RotationType &rotation, bool propagateDown)=0 |
virtual void | addAlignmentPositionErrorFromRotation (const RotationType &rotation, bool propagateDown)=0 |
virtual void | addComponent (Alignable *)=0 |
virtual void | addSurfaceDeformation (const SurfaceDeformation *deformation, bool propagateDown)=0 |
Alignable (align::ID, const RotationType &) | |
Alignable (align::ID, const AlignableSurface &) | |
virtual StructureType | alignableObjectId () const =0 |
Return the alignable type identifier. | |
virtual AlignmentErrors * | alignmentErrors () const =0 |
Return vector of alignment errors. | |
AlignmentParameters * | alignmentParameters () const |
Get the AlignmentParameters. | |
virtual Alignments * | alignments () const =0 |
Return vector of alignment data. | |
virtual Alignables | components () const =0 |
Return vector of all direct components. | |
const Alignables & | deepComponents () const |
const GlobalVector & | displacement () const |
Return change of the global position since the creation of the object. | |
virtual void | dump () const =0 |
Recursive printout of alignable information. | |
bool | firstCompsWithParams (Alignables ¶mComps) const |
const DetId & | geomDetId () const |
const PositionType & | globalPosition () const |
Return the global position of the object. | |
const RotationType & | globalRotation () const |
Return the global orientation of the object. | |
align::ID | id () const |
Return the ID of Alignable, i.e. DetId of 'first' component GeomDet(Unit). | |
Alignable * | mother () const |
Return pointer to container alignable (if any) | |
virtual void | move (const GlobalVector &displacement)=0 |
Movement with respect to the global reference frame. | |
virtual void | recursiveComponents (Alignables &result) const =0 |
virtual void | rotateAroundGlobalAxis (const GlobalVector &axis, Scalar radians) |
Rotation around arbitratry global axis. | |
virtual void | rotateAroundGlobalX (Scalar radians) |
Rotation around global x-axis. | |
virtual void | rotateAroundGlobalY (Scalar radians) |
Rotation around global y-axis. | |
virtual void | rotateAroundGlobalZ (Scalar radians) |
Rotation around global z-axis. | |
virtual void | rotateAroundLocalAxis (const LocalVector &axis, Scalar radians) |
Rotation around arbitratry local axis. | |
virtual void | rotateAroundLocalX (Scalar radians) |
Rotation around local x-axis. | |
virtual void | rotateAroundLocalY (Scalar radians) |
Rotation around local y-axis. | |
virtual void | rotateAroundLocalZ (Scalar radians) |
Rotation around local z-axis. | |
virtual void | rotateInGlobalFrame (const RotationType &rotation)=0 |
virtual void | rotateInLocalFrame (const RotationType &rotation) |
Rotation intepreted in the local reference frame. | |
const RotationType & | rotation () const |
Return change of orientation since the creation of the object. | |
void | setAlignmentParameters (AlignmentParameters *dap) |
Set the AlignmentParameters. | |
virtual void | setAlignmentPositionError (const AlignmentPositionError &ape, bool propagateDown)=0 |
Set the alignment position error - if (!propagateDown) do not affect daughters. | |
void | setMother (Alignable *mother) |
Assign mother to alignable. | |
virtual void | setSurfaceDeformation (const SurfaceDeformation *deformation, bool propagateDown)=0 |
Set the surface deformation parameters - if (!propagateDown) do not affect daughters. | |
void | setSurvey (const SurveyDet *) |
Set survey info. | |
const int | size () const |
Return number of direct components. | |
const AlignableSurface & | surface () const |
Return the Surface (global position and orientation) of the object. | |
virtual int | surfaceDeformationIdPairs (std::vector< std::pair< int, SurfaceDeformation * > > &) const =0 |
AlignmentSurfaceDeformations * | surfaceDeformations () const |
Return surface deformations, sorted by DetId. | |
const SurveyDet * | survey () const |
Return survey info. | |
virtual | ~Alignable () |
Destructor. | |
Protected Member Functions | |
void | addDisplacement (const GlobalVector &displacement) |
void | addRotation (const RotationType &rotation) |
Protected Attributes | |
Alignables | theDeepComponents |
DetId | theDetId |
GlobalVector | theDisplacement |
align::ID | theId |
RotationType | theRotation |
AlignableSurface | theSurface |
Private Member Functions | |
Alignable () | |
private default ctr. to enforce usage of the specialised ones | |
Private Attributes | |
AlignmentParameters * | theAlignmentParameters |
Alignable * | theMother |
const SurveyDet * | theSurvey |
Abstract base class for alignable entities. Any Alignable object can be moved and rotated. Also an alignment uncertainty can be set.
(last update by
)
Definition at line 29 of file Alignable.h.
Definition at line 39 of file Alignable.h.
Definition at line 37 of file Alignable.h.
Definition at line 38 of file Alignable.h.
Definition at line 35 of file Alignable.h.
Definition at line 36 of file Alignable.h.
typedef align::Scalar Alignable::Scalar |
Definition at line 34 of file Alignable.h.
Definition at line 40 of file Alignable.h.
Alignable::Alignable | ( | align::ID | id, |
const AlignableSurface & | surf | ||
) |
Constructor from id and surface, setting also geomDetId (AlignableNavigator relies on the fact that only AlignableDet/DetUnit have geomDetId!)
Definition at line 19 of file Alignable.cc.
: theDetId(id), // FIXME: inconsistent with other ctr., but needed for AlignableNavigator theId(id), // (finally get rid of one of the IDs!) theSurface(surf), theAlignmentParameters(0), theMother(0), theSurvey(0) { }
Alignable::Alignable | ( | align::ID | id, |
const RotationType & | rot | ||
) |
Constructor for a composite with given rotation. Position is found (later) from average of daughters' positions.
Definition at line 30 of file Alignable.cc.
: theDetId(), // FIXME: inconsistent with other ctr., cf. above theId(id), theSurface(PositionType(), rot), theAlignmentParameters(0), theMother(0), theSurvey(0) { }
Alignable::~Alignable | ( | ) | [virtual] |
Destructor.
Definition at line 41 of file Alignable.cc.
References theAlignmentParameters, and theSurvey.
{ delete theAlignmentParameters; delete theSurvey; }
Alignable::Alignable | ( | ) | [inline, private] |
private default ctr. to enforce usage of the specialised ones
Definition at line 226 of file Alignable.h.
{};
virtual void Alignable::addAlignmentPositionError | ( | const AlignmentPositionError & | ape, |
bool | propagateDown | ||
) | [pure virtual] |
Add (or set if not already present) the AlignmentPositionError, but if (!propagateDown) do not affect daughters
Implemented in AlignableBeamSpot, AlignableComposite, AlignableDet, and AlignableDetUnit.
Referenced by AlignableModifier::addAlignmentPositionError(), AlignableModifier::addAlignmentPositionErrorLocal(), and AlignmentParameterStore::setAlignmentPositionError().
virtual void Alignable::addAlignmentPositionErrorFromLocalRotation | ( | const RotationType & | rotation, |
bool | propagateDown | ||
) | [pure virtual] |
add (or set if not already present) the AlignmentPositionError which would result from a rotation (given in the LOCAL frame of the Alignable) of the alignable object, but if (!propagateDown) do not affect daughters
Implemented in AlignableBeamSpot, AlignableComposite, and AlignableDetUnit.
Referenced by AlignableModifier::addAlignmentPositionErrorFromLocalRotation().
virtual void Alignable::addAlignmentPositionErrorFromRotation | ( | const RotationType & | rotation, |
bool | propagateDown | ||
) | [pure virtual] |
add (or set if not already present) the AlignmentPositionError which would result from a rotation (given in the GLOBAL frame of CMS) of the alignable object, but if (!propagateDown) do not affect daughters
Implemented in AlignableBeamSpot, AlignableComposite, AlignableDet, and AlignableDetUnit.
Referenced by AlignableModifier::addAlignmentPositionErrorFromRotation(), and AlignmentParameterStore::setAlignmentPositionError().
virtual void Alignable::addComponent | ( | Alignable * | ) | [pure virtual] |
Add a component to alignable (GF: Should be interface in Composite, but needed in AlignableBuilder::build)
Implemented in AlignableBeamSpot, AlignableComposite, and AlignableDetUnit.
Referenced by SurveyInputBase::addComponent(), AlignableBuilder::build(), and PedeSteerer::PedeSteerer().
void Alignable::addDisplacement | ( | const GlobalVector & | displacement | ) | [protected] |
Definition at line 198 of file Alignable.cc.
References displacement(), and theDisplacement.
Referenced by AlignableSiStripDet::consistifyAlignments(), AlignableDetUnit::move(), AlignableComposite::move(), and AlignableBeamSpot::move().
{ theDisplacement += displacement; }
void Alignable::addRotation | ( | const RotationType & | rotation | ) | [protected] |
Definition at line 206 of file Alignable.cc.
References rotation(), and theRotation.
Referenced by AlignableSiStripDet::consistifyAlignments(), AlignableBeamSpot::rotateInGlobalFrame(), AlignableComposite::rotateInGlobalFrame(), and AlignableDetUnit::rotateInGlobalFrame().
{ theRotation *= rotation; }
virtual void Alignable::addSurfaceDeformation | ( | const SurfaceDeformation * | deformation, |
bool | propagateDown | ||
) | [pure virtual] |
Add the surface deformation parameters to the existing ones, if (!propagateDown) do not affect daughters.
Implemented in AlignableBeamSpot, AlignableComposite, and AlignableDetUnit.
Referenced by AlignableModifier::addDeformation(), TwoBowedSurfacesAlignmentParameters::apply(), and BowedSurfaceAlignmentParameters::apply().
virtual StructureType Alignable::alignableObjectId | ( | ) | const [pure virtual] |
Return the alignable type identifier.
Implemented in AlignableBeamSpot, AlignableComposite, and AlignableDetUnit.
Referenced by AlignmentParameterBuilder::add(), SurveyMisalignmentInput::addSurveyInfo(), TrackerGeometryCompare::addSurveyInfo(), SurveyInputTrackerFromDB::addSurveyInfo(), AlignmentProducer::addSurveyInfo_(), MuonAlignmentInputSurveyDB::addSurveyInfo_(), MomentumDependentPedeLabeler::alignableLabel(), PedeLabeler::alignableLabel(), RunRangeDependentPedeLabeler::alignableLabel(), RunRangeDependentPedeLabeler::alignableLabelFromParamAndInstance(), MomentumDependentPedeLabeler::alignableLabelFromParamAndInstance(), AlignmentParameterStore::applyAlignableAbsolutePositions(), AlignmentParameterStore::applyAlignableRelativePositions(), TrackerSystematicMisalignments::applySystematicMisalignment(), AlignmentMonitorGeneric::book(), TrackerOfflineValidation::bookDirHists(), TrackerOfflineValidation::bookHists(), TrackerOfflineValidation::bookSummaryHists(), TrackerOfflineValidation::collateSummaryHists(), TrackerGeometryCompare::compareGeometries(), align::createPoints(), AlignmentParameterSelector::detUnitDeselected(), align::diffAlignables(), TrackerGeometryCompare::diffCommonTrackerSystem(), HIPAlignmentAlgorithm::fillRoot(), MuonGeometryArrange::fillTree(), TrackerGeometryCompare::fillTree(), MuonAlignmentInputXML::getCSCnode(), MuonAlignmentInputXML::getDTnode(), SurveyDBUploader::getSurveyInfo(), PedeSteerer::hierarchyConstraint(), KalmanAlignmentUserVariables::KalmanAlignmentUserVariables(), MomentumDependentPedeLabeler::parameterLabel(), RunRangeDependentPedeLabeler::parameterLabel(), AlignableDataIORoot::readAbsRaw(), HIPUserVariablesIORoot::readOne(), AlignmentParametersIORoot::readOne(), MillePedeVariablesIORoot::readOne(), AlignableDataIORoot::readRelRaw(), AlignableNavigator::recursiveGetId(), CreateSurveyRcds::setGeometry(), CreateSurveyRcds::setSurveyErrors(), SurveyResidual::SurveyResidual(), AlignmentCorrelationsIORoot::write(), AlignableDataIO::writeAbsPos(), AlignmentParametersIORoot::writeOne(), HIPUserVariablesIORoot::writeOne(), MillePedeVariablesIORoot::writeOne(), AlignableDataIO::writeOrgPos(), and AlignableDataIO::writeRelPos().
virtual AlignmentErrors* Alignable::alignmentErrors | ( | ) | const [pure virtual] |
Return vector of alignment errors.
Implemented in AlignableBeamSpot, AlignableComposite, AlignableDet, AlignableDetUnit, AlignableCSCEndcap, AlignableDTBarrel, AlignableMuon, and AlignableTracker.
Referenced by SurveyInputTrackerFromDB::analyze().
AlignmentParameters* Alignable::alignmentParameters | ( | ) | const [inline] |
Get the AlignmentParameters.
Definition at line 57 of file Alignable.h.
References theAlignmentParameters.
Referenced by AlignmentParameterStore::acquireRelativeParameters(), AlignmentParameterStore::alignableFromAlignableDet(), CSCAlignmentCorrections::applyAlignment(), AlignmentParameterStore::applyParameters(), PedeSteerer::buildNoHierarchyCollection(), HIPAlignmentAlgorithm::calcParameters(), PedeReader::checkAliParams(), HIPAlignmentAlgorithm::collector(), PedeSteerer::defineCoordinates(), CompositeAlignmentParameters::derivativesLegacy(), AlignmentCorrelationsStore::fillCorrelationsTable(), AlignmentExtendedCorrelationsStore::fillCorrelationsTable(), HIPAlignmentAlgorithm::fillRoot(), KalmanAlignmentUserVariables::fixAlignable(), PedeSteerer::fixParameter(), CurrentAlignmentKFUpdator::getHigherLevelParameters(), MillePedeAlignmentAlgorithm::globalDerivativesHierarchy(), AlignmentParameterStore::hierarchyConstraints(), KalmanAlignmentUserVariables::histogramParameters(), ParametersToParametersDerivatives::init2BowedRigid(), ParametersToParametersDerivatives::ParametersToParametersDerivatives(), HIPAlignmentAlgorithm::processHit1D(), HIPAlignmentAlgorithm::processHit2D(), CSCChamberFitter::radiusCorrection(), AlignmentParametersIORoot::readOne(), AlignmentParameterStore::resetParameters(), MuonMillepedeAlgorithm::run(), PedeSteerer::selectCoordinateAlis(), AlignmentParameterStore::selectParameters(), SurveyAlignment::shiftSensors(), AlignmentProducer::simpleMisalignment_(), MuonMillepedeAlgorithm::terminate(), HIPAlignmentAlgorithm::terminate(), KalmanAlignmentUserVariables::unfixAlignable(), KalmanAlignmentUserVariables::update(), AlignmentCorrelationsIORoot::write(), AlignableDataIO::writeAbsPos(), AlignmentParametersIORoot::writeOne(), HIPUserVariablesIORoot::writeOne(), MillePedeVariablesIORoot::writeOne(), AlignmentParametersIO::writeOneOrigRigidBody(), AlignableDataIO::writeOrgPos(), and AlignableDataIO::writeRelPos().
{ return theAlignmentParameters; }
virtual Alignments* Alignable::alignments | ( | ) | const [pure virtual] |
Return vector of alignment data.
Implemented in AlignableBeamSpot, AlignableComposite, AlignableDet, AlignableDetUnit, AlignableCSCEndcap, AlignableDTBarrel, AlignableMuon, AlignableSiStripDet, and AlignableTracker.
Referenced by SurveyInputTrackerFromDB::analyze().
virtual Alignables Alignable::components | ( | ) | const [pure virtual] |
Return vector of all direct components.
Implemented in AlignableBeamSpot, AlignableComposite, AlignableDetUnit, AlignableCSCEndcap, AlignableCSCRing, AlignableCSCStation, AlignableDTBarrel, AlignableDTStation, AlignableDTWheel, and AlignableMuon.
Referenced by SurveyMisalignmentInput::addSurveyInfo(), TrackerGeometryCompare::addSurveyInfo(), SurveyInputTrackerFromDB::addSurveyInfo(), AlignmentProducer::addSurveyInfo_(), MuonAlignmentInputSurveyDB::addSurveyInfo_(), TrackerSystematicMisalignments::applySystematicMisalignment(), TrackerOfflineValidation::bookDirHists(), TrackerOfflineValidation::bookSummaryHists(), TrackerOfflineValidation::collateSummaryHists(), MuonGeometryArrange::compare(), TrackerGeometryCompare::compareGeometries(), MuonGeometryArrange::compareGeometries(), align::createPoints(), TrackerGeometryCompare::diffCommonTrackerSystem(), SurveyInputCSCfromPins::fillAllRecords(), SurveyResidual::findSisters(), firstCompsWithParams(), TkDetMap::getComponents(), SurveyDBUploader::getSurveyInfo(), MuonGeometryArrange::isMother(), MuonGeometryArrange::passChosen(), MuonAlignment::recursiveCopySurveyToAlignment(), AlignableNavigator::recursiveGetId(), AlignableMuon::recursiveSetMothers(), CreateSurveyRcds::setGeometry(), CreateSurveyRcds::setSurveyErrors(), and size().
const Alignables& Alignable::deepComponents | ( | ) | const [inline] |
Return the list of lowest daughters (non-composites) of Alignable. Contain itself if Alignable is a unit.
Definition at line 71 of file Alignable.h.
References theDeepComponents.
Referenced by AlignableComposite::addComponent(), AlignmentStats::endJob(), and SurveyResidual::findSisters().
{ return theDeepComponents; }
const GlobalVector& Alignable::displacement | ( | ) | const [inline] |
Return change of the global position since the creation of the object.
Definition at line 135 of file Alignable.h.
References theDisplacement.
Referenced by AlignmentParameterStore::acquireRelativeParameters(), addDisplacement(), BeamSpotAlignmentParameters::displacementFromAlignable(), RigidBodyAlignmentParameters::displacementFromAlignable(), AlignableDetUnit::dump(), KalmanAlignmentUserVariables::extractTrueParameters(), operator<<(), SurveyOutput::write(), AlignableDataIO::writeOrgPos(), and AlignableDataIO::writeRelPos().
{ return theDisplacement; }
virtual void Alignable::dump | ( | ) | const [pure virtual] |
Recursive printout of alignable information.
Implemented in AlignableBeamSpot, AlignableComposite, and AlignableDetUnit.
bool Alignable::firstCompsWithParams | ( | Alignables & | paramComps | ) | const |
Steps down hierarchy until components with AlignmentParameters are found and adds them to argument. True either if no such components are found or if all branches of components end with such components (i.e. 'consistent').
Definition at line 48 of file Alignable.cc.
References components(), and first.
Referenced by AlignmentParameters::hierarchyLevel().
{ bool isConsistent = true; bool hasAliComp = false; // whether there are any (grand-) daughters with parameters bool first = true; const Alignables comps(this->components()); for (Alignables::const_iterator iComp = comps.begin(), iCompEnd = comps.end(); iComp != iCompEnd; ++iComp) { if ((*iComp)->alignmentParameters()) { // component has parameters itself paramComps.push_back(*iComp); if (!first && !hasAliComp) isConsistent = false; hasAliComp = true; } else { const unsigned int nCompBefore = paramComps.size(); if (!(*iComp)->firstCompsWithParams(paramComps)) { isConsistent = false; // problem down in hierarchy } if (paramComps.size() != nCompBefore) { if (!first && !hasAliComp) isConsistent = false; hasAliComp = true; } else if (hasAliComp) { // no components with params, but previous component did have comps. isConsistent = false; } } first = false; } return isConsistent; }
const DetId& Alignable::geomDetId | ( | ) | const [inline] |
Return the DetId of the associated GeomDet (0 by default) This should be removed. Ultimately we need only one ID.
Definition at line 177 of file Alignable.h.
References theDetId.
Referenced by SimpleMetricsUpdator::additionalSelectionCriterion(), TrackerGeometryCompare::addSurveyInfo(), MuonAlignmentInputSurveyDB::addSurveyInfo_(), AlignableDetUnit::alignmentErrors(), AlignableDet::alignmentErrors(), AlignableDet::alignments(), AlignableDetUnit::alignments(), TrackerSystematicMisalignments::applySystematicMisalignment(), SurveyResidual::calculate(), MuonGeometryArrange::checkChosen(), TrackerGeometryCompare::compareGeometries(), AlignmentParameterSelector::detUnitDeselected(), SurveyInputCSCfromPins::fillAllRecords(), MuonGeometryArrange::fillTree(), TrackerGeometryCompare::fillTree(), KalmanAlignmentUserVariables::KalmanAlignmentUserVariables(), MuonResiduals6DOFrphiFitter::plot(), AlignableNavigator::recursiveGetId(), MuonAlignmentFromReference::run(), AlignableDetUnit::surfaceDeformationIdPairs(), and SurveyResidual::SurveyResidual().
{ return theDetId; }
const PositionType& Alignable::globalPosition | ( | ) | const [inline] |
Return the global position of the object.
Definition at line 129 of file Alignable.h.
References GloballyPositioned< T >::position(), and surface().
Referenced by AlignableComposite::addAlignmentPositionErrorFromRotation(), AlignableComposite::addComponent(), SimpleMetricsUpdator::additionalSelectionCriterion(), AlignableBeamSpot::alignments(), AlignableDet::alignments(), AlignableDetUnit::alignments(), AlignmentParameterStore::applyAlignableAbsolutePositions(), TrackerSystematicMisalignments::applySystematicMisalignment(), SurveyResidual::calculate(), AlignableSiStripDet::consistifyAlignments(), align::diffAlignables(), TrackerGeometryCompare::diffCommonTrackerSystem(), MuonAlignmentInputXML::do_setposition(), AlignableComposite::dump(), AlignableBeamSpot::dump(), AlignableDetUnit::dump(), TrackerGeometryCompare::fillTree(), MuonGeometryArrange::fillTree(), PedeSteerer::fixParameter(), FrameToFrameDerivative::frameToFrameDerivative(), PedeSteerer::hierarchyConstraint(), KalmanAlignmentUserVariables::histogramParameters(), ParametersToParametersDerivatives::init2BowedRigid(), MuonScenarioBuilder::moveChamberInSector(), operator<<(), AlignmentParameterSelector::outsideGeometricalRanges(), PedeSteerer::PedeSteerer(), MuonResiduals6DOFrphiFitter::plot(), MuonAlignment::recursiveCopySurveyToAlignment(), AlignableComposite::rotateInGlobalFrame(), MuonAlignmentInputXML::set_one_position(), TrackerGeometryCompare::setCommonTrackerSystem(), AlignableDataIO::writeOrgPos(), and TwoBowedSurfacesAlignmentParameters::ySplitFromAlignable().
const RotationType& Alignable::globalRotation | ( | ) | const [inline] |
Return the global orientation of the object.
Definition at line 132 of file Alignable.h.
References GloballyPositioned< T >::rotation(), and surface().
Referenced by AlignableComposite::addAlignmentPositionErrorFromLocalRotation(), AlignableDetUnit::addAlignmentPositionErrorFromLocalRotation(), AlignableModifier::addAlignmentPositionErrorLocal(), AlignableBeamSpot::alignments(), AlignableDet::alignments(), AlignableDetUnit::alignments(), AlignmentParameterStore::applyAlignableAbsolutePositions(), AlignableBuilder::build(), SurveyResidual::calculate(), AlignableSiStripDet::consistifyAlignments(), BeamSpotAlignmentParameters::displacementFromAlignable(), RigidBodyAlignmentParameters::displacementFromAlignable(), MuonAlignmentInputXML::do_setposition(), AlignableComposite::dump(), AlignableBeamSpot::dump(), AlignableDetUnit::dump(), MuonGeometryArrange::fillTree(), TrackerGeometryCompare::fillTree(), FrameToFrameDerivative::frameToFrameDerivative(), ParametersToParametersDerivatives::init2BowedRigid(), operator<<(), MuonAlignment::recursiveCopySurveyToAlignment(), MuonAlignmentInputXML::set_one_position(), and AlignableDataIO::writeOrgPos().
align::ID Alignable::id | ( | ) | const [inline] |
Return the ID of Alignable, i.e. DetId of 'first' component GeomDet(Unit).
Definition at line 180 of file Alignable.h.
References theId.
Referenced by SurveyMisalignmentInput::addSurveyInfo(), SurveyInputTrackerFromDB::addSurveyInfo(), AlignmentProducer::addSurveyInfo_(), MomentumDependentPedeLabeler::alignableLabel(), PedeLabeler::alignableLabel(), RunRangeDependentPedeLabeler::alignableLabel(), RunRangeDependentPedeLabeler::alignableLabelFromParamAndInstance(), MomentumDependentPedeLabeler::alignableLabelFromParamAndInstance(), AlignmentParameterStore::applyAlignableAbsolutePositions(), AlignmentParameterStore::applyAlignableRelativePositions(), AlignmentMonitorGeneric::book(), AlignmentMonitorSurvey::book(), TrackerOfflineValidation::bookHists(), TrackerOfflineValidation::bookSummaryHists(), AlignableBuilder::build(), MuonGeometryArrange::checkChosen(), TrackerGeometryCompare::compareGeometries(), align::createPoints(), align::diffAlignables(), HIPAlignmentAlgorithm::fillRoot(), MuonGeometryArrange::fillTree(), TrackerGeometryCompare::fillTree(), PedeSteerer::fixParameter(), SurveyDBUploader::getSurveyInfo(), KalmanAlignmentUserVariables::KalmanAlignmentUserVariables(), AlignmentParameterSelector::layerDeselected(), KalmanAlignmentAlgorithm::operator()(), AlignmentParameterSelector::outsideDetIdRanges(), MomentumDependentPedeLabeler::parameterLabel(), RunRangeDependentPedeLabeler::parameterLabel(), PedeSteerer::PedeSteerer(), AlignableDataIORoot::readAbsRaw(), HIPUserVariablesIORoot::readOne(), AlignmentParametersIORoot::readOne(), MillePedeVariablesIORoot::readOne(), AlignableDataIORoot::readRelRaw(), CreateSurveyRcds::setGeometry(), CreateSurveyRcds::setSurveyErrors(), HIPAlignmentAlgorithm::terminate(), AlignmentParameterStore::typeAndLayer(), AlignmentCorrelationsIORoot::write(), AlignableDataIO::writeAbsPos(), AlignmentParametersIORoot::writeOne(), HIPUserVariablesIORoot::writeOne(), MillePedeVariablesIORoot::writeOne(), AlignableDataIO::writeOrgPos(), and AlignableDataIO::writeRelPos().
{ return theId; }
Alignable* Alignable::mother | ( | ) | const [inline] |
Return pointer to container alignable (if any)
Definition at line 85 of file Alignable.h.
References theMother.
Referenced by AlignmentParameterStore::alignableFromAlignableDet(), SurveyInputCSCfromPins::analyze(), PedeSteerer::buildNoHierarchyCollection(), SurveyResidual::calculate(), MuonGeometryArrange::compareGeometries(), align::createPoints(), MuonAlignmentInputXML::do_setposition(), AlignmentMonitorTemplate::event(), AlignmentMonitorGeneric::event(), MuonGeometryArrange::fillTree(), TrackerGeometryCompare::fillTree(), SurveyResidual::findSisters(), MuonAlignmentInputXML::getCSCnode(), MuonAlignmentInputXML::getDTnode(), CurrentAlignmentKFUpdator::getHigherLevelParameters(), MillePedeAlignmentAlgorithm::globalDerivativesHierarchy(), PedeSteerer::selectCoordinateAlis(), CreateSurveyRcds::setGeometry(), setMother(), and SurveyResidual::SurveyResidual().
{ return theMother; }
virtual void Alignable::move | ( | const GlobalVector & | displacement | ) | [pure virtual] |
Movement with respect to the global reference frame.
Implemented in AlignableBeamSpot, AlignableComposite, and AlignableDetUnit.
Referenced by SurveyInputTrackerFromDB::addSurveyInfo(), SurveyInputCSCfromPins::analyze(), BeamSpotAlignmentParameters::apply(), RigidBodyAlignmentParameters::apply(), TwoBowedSurfacesAlignmentParameters::apply(), BowedSurfaceAlignmentParameters::apply(), AlignmentParameterStore::applyAlignableAbsolutePositions(), AlignmentParameterStore::applyAlignableRelativePositions(), KalmanAlignmentAlgorithm::applyAlignmentParameters(), TrackerSystematicMisalignments::applySystematicMisalignment(), PedeSteerer::correctToReferenceSystem(), MuonAlignmentInputXML::do_moveglobal(), MuonAlignmentInputXML::do_movelocal(), MuonAlignmentInputXML::do_rotatebeamline(), MuonAlignmentInputXML::do_rotateglobalaxis(), AlignableModifier::moveAlignable(), align::moveAlignable(), MuonAlignment::moveAlignableGlobalCoord(), AlignableModifier::moveAlignableLocal(), MuonAlignment::moveAlignableLocalCoord(), MuonAlignment::recursiveCopySurveyToAlignment(), MuonAlignmentInputXML::set_one_position(), CreateSurveyRcds::setGeometry(), SurveyAlignment::shiftSensors(), and AlignmentProducer::simpleMisalignment_().
virtual void Alignable::recursiveComponents | ( | Alignables & | result | ) | const [pure virtual] |
Provide all components, subcomponents, subsub... etc. of Alignable down to AlignableDetUnit, except for 'single childs' like e.g. AlignableDetUnits of AlignableDets representing single sided SiStrip modules. (for performance reason by adding to argument)
Implemented in AlignableBeamSpot, AlignableComposite, and AlignableDetUnit.
void Alignable::rotateAroundGlobalAxis | ( | const GlobalVector & | axis, |
Scalar | radians | ||
) | [virtual] |
Rotation around arbitratry global axis.
Definition at line 102 of file Alignable.cc.
References PV3DBase< T, PVType, FrameType >::basicVector(), and rotateInGlobalFrame().
Referenced by MuonAlignmentInputXML::do_rotateglobalaxis().
{ rotateInGlobalFrame( RotationType(axis.basicVector(),radians) ); }
void Alignable::rotateAroundGlobalX | ( | Scalar | radians | ) | [virtual] |
Rotation around global x-axis.
Definition at line 120 of file Alignable.cc.
References funct::cos(), rotateInGlobalFrame(), and funct::sin().
Referenced by MuonAlignment::moveAlignableGlobalCoord(), and AlignableModifier::rotateAlignable().
{ RotationType rot( 1., 0., 0., 0., std::cos(radians), std::sin(radians), 0., -std::sin(radians), std::cos(radians) ); rotateInGlobalFrame(rot); }
void Alignable::rotateAroundGlobalY | ( | Scalar | radians | ) | [virtual] |
Rotation around global y-axis.
Definition at line 146 of file Alignable.cc.
References funct::cos(), rotateInGlobalFrame(), and funct::sin().
Referenced by MuonAlignment::moveAlignableGlobalCoord(), and AlignableModifier::rotateAlignable().
{ RotationType rot( std::cos(radians), 0., -std::sin(radians), 0., 1., 0., std::sin(radians), 0., std::cos(radians) ); rotateInGlobalFrame(rot); }
void Alignable::rotateAroundGlobalZ | ( | Scalar | radians | ) | [virtual] |
Rotation around global z-axis.
Definition at line 172 of file Alignable.cc.
References funct::cos(), rotateInGlobalFrame(), and funct::sin().
Referenced by MuonAlignmentInputXML::do_rotatebeamline(), MuonAlignment::moveAlignableGlobalCoord(), and AlignableModifier::rotateAlignable().
{ RotationType rot( std::cos(radians), std::sin(radians), 0., -std::sin(radians), std::cos(radians), 0., 0., 0., 1. ); rotateInGlobalFrame(rot); }
void Alignable::rotateAroundLocalAxis | ( | const LocalVector & | axis, |
Scalar | radians | ||
) | [virtual] |
Rotation around arbitratry local axis.
Definition at line 111 of file Alignable.cc.
References PV3DBase< T, PVType, FrameType >::basicVector(), and rotateInLocalFrame().
Referenced by MuonAlignmentInputXML::do_rotatelocal().
{ rotateInLocalFrame(RotationType(axis.basicVector(), radians)); }
void Alignable::rotateAroundLocalX | ( | Scalar | radians | ) | [virtual] |
Rotation around local x-axis.
Definition at line 133 of file Alignable.cc.
References funct::cos(), rotateInLocalFrame(), and funct::sin().
Referenced by SurveyInputCSCfromPins::analyze(), MuonAlignment::moveAlignableLocalCoord(), AlignableModifier::rotateAlignableLocal(), and CreateSurveyRcds::setGeometry().
{ RotationType rot( 1., 0., 0., 0., std::cos(radians), std::sin(radians), 0., -std::sin(radians), std::cos(radians) ); rotateInLocalFrame(rot); }
void Alignable::rotateAroundLocalY | ( | Scalar | radians | ) | [virtual] |
Rotation around local y-axis.
Definition at line 159 of file Alignable.cc.
References funct::cos(), rotateInLocalFrame(), and funct::sin().
Referenced by MuonAlignment::moveAlignableLocalCoord(), AlignableModifier::rotateAlignableLocal(), and CreateSurveyRcds::setGeometry().
{ RotationType rot( std::cos(radians), 0., -std::sin(radians), 0., 1., 0., std::sin(radians), 0., std::cos(radians) ); rotateInLocalFrame(rot); }
void Alignable::rotateAroundLocalZ | ( | Scalar | radians | ) | [virtual] |
Rotation around local z-axis.
Definition at line 185 of file Alignable.cc.
References funct::cos(), rotateInLocalFrame(), and funct::sin().
Referenced by SurveyInputCSCfromPins::analyze(), MuonAlignment::moveAlignableLocalCoord(), AlignableModifier::rotateAlignableLocal(), and CreateSurveyRcds::setGeometry().
{ RotationType rot( std::cos(radians), std::sin(radians), 0. , -std::sin(radians), std::cos(radians), 0. , 0., 0., 1. ); rotateInLocalFrame(rot); }
virtual void Alignable::rotateInGlobalFrame | ( | const RotationType & | rotation | ) | [pure virtual] |
Rotation intepreted such that the orientation of the rotation axis is w.r.t. to the global coordinate system. Rotation is relative to current orientation
Implemented in AlignableBeamSpot, AlignableComposite, and AlignableDetUnit.
Referenced by BeamSpotAlignmentParameters::apply(), RigidBodyAlignmentParameters::apply(), TwoBowedSurfacesAlignmentParameters::apply(), BowedSurfaceAlignmentParameters::apply(), AlignmentParameterStore::applyAlignableAbsolutePositions(), AlignmentParameterStore::applyAlignableRelativePositions(), PedeSteerer::correctToReferenceSystem(), align::moveAlignable(), MuonAlignment::recursiveCopySurveyToAlignment(), rotateAroundGlobalAxis(), rotateAroundGlobalX(), rotateAroundGlobalY(), rotateAroundGlobalZ(), rotateInLocalFrame(), MuonAlignmentInputXML::set_one_position(), SurveyAlignment::shiftSensors(), and AlignmentProducer::simpleMisalignment_().
void Alignable::rotateInLocalFrame | ( | const RotationType & | rotation | ) | [virtual] |
Rotation intepreted in the local reference frame.
Definition at line 89 of file Alignable.cc.
References rotateInGlobalFrame(), and surface().
Referenced by SurveyInputTrackerFromDB::addSurveyInfo(), KalmanAlignmentAlgorithm::applyAlignmentParameters(), rotateAroundLocalAxis(), rotateAroundLocalX(), rotateAroundLocalY(), rotateAroundLocalZ(), and AlignmentProducer::simpleMisalignment_().
{ // This is done by simply transforming the rotation from // the local system O to the global one O^-1 * Rot * O // and then applying the global rotation O * Rot rotateInGlobalFrame( surface().toGlobal(rotation) ); }
const RotationType& Alignable::rotation | ( | ) | const [inline] |
Return change of orientation since the creation of the object.
Definition at line 138 of file Alignable.h.
References theRotation.
Referenced by AlignmentParameterStore::acquireRelativeParameters(), addRotation(), AlignableSiStripDet::consistifyAlignments(), BeamSpotAlignmentParameters::displacementFromAlignable(), RigidBodyAlignmentParameters::displacementFromAlignable(), AlignableDetUnit::dump(), KalmanAlignmentUserVariables::extractTrueParameters(), operator<<(), SurveyOutput::write(), AlignableDataIO::writeOrgPos(), and AlignableDataIO::writeRelPos().
{ return theRotation; }
void Alignable::setAlignmentParameters | ( | AlignmentParameters * | dap | ) |
Set the AlignmentParameters.
Definition at line 79 of file Alignable.cc.
References theAlignmentParameters.
Referenced by AlignmentParameterStore::acquireRelativeParameters(), AlignmentParameterBuilder::add(), CSCAlignmentCorrections::applyAlignment(), HIPAlignmentAlgorithm::calcParameters(), PedeSteerer::defineCoordinates(), SurveyAlignmentPoints::findAlignPars(), SurveyAlignmentSensor::findAlignPars(), KalmanAlignmentUserVariables::fixAlignable(), CSCChamberFitter::radiusCorrection(), AlignmentParameterStore::resetParameters(), PedeReader::setParameter(), KalmanAlignmentUserVariables::unfixAlignable(), and AlignmentParametersIO::writeOneOrigRigidBody().
{ delete theAlignmentParameters; theAlignmentParameters = dap; }
virtual void Alignable::setAlignmentPositionError | ( | const AlignmentPositionError & | ape, |
bool | propagateDown | ||
) | [pure virtual] |
Set the alignment position error - if (!propagateDown) do not affect daughters.
Implemented in AlignableBeamSpot, AlignableComposite, AlignableDet, and AlignableDetUnit.
Referenced by KalmanAlignmentAlgorithm::applyAlignmentParameters(), MuonAlignment::recursiveCopySurveyToAlignment(), and AlignmentParameterStore::setAlignmentPositionError().
void Alignable::setMother | ( | Alignable * | mother | ) | [inline] |
Assign mother to alignable.
Definition at line 88 of file Alignable.h.
References mother(), and theMother.
Referenced by AlignableComposite::addComponent().
virtual void Alignable::setSurfaceDeformation | ( | const SurfaceDeformation * | deformation, |
bool | propagateDown | ||
) | [pure virtual] |
Set the surface deformation parameters - if (!propagateDown) do not affect daughters.
Implemented in AlignableBeamSpot, AlignableComposite, and AlignableDetUnit.
void Alignable::setSurvey | ( | const SurveyDet * | survey | ) |
Set survey info.
Definition at line 243 of file Alignable.cc.
References survey(), and theSurvey.
Referenced by SurveyMisalignmentInput::addSurveyInfo(), TrackerGeometryCompare::addSurveyInfo(), SurveyInputTrackerFromDB::addSurveyInfo(), AlignmentProducer::addSurveyInfo_(), MuonAlignmentInputSurveyDB::addSurveyInfo_(), SurveyInputCSCfromPins::analyze(), MuonAlignment::copyAlignmentToSurvey(), align::createPoints(), MuonAlignmentInputXML::do_moveglobal(), MuonAlignmentInputXML::do_movelocal(), MuonAlignmentInputXML::do_rotatebeamline(), MuonAlignmentInputXML::do_rotateglobalaxis(), MuonAlignmentInputXML::do_rotatelocal(), MuonAlignmentInputXML::do_setsurveyerr(), SurveyInputCSCfromPins::fillAllRecords(), MuonAlignmentInputXML::set_one_position(), and CreateSurveyRcds::setSurveyErrors().
const int Alignable::size | ( | ) | const [inline] |
Return number of direct components.
Definition at line 67 of file Alignable.h.
References components().
Referenced by AlignableCSCRing::chamber(), AlignableDTStation::chamber(), AlignableComposite::moveComponentLocal(), AlignableCSCStation::ring(), AlignableCSCEndcap::station(), AlignableDTWheel::station(), and AlignableDTBarrel::wheel().
{ return components().size(); }
const AlignableSurface& Alignable::surface | ( | ) | const [inline] |
Return the Surface (global position and orientation) of the object.
Definition at line 126 of file Alignable.h.
References theSurface.
Referenced by AlignmentParameterStore::acquireRelativeParameters(), AlignableDetUnit::addAlignmentPositionErrorFromRotation(), AlignableDet::addAlignmentPositionErrorFromRotation(), SurveyMisalignmentInput::addSurveyInfo(), TrackerGeometryCompare::addSurveyInfo(), SurveyInputTrackerFromDB::addSurveyInfo(), AlignmentProducer::addSurveyInfo_(), MuonAlignmentInputSurveyDB::addSurveyInfo_(), SurveyInputCSCfromPins::analyze(), MuonGeometrySVGTemplate::analyze(), BeamSpotAlignmentParameters::apply(), RigidBodyAlignmentParameters::apply(), TwoBowedSurfacesAlignmentParameters::apply(), BowedSurfaceAlignmentParameters::apply(), CSCAlignmentCorrections::applyAlignment(), KalmanAlignmentAlgorithm::applyAlignmentParameters(), SurveyResidual::calculate(), MuonAlignment::copyAlignmentToSurvey(), align::createPoints(), TwoBowedSurfacesAlignmentParameters::derivatives(), BowedSurfaceAlignmentParameters::derivatives(), align::diffAlignables(), RigidBodyAlignmentParameters::displacementFromAlignable(), MuonAlignmentInputXML::do_moveglobal(), MuonAlignmentInputXML::do_movelocal(), MuonAlignmentInputXML::do_rotatebeamline(), MuonAlignmentInputXML::do_rotateglobalaxis(), MuonAlignmentInputXML::do_rotatelocal(), MuonAlignmentInputXML::do_setsurveyerr(), KalmanAlignmentUserVariables::extractTrueParameters(), SurveyInputCSCfromPins::fillAllRecords(), HIPAlignmentAlgorithm::fillRoot(), MuonGeometryArrange::fillTree(), TrackerGeometryCompare::fillTree(), RigidBodyAlignmentParameters::globalParameters(), BeamSpotAlignmentParameters::globalParameters(), globalPosition(), globalRotation(), KalmanAlignmentUserVariables::histogramParameters(), ParametersToParametersDerivatives::init2BowedRigid(), ParametersToParametersDerivatives::initBowedRigid(), AlignableModifier::moveAlignableLocal(), MuonAlignment::moveAlignableLocalCoord(), AlignableComposite::moveComponentLocal(), AlignableComposite::moveComponentsLocal(), operator<<(), PedeSteerer::PedeSteerer(), MuonResiduals6DOFrphiFitter::plot(), MuonResiduals6DOFFitter::plot(), MuonResiduals5DOFFitter::plot(), rotateInLocalFrame(), BowedSurfaceAlignmentParameters::rotation(), MuonAlignmentInputXML::set_one_position(), CreateSurveyRcds::setGeometry(), CreateSurveyRcds::setSurveyErrors(), SurveyAlignment::shiftSensors(), AlignmentProducer::simpleMisalignment_(), KalmanAlignmentUserVariables::update(), and AlignableDataIO::writeAbsPos().
{ return theSurface; }
virtual int Alignable::surfaceDeformationIdPairs | ( | std::vector< std::pair< int, SurfaceDeformation * > > & | ) | const [pure virtual] |
Return surface deformations as a vector of pairs of raw DetId and pointers to surface deformations
Implemented in AlignableBeamSpot, AlignableComposite, and AlignableDetUnit.
Referenced by surfaceDeformations(), and AlignableDataIO::writeAbsPos().
AlignmentSurfaceDeformations * Alignable::surfaceDeformations | ( | void | ) | const |
Return surface deformations, sorted by DetId.
Definition at line 214 of file Alignable.cc.
References AlignmentSurfaceDeformations::add(), query::result, python::multivaluedict::sort(), and surfaceDeformationIdPairs().
Referenced by AlignmentProducer::endOfJob(), and AlignmentProducer::startingNewLoop().
{ typedef std::pair<int,SurfaceDeformation*> IdSurfaceDeformationPtrPair; std::vector<IdSurfaceDeformationPtrPair> result; surfaceDeformationIdPairs(result); std::sort( result.begin(), result.end(), lessIdAlignmentPair<IdSurfaceDeformationPtrPair>() ); AlignmentSurfaceDeformations* allSurfaceDeformations = new AlignmentSurfaceDeformations(); for ( std::vector<IdSurfaceDeformationPtrPair>::const_iterator iPair = result.begin(); iPair != result.end(); ++iPair) { // should we check for 'empty' parameters here (all zeros) and skip ? // may be add 'empty' method to SurfaceDeformation allSurfaceDeformations->add((*iPair).first, (*iPair).second->type(), (*iPair).second->parameters()); } return allSurfaceDeformations; }
const SurveyDet* Alignable::survey | ( | ) | const [inline] |
Return survey info.
Definition at line 199 of file Alignable.h.
References theSurvey.
Referenced by SurveyInputCSCfromPins::analyze(), SurveyResidual::calculate(), align::createPoints(), MuonAlignmentInputXML::do_moveglobal(), MuonAlignmentInputXML::do_movelocal(), MuonAlignmentInputXML::do_rotatebeamline(), MuonAlignmentInputXML::do_rotateglobalaxis(), MuonAlignmentInputXML::do_rotatelocal(), SurveyInputCSCfromPins::fillAllRecords(), SurveyAlignmentPoints::findAlignPars(), SurveyDBUploader::getSurveyInfo(), MuonAlignment::recursiveCopySurveyToAlignment(), MuonAlignmentInputXML::set_one_position(), and setSurvey().
{ return theSurvey; }
Definition at line 226 of file Alignable.h.
Referenced by alignmentParameters(), setAlignmentParameters(), and ~Alignable().
Alignables Alignable::theDeepComponents [protected] |
Definition at line 221 of file Alignable.h.
Referenced by AlignableComposite::addComponent(), AlignableDetUnit::AlignableDetUnit(), and deepComponents().
DetId Alignable::theDetId [protected] |
Definition at line 211 of file Alignable.h.
Referenced by geomDetId().
GlobalVector Alignable::theDisplacement [protected] |
Definition at line 218 of file Alignable.h.
Referenced by addDisplacement(), and displacement().
align::ID Alignable::theId [protected] |
Definition at line 214 of file Alignable.h.
Referenced by AlignableMuon::AlignableMuon(), AlignableTracker::AlignableTracker(), AlignableBeamSpot::alignmentErrors(), AlignableBeamSpot::alignments(), and id().
Alignable* Alignable::theMother [private] |
Definition at line 230 of file Alignable.h.
Referenced by mother(), and setMother().
RotationType Alignable::theRotation [protected] |
Definition at line 219 of file Alignable.h.
Referenced by addRotation(), AlignableSiStripDet::consistifyAlignments(), and rotation().
AlignableSurface Alignable::theSurface [protected] |
Definition at line 216 of file Alignable.h.
Referenced by AlignableComposite::addComponent(), AlignableCSCChamber::AlignableCSCChamber(), AlignableDet::AlignableDet(), AlignableDTChamber::AlignableDTChamber(), AlignableDTSuperLayer::AlignableDTSuperLayer(), AlignableSiStripDet::consistifyAlignments(), AlignableBeamSpot::dump(), AlignableBeamSpot::initialize(), AlignableDetUnit::move(), AlignableComposite::move(), AlignableBeamSpot::move(), AlignableBeamSpot::rotateInGlobalFrame(), AlignableComposite::rotateInGlobalFrame(), AlignableDetUnit::rotateInGlobalFrame(), AlignableComposite::setSurface(), and surface().
const SurveyDet* Alignable::theSurvey [private] |
Definition at line 232 of file Alignable.h.
Referenced by setSurvey(), survey(), and ~Alignable().