ATLAS Offline Software
Loading...
Searching...
No Matches
VolumeExcluder.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// VolumeExcluder.cxx, (c) ATLAS Detector software
8
9// Trk
11// Gaudi
12#include "GaudiKernel/MsgStream.h"
13
14
15// constructor with volume
16Trk::VolumeExcluder::VolumeExcluder(std::unique_ptr<Trk::Volume> vol)
17 : m_vol(std::move(vol))
18{}
19
20// copy constructor
25
29{
30 if (&vol != this) {
32 m_vol.reset(vol.m_vol->clone());
33 }
34 return *this;
35}
36
39{
40 return new Trk::VolumeExcluder(*this);
41}
42
AreaExcluder & operator=(const AreaExcluder &)=default
AreaExcluder()=default
removes explicit dependence of Subtracted*Surface on TrkVolumes
VolumeExcluder * clone() const
Polymorphic constructor.
std::unique_ptr< Volume > m_vol
VolumeExcluder()
Defaults.
VolumeExcluder & operator=(VolumeExcluder &&)=default
Ensure that the ATLAS eigen extensions are properly loaded.
STL namespace.