ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
GeoBorderSurface Class Reference

#include <GeoBorderSurface.h>

Collaboration diagram for GeoBorderSurface:

Public Member Functions

 GeoBorderSurface (const std::string &name, GeoOpticalPhysVol *pv1, GeoOpticalPhysVol *pv2, GeoOpticalSurface *opticalSurface)
 
 GeoBorderSurface (const GeoBorderSurface &right)=default
 
 ~GeoBorderSurface ()=default
 
GeoBorderSurfaceoperator= (const GeoBorderSurface &right)=delete
 
std::string getName () const
 
const GeoOpticalPhysVolgetPV1 () const
 
const GeoOpticalPhysVolgetPV2 () const
 
const GeoOpticalSurfacegetOptSurface () const
 

Private Attributes

std::string m_name
 
GeoIntrusivePtr< GeoOpticalPhysVolm_pv1 {}
 
GeoIntrusivePtr< GeoOpticalPhysVolm_pv2 {}
 
GeoIntrusivePtr< GeoOpticalSurfacem_opticalSurface {}
 

Detailed Description

Definition at line 17 of file GeoBorderSurface.h.

Constructor & Destructor Documentation

◆ GeoBorderSurface() [1/2]

GeoBorderSurface::GeoBorderSurface ( const std::string &  name,
GeoOpticalPhysVol pv1,
GeoOpticalPhysVol pv2,
GeoOpticalSurface opticalSurface 
)

Definition at line 9 of file GeoBorderSurface.cxx.

12  :
13  m_name(name),
14  m_pv1(pv1),
15  m_pv2(pv2),
16  m_opticalSurface(opticalSurface){
17  if(pv1->isShared() || pv2->isShared())
18  throw std::runtime_error("Attempt to create a surface with shared physical volumes");
19 
20  }

◆ GeoBorderSurface() [2/2]

GeoBorderSurface::GeoBorderSurface ( const GeoBorderSurface right)
default

◆ ~GeoBorderSurface()

GeoBorderSurface::~GeoBorderSurface ( )
default

Member Function Documentation

◆ getName()

std::string GeoBorderSurface::getName ( ) const
inline

Definition at line 29 of file GeoBorderSurface.h.

29 {return m_name;}

◆ getOptSurface()

const GeoOpticalSurface* GeoBorderSurface::getOptSurface ( ) const
inline

Definition at line 32 of file GeoBorderSurface.h.

32 {return m_opticalSurface;}

◆ getPV1()

const GeoOpticalPhysVol* GeoBorderSurface::getPV1 ( ) const
inline

Definition at line 30 of file GeoBorderSurface.h.

30 {return m_pv1;}

◆ getPV2()

const GeoOpticalPhysVol* GeoBorderSurface::getPV2 ( ) const
inline

Definition at line 31 of file GeoBorderSurface.h.

31 {return m_pv2;}

◆ operator=()

GeoBorderSurface& GeoBorderSurface::operator= ( const GeoBorderSurface right)
delete

Member Data Documentation

◆ m_name

std::string GeoBorderSurface::m_name
private

Definition at line 35 of file GeoBorderSurface.h.

◆ m_opticalSurface

GeoIntrusivePtr<GeoOpticalSurface> GeoBorderSurface::m_opticalSurface {}
private

Definition at line 38 of file GeoBorderSurface.h.

◆ m_pv1

GeoIntrusivePtr<GeoOpticalPhysVol> GeoBorderSurface::m_pv1 {}
private

Definition at line 36 of file GeoBorderSurface.h.

◆ m_pv2

GeoIntrusivePtr<GeoOpticalPhysVol> GeoBorderSurface::m_pv2 {}
private

Definition at line 37 of file GeoBorderSurface.h.


The documentation for this class was generated from the following files:
GeoBorderSurface::m_opticalSurface
GeoIntrusivePtr< GeoOpticalSurface > m_opticalSurface
Definition: GeoBorderSurface.h:38
GeoBorderSurface::m_pv2
GeoIntrusivePtr< GeoOpticalPhysVol > m_pv2
Definition: GeoBorderSurface.h:37
GeoBorderSurface::m_name
std::string m_name
Definition: GeoBorderSurface.h:35
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
GeoBorderSurface::m_pv1
GeoIntrusivePtr< GeoOpticalPhysVol > m_pv1
Definition: GeoBorderSurface.h:36