CMS 3D CMS Logo

AlignableBeamSpot.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignment_AlignableBeamSpot_h
2 #define Alignment_CommonAlignment_AlignableBeamSpot_h
3 
16 
17 class SurfaceDeformation;
18 
19 class AlignableBeamSpot : public Alignable {
20 public:
22 
24  ~AlignableBeamSpot() override;
25 
29  void addComponent(Alignable* component) override {}
30 
32  const Alignables& components() const override { return emptyComponents_; }
33 
35  void recursiveComponents(Alignables& result) const override {}
36 
38  void move(const GlobalVector& displacement) override;
39 
41  void rotateInGlobalFrame(const RotationType& rotation) override;
42 
44  void setAlignmentPositionError(const AlignmentPositionError& ape, bool propagateDown) override;
45 
48  void addAlignmentPositionError(const AlignmentPositionError& ape, bool propagateDown) override;
49 
53  void addAlignmentPositionErrorFromRotation(const RotationType& rot, bool propagateDown) override;
54 
57  void addAlignmentPositionErrorFromLocalRotation(const RotationType& rotation, bool propagateDown) override;
58 
60  StructureType alignableObjectId() const override { return align::BeamSpot; }
61 
63  void dump() const override;
64 
66  Alignments* alignments() const override;
67 
69  AlignmentErrorsExtended* alignmentErrors() const override;
70 
73 
75  int surfaceDeformationIdPairs(std::vector<std::pair<int, SurfaceDeformation*> >&) const override { return 0; }
76 
78  void setSurfaceDeformation(const SurfaceDeformation*, bool) override;
80  void addSurfaceDeformation(const SurfaceDeformation*, bool) override;
81 
83  void initialize(double x, double y, double z, double dxdz, double dydz);
84 
86  void reset();
87 
90  static const DetId detId() { return DetId((DetId::Tracker << DetId::kDetOffset) + 0x1ffffff); }
91 
92 private:
95 
97 };
98 
99 #endif // ALIGNABLE_BEAMSPOT_H
void initialize(double x, double y, double z, double dxdz, double dydz)
initialize the alignable with the passed beam spot parameters
int surfaceDeformationIdPairs(std::vector< std::pair< int, SurfaceDeformation * > > &) const override
Return surface deformations.
void move(const GlobalVector &displacement) override
Move with respect to the global reference frame.
void addComponent(Alignable *component) override
const GlobalVector & displacement() const
Return change of the global position since the creation of the object.
Definition: Alignable.h:141
void dump() const override
Recursive printout of alignable structure.
void rotateInGlobalFrame(const RotationType &rotation) override
Rotation interpreted in global reference frame.
AlignmentErrorsExtended * alignmentErrors() const override
Return vector of alignment errors.
void setAlignmentPositionError(const AlignmentPositionError &ape, bool propagateDown) override
Set the AlignmentPositionError and, if (propagateDown), to all components.
const RotationType & rotation() const
Return change of orientation since the creation of the object.
Definition: Alignable.h:144
~AlignableBeamSpot() override
Destructor.
void addSurfaceDeformation(const SurfaceDeformation *, bool) override
do no use, for compatibility only
void addAlignmentPositionError(const AlignmentPositionError &ape, bool propagateDown) override
void addAlignmentPositionErrorFromRotation(const RotationType &rot, bool propagateDown) override
void addAlignmentPositionErrorFromLocalRotation(const RotationType &rotation, bool propagateDown) override
static const Alignables emptyComponents_
Definition: DetId.h:17
static const DetId detId()
const AlignmentPositionError * alignmentPositionError() const
alignment position error - for checking only, otherwise use alignmentErrors() above! ...
StructureType alignableObjectId() const override
Return the alignable type identifier.
AlignmentPositionError * theAlignmentPositionError
void recursiveComponents(Alignables &result) const override
Provide all components, subcomponents etc. (cf. description in base class)
static const int kDetOffset
Definition: DetId.h:21
void reset()
reset beam spot to the uninitialized state
void setSurfaceDeformation(const SurfaceDeformation *, bool) override
do no use, for compatibility only
const Alignables & components() const override
Return vector of direct components.
align::Alignables Alignables
Definition: Alignable.h:34
Alignments * alignments() const override
Return vector of alignment data.