|
|
Go to the documentation of this file.
7 #include "CLHEP/Vector/RotationInterfaces.h"
17 Alignable(geomDetUnit->geographicalId().rawId(), geomDetUnit->surface()),
18 theAlignmentPositionError(nullptr),
19 theSurfaceDeformation(nullptr),
20 theCachedSurfaceDeformation(nullptr) {
46 throw cms::Exception(
"Alignment") <<
"@SUB=AlignableDetUnit::update\n"
47 <<
"Trying to update with GeomDetUnit* pointing to 'nullptr'.";
65 throw cms::Exception(
"LogicError") <<
"AlignableDetUnit cannot have components, but try to add one!";
133 edm::LogError(
"Alignment") <<
"@SUB=AlignableDetUnit::addSurfaceDeformation"
134 <<
"Cannot add deformation type " << deformation->
type() <<
" to type "
145 parameters <<
" surface deformation parameters:";
150 parameters <<
" no surface deformation parameters";
154 <<
", orientation:" << std::endl
156 <<
" total displacement and rotation: " << this->
displacement() << std::endl
168 CLHEP::HepRotation clhepRotation(
186 CLHEP::HepSymMatrix clhepSymMatrix(6, 0);
192 m_alignmentErrors->
m_alignError.push_back(transformError);
194 return m_alignmentErrors;
230 delete existingCache->second;
231 existingCache->second =
nullptr;
258 throw cms::Exception(
"Alignment") <<
"@SUB=Alignable::restoreCachedTransformation\n"
259 <<
"Trying to restore cached transformation for a run (" <<
run
260 <<
") that has not been cached.";
GlobalVector theDisplacement
Alignables theDeepComponents
void addAlignmentPositionErrorFromLocalRotation(const RotationType &rot, bool) final
void rotate(const RotationType &rotation)
~AlignableDetUnit() override
Destructor.
void addSurfaceDeformation(const SurfaceDeformation *deformation, bool) final
Add surface deformation parameters to the existing ones (2nd argument without effect)
AlignableSurface theCachedSurface
cond::RealTimeType< cond::runnumber >::type RunNumber
Alignments * alignments() const override
Return vector of alignment data.
AlignmentPositionError * theAlignmentPositionError
void addComponent(Alignable *) final
No components here => exception!
Basic3DVector< T > multiplyInverse(const Basic3DVector< T > &v) const
void setAlignmentPositionError(const AlignmentPositionError &ape, bool) final
Set the AlignmentPositionError (no components => second argument ignored)
SurfaceDeformation * theSurfaceDeformation
Cache< AlignableSurface > surfacesCache_
AlignmentErrorsExtended * alignmentErrors() const override
Return vector of alignment errors.
const Plane & surface() const
The nominal surface of the GeomDet.
void addAlignmentPositionErrorFromRotation(const RotationType &rot, bool) final
const GlobalErrorExtended & globalError() const
virtual const SurfaceDeformation * surfaceDeformation() const
void update(align::ID, const AlignableSurface &)
align::GlobalPoints toGlobal(const align::LocalPoints &) const
Return in global coord given a set of local points.
void addRotation(const RotationType &rotation)
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
const GlobalVector & displacement() const
Return change of the global position since the creation of the object.
Cache< GlobalVector > displacementsCache_
void setSurfaceDeformation(const SurfaceDeformation *deformation, bool) final
Set surface deformation parameters (2nd argument without effect)
DetId geographicalId() const
The label of this GeomDet.
void move(const GlobalVector &displacement) override
Move with respect to the global reference frame.
AlignmentPositionError const * alignmentPositionError() const
Return pointer to alignment errors.
const RotationType & rotation() const
Return change of orientation since the creation of the object.
SurfaceDeformation * theCachedSurfaceDeformation
const DetId & geomDetId() const
void move(const GlobalVector &displacement)
void rotateInGlobalFrame(const RotationType &rotation) override
Rotation with respect to the global reference frame.
void dump() const override
Printout information about GeomDet.
AlignableSurface theSurface
RotationType theCachedRotation
const BasicVectorType & basicVector() const
void update(const GeomDetUnit *geomDetUnit)
void cacheTransformation() override
cache the current position, rotation and other parameters (e.g. surface deformations)
void restoreCachedTransformation() override
restore the previously cached transformation
std::vector< Alignable * > Alignables
constexpr uint32_t rawId() const
get the raw id
Cache< RotationType > rotationsCache_
AlignableDetUnit(const GeomDetUnit *geomDetUnit)
Constructor from GeomDetUnit - must not be NULL pointer!
GlobalVector theCachedDisplacement
void addDisplacement(const GlobalVector &displacement)
void addAlignmentPositionError(const AlignmentPositionError &ape, bool) final
const AlgebraicSymMatrix66 & matrix() const
std::vector< AlignTransform > m_align
std::vector< AlignTransformErrorExtended > m_alignError
Cache< SurfaceDeformation * > surfaceDeformationsCache_
const PositionType & globalPosition() const
Return the global position of the object.
CLHEP::HepMatrix asHepMatrix(const ROOT::Math::SMatrix< double, N1, N2, typename ROOT::Math::MatRepStd< double, N1, N2 > > &rm)
align::LocalVector LocalVector
int surfaceDeformationIdPairs(std::vector< std::pair< int, SurfaceDeformation * > > &) const override
Return surface deformations.
const RotationType & globalRotation() const
Return the global orientation of the object.
static const Alignables emptyComponents_