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 
20 {
21 
22 public:
23 
25 
27  ~AlignableBeamSpot() override;
28 
32  void addComponent( Alignable* component ) override {}
33 
35  const Alignables& components() const override { return emptyComponents_; }
36 
38  void recursiveComponents(Alignables &result) const override { }
39 
41  void move( const GlobalVector& displacement ) override;
42 
44  void rotateInGlobalFrame( const RotationType& rotation ) override;
45 
47  void setAlignmentPositionError(const AlignmentPositionError &ape, bool propagateDown) override;
48 
51  void addAlignmentPositionError(const AlignmentPositionError &ape, bool propagateDown) override;
52 
56  void addAlignmentPositionErrorFromRotation(const RotationType &rot, bool propagateDown) override;
57 
61  bool propagateDown ) override;
62 
64  StructureType alignableObjectId() const override { return align::BeamSpot; }
65 
67  void dump() const override;
68 
70  Alignments* alignments() const override;
71 
73  AlignmentErrorsExtended* alignmentErrors() const override;
74 
77 
79  int surfaceDeformationIdPairs(std::vector<std::pair<int,SurfaceDeformation*> > &) const override { return 0; }
80 
82  void setSurfaceDeformation(const SurfaceDeformation*, bool) override;
84  void addSurfaceDeformation(const SurfaceDeformation*, bool) override;
85 
87  void initialize(double x, double y, double z,
88  double dxdz, double dydz);
89 
91  void reset();
92 
95  static const DetId detId() { return DetId((DetId::Tracker<<DetId::kDetOffset)+0x1ffffff); }
96 
97 private:
98 
101 
103 };
104 
105 #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:144
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:147
~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:18
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:22
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:37
Alignments * alignments() const override
Return vector of alignment data.