Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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
16 Trk::VolumeExcluder::VolumeExcluder(std::unique_ptr<Trk::Volume> vol)
17  : m_vol(std::move(vol))
18 {}
19 
20 // copy constructor
22  : Trk::AreaExcluder(ex)
23  , m_vol{ex.m_vol->clone()}
24 {}
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 
Trk::VolumeExcluder::clone
VolumeExcluder * clone() const
Polymorphic constructor.
Definition: VolumeExcluder.cxx:38
Trk::VolumeExcluder::operator=
VolumeExcluder & operator=(VolumeExcluder &&)=default
VolumeExcluder.h
Trk::AreaExcluder::operator=
AreaExcluder & operator=(const AreaExcluder &)=default
Trk::VolumeExcluder::VolumeExcluder
VolumeExcluder()
Defaults.
Trk::AreaExcluder
Definition: AreaExcluder.h:26
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::VolumeExcluder::m_vol
std::unique_ptr< Volume > m_vol
Definition: VolumeExcluder.h:61
Trk::VolumeExcluder
Definition: VolumeExcluder.h:30