CMS 3D CMS Logo

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

#include <AlignableDetUnit.h>

Inheritance diagram for AlignableDetUnit:
Alignable

Public Member Functions

void addAlignmentPositionError (const AlignmentPositionError &ape, bool) final
 
void addAlignmentPositionErrorFromLocalRotation (const RotationType &rot, bool) final
 
void addAlignmentPositionErrorFromRotation (const RotationType &rot, bool) final
 
void addComponent (Alignable *) final
 No components here => exception! More...
 
void addSurfaceDeformation (const SurfaceDeformation *deformation, bool) final
 Add surface deformation parameters to the existing ones (2nd argument without effect) More...
 
 AlignableDetUnit (const GeomDetUnit *geomDetUnit)
 Constructor from GeomDetUnit - must not be NULL pointer! More...
 
StructureType alignableObjectId () const override
 Return the alignable type identifier. More...
 
AlignmentErrorsExtendedalignmentErrors () const override
 Return vector of alignment errors. More...
 
const AlignmentPositionErroralignmentPositionError () const
 alignment position error - for checking only, otherwise use alignmentErrors() above! More...
 
Alignmentsalignments () const override
 Return vector of alignment data. More...
 
void cacheTransformation () override
 cache the current position, rotation and other parameters (e.g. surface deformations) More...
 
void cacheTransformation (const align::RunNumber &) override
 cache for the given run the current position, rotation and other parameters (e.g. surface deformations) More...
 
const Alignablescomponents () const override
 Returns a null vector (no components here) More...
 
void dump () const override
 Printout information about GeomDet. More...
 
void move (const GlobalVector &displacement) override
 Move with respect to the global reference frame. More...
 
void recursiveComponents (Alignables &result) const override
 Do nothing (no components here, so no subcomponents either...) More...
 
void restoreCachedTransformation () override
 restore the previously cached transformation More...
 
void restoreCachedTransformation (const align::RunNumber &) override
 restore for the given run the previously cached transformation More...
 
void rotateInGlobalFrame (const RotationType &rotation) override
 Rotation with respect to the global reference frame. More...
 
void setAlignmentPositionError (const AlignmentPositionError &ape, bool) final
 Set the AlignmentPositionError (no components => second argument ignored) More...
 
void setSurfaceDeformation (const SurfaceDeformation *deformation, bool) final
 Set surface deformation parameters (2nd argument without effect) More...
 
int surfaceDeformationIdPairs (std::vector< std::pair< int, SurfaceDeformation * > > &) const override
 Return surface deformations. More...
 
void update (const GeomDetUnit *geomDetUnit)
 
 ~AlignableDetUnit () override
 Destructor. More...
 
- Public Member Functions inherited from Alignable
 Alignable (align::ID, const AlignableSurface &)
 
 Alignable (align::ID, const RotationType &)
 
AlignmentParametersalignmentParameters () const
 Get the AlignmentParameters. More...
 
virtual CompConstraintType compConstraintType () const
 Return the alignable type of contraints wrt. its components. More...
 
const AlignablesdeepComponents () const
 
const GlobalVectordisplacement () const
 Return change of the global position since the creation of the object. More...
 
bool firstCompsWithParams (Alignables &paramComps) const
 
const DetIdgeomDetId () const
 
const PositionTypeglobalPosition () const
 Return the global position of the object. More...
 
const RotationTypeglobalRotation () const
 Return the global orientation of the object. More...
 
align::ID id () const
 Return the ID of Alignable, i.e. DetId of 'first' component GeomDet(Unit). More...
 
bool lastCompsWithParams (Alignables &paramComps) const
 
Alignablemother () const
 Return pointer to container alignable (if any) More...
 
virtual void recenterSurface ()
 Recenter surface object without moving possible components. More...
 
virtual void rotateAroundGlobalAxis (const GlobalVector &axis, Scalar radians)
 Rotation around arbitratry global axis. More...
 
virtual void rotateAroundGlobalX (Scalar radians)
 Rotation around global x-axis. More...
 
virtual void rotateAroundGlobalY (Scalar radians)
 Rotation around global y-axis. More...
 
virtual void rotateAroundGlobalZ (Scalar radians)
 Rotation around global z-axis. More...
 
virtual void rotateAroundLocalAxis (const LocalVector &axis, Scalar radians)
 Rotation around arbitratry local axis. More...
 
virtual void rotateAroundLocalX (Scalar radians)
 Rotation around local x-axis. More...
 
virtual void rotateAroundLocalY (Scalar radians)
 Rotation around local y-axis. More...
 
virtual void rotateAroundLocalZ (Scalar radians)
 Rotation around local z-axis. More...
 
virtual void rotateInLocalFrame (const RotationType &rotation)
 Rotation intepreted in the local reference frame. More...
 
const RotationTyperotation () const
 Return change of orientation since the creation of the object. More...
 
void setAlignmentParameters (AlignmentParameters *dap)
 Set the AlignmentParameters. More...
 
void setMother (Alignable *mother)
 Assign mother to alignable. More...
 
void setSurvey (const SurveyDet *)
 Set survey info. More...
 
int size () const
 Return number of direct components. More...
 
const AlignableSurfacesurface () const
 Return the Surface (global position and orientation) of the object. More...
 
AlignmentSurfaceDeformationssurfaceDeformations () const
 Return surface deformations, sorted by DetId. More...
 
const SurveyDetsurvey () const
 Return survey info. More...
 
void update (align::ID, const AlignableSurface &)
 
virtual ~Alignable ()
 Destructor. More...
 

Private Attributes

Cache< SurfaceDeformation * > surfaceDeformationsCache_
 
AlignmentPositionErrortheAlignmentPositionError
 
SurfaceDeformationtheCachedSurfaceDeformation
 
SurfaceDeformationtheSurfaceDeformation
 

Static Private Attributes

static const Alignables emptyComponents_ {}
 

Additional Inherited Members

- Public Types inherited from Alignable
typedef align::Alignables Alignables
 
enum  CompConstraintType { CompConstraintType::NONE, CompConstraintType::POSITION, CompConstraintType::POSITION_Z }
 
typedef align::GlobalVector GlobalVector
 
typedef align::LocalVector LocalVector
 
typedef align::PositionType PositionType
 
typedef align::RotationType RotationType
 
typedef align::Scalar Scalar
 
typedef align::StructureType StructureType
 
- Protected Types inherited from Alignable
template<class T >
using Cache = std::map< align::RunNumber, T >
 
- Protected Member Functions inherited from Alignable
void addDisplacement (const GlobalVector &displacement)
 
void addRotation (const RotationType &rotation)
 
virtual void updateMother (const GlobalVector &shift)
 
- Protected Attributes inherited from Alignable
CompConstraintType compConstraintType_ {CompConstraintType::NONE}
 
Cache< GlobalVectordisplacementsCache_
 
Cache< RotationTyperotationsCache_
 
Cache< AlignableSurfacesurfacesCache_
 
GlobalVector theCachedDisplacement
 
RotationType theCachedRotation
 
AlignableSurface theCachedSurface
 
Alignables theDeepComponents
 
DetId theDetId
 
GlobalVector theDisplacement
 
align::ID theId
 
RotationType theRotation
 
AlignableSurface theSurface
 

Detailed Description

A concrete class that allows to (mis)align a DetUnit.

Typically all AlignableComposites have (directly or indirectly) this one as the ultimate component.

Definition at line 12 of file AlignableDetUnit.h.

Constructor & Destructor Documentation

◆ AlignableDetUnit()

AlignableDetUnit::AlignableDetUnit ( const GeomDetUnit geomDetUnit)

Constructor from GeomDetUnit - must not be NULL pointer!

Definition at line 15 of file AlignableDetUnit.cc.

16  : // rely on non-NULL pointer!
17  Alignable(geomDetUnit->geographicalId().rawId(), geomDetUnit->surface()),
19  theSurfaceDeformation(nullptr),
21  if (geomDetUnit->alignmentPositionError()) { // take over APE from geometry
22  // 2nd argument w/o effect:
23  this->setAlignmentPositionError(*(geomDetUnit->alignmentPositionError()), false);
24  }
25 
26  if (geomDetUnit->surfaceDeformation()) { // take over surface modification
27  // 2nd argument w/o effect:
28  this->setSurfaceDeformation(geomDetUnit->surfaceDeformation(), false);
29  }
30 
31  theDeepComponents.push_back(this);
32 }

References GeomDet::alignmentPositionError(), setAlignmentPositionError(), setSurfaceDeformation(), GeomDet::surfaceDeformation(), and Alignable::theDeepComponents.

◆ ~AlignableDetUnit()

AlignableDetUnit::~AlignableDetUnit ( )
override

Member Function Documentation

◆ addAlignmentPositionError()

void AlignableDetUnit::addAlignmentPositionError ( const AlignmentPositionError ape,
bool  propagateDown 
)
finalvirtual

Add (or set if it does not exist yet) the AlignmentPositionError (no components => second argument without effect)

Implements Alignable.

Definition at line 89 of file AlignableDetUnit.cc.

89  {
91  this->setAlignmentPositionError(ape, propagateDown); // 2nd argument w/o effect
92  else
94 }

References setAlignmentPositionError(), and theAlignmentPositionError.

Referenced by addAlignmentPositionErrorFromRotation().

◆ addAlignmentPositionErrorFromLocalRotation()

void AlignableDetUnit::addAlignmentPositionErrorFromLocalRotation ( const RotationType rot,
bool  propagateDown 
)
finalvirtual

Add (or set if it does not exist yet) the AlignmentPositionError resulting from a rotation in the local reference frame (no components => second argument without effect)

Implements Alignable.

Definition at line 111 of file AlignableDetUnit.cc.

111  {
113  this->addAlignmentPositionErrorFromRotation(globalRot, propagateDown); // 2nd argument w/o effect
114 }

References addAlignmentPositionErrorFromRotation(), Alignable::globalRotation(), TkRotation< T >::multiplyInverse(), and makeMuonMisalignmentScenario::rot.

◆ addAlignmentPositionErrorFromRotation()

void AlignableDetUnit::addAlignmentPositionErrorFromRotation ( const RotationType rot,
bool  propagateDown 
)
finalvirtual

Add (or set if it does not exist yet) the AlignmentPositionError resulting from a rotation in the global reference frame (no components => second argument without effect)

Implements Alignable.

Definition at line 97 of file AlignableDetUnit.cc.

97  {
98  // average error calculated by movement of a local point at
99  // (xWidth/2,yLength/2,0) caused by the rotation rot
100  GlobalVector localPositionVector =
101  surface().toGlobal(LocalVector(.5 * surface().width(), .5 * surface().length(), 0.));
102 
103  const LocalVector::BasicVectorType& lpvgf = localPositionVector.basicVector();
104  GlobalVector gv(rot.multiplyInverse(lpvgf) - lpvgf);
105 
106  AlignmentPositionError ape(gv.x(), gv.y(), gv.z());
107  this->addAlignmentPositionError(ape, propagateDown); // 2nd argument w/o effect
108 }

References addAlignmentPositionError(), PV3DBase< T, PVType, FrameType >::basicVector(), makeMuonMisalignmentScenario::rot, Alignable::surface(), AlignableSurface::toGlobal(), and ApeEstimator_cff::width.

Referenced by addAlignmentPositionErrorFromLocalRotation().

◆ addComponent()

void AlignableDetUnit::addComponent ( Alignable )
finalvirtual

No components here => exception!

Implements Alignable.

Definition at line 64 of file AlignableDetUnit.cc.

64  {
65  throw cms::Exception("LogicError") << "AlignableDetUnit cannot have components, but try to add one!";
66 }

References Exception.

◆ addSurfaceDeformation()

void AlignableDetUnit::addSurfaceDeformation ( const SurfaceDeformation deformation,
bool  propagateDown 
)
finalvirtual

Add surface deformation parameters to the existing ones (2nd argument without effect)

Implements Alignable.

Definition at line 127 of file AlignableDetUnit.cc.

127  {
128  if (!deformation) {
129  // nothing to do
130  } else if (!theSurfaceDeformation) {
131  this->setSurfaceDeformation(deformation, propagateDown); // fine since no components
132  } else if (!theSurfaceDeformation->add(*deformation)) {
133  edm::LogError("Alignment") << "@SUB=AlignableDetUnit::addSurfaceDeformation"
134  << "Cannot add deformation type " << deformation->type() << " to type "
135  << theSurfaceDeformation->type() << ", so erase deformation information.";
136  delete theSurfaceDeformation;
137  theSurfaceDeformation = nullptr;
138  }
139 }

References SurfaceDeformation::add(), setSurfaceDeformation(), theSurfaceDeformation, and SurfaceDeformation::type().

◆ alignableObjectId()

StructureType AlignableDetUnit::alignableObjectId ( ) const
inlineoverridevirtual

Return the alignable type identifier.

Implements Alignable.

Definition at line 62 of file AlignableDetUnit.h.

62 { return align::AlignableDetUnit; }

References align::AlignableDetUnit.

◆ alignmentErrors()

AlignmentErrorsExtended * AlignableDetUnit::alignmentErrors ( void  ) const
overridevirtual

Return vector of alignment errors.

Implements Alignable.

Definition at line 181 of file AlignableDetUnit.cc.

181  {
182  AlignmentErrorsExtended* m_alignmentErrors = new AlignmentErrorsExtended();
183 
184  uint32_t detId = this->geomDetId().rawId();
185 
186  CLHEP::HepSymMatrix clhepSymMatrix(6, 0);
187  if (theAlignmentPositionError) // Might not be set
189 
190  AlignTransformErrorExtended transformError(clhepSymMatrix, detId);
191 
192  m_alignmentErrors->m_alignError.push_back(transformError);
193 
194  return m_alignmentErrors;
195 }

References asHepMatrix(), Alignable::geomDetId(), AlignmentPositionError::globalError(), AlignmentErrorsExtended::m_alignError, GlobalErrorBaseExtended< T, ErrorWeightType >::matrix(), DetId::rawId(), and theAlignmentPositionError.

◆ alignmentPositionError()

const AlignmentPositionError* AlignableDetUnit::alignmentPositionError ( ) const
inline

alignment position error - for checking only, otherwise use alignmentErrors() above!

Definition at line 89 of file AlignableDetUnit.h.

89 { return theAlignmentPositionError; }

References theAlignmentPositionError.

Referenced by AlignableDetOrUnitPtr::alignmentPositionError().

◆ alignments()

Alignments * AlignableDetUnit::alignments ( void  ) const
overridevirtual

Return vector of alignment data.

Implements Alignable.

Definition at line 162 of file AlignableDetUnit.cc.

162  {
163  Alignments* m_alignments = new Alignments();
165 
166  // Get alignments (position, rotation, detId)
167  CLHEP::Hep3Vector clhepVector(globalPosition().x(), globalPosition().y(), globalPosition().z());
168  CLHEP::HepRotation clhepRotation(
169  CLHEP::HepRep3x3(rot.xx(), rot.xy(), rot.xz(), rot.yx(), rot.yy(), rot.yz(), rot.zx(), rot.zy(), rot.zz()));
170  uint32_t detId = this->geomDetId().rawId();
171 
172  AlignTransform transform(clhepVector, clhepRotation, detId);
173 
174  // Add to alignments container
175  m_alignments->m_align.push_back(transform);
176 
177  return m_alignments;
178 }

References Alignable::geomDetId(), Alignable::globalPosition(), Alignable::globalRotation(), Alignments::m_align, DetId::rawId(), makeMuonMisalignmentScenario::rot, HcalDetIdTransform::transform(), x, y, and z.

◆ cacheTransformation() [1/2]

void AlignableDetUnit::cacheTransformation ( )
overridevirtual

◆ cacheTransformation() [2/2]

void AlignableDetUnit::cacheTransformation ( const align::RunNumber run)
overridevirtual

cache for the given run the current position, rotation and other parameters (e.g. surface deformations)

Reimplemented from Alignable.

Definition at line 223 of file AlignableDetUnit.cc.

223  {
227 
228  auto existingCache = surfaceDeformationsCache_.find(run);
229  if (existingCache != surfaceDeformationsCache_.end()) {
230  delete existingCache->second;
231  existingCache->second = nullptr;
232  }
233 
234  if (theSurfaceDeformation) {
236  }
237 }

References SurfaceDeformation::clone(), Alignable::displacementsCache_, Alignable::rotationsCache_, writedatasetfile::run, surfaceDeformationsCache_, Alignable::surfacesCache_, Alignable::theDisplacement, Alignable::theRotation, Alignable::theSurface, and theSurfaceDeformation.

◆ components()

const Alignables& AlignableDetUnit::components ( ) const
inlineoverridevirtual

Returns a null vector (no components here)

Implements Alignable.

Definition at line 28 of file AlignableDetUnit.h.

28 { return emptyComponents_; }

References emptyComponents_.

◆ dump()

void AlignableDetUnit::dump ( void  ) const
overridevirtual

Printout information about GeomDet.

Implements Alignable.

Definition at line 142 of file AlignableDetUnit.cc.

142  {
143  std::ostringstream parameters;
144  if (theSurfaceDeformation) {
145  parameters << " surface deformation parameters:";
146  for (const auto& param : theSurfaceDeformation->parameters()) {
147  parameters << " " << param;
148  }
149  } else {
150  parameters << " no surface deformation parameters";
151  }
152 
153  edm::LogInfo("AlignableDump") << " AlignableDetUnit has position = " << this->globalPosition()
154  << ", orientation:" << std::endl
155  << this->globalRotation() << std::endl
156  << " total displacement and rotation: " << this->displacement() << std::endl
157  << this->rotation() << "\n"
158  << parameters.str();
159 }

References Alignable::displacement(), Alignable::globalPosition(), Alignable::globalRotation(), SurfaceDeformation::parameters(), Alignable::rotation(), and theSurfaceDeformation.

◆ move()

void AlignableDetUnit::move ( const GlobalVector displacement)
overridevirtual

Move with respect to the global reference frame.

Implements Alignable.

Definition at line 69 of file AlignableDetUnit.cc.

69  {
71  this->addDisplacement(displacement);
72 }

References Alignable::addDisplacement(), Alignable::displacement(), GloballyPositioned< T >::move(), and Alignable::theSurface.

◆ recursiveComponents()

void AlignableDetUnit::recursiveComponents ( Alignables result) const
inlineoverridevirtual

Do nothing (no components here, so no subcomponents either...)

Implements Alignable.

Definition at line 31 of file AlignableDetUnit.h.

31 {}

◆ restoreCachedTransformation() [1/2]

void AlignableDetUnit::restoreCachedTransformation ( )
overridevirtual

◆ restoreCachedTransformation() [2/2]

void AlignableDetUnit::restoreCachedTransformation ( const align::RunNumber run)
overridevirtual

restore for the given run the previously cached transformation

Reimplemented from Alignable.

Definition at line 256 of file AlignableDetUnit.cc.

256  {
257  if (surfacesCache_.find(run) == surfacesCache_.end()) {
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.";
261  } else {
265 
266  if (theSurfaceDeformation) {
267  delete theSurfaceDeformation;
268  theSurfaceDeformation = nullptr;
269  }
270 
273  }
274  }
275 }

References Alignable::displacementsCache_, Exception, Alignable::rotationsCache_, writedatasetfile::run, setSurfaceDeformation(), surfaceDeformationsCache_, Alignable::surfacesCache_, Alignable::theDisplacement, Alignable::theRotation, Alignable::theSurface, and theSurfaceDeformation.

◆ rotateInGlobalFrame()

void AlignableDetUnit::rotateInGlobalFrame ( const RotationType rotation)
overridevirtual

Rotation with respect to the global reference frame.

Implements Alignable.

Definition at line 75 of file AlignableDetUnit.cc.

75  {
77  this->addRotation(rotation);
78 }

References Alignable::addRotation(), GloballyPositioned< T >::rotate(), Alignable::rotation(), and Alignable::theSurface.

◆ setAlignmentPositionError()

void AlignableDetUnit::setAlignmentPositionError ( const AlignmentPositionError ape,
bool   
)
finalvirtual

Set the AlignmentPositionError (no components => second argument ignored)

Implements Alignable.

Definition at line 81 of file AlignableDetUnit.cc.

81  {
84  else
86 }

References theAlignmentPositionError.

Referenced by addAlignmentPositionError(), AlignableDetUnit(), and update().

◆ setSurfaceDeformation()

void AlignableDetUnit::setSurfaceDeformation ( const SurfaceDeformation deformation,
bool   
)
finalvirtual

Set surface deformation parameters (2nd argument without effect)

Implements Alignable.

Definition at line 117 of file AlignableDetUnit.cc.

117  {
118  delete theSurfaceDeformation; // OK for zero pointers
119  if (deformation) {
120  theSurfaceDeformation = deformation->clone();
121  } else {
122  theSurfaceDeformation = nullptr;
123  }
124 }

References SurfaceDeformation::clone(), and theSurfaceDeformation.

Referenced by addSurfaceDeformation(), AlignableDetUnit(), restoreCachedTransformation(), and update().

◆ surfaceDeformationIdPairs()

int AlignableDetUnit::surfaceDeformationIdPairs ( std::vector< std::pair< int, SurfaceDeformation * > > &  result) const
overridevirtual

Return surface deformations.

Implements Alignable.

Definition at line 198 of file AlignableDetUnit.cc.

198  {
199  if (theSurfaceDeformation) {
200  result.push_back(std::pair<int, SurfaceDeformation*>(this->geomDetId().rawId(), theSurfaceDeformation));
201  return 1;
202  }
203 
204  return 0;
205 }

References Alignable::geomDetId(), mps_fire::result, and theSurfaceDeformation.

◆ update()

void AlignableDetUnit::update ( const GeomDetUnit geomDetUnit)

Updater from GeomDetUnit The given GeomDetUnit id has to match the current id.

Definition at line 44 of file AlignableDetUnit.cc.

44  {
45  if (!geomDetUnit) {
46  throw cms::Exception("Alignment") << "@SUB=AlignableDetUnit::update\n"
47  << "Trying to update with GeomDetUnit* pointing to 'nullptr'.";
48  }
49 
50  Alignable::update(geomDetUnit->geographicalId().rawId(), geomDetUnit->surface());
51 
52  if (geomDetUnit->alignmentPositionError()) { // take over APE from geometry
53  // 2nd argument w/o effect:
54  this->setAlignmentPositionError(*(geomDetUnit->alignmentPositionError()), false);
55  }
56 
57  if (geomDetUnit->surfaceDeformation()) { // take over surface modification
58  // 2nd argument w/o effect:
59  this->setSurfaceDeformation(geomDetUnit->surfaceDeformation(), false);
60  }
61 }

References GeomDet::alignmentPositionError(), Exception, GeomDet::geographicalId(), DetId::rawId(), setAlignmentPositionError(), setSurfaceDeformation(), GeomDet::surface(), GeomDet::surfaceDeformation(), and Alignable::update().

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), dqm-mbProfile.Profile::finish(), progressbar.ProgressBar::finish(), and MatrixUtil.Steps::overwrite().

Member Data Documentation

◆ emptyComponents_

const align::Alignables AlignableDetUnit::emptyComponents_ {}
staticprivate

Definition at line 92 of file AlignableDetUnit.h.

Referenced by components().

◆ surfaceDeformationsCache_

Cache<SurfaceDeformation*> AlignableDetUnit::surfaceDeformationsCache_
private

◆ theAlignmentPositionError

AlignmentPositionError* AlignableDetUnit::theAlignmentPositionError
private

◆ theCachedSurfaceDeformation

SurfaceDeformation* AlignableDetUnit::theCachedSurfaceDeformation
private

◆ theSurfaceDeformation

SurfaceDeformation* AlignableDetUnit::theSurfaceDeformation
private
Vector3DBase
Definition: Vector3DBase.h:8
Alignable::theDisplacement
GlobalVector theDisplacement
Definition: Alignable.h:239
DDAxes::y
ApeEstimator_cff.width
width
Definition: ApeEstimator_cff.py:24
BeamSpotPI::parameters
parameters
Definition: BeamSpotPayloadInspectorHelper.h:30
Alignable::theDeepComponents
Alignables theDeepComponents
Definition: Alignable.h:248
GloballyPositioned::rotate
void rotate(const RotationType &rotation)
Definition: GloballyPositioned.h:136
SurfaceDeformation::clone
virtual SurfaceDeformation * clone() const =0
SurfaceDeformation::add
virtual bool add(const SurfaceDeformation &other)=0
Alignable::theCachedSurface
AlignableSurface theCachedSurface
Definition: Alignable.h:242
AlignableDetUnit::theAlignmentPositionError
AlignmentPositionError * theAlignmentPositionError
Definition: AlignableDetUnit.h:93
Alignable::Alignable
Alignable()
private default ctr. to enforce usage of the specialised ones
Definition: Alignable.h:257
DDAxes::x
TkRotation::multiplyInverse
Basic3DVector< T > multiplyInverse(const Basic3DVector< T > &v) const
Definition: extTkRotation.h:178
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
SurfaceDeformation::type
virtual int type() const =0
specific type, i.e. SurfaceDeformationFactory::Type
AlignableDetUnit::setAlignmentPositionError
void setAlignmentPositionError(const AlignmentPositionError &ape, bool) final
Set the AlignmentPositionError (no components => second argument ignored)
Definition: AlignableDetUnit.cc:81
AlignableDetUnit::theSurfaceDeformation
SurfaceDeformation * theSurfaceDeformation
Definition: AlignableDetUnit.h:94
Alignable::surfacesCache_
Cache< AlignableSurface > surfacesCache_
Definition: Alignable.h:251
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
AlignableDetUnit::addAlignmentPositionErrorFromRotation
void addAlignmentPositionErrorFromRotation(const RotationType &rot, bool) final
Definition: AlignableDetUnit.cc:97
AlignmentPositionError::globalError
const GlobalErrorExtended & globalError() const
Definition: AlignmentPositionError.h:24
SurfaceDeformation::parameters
virtual std::vector< double > parameters() const =0
parameters - interpretation left to the concrete implementation
GeomDet::surfaceDeformation
virtual const SurfaceDeformation * surfaceDeformation() const
Definition: GeomDet.h:96
Alignable::update
void update(align::ID, const AlignableSurface &)
Definition: Alignable.cc:45
DDAxes::z
HcalDetIdTransform::transform
unsigned transform(const HcalDetId &id, unsigned transformCode)
Definition: HcalDetIdTransform.cc:7
AlignableSurface::toGlobal
align::GlobalPoints toGlobal(const align::LocalPoints &) const
Return in global coord given a set of local points.
Definition: AlignableSurface.cc:15
Alignable::addRotation
void addRotation(const RotationType &rotation)
Definition: Alignable.cc:193
Alignable::surface
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
Definition: Alignable.h:132
Alignable::displacement
const GlobalVector & displacement() const
Return change of the global position since the creation of the object.
Definition: Alignable.h:141
AlignTransform
Definition: AlignTransform.h:15
Alignable::displacementsCache_
Cache< GlobalVector > displacementsCache_
Definition: Alignable.h:252
AlignableDetUnit::setSurfaceDeformation
void setSurfaceDeformation(const SurfaceDeformation *deformation, bool) final
Set surface deformation parameters (2nd argument without effect)
Definition: AlignableDetUnit.cc:117
GeomDet::geographicalId
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:64
align::AlignableDetUnit
Definition: StructureType.h:19
GeomDet::alignmentPositionError
AlignmentPositionError const * alignmentPositionError() const
Return pointer to alignment errors.
Definition: GeomDet.h:80
Alignable::rotation
const RotationType & rotation() const
Return change of orientation since the creation of the object.
Definition: Alignable.h:144
AlignableDetUnit::theCachedSurfaceDeformation
SurfaceDeformation * theCachedSurfaceDeformation
Definition: AlignableDetUnit.h:95
Alignable::RotationType
align::RotationType RotationType
Definition: Alignable.h:31
Alignable::geomDetId
const DetId & geomDetId() const
Definition: Alignable.h:177
GloballyPositioned::move
void move(const GlobalVector &displacement)
Definition: GloballyPositioned.h:128
Alignable::theSurface
AlignableSurface theSurface
Definition: Alignable.h:237
Alignable::theCachedRotation
RotationType theCachedRotation
Definition: Alignable.h:244
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
AlignmentErrorsExtended
Definition: AlignmentErrorsExtended.h:10
PV3DBase::basicVector
const BasicVectorType & basicVector() const
Definition: PV3DBase.h:53
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
writedatasetfile.run
run
Definition: writedatasetfile.py:27
Alignable::rotationsCache_
Cache< RotationType > rotationsCache_
Definition: Alignable.h:253
Exception
Definition: hltDiff.cc:245
Alignable::theCachedDisplacement
GlobalVector theCachedDisplacement
Definition: Alignable.h:243
Alignable::addDisplacement
void addDisplacement(const GlobalVector &displacement)
Definition: Alignable.cc:190
makeMuonMisalignmentScenario.rot
rot
Definition: makeMuonMisalignmentScenario.py:322
AlignTransformErrorExtended
Definition: AlignTransformErrorExtended.h:13
AlignableDetUnit::addAlignmentPositionError
void addAlignmentPositionError(const AlignmentPositionError &ape, bool) final
Definition: AlignableDetUnit.cc:89
Alignable::theRotation
RotationType theRotation
Definition: Alignable.h:240
GlobalErrorBaseExtended::matrix
const AlgebraicSymMatrix66 & matrix() const
Definition: GlobalErrorBaseExtended.h:153
Alignments::m_align
std::vector< AlignTransform > m_align
Definition: Alignments.h:19
AlignmentErrorsExtended::m_alignError
std::vector< AlignTransformErrorExtended > m_alignError
Definition: AlignmentErrorsExtended.h:19
AlignableDetUnit::surfaceDeformationsCache_
Cache< SurfaceDeformation * > surfaceDeformationsCache_
Definition: AlignableDetUnit.h:96
mps_fire.result
result
Definition: mps_fire.py:311
Alignable::globalPosition
const PositionType & globalPosition() const
Return the global position of the object.
Definition: Alignable.h:135
AlignmentPositionError
Definition: AlignmentPositionError.h:10
asHepMatrix
CLHEP::HepMatrix asHepMatrix(const ROOT::Math::SMatrix< double, N1, N2, typename ROOT::Math::MatRepStd< double, N1, N2 > > &rm)
Definition: Migration.h:60
Alignments
Definition: Alignments.h:10
Alignable::LocalVector
align::LocalVector LocalVector
Definition: Alignable.h:33
Basic3DVector< float >
Alignable::globalRotation
const RotationType & globalRotation() const
Return the global orientation of the object.
Definition: Alignable.h:138
AlignableDetUnit::emptyComponents_
static const Alignables emptyComponents_
Definition: AlignableDetUnit.h:92