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

#include <G4LogicalBorderSurface.hh>

+ Inheritance diagram for G4LogicalBorderSurface:

Public Member Functions

 G4LogicalBorderSurface (const G4String &name, G4VPhysicalVolume *vol1, G4VPhysicalVolume *vol2, G4SurfaceProperty *surfaceProperty)
 
 ~G4LogicalBorderSurface ()
 
void SetPhysicalVolumes (G4VPhysicalVolume *vol1, G4VPhysicalVolume *vol2)
 
const G4VPhysicalVolumeGetVolume1 () const
 
const G4VPhysicalVolumeGetVolume2 () const
 
void SetVolume1 (G4VPhysicalVolume *vol1)
 
void SetVolume2 (G4VPhysicalVolume *vol2)
 
G4int operator== (const G4LogicalBorderSurface &right) const
 
G4int operator!= (const G4LogicalBorderSurface &right) const
 
- 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 *tRadSurf)
 
virtual ~G4LogicalSurface ()
 
G4int operator== (const G4LogicalSurface &right) const
 
G4int operator!= (const G4LogicalSurface &right) const
 

Static Public Member Functions

static G4LogicalBorderSurfaceGetSurface (const G4VPhysicalVolume *vol1, const G4VPhysicalVolume *vol2)
 
static void CleanSurfaceTable ()
 
static const G4LogicalBorderSurfaceTableGetSurfaceTable ()
 
static size_t GetNumberOfBorderSurfaces ()
 
static void DumpInfo ()
 

Additional Inherited Members

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

Detailed Description

Definition at line 55 of file G4LogicalBorderSurface.hh.

Constructor & Destructor Documentation

◆ G4LogicalBorderSurface()

G4LogicalBorderSurface::G4LogicalBorderSurface ( const G4String name,
G4VPhysicalVolume vol1,
G4VPhysicalVolume vol2,
G4SurfaceProperty surfaceProperty 
)

Definition at line 50 of file G4LogicalBorderSurface.cc.

54 : G4LogicalSurface(name, surfaceProperty),
55 Volume1(vol1), Volume2(vol2)
56{
57 // Store in the table of Surfaces
58 //
59 theBorderSurfaceTable.push_back(this);
60}

◆ ~G4LogicalBorderSurface()

G4LogicalBorderSurface::~G4LogicalBorderSurface ( )

Definition at line 72 of file G4LogicalBorderSurface.cc.

73{
74}

Member Function Documentation

◆ CleanSurfaceTable()

void G4LogicalBorderSurface::CleanSurfaceTable ( )
static

Definition at line 154 of file G4LogicalBorderSurface.cc.

155{
156 G4LogicalBorderSurfaceTable::iterator pos;
157 for(pos=theBorderSurfaceTable.begin();
158 pos!=theBorderSurfaceTable.end(); pos++)
159 {
160 if (*pos) delete *pos;
161 }
162 theBorderSurfaceTable.clear();
163}

◆ DumpInfo()

void G4LogicalBorderSurface::DumpInfo ( )
static

Definition at line 137 of file G4LogicalBorderSurface.cc.

138{
139 G4cout << "***** Surface Table : Nb of Surfaces = "
140 << GetNumberOfBorderSurfaces() << " *****" << G4endl;
141
142 for (size_t i=0; i<theBorderSurfaceTable.size(); i++)
143 {
144 G4LogicalBorderSurface* pBorderSurface = theBorderSurfaceTable[i];
145 G4cout << pBorderSurface->GetName() << " : " << G4endl
146 << " Border of volumes "
147 << pBorderSurface->GetVolume1()->GetName() << " and "
148 << pBorderSurface->GetVolume2()->GetName()
149 << G4endl;
150 }
151 G4cout << G4endl;
152}
#define G4endl
Definition: G4ios.hh:52
G4DLLIMPORT std::ostream G4cout
const G4VPhysicalVolume * GetVolume2() const
const G4VPhysicalVolume * GetVolume1() const
static size_t GetNumberOfBorderSurfaces()
const G4String & GetName() const
const G4String & GetName() const

◆ GetNumberOfBorderSurfaces()

size_t G4LogicalBorderSurface::GetNumberOfBorderSurfaces ( )
static

Definition at line 117 of file G4LogicalBorderSurface.cc.

118{
119 return theBorderSurfaceTable.size();
120}

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

◆ GetSurface()

G4LogicalBorderSurface * G4LogicalBorderSurface::GetSurface ( const G4VPhysicalVolume vol1,
const G4VPhysicalVolume vol2 
)
static

Definition at line 123 of file G4LogicalBorderSurface.cc.

125{
126 for (size_t i=0; i<theBorderSurfaceTable.size(); i++)
127 {
128 if( (theBorderSurfaceTable[i]->GetVolume1() == vol1) &&
129 (theBorderSurfaceTable[i]->GetVolume2() == vol2) )
130 return theBorderSurfaceTable[i];
131 }
132 return NULL;
133}

Referenced by G4OpBoundaryProcess::PostStepDoIt().

◆ GetSurfaceTable()

const G4LogicalBorderSurfaceTable * G4LogicalBorderSurface::GetSurfaceTable ( )
static

Definition at line 112 of file G4LogicalBorderSurface.cc.

113{
114 return &theBorderSurfaceTable;
115}

Referenced by G4GDMLWriteStructure::GetBorderSurface().

◆ GetVolume1()

const G4VPhysicalVolume * G4LogicalBorderSurface::GetVolume1 ( ) const
inline

◆ GetVolume2()

const G4VPhysicalVolume * G4LogicalBorderSurface::GetVolume2 ( ) const
inline

◆ operator!=()

G4int G4LogicalBorderSurface::operator!= ( const G4LogicalBorderSurface right) const

Definition at line 103 of file G4LogicalBorderSurface.cc.

104{
105 return (this != (G4LogicalBorderSurface *) &right);
106}

◆ operator==()

G4int G4LogicalBorderSurface::operator== ( const G4LogicalBorderSurface right) const

Definition at line 97 of file G4LogicalBorderSurface.cc.

98{
99 return (this == (G4LogicalBorderSurface *) &right);
100}

◆ SetPhysicalVolumes()

void G4LogicalBorderSurface::SetPhysicalVolumes ( G4VPhysicalVolume vol1,
G4VPhysicalVolume vol2 
)
inline

◆ SetVolume1()

void G4LogicalBorderSurface::SetVolume1 ( G4VPhysicalVolume vol1)
inline

◆ SetVolume2()

void G4LogicalBorderSurface::SetVolume2 ( G4VPhysicalVolume vol2)
inline

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