Geant4 10.7.0
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 ()
 
 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 ()
 
 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 43 of file G4LogicalSkinSurface.cc.

46 : G4LogicalSurface(name, surfaceProperty),
47 LogVolume(logicalVolume)
48{
49 if (theSkinSurfaceTable == nullptr)
50 {
51 theSkinSurfaceTable = new G4LogicalSkinSurfaceTable;
52 }
53 // Store in the table of Surfaces
54 //
55 theSkinSurfaceTable->push_back(this);
56}
std::vector< G4LogicalSkinSurface * > G4LogicalSkinSurfaceTable

◆ ~G4LogicalSkinSurface()

G4LogicalSkinSurface::~G4LogicalSkinSurface ( )

Definition at line 58 of file G4LogicalSkinSurface.cc.

59{
60}

◆ G4LogicalSkinSurface() [2/2]

G4LogicalSkinSurface::G4LogicalSkinSurface ( const G4LogicalSkinSurface )
delete

Member Function Documentation

◆ CleanSurfaceTable()

void G4LogicalSkinSurface::CleanSurfaceTable ( )
static

Definition at line 135 of file G4LogicalSkinSurface.cc.

136{
137 if (theSkinSurfaceTable)
138 {
139 for(auto pos = theSkinSurfaceTable->cbegin();
140 pos != theSkinSurfaceTable->cend(); ++pos)
141 {
142 if (*pos) { delete *pos; }
143 }
144 theSkinSurfaceTable->clear();
145 }
146 return;
147}

◆ DumpInfo()

void G4LogicalSkinSurface::DumpInfo ( )
static

Definition at line 116 of file G4LogicalSkinSurface.cc.

117{
118 G4cout << "***** Skin Surface Table : Nb of Surfaces = "
119 << GetNumberOfSkinSurfaces() << " *****" << G4endl;
120
121 if (theSkinSurfaceTable != nullptr)
122 {
123 for(auto pos = theSkinSurfaceTable->cbegin();
124 pos != theSkinSurfaceTable->cend(); ++pos)
125 {
126 G4cout << (*pos)->GetName() << " : " << G4endl
127 << " Skin of logical volume "
128 << (*pos)->GetLogicalVolume()->GetName()
129 << G4endl;
130 }
131 }
132 G4cout << G4endl;
133}
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
static std::size_t GetNumberOfSkinSurfaces()

◆ GetLogicalVolume()

const G4LogicalVolume * G4LogicalSkinSurface::GetLogicalVolume ( ) const
inline

◆ GetNumberOfSkinSurfaces()

size_t G4LogicalSkinSurface::GetNumberOfSkinSurfaces ( )
static

Definition at line 91 of file G4LogicalSkinSurface.cc.

92{
93 if (theSkinSurfaceTable != nullptr)
94 {
95 return theSkinSurfaceTable->size();
96 }
97 return 0;
98}

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

◆ GetSurface()

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

Definition at line 101 of file G4LogicalSkinSurface.cc.

102{
103 if (theSkinSurfaceTable != nullptr)
104 {
105 for(auto pos = theSkinSurfaceTable->cbegin();
106 pos != theSkinSurfaceTable->cend(); ++pos)
107 {
108 if ((*pos)->GetLogicalVolume() == vol) { return *pos; }
109 }
110 }
111 return nullptr;
112}

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

◆ GetSurfaceTable()

const G4LogicalSkinSurfaceTable * G4LogicalSkinSurface::GetSurfaceTable ( )
static

Definition at line 82 of file G4LogicalSkinSurface.cc.

83{
84 if (theSkinSurfaceTable == nullptr)
85 {
86 theSkinSurfaceTable = new G4LogicalSkinSurfaceTable;
87 }
88 return theSkinSurfaceTable;
89}

Referenced by G4GDMLWriteStructure::GetSkinSurface().

◆ operator!=()

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

Definition at line 73 of file G4LogicalSkinSurface.cc.

74{
75 return (this != (G4LogicalSkinSurface *) &right);
76}

◆ operator=()

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

◆ operator==()

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

Definition at line 67 of file G4LogicalSkinSurface.cc.

68{
69 return (this == (G4LogicalSkinSurface *) &right);
70}

◆ SetLogicalVolume()

void G4LogicalSkinSurface::SetLogicalVolume ( G4LogicalVolume vol)
inline

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