CMS 3D CMS Logo

AlignableDetUnit.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignment_AlignableDetUnit_H
2 #define Alignment_CommonAlignment_AlignableDetUnit_H
3 
6 
11 
12 class AlignableDetUnit : public Alignable {
13 public:
15  AlignableDetUnit(const GeomDetUnit* geomDetUnit);
16 
18  ~AlignableDetUnit() override;
19 
22  void update(const GeomDetUnit* geomDetUnit);
23 
25  void addComponent(Alignable*) final;
26 
28  const Alignables& components() const override { return emptyComponents_; }
29 
31  void recursiveComponents(Alignables& result) const override {}
32 
34  void move(const GlobalVector& displacement) override;
35 
37  void rotateInGlobalFrame(const RotationType& rotation) override;
38 
40  void setAlignmentPositionError(const AlignmentPositionError& ape, bool /*propDown*/) final;
41 
44  void addAlignmentPositionError(const AlignmentPositionError& ape, bool /*propDown*/) final;
45 
49  void addAlignmentPositionErrorFromRotation(const RotationType& rot, bool /*propDown*/) final;
50 
54  void addAlignmentPositionErrorFromLocalRotation(const RotationType& rot, bool /*propDown*/) final;
55 
57  void setSurfaceDeformation(const SurfaceDeformation* deformation, bool) final;
59  void addSurfaceDeformation(const SurfaceDeformation* deformation, bool) final;
60 
63 
65  void dump() const override;
66 
68  Alignments* alignments() const override;
69 
71  AlignmentErrorsExtended* alignmentErrors() const override;
72 
74  int surfaceDeformationIdPairs(std::vector<std::pair<int, SurfaceDeformation*> >&) const override;
75 
77  void cacheTransformation() override;
78 
80  void cacheTransformation(const align::RunNumber&) override;
81 
83  void restoreCachedTransformation() override;
84 
86  void restoreCachedTransformation(const align::RunNumber&) override;
87 
90 
91 private:
96  Cache<SurfaceDeformation*> surfaceDeformationsCache_;
97 };
98 
99 #endif
Vector3DBase
Definition: Vector3DBase.h:8
AlignableDetUnit::addAlignmentPositionErrorFromLocalRotation
void addAlignmentPositionErrorFromLocalRotation(const RotationType &rot, bool) final
Definition: AlignableDetUnit.cc:111
Alignable::Alignables
align::Alignables Alignables
Definition: Alignable.h:34
AlignableDetUnit::~AlignableDetUnit
~AlignableDetUnit() override
Destructor.
Definition: AlignableDetUnit.cc:35
GeomDet
Definition: GeomDet.h:27
AlignableDetUnit::addSurfaceDeformation
void addSurfaceDeformation(const SurfaceDeformation *deformation, bool) final
Add surface deformation parameters to the existing ones (2nd argument without effect)
Definition: AlignableDetUnit.cc:127
align::RunNumber
cond::RealTimeType< cond::runnumber >::type RunNumber
Definition: Utilities.h:37
Alignable
Definition: Alignable.h:27
AlignableDetUnit::alignments
Alignments * alignments() const override
Return vector of alignment data.
Definition: AlignableDetUnit.cc:162
AlignableDetUnit::theAlignmentPositionError
AlignmentPositionError * theAlignmentPositionError
Definition: AlignableDetUnit.h:93
AlignableDetUnit::addComponent
void addComponent(Alignable *) final
No components here => exception!
Definition: AlignableDetUnit.cc:64
AlignableDetUnit::setAlignmentPositionError
void setAlignmentPositionError(const AlignmentPositionError &ape, bool) final
Set the AlignmentPositionError (no components => second argument ignored)
Definition: AlignableDetUnit.cc:81
SurfaceDeformation
Definition: SurfaceDeformation.h:18
AlignableDetUnit::theSurfaceDeformation
SurfaceDeformation * theSurfaceDeformation
Definition: AlignableDetUnit.h:94
AlignableDetUnit::alignmentErrors
AlignmentErrorsExtended * alignmentErrors() const override
Return vector of alignment errors.
Definition: AlignableDetUnit.cc:181
AlignableDetUnit::addAlignmentPositionErrorFromRotation
void addAlignmentPositionErrorFromRotation(const RotationType &rot, bool) final
Definition: AlignableDetUnit.cc:97
Alignable::displacement
const GlobalVector & displacement() const
Return change of the global position since the creation of the object.
Definition: Alignable.h:141
AlignableDetUnit::alignableObjectId
StructureType alignableObjectId() const override
Return the alignable type identifier.
Definition: AlignableDetUnit.h:62
align::StructureType
StructureType
Definition: StructureType.h:16
AlignableDetUnit::setSurfaceDeformation
void setSurfaceDeformation(const SurfaceDeformation *deformation, bool) final
Set surface deformation parameters (2nd argument without effect)
Definition: AlignableDetUnit.cc:117
align::AlignableDetUnit
Definition: StructureType.h:19
AlignableDetUnit::move
void move(const GlobalVector &displacement) override
Move with respect to the global reference frame.
Definition: AlignableDetUnit.cc:69
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
AlignableDetUnit::rotateInGlobalFrame
void rotateInGlobalFrame(const RotationType &rotation) override
Rotation with respect to the global reference frame.
Definition: AlignableDetUnit.cc:75
AlignableDetUnit::dump
void dump() const override
Printout information about GeomDet.
Definition: AlignableDetUnit.cc:142
AlignmentErrorsExtended
Definition: AlignmentErrorsExtended.h:10
AlignableDetUnit::update
void update(const GeomDetUnit *geomDetUnit)
Definition: AlignableDetUnit.cc:44
AlignableDetUnit::cacheTransformation
void cacheTransformation() override
cache the current position, rotation and other parameters (e.g. surface deformations)
Definition: AlignableDetUnit.cc:208
AlignableDetUnit::restoreCachedTransformation
void restoreCachedTransformation() override
restore the previously cached transformation
Definition: AlignableDetUnit.cc:240
GeomDet.h
AlignableDetUnit::AlignableDetUnit
AlignableDetUnit(const GeomDetUnit *geomDetUnit)
Constructor from GeomDetUnit - must not be NULL pointer!
Definition: AlignableDetUnit.cc:15
makeMuonMisalignmentScenario.rot
rot
Definition: makeMuonMisalignmentScenario.py:322
Alignable.h
AlignableDetUnit::addAlignmentPositionError
void addAlignmentPositionError(const AlignmentPositionError &ape, bool) final
Definition: AlignableDetUnit.cc:89
AlignableDetUnit::surfaceDeformationsCache_
Cache< SurfaceDeformation * > surfaceDeformationsCache_
Definition: AlignableDetUnit.h:96
AlignableDetUnit::recursiveComponents
void recursiveComponents(Alignables &result) const override
Do nothing (no components here, so no subcomponents either...)
Definition: AlignableDetUnit.h:31
mps_fire.result
result
Definition: mps_fire.py:303
AlignableDetUnit::alignmentPositionError
const AlignmentPositionError * alignmentPositionError() const
alignment position error - for checking only, otherwise use alignmentErrors() above!
Definition: AlignableDetUnit.h:89
AlignmentPositionError
Definition: AlignmentPositionError.h:10
AlignableDetUnit::components
const Alignables & components() const override
Returns a null vector (no components here)
Definition: AlignableDetUnit.h:28
Alignments
Definition: Alignments.h:10
AlignableDetUnit::surfaceDeformationIdPairs
int surfaceDeformationIdPairs(std::vector< std::pair< int, SurfaceDeformation * > > &) const override
Return surface deformations.
Definition: AlignableDetUnit.cc:198
AlignableDetUnit::emptyComponents_
static const Alignables emptyComponents_
Definition: AlignableDetUnit.h:92
AlignableDetUnit
Definition: AlignableDetUnit.h:12