GeoModel - GeoModelCore
GeoAbsPositionInfo.h
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GEOMODELKERNEL_GEOABSPOSITIONINFO_H
6 #define GEOMODELKERNEL_GEOABSPOSITIONINFO_H
7 
15 #include <GeoModelKernel/GeoDefinitions.h>
16 
18 {
19  public:
22 
23  // Returns the default absolute transform.
24  const GeoTrf::Transform3D * getAbsTransform () const;
25 
26  // Returns the default absolute transform.
27  const GeoTrf::Transform3D * getDefAbsTransform () const;
28 
29 
30  // Clears the absolute transform.
31  void clearAbsTransform ();
32 
33  // Clears the default absolute transform.
34  void clearDefAbsTransform ();
35 
36  // Sets the absolute transform.
37  void setAbsTransform (const GeoTrf::Transform3D & xform);
38 
39  // Sets the absolute transform.
40  void setDefAbsTransform (const GeoTrf::Transform3D & xform);
41 
42  private:
44  GeoAbsPositionInfo & operator=(const GeoAbsPositionInfo &right);
45 
46  // The absolute transform from the world coord down to this
47  // positioned object.
48  GeoTrf::Transform3D *m_absTransform;
49 
50  // The default absolute transform from the world coord down
51  // to this positioned object.
52  GeoTrf::Transform3D *m_defAbsTransform;
53 };
54 
55 inline const GeoTrf::Transform3D * GeoAbsPositionInfo::getAbsTransform () const
56 {
57  return m_absTransform;
58 }
59 
60 inline const GeoTrf::Transform3D * GeoAbsPositionInfo::getDefAbsTransform () const
61 {
62  return m_defAbsTransform;
63 }
64 
65 #endif
This class represents anything whose default and aligned postions are known and cached.