ATLAS Offline Software
Loading...
Searching...
No Matches
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
const 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 }
GeoIntrusivePtr< GeoOpticalSurface > m_opticalSurface
GeoIntrusivePtr< GeoOpticalPhysVol > m_pv2
GeoIntrusivePtr< GeoOpticalPhysVol > m_pv1

◆ GeoBorderSurface() [2/2]

GeoBorderSurface::GeoBorderSurface ( const GeoBorderSurface & right)
default

◆ ~GeoBorderSurface()

GeoBorderSurface::~GeoBorderSurface ( )
default

Member Function Documentation

◆ getName()

const 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.

38{};

◆ m_pv1

GeoIntrusivePtr<GeoOpticalPhysVol> GeoBorderSurface::m_pv1 {}
private

Definition at line 36 of file GeoBorderSurface.h.

36{};

◆ m_pv2

GeoIntrusivePtr<GeoOpticalPhysVol> GeoBorderSurface::m_pv2 {}
private

Definition at line 37 of file GeoBorderSurface.h.

37{};

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