Loading [MathJax]/extensions/MathMenu.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Private Attributes | List of all members
Trk::VolumeExcluder Class Referencefinal

#include <VolumeExcluder.h>

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

Public Member Functions

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

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 {}

◆ 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 }

◆ 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:
Trk::AreaExcluder::operator=
AreaExcluder & operator=(const AreaExcluder &)=default
Trk::AreaExcluder
Definition: AreaExcluder.h:26
Trk::VolumeExcluder::m_vol
std::unique_ptr< Volume > m_vol
Definition: VolumeExcluder.h:61
Trk::VolumeExcluder
Definition: VolumeExcluder.h:30