ATLAS Offline Software
Public Types | Public Member Functions | Private Attributes | List of all members
InDetDD::Zone Class Referenceabstract

#include <VolumeSplitterUtils.h>

Inheritance diagram for InDetDD::Zone:
Collaboration diagram for InDetDD::Zone:

Public Types

typedef std::vector< const Zone * >::const_iterator ChildIterator
 

Public Member Functions

 Zone (const std::string &label, bool rotated=false)
 
virtual ~Zone ()
 
virtual bool inSide (const Point &point) const =0
 
virtual Point findEntry (const Ray &ray) const =0
 
virtual Point findExit (const Ray &ray) const =0
 
void add (const Zone *)
 
ChildIterator begin () const
 
ChildIterator end () const
 
const std::string & label () const
 
bool rotated () const
 

Private Attributes

std::string m_label
 
bool m_rotated
 
std::vector< const Zone * > m_children
 

Detailed Description

Definition at line 71 of file VolumeSplitterUtils.h.

Member Typedef Documentation

◆ ChildIterator

typedef std::vector<const Zone *>::const_iterator InDetDD::Zone::ChildIterator

Definition at line 73 of file VolumeSplitterUtils.h.

Constructor & Destructor Documentation

◆ Zone()

InDetDD::Zone::Zone ( const std::string &  label,
bool  rotated = false 
)

Definition at line 112 of file VolumeSplitterUtils.cxx.

113  : m_label(label),
115  {}

◆ ~Zone()

InDetDD::Zone::~Zone ( )
virtual

Definition at line 117 of file VolumeSplitterUtils.cxx.

117  {
118  for (ChildIterator iter = begin(); iter != end(); ++iter) {
119  delete *iter;
120  }
121  }

Member Function Documentation

◆ add()

void InDetDD::Zone::add ( const Zone zone)

Definition at line 124 of file VolumeSplitterUtils.cxx.

124  {
125  m_children.push_back(zone);
126  }

◆ begin()

ChildIterator InDetDD::Zone::begin ( ) const
inline

Definition at line 80 of file VolumeSplitterUtils.h.

80 {return m_children.begin();}

◆ end()

ChildIterator InDetDD::Zone::end ( ) const
inline

Definition at line 81 of file VolumeSplitterUtils.h.

81 {return m_children.end();}

◆ findEntry()

virtual Point InDetDD::Zone::findEntry ( const Ray ray) const
pure virtual

◆ findExit()

virtual Point InDetDD::Zone::findExit ( const Ray ray) const
pure virtual

◆ inSide()

virtual bool InDetDD::Zone::inSide ( const Point point) const
pure virtual

◆ label()

const std::string& InDetDD::Zone::label ( ) const
inline

Definition at line 82 of file VolumeSplitterUtils.h.

82 {return m_label;}

◆ rotated()

bool InDetDD::Zone::rotated ( ) const
inline

Definition at line 83 of file VolumeSplitterUtils.h.

83 {return m_rotated;}

Member Data Documentation

◆ m_children

std::vector<const Zone *> InDetDD::Zone::m_children
private

Definition at line 87 of file VolumeSplitterUtils.h.

◆ m_label

std::string InDetDD::Zone::m_label
private

Definition at line 85 of file VolumeSplitterUtils.h.

◆ m_rotated

bool InDetDD::Zone::m_rotated
private

Definition at line 86 of file VolumeSplitterUtils.h.


The documentation for this class was generated from the following files:
InDetDD::Zone::ChildIterator
std::vector< const Zone * >::const_iterator ChildIterator
Definition: VolumeSplitterUtils.h:73
InDetDD::Zone::begin
ChildIterator begin() const
Definition: VolumeSplitterUtils.h:80
InDetDD::Zone::m_rotated
bool m_rotated
Definition: VolumeSplitterUtils.h:86
InDetDD::Zone::label
const std::string & label() const
Definition: VolumeSplitterUtils.h:82
InDetDD::Zone::end
ChildIterator end() const
Definition: VolumeSplitterUtils.h:81
python.draw_obj.zone
def zone(nx, ny)
Definition: draw_obj.py:288
InDetDD::Zone::m_children
std::vector< const Zone * > m_children
Definition: VolumeSplitterUtils.h:87
InDetDD::Zone::m_label
std::string m_label
Definition: VolumeSplitterUtils.h:85
InDetDD::Zone::rotated
bool rotated() const
Definition: VolumeSplitterUtils.h:83