Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4LogicalSkinSurface Class Reference

#include <G4LogicalSkinSurface.hh>

+ Inheritance diagram for G4LogicalSkinSurface:

Public Member Functions

 G4LogicalSkinSurface (const G4String &name, G4LogicalVolume *vol, G4SurfaceProperty *surfaceProperty)
 
 ~G4LogicalSkinSurface () override
 
 G4LogicalSkinSurface (const G4LogicalSkinSurface &)=delete
 
G4LogicalSkinSurfaceoperator= (const G4LogicalSkinSurface &)=delete
 
G4bool operator== (const G4LogicalSkinSurface &right) const
 
G4bool operator!= (const G4LogicalSkinSurface &right) const
 
const G4LogicalVolumeGetLogicalVolume () const
 
void SetLogicalVolume (G4LogicalVolume *vol)
 
- Public Member Functions inherited from G4LogicalSurface
G4SurfacePropertyGetSurfaceProperty () const
 
void SetSurfaceProperty (G4SurfaceProperty *ptrSurfaceProperty)
 
const G4StringGetName () const
 
void SetName (const G4String &name)
 
G4TransitionRadiationSurface * GetTransitionRadiationSurface () const
 
void SetTransitionRadiationSurface (G4TransitionRadiationSurface *trs)
 
virtual ~G4LogicalSurface ()=default
 
 G4LogicalSurface (const G4LogicalSurface &)=delete
 
G4LogicalSurfaceoperator= (const G4LogicalSurface &)=delete
 
G4bool operator== (const G4LogicalSurface &right) const
 
G4bool operator!= (const G4LogicalSurface &right) const
 

Static Public Member Functions

static G4LogicalSkinSurfaceGetSurface (const G4LogicalVolume *vol)
 
static void CleanSurfaceTable ()
 
static const G4LogicalSkinSurfaceTableGetSurfaceTable ()
 
static std::size_t GetNumberOfSkinSurfaces ()
 
static void DumpInfo ()
 

Additional Inherited Members

- Protected Member Functions inherited from G4LogicalSurface
 G4LogicalSurface (const G4String &name, G4SurfaceProperty *prop)
 

Detailed Description

Definition at line 47 of file G4LogicalSkinSurface.hh.

Constructor & Destructor Documentation

◆ G4LogicalSkinSurface() [1/2]

G4LogicalSkinSurface::G4LogicalSkinSurface ( const G4String & name,
G4LogicalVolume * vol,
G4SurfaceProperty * surfaceProperty )

Definition at line 42 of file G4LogicalSkinSurface.cc.

45 : G4LogicalSurface(name, surfaceProperty),
46 LogVolume(logicalVolume)
47{
48 if (theSkinSurfaceTable == nullptr)
49 {
50 theSkinSurfaceTable = new G4LogicalSkinSurfaceTable;
51 }
52 // Store in the table of Surfaces
53 //
54 theSkinSurfaceTable->insert(std::make_pair(logicalVolume, this));
55}
std::map< const G4LogicalVolume *, G4LogicalSkinSurface * > G4LogicalSkinSurfaceTable
G4LogicalSurface(const G4LogicalSurface &)=delete

◆ ~G4LogicalSkinSurface()

G4LogicalSkinSurface::~G4LogicalSkinSurface ( )
overridedefault

◆ G4LogicalSkinSurface() [2/2]

G4LogicalSkinSurface::G4LogicalSkinSurface ( const G4LogicalSkinSurface & )
delete

Member Function Documentation

◆ CleanSurfaceTable()

void G4LogicalSkinSurface::CleanSurfaceTable ( )
static

Definition at line 131 of file G4LogicalSkinSurface.cc.

132{
133 if (theSkinSurfaceTable != nullptr)
134 {
135 for(const auto & pos : *theSkinSurfaceTable)
136 {
137 delete pos.second;
138 }
139 theSkinSurfaceTable->clear();
140 }
141 return;
142}

◆ DumpInfo()

void G4LogicalSkinSurface::DumpInfo ( )
static

Definition at line 111 of file G4LogicalSkinSurface.cc.

112{
113 G4cout << "***** Skin Surface Table : Nb of Surfaces = "
114 << GetNumberOfSkinSurfaces() << " *****" << G4endl;
115
116 if (theSkinSurfaceTable != nullptr)
117 {
118 for(const auto & pos : *theSkinSurfaceTable)
119 {
120 G4LogicalSkinSurface* pSurf = pos.second;
121 G4cout << pSurf->GetName() << " : " << G4endl
122 << " Skin of logical volume "
123 << pSurf->GetLogicalVolume()->GetName()
124 << G4endl;
125 }
126 }
127 G4cout << G4endl;
128}
#define G4endl
Definition G4ios.hh:67
G4GLOB_DLL std::ostream G4cout
const G4LogicalVolume * GetLogicalVolume() const
static std::size_t GetNumberOfSkinSurfaces()
const G4String & GetName() const
const G4String & GetName() const

◆ GetLogicalVolume()

const G4LogicalVolume * G4LogicalSkinSurface::GetLogicalVolume ( ) const
inline

◆ GetNumberOfSkinSurfaces()

size_t G4LogicalSkinSurface::GetNumberOfSkinSurfaces ( )
static

Definition at line 87 of file G4LogicalSkinSurface.cc.

88{
89 if (theSkinSurfaceTable != nullptr)
90 {
91 return theSkinSurfaceTable->size();
92 }
93 return 0;
94}

Referenced by DumpInfo(), and G4GDMLWriteStructure::GetSkinSurface().

◆ GetSurface()

G4LogicalSkinSurface * G4LogicalSkinSurface::GetSurface ( const G4LogicalVolume * vol)
static

Definition at line 98 of file G4LogicalSkinSurface.cc.

99{
100 if (theSkinSurfaceTable != nullptr)
101 {
102 auto pos = theSkinSurfaceTable->find(vol);
103 if(pos != theSkinSurfaceTable->cend()) return pos->second;
104 }
105 return nullptr;
106}

Referenced by G4MicroElecSurface::PostStepDoIt(), and G4OpBoundaryProcess::PostStepDoIt().

◆ GetSurfaceTable()

const G4LogicalSkinSurfaceTable * G4LogicalSkinSurface::GetSurfaceTable ( )
static

Definition at line 77 of file G4LogicalSkinSurface.cc.

78{
79 if (theSkinSurfaceTable == nullptr)
80 {
81 theSkinSurfaceTable = new G4LogicalSkinSurfaceTable;
82 }
83 return theSkinSurfaceTable;
84}

Referenced by G4GDMLWriteStructure::GetSkinSurface().

◆ operator!=()

G4bool G4LogicalSkinSurface::operator!= ( const G4LogicalSkinSurface & right) const

Definition at line 71 of file G4LogicalSkinSurface.cc.

72{
73 return (this != (G4LogicalSkinSurface *) &right);
74}

◆ operator=()

G4LogicalSkinSurface & G4LogicalSkinSurface::operator= ( const G4LogicalSkinSurface & )
delete

◆ operator==()

G4bool G4LogicalSkinSurface::operator== ( const G4LogicalSkinSurface & right) const

Definition at line 64 of file G4LogicalSkinSurface.cc.

65{
66 return (this == (G4LogicalSkinSurface *) &right);
67}

◆ SetLogicalVolume()

void G4LogicalSkinSurface::SetLogicalVolume ( G4LogicalVolume * vol)
inline

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