ATLAS Offline Software
Loading...
Searching...
No Matches
SubtractedCylinderSurface.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6// SubtractedCylinderSurface.cxx, (c) ATLAS Detector Software
8
9// Trk
11// STD
12#include <iomanip>
13#include <iostream>
14
15// constructor
17 std::shared_ptr<const AreaExcluder> vol,
18 bool shared)
19 : Trk::CylinderSurface(ps)
20 , m_subtrVol(std::move(vol))
22{}
23
24// copy constructor
26
27// copy constructor with shift
34
35//Assignement
38
39bool
41{
42 // first check the type not to compare apples with oranges
43 const Trk::SubtractedCylinderSurface* scsf = dynamic_cast<const Trk::SubtractedCylinderSurface*>(&sf);
44 if (!scsf)
45 return false;
46 bool surfaceEqual = Trk::CylinderSurface::operator==(sf);
47 bool sharedEqual = (surfaceEqual) ? (shared() == scsf->shared()) : false;
48 return sharedEqual;
49}
Class for a CylinderSurface in the ATLAS detector.
CylinderSurface()
Default Constructor.
virtual bool operator==(const Surface &sf) const override
Equality operator.
Class for a cylinder subtracted/shared surface in the ATLAS detector.
SubtractedCylinderSurface()=default
Defaults.
bool shared() const
This method indicates the subtraction mode.
virtual bool operator==(const Surface &sf) const override final
Equality operator.
std::shared_ptr< const AreaExcluder > m_subtrVol
SubtractedCylinderSurface & operator=(SubtractedCylinderSurface &&)=default
Abstract Base Class for tracking surfaces.
Eigen::Affine3d Transform3D
Ensure that the ATLAS eigen extensions are properly loaded.
STL namespace.