7 #include "CLHEP/Vector/RotationInterfaces.h"
16 Alignable(geomDetUnit->geographicalId().rawId(), geomDetUnit->surface()),
17 theAlignmentPositionError(0),
18 theSurfaceDeformation(0),
19 theCachedSurfaceDeformation(0)
47 <<
"AlignableDetUnit cannot have components, but try to add one!";
146 edm::LogError(
"Alignment") <<
"@SUB=AlignableDetUnit::addSurfaceDeformation"
147 <<
"Cannot add deformation type " << deformation->
type()
149 <<
", so erase deformation information.";
161 <<
", orientation:" << std::endl << this->
globalRotation() << std::endl
162 <<
" total displacement and rotation: " << this->
displacement() << std::endl
176 CLHEP::HepRotation clhepRotation( CLHEP::HepRep3x3( rot.
xx(), rot.
xy(), rot.
xz(),
177 rot.
yx(), rot.
yy(), rot.
yz(),
178 rot.
zx(), rot.
zy(), rot.
zz() ) );
184 m_alignments->
m_align.push_back( transform );
199 CLHEP::HepSymMatrix clhepSymMatrix(3,0);
205 m_alignmentErrors->
m_alignError.push_back( transformError );
207 return m_alignmentErrors;
RotationType theCachedRotation
CLHEP::HepMatrix asHepMatrix(const ROOT::Math::SMatrix< double, N1, N2, typename ROOT::Math::MatRepStd< double, N1, N2 > > &rm)
virtual void addAlignmentPositionErrorFromRotation(const RotationType &rot, bool)
virtual void rotateInGlobalFrame(const RotationType &rotation)
Rotation with respect to the global reference frame.
const GlobalVector & displacement() const
Return change of the global position since the creation of the object.
std::vector< AlignTransformError > m_alignError
const AlgebraicSymMatrix33 & matrix() const
void move(const GlobalVector &displacement)
const RotationType & globalRotation() const
Return the global orientation of the object.
virtual void addAlignmentPositionError(const AlignmentPositionError &ape, bool)
align::LocalVector LocalVector
std::vector< AlignTransform > m_align
GlobalVector theDisplacement
SurfaceDeformation * theCachedSurfaceDeformation
uint32_t rawId() const
get the raw id
virtual void move(const GlobalVector &displacement)
Move with respect to the global reference frame.
virtual void setSurfaceDeformation(const SurfaceDeformation *deformation, bool)
Set surface deformation parameters (2nd argument without effect)
const RotationType & rotation() const
Return change of orientation since the creation of the object.
AlignableDetUnit(const GeomDetUnit *geomDetUnit)
Constructor from GeomDetUnit - must not be NULL pointer!
virtual void addAlignmentPositionErrorFromLocalRotation(const RotationType &rot, bool)
virtual Alignments * alignments() const
Return vector of alignment data.
virtual void setAlignmentPositionError(const AlignmentPositionError &ape, bool)
Set the AlignmentPositionError (no components => second argument ignored)
virtual void addSurfaceDeformation(const SurfaceDeformation *deformation, bool)
Add surface deformation parameters to the existing ones (2nd argument without effect) ...
virtual void dump() const
Printout information about GeomDet.
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
virtual int surfaceDeformationIdPairs(std::vector< std::pair< int, SurfaceDeformation * > > &) const
Return surface deformations.
AlignableSurface theCachedSurface
virtual ~AlignableDetUnit()
Destructor.
virtual void addComponent(Alignable *)
No components here => exception!
void addRotation(const RotationType &rotation)
const GlobalError & globalError() const
GlobalVector theCachedDisplacement
void addDisplacement(const GlobalVector &displacement)
virtual void cacheTransformation()
cache the current position, rotation and other parameters (e.g. surface deformations) ...
void rotate(const RotationType &rotation)
virtual const SurfaceDeformation * surfaceDeformation() const
virtual void restoreCachedTransformation()
restore the previously cached transformation
align::GlobalPoints toGlobal(const align::LocalPoints &) const
Return in global coord given a set of local points.
AlignmentPositionError * theAlignmentPositionError
const PositionType & globalPosition() const
Return the global position of the object.
Basic3DVector< T > multiplyInverse(const Basic3DVector< T > &v) const
const BasicVectorType & basicVector() const
SurfaceDeformation * theSurfaceDeformation
AlignmentPositionError const * alignmentPositionError() const
Return pointer to alignment errors.
const DetId & geomDetId() const
AlignableSurface theSurface
Alignables theDeepComponents
virtual AlignmentErrors * alignmentErrors() const
Return vector of alignment errors.