GeoModel - GeoModelCore
GeoAbsPositionInfo.cxx
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "GeoModelKernel/GeoAbsPositionInfo.h"
6 #include "GeoModelKernel/GeoDefinitions.h"
7 #include <memory>
8 
9 GeoAbsPositionInfo::GeoAbsPositionInfo()
10  : m_absTransform(nullptr),
11  m_defAbsTransform(nullptr)
12 {
13 }
14 
15 GeoAbsPositionInfo::~GeoAbsPositionInfo()
16 {
17  delete m_absTransform;
18  delete m_defAbsTransform;
19 }
20 
21 void GeoAbsPositionInfo::clearAbsTransform ()
22 {
23  delete m_absTransform;
24  m_absTransform = nullptr;
25 }
26 
27 void GeoAbsPositionInfo::clearDefAbsTransform ()
28 {
29  delete m_defAbsTransform;
30  m_defAbsTransform = nullptr;
31 }
32 
33 void GeoAbsPositionInfo::setAbsTransform (const GeoTrf::Transform3D & xform)
34 {
35  if (m_absTransform)
36  {
37  (*m_absTransform) = xform;
38  }
39  else
40  {
41  m_absTransform = new GeoTrf::Transform3D (xform);
42  }
43 }
44 
45 void GeoAbsPositionInfo::setDefAbsTransform (const GeoTrf::Transform3D & xform)
46 {
47  if (m_defAbsTransform)
48  {
49  (*m_defAbsTransform) = xform;
50  }
51  else
52  {
53  m_defAbsTransform = new GeoTrf::Transform3D (xform);
54  }
55 }