56 Volume1(vol1), Volume2(vol2)
58 if (!theBorderSurfaceTable)
65 theBorderSurfaceTable->push_back(
this);
72 if (!theBorderSurfaceTable)
77 Volume1 = right.Volume1;
78 Volume2 = right.Volume2;
79 (*theBorderSurfaceTable) = (*right.theBorderSurfaceTable);
94 if (&right ==
this)
return *
this;
99 Volume1 = right.Volume1;
100 Volume2 = right.Volume2;
101 (*theBorderSurfaceTable) = (*right.theBorderSurfaceTable);
124 if (!theBorderSurfaceTable)
128 return theBorderSurfaceTable;
133 if (theBorderSurfaceTable)
135 return theBorderSurfaceTable->size();
144 if (theBorderSurfaceTable)
146 for (
size_t i=0; i<theBorderSurfaceTable->size(); i++)
148 if( ((*theBorderSurfaceTable)[i]->
GetVolume1() == vol1) &&
149 ((*theBorderSurfaceTable)[i]->GetVolume2() == vol2) )
150 return (*theBorderSurfaceTable)[i];
160 G4cout <<
"***** Surface Table : Nb of Surfaces = "
163 if (theBorderSurfaceTable)
165 for (
size_t i=0; i<theBorderSurfaceTable->size(); i++)
169 <<
" Border of volumes "
180 if (theBorderSurfaceTable)
182 G4LogicalBorderSurfaceTable::iterator
pos;
183 for(pos=theBorderSurfaceTable->begin();
184 pos!=theBorderSurfaceTable->end(); pos++)
186 if (*pos) {
delete *
pos; }
188 theBorderSurfaceTable->clear();
G4TransitionRadiationSurface * GetTransitionRadiationSurface() const
std::vector< G4LogicalBorderSurface * > G4LogicalBorderSurfaceTable
G4LogicalBorderSurface(const G4String &name, G4VPhysicalVolume *vol1, G4VPhysicalVolume *vol2, G4SurfaceProperty *surfaceProperty)
const G4VPhysicalVolume * GetVolume2() const
void SetName(const G4String &name)
static G4LogicalBorderSurface * GetSurface(const G4VPhysicalVolume *vol1, const G4VPhysicalVolume *vol2)
static size_t GetNumberOfBorderSurfaces()
G4int operator!=(const G4LogicalBorderSurface &right) const
const G4String & GetName() const
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const
static const G4LogicalBorderSurfaceTable * GetSurfaceTable()
static void CleanSurfaceTable()
void SetTransitionRadiationSurface(G4TransitionRadiationSurface *tRadSurf)
const G4VPhysicalVolume * GetVolume1() const
~G4LogicalBorderSurface()
void SetSurfaceProperty(G4SurfaceProperty *ptrSurfaceProperty)
G4int operator==(const G4LogicalBorderSurface &right) const
G4SurfaceProperty * GetSurfaceProperty() const
static const G4double pos