55 Volume1(vol1), Volume2(vol2)
59 theBorderSurfaceTable.push_back(
this);
67 Volume1 = right.Volume1;
68 Volume2 = right.Volume2;
69 theBorderSurfaceTable = right.theBorderSurfaceTable;
83 if (&right ==
this)
return *
this;
89 Volume1 = right.Volume1;
90 Volume2 = right.Volume2;
91 theBorderSurfaceTable = right.theBorderSurfaceTable;
114 return &theBorderSurfaceTable;
119 return theBorderSurfaceTable.size();
126 for (
size_t i=0; i<theBorderSurfaceTable.size(); i++)
128 if( (theBorderSurfaceTable[i]->
GetVolume1() == vol1) &&
129 (theBorderSurfaceTable[i]->
GetVolume2() == vol2) )
130 return theBorderSurfaceTable[i];
139 G4cout <<
"***** Surface Table : Nb of Surfaces = "
142 for (
size_t i=0; i<theBorderSurfaceTable.size(); i++)
146 <<
" Border of volumes "
156 G4LogicalBorderSurfaceTable::iterator pos;
157 for(pos=theBorderSurfaceTable.begin();
158 pos!=theBorderSurfaceTable.end(); pos++)
160 if (*pos)
delete *pos;
162 theBorderSurfaceTable.clear();
std::vector< G4LogicalBorderSurface * > G4LogicalBorderSurfaceTable
G4DLLIMPORT std::ostream G4cout
G4int operator==(const G4LogicalBorderSurface &right) const
~G4LogicalBorderSurface()
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
static size_t GetNumberOfBorderSurfaces()
G4int operator!=(const G4LogicalBorderSurface &right) const
const G4String & GetName() const
void SetName(const G4String &name)
G4SurfaceProperty * GetSurfaceProperty() const
G4TransitionRadiationSurface * GetTransitionRadiationSurface() const
void SetTransitionRadiationSurface(G4TransitionRadiationSurface *tRadSurf)
void SetSurfaceProperty(G4SurfaceProperty *ptrSurfaceProperty)
const G4String & GetName() const