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;
100 Volume1 = right.Volume1;
101 Volume2 = right.Volume2;
102 (*theBorderSurfaceTable) = (*right.theBorderSurfaceTable);
125 if (!theBorderSurfaceTable)
129 return theBorderSurfaceTable;
134 if (theBorderSurfaceTable)
136 return theBorderSurfaceTable->size();
145 if (theBorderSurfaceTable)
147 for (
size_t i=0; i<theBorderSurfaceTable->size(); i++)
149 if( ((*theBorderSurfaceTable)[i]->
GetVolume1() == vol1) &&
150 ((*theBorderSurfaceTable)[i]->GetVolume2() == vol2) )
151 return (*theBorderSurfaceTable)[i];
161 G4cout <<
"***** Surface Table : Nb of Surfaces = "
164 if (theBorderSurfaceTable)
166 for (
size_t i=0; i<theBorderSurfaceTable->size(); i++)
170 <<
" Border of volumes "
181 if (theBorderSurfaceTable)
183 G4LogicalBorderSurfaceTable::iterator pos;
184 for(pos=theBorderSurfaceTable->begin();
185 pos!=theBorderSurfaceTable->end(); pos++)
187 if (*pos) {
delete *pos; }
189 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