ATLAS Offline Software
SubtractedPlaneSurface.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // SubtractedPlaneSurface.cxx, (c) ATLAS Detector Software
8 
9 // Trk
11 // Gaudi
12 #include "GaudiKernel/MsgStream.h"
13 // STD
14 #include <iomanip>
15 #include <iostream>
16 
17 
18 // copy constructor
19 Trk::SubtractedPlaneSurface::SubtractedPlaneSurface(const SubtractedPlaneSurface& psf) = default;
20 
21 // copy constructor with shift
23  : Trk::PlaneSurface(psf, transf)
24  , m_subtrVol(psf.m_subtrVol)
25  , m_shared(psf.m_shared)
26 {}
27 
28 // constructor
30  std::shared_ptr<const AreaExcluder> vol,
31  bool shared)
32  : Trk::PlaneSurface(ps)
33  , m_subtrVol(std::move(vol))
34  , m_shared(shared)
35 {}
36 
37 
40 
41 bool
43 {
44  // first check the type not to compare apples with oranges
45  const Trk::SubtractedPlaneSurface* spsf = dynamic_cast<const Trk::SubtractedPlaneSurface*>(&sf);
46  if (!spsf)
47  return false;
48  bool surfaceEqual = Trk::PlaneSurface::operator==(sf);
49  bool sharedEqual = (surfaceEqual) ? (shared() == spsf->shared()) : false;
50  return sharedEqual;
51 }
Trk::PlaneSurface::operator==
virtual bool operator==(const Surface &sf) const override
Equality operator.
Definition: PlaneSurface.cxx:131
Trk::SubtractedPlaneSurface::operator=
SubtractedPlaneSurface & operator=(SubtractedPlaneSurface &&)=default
Trk::SubtractedPlaneSurface::SubtractedPlaneSurface
SubtractedPlaneSurface()=default
Defaults.
SubtractedPlaneSurface.h
Trk::SubtractedPlaneSurface
Definition: SubtractedPlaneSurface.h:32
python.SystemOfUnits.ps
float ps
Definition: SystemOfUnits.py:150
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Trk::SubtractedPlaneSurface::operator==
virtual bool operator==(const Surface &sf) const override final
Equality operator.
Definition: SubtractedPlaneSurface.cxx:42
Trk::SubtractedPlaneSurface::shared
bool shared() const
This method indicates the subtraction mode.
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
Trk::PlaneSurface
Definition: PlaneSurface.h:64
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:79