GeoModel - GeoModelCore
GeoTransform.h
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GEOMODELKERNEL_GEOTRANSFORM_H
6 #define GEOMODELKERNEL_GEOTRANSFORM_H
7 
17 #include "GeoModelKernel/GeoGraphNode.h"
18 #include "GeoModelKernel/GeoDefinitions.h"
19 
20 class GeoVAlignmentStore;
21 
22 class GeoTransform : public GeoGraphNode
23 {
24  public:
25  GeoTransform(const GeoTrf::Transform3D& transform);
26 
27  GeoTransform(const GeoTransform &right) = delete;
28  GeoTransform & operator=(const GeoTransform &right) = delete;
29 
31  virtual GeoTrf::Transform3D getTransform(const GeoVAlignmentStore* store=nullptr) const;
32 
34  GeoTrf::Transform3D getDefTransform(const GeoVAlignmentStore* store=nullptr) const;
35 
37  virtual void exec(GeoNodeAction *action) const override final;
38 
39  protected:
40  virtual ~GeoTransform() override;
41 
42  private:
43  // The Euclidean (Rigid Body) transform.
44  GeoTrf::Transform3D m_transform;
45 };
46 
47 #endif
virtual GeoTrf::Transform3D getTransform(const GeoVAlignmentStore *store=nullptr) const
Gets the total transformation.
Abstract base class for GeoModel alignment stores The interface allows to store/retrieve transformati...
virtual void exec(GeoNodeAction *action) const override final
Executes a GeoNodeAction.
This type of action sees the geometry graph in full detail, including each transformation and propert...
Definition: GeoNodeAction.h:30
Represents Nodes that can be assembled together to make a graph. Subclasses (for now): ...
Definition: GeoGraphNode.h:28
GeoTrf::Transform3D getDefTransform(const GeoVAlignmentStore *store=nullptr) const
Gets the default transformation (no alignment correction)
A basic geometrical (Euclidean) transform. Can return a GeoTrf::Transform3D. Reference counted...
Definition: GeoTransform.h:22