CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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  virtual ~AlignableBeamSpot();
28 
32  virtual void addComponent( Alignable* component ) {}
33 
35  virtual Alignables components() const { return std::vector<Alignable*>(); }
36 
38  virtual void recursiveComponents(Alignables &result) const { }
39 
41  virtual void move( const GlobalVector& displacement );
42 
44  virtual void rotateInGlobalFrame( const RotationType& rotation );
45 
47  virtual void setAlignmentPositionError(const AlignmentPositionError &ape, bool propagateDown);
48 
51  virtual void addAlignmentPositionError(const AlignmentPositionError &ape, bool propagateDown);
52 
56  virtual void addAlignmentPositionErrorFromRotation(const RotationType &rot, bool propagateDown);
57 
61  bool propagateDown );
62 
64  virtual StructureType alignableObjectId() const { return align::BeamSpot; }
65 
67  virtual void dump() const;
68 
70  virtual Alignments* alignments() const;
71 
74 
77 
79  virtual int surfaceDeformationIdPairs(std::vector<std::pair<int,SurfaceDeformation*> > &) const { return 0; }
80 
82  virtual void setSurfaceDeformation(const SurfaceDeformation*, bool);
84  virtual void addSurfaceDeformation(const SurfaceDeformation*, bool);
85 
87  void initialize(double x, double y, double z,
88  double dxdz, double dydz);
89 
92  static const DetId detId() { return DetId((DetId::Tracker<<DetId::kDetOffset)+0x1ffffff); }
93 
94 private:
95 
97 
99 };
100 
101 #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
virtual Alignables components() const
Return vector of direct components.
virtual Alignments * alignments() const
Return vector of alignment data.
virtual ~AlignableBeamSpot()
Destructor.
virtual void addSurfaceDeformation(const SurfaceDeformation *, bool)
do no use, for compatibility only
virtual void addAlignmentPositionError(const AlignmentPositionError &ape, bool propagateDown)
const GlobalVector & displacement() const
Return change of the global position since the creation of the object.
Definition: Alignable.h:140
virtual void addComponent(Alignable *component)
virtual StructureType alignableObjectId() const
Return the alignable type identifier.
tuple result
Definition: mps_fire.py:84
virtual void addAlignmentPositionErrorFromLocalRotation(const RotationType &rotation, bool propagateDown)
virtual int surfaceDeformationIdPairs(std::vector< std::pair< int, SurfaceDeformation * > > &) const
Return surface deformations.
const RotationType & rotation() const
Return change of orientation since the creation of the object.
Definition: Alignable.h:143
virtual void addAlignmentPositionErrorFromRotation(const RotationType &rot, bool propagateDown)
Definition: DetId.h:18
static const DetId detId()
const AlignmentPositionError * alignmentPositionError() const
alignment position error - for checking only, otherwise use alignmentErrors() above! ...
AlignmentPositionError * theAlignmentPositionError
align::RotationType RotationType
Definition: Alignable.h:36
static const int kDetOffset
Definition: DetId.h:20
virtual AlignmentErrorsExtended * alignmentErrors() const
Return vector of alignment errors.
virtual void rotateInGlobalFrame(const RotationType &rotation)
Rotation interpreted in global reference frame.
virtual void setSurfaceDeformation(const SurfaceDeformation *, bool)
do no use, for compatibility only
virtual void recursiveComponents(Alignables &result) const
Provide all components, subcomponents etc. (cf. description in base class)
virtual void move(const GlobalVector &displacement)
Move with respect to the global reference frame.
virtual void dump() const
Recursive printout of alignable structure.
align::Alignables Alignables
Definition: Alignable.h:39
virtual void setAlignmentPositionError(const AlignmentPositionError &ape, bool propagateDown)
Set the AlignmentPositionError and, if (propagateDown), to all components.