38G4LogicalBorderSurface::theBorderSurfaceTable =
nullptr;
50 Volume1(vol1), Volume2(vol2)
52 if (theBorderSurfaceTable ==
nullptr)
59 theBorderSurfaceTable->insert(std::make_pair(std::make_pair(vol1,vol2),
this));
88 if (theBorderSurfaceTable ==
nullptr)
92 return theBorderSurfaceTable;
97 if (theBorderSurfaceTable !=
nullptr)
99 return theBorderSurfaceTable->size();
108 if (theBorderSurfaceTable !=
nullptr)
110 auto pos = theBorderSurfaceTable->find(std::make_pair(vol1,vol2));
111 if(pos != theBorderSurfaceTable->cend())
return pos->second;
120 G4cout <<
"***** Surface Table : Nb of Surfaces = "
123 if (theBorderSurfaceTable !=
nullptr)
125 for(
auto pos = theBorderSurfaceTable->cbegin();
126 pos != theBorderSurfaceTable->cend(); ++pos)
130 <<
" Border of volumes "
140 if (theBorderSurfaceTable !=
nullptr)
142 for(
auto pos = theBorderSurfaceTable->cbegin();
143 pos != theBorderSurfaceTable->cend(); ++pos)
145 if (pos->second) {
delete pos->second; }
147 theBorderSurfaceTable->clear();
std::map< std::pair< const G4VPhysicalVolume *, const G4VPhysicalVolume * >, G4LogicalBorderSurface * > G4LogicalBorderSurfaceTable
G4GLOB_DLL std::ostream G4cout
~G4LogicalBorderSurface()
G4bool operator!=(const G4LogicalBorderSurface &right) const
static size_t GetNumberOfBorderSurfaces()
static G4LogicalBorderSurface * GetSurface(const G4VPhysicalVolume *vol1, const G4VPhysicalVolume *vol2)
static const G4LogicalBorderSurfaceTable * GetSurfaceTable()
const G4VPhysicalVolume * GetVolume2() const
G4LogicalBorderSurface(const G4String &name, G4VPhysicalVolume *vol1, G4VPhysicalVolume *vol2, G4SurfaceProperty *surfaceProperty)
static void CleanSurfaceTable()
const G4VPhysicalVolume * GetVolume1() const
G4bool operator==(const G4LogicalBorderSurface &right) const
const G4String & GetName() const
const G4String & GetName() const