ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::VolumeExcluder Class Referencefinal

removes explicit dependence of Subtracted*Surface on TrkVolumes More...

#include <VolumeExcluder.h>

Inheritance diagram for Trk::VolumeExcluder:
Collaboration diagram for Trk::VolumeExcluder:

Public Member Functions

 VolumeExcluder ()
 Defaults.
 VolumeExcluder (VolumeExcluder &&)=default
VolumeExcluderoperator= (VolumeExcluder &&)=default
virtual ~VolumeExcluder ()=default
 VolumeExcluder (std::unique_ptr< Volume > vol)
 Explicit constructor with volume.
 VolumeExcluder (const VolumeExcluder &ex)
 copy constructor
VolumeExcluderoperator= (const VolumeExcluder &vol)
 Assignment operator.
VolumeExcluderclone () const
 Polymorphic constructor.
bool inside (const Amg::Vector3D &gp, double tol=0.) const
 First bin from global position.
const Volumevolume () const
 Acces the subtracted volume.
Volumevolume ()
MsgStream & dump (MsgStream &sl) const
 Output Method for MsgStream, to be overloaded by child classes.
std::ostream & dump (std::ostream &sl) const
 Output Method for std::ostream, to be overloaded by child classes.

Private Attributes

std::unique_ptr< Volumem_vol

Detailed Description

removes explicit dependence of Subtracted*Surface on TrkVolumes

Author
sarka.nosp@m..tod.nosp@m.orova.nosp@m.@cer.nosp@m.n.ch
Christos Anastopoulos (Athena MT modifications)

Definition at line 30 of file VolumeExcluder.h.

Constructor & Destructor Documentation

◆ VolumeExcluder() [1/4]

Trk::VolumeExcluder::VolumeExcluder ( )

Defaults.

Copies are special due to unique ptr

◆ VolumeExcluder() [2/4]

Trk::VolumeExcluder::VolumeExcluder ( VolumeExcluder && )
default

◆ ~VolumeExcluder()

virtual Trk::VolumeExcluder::~VolumeExcluder ( )
virtualdefault

◆ VolumeExcluder() [3/4]

Trk::VolumeExcluder::VolumeExcluder ( std::unique_ptr< Volume > vol)

Explicit constructor with volume.

Definition at line 16 of file VolumeExcluder.cxx.

17 : m_vol(std::move(vol))
18{}
std::unique_ptr< Volume > m_vol

◆ VolumeExcluder() [4/4]

Trk::VolumeExcluder::VolumeExcluder ( const VolumeExcluder & ex)

copy constructor

Definition at line 21 of file VolumeExcluder.cxx.

22 : Trk::AreaExcluder(ex)
23 , m_vol{ex.m_vol->clone()}
24{}

Member Function Documentation

◆ clone()

Trk::VolumeExcluder * Trk::VolumeExcluder::clone ( ) const
virtual

Polymorphic constructor.

Implements Trk::AreaExcluder.

Definition at line 38 of file VolumeExcluder.cxx.

39{
40 return new Trk::VolumeExcluder(*this);
41}

◆ dump() [1/2]

MsgStream & Trk::VolumeExcluder::dump ( MsgStream & sl) const

Output Method for MsgStream, to be overloaded by child classes.

◆ dump() [2/2]

std::ostream & Trk::VolumeExcluder::dump ( std::ostream & sl) const

Output Method for std::ostream, to be overloaded by child classes.

◆ inside()

bool Trk::VolumeExcluder::inside ( const Amg::Vector3D & gp,
double tol = 0. ) const
inlinevirtual

First bin from global position.

Implements Trk::AreaExcluder.

Definition at line 64 of file VolumeExcluder.h.

64 {
65 return (m_vol->inside(gp, tol));
66}

◆ operator=() [1/2]

Trk::VolumeExcluder & Trk::VolumeExcluder::operator= ( const VolumeExcluder & vol)

Assignment operator.

Definition at line 28 of file VolumeExcluder.cxx.

29{
30 if (&vol != this) {
32 m_vol.reset(vol.m_vol->clone());
33 }
34 return *this;
35}
AreaExcluder & operator=(const AreaExcluder &)=default

◆ operator=() [2/2]

VolumeExcluder & Trk::VolumeExcluder::operator= ( VolumeExcluder && )
default

◆ volume() [1/2]

Volume * Trk::VolumeExcluder::volume ( )
inline

Definition at line 72 of file VolumeExcluder.h.

72 {
73 return (m_vol.get());
74}

◆ volume() [2/2]

const Volume * Trk::VolumeExcluder::volume ( ) const
inline

Acces the subtracted volume.

Definition at line 68 of file VolumeExcluder.h.

68 {
69 return (m_vol.get());
70}

Member Data Documentation

◆ m_vol

std::unique_ptr<Volume> Trk::VolumeExcluder::m_vol
private

Definition at line 61 of file VolumeExcluder.h.


The documentation for this class was generated from the following files: