54 LogVolume(logicalVolume)
56 if (!theSkinSurfaceTable)
62 theSkinSurfaceTable->push_back(
this);
68 if (!theSkinSurfaceTable)
73 LogVolume = right.LogVolume;
74 (*theSkinSurfaceTable) = (*right.theSkinSurfaceTable);
89 if (&right ==
this)
return *
this;
95 LogVolume = right.LogVolume;
96 (*theSkinSurfaceTable) = (*right.theSkinSurfaceTable);
119 if (!theSkinSurfaceTable)
123 return theSkinSurfaceTable;
128 if (theSkinSurfaceTable)
130 return theSkinSurfaceTable->size();
138 if (theSkinSurfaceTable)
140 for (
size_t i=0; i<theSkinSurfaceTable->size(); i++)
142 if((*theSkinSurfaceTable)[i]->GetLogicalVolume() == vol)
143 return (*theSkinSurfaceTable)[i];
153 G4cout <<
"***** Skin Surface Table : Nb of Surfaces = "
156 if (theSkinSurfaceTable)
158 for (
size_t i=0; i<theSkinSurfaceTable->size(); i++)
162 <<
" Skin of logical volume "
172 if (theSkinSurfaceTable)
174 G4LogicalSkinSurfaceTable::iterator pos;
175 for(pos=theSkinSurfaceTable->begin();
176 pos!=theSkinSurfaceTable->end(); pos++)
178 if (*pos) {
delete *pos; }
180 theSkinSurfaceTable->clear();
G4TransitionRadiationSurface * GetTransitionRadiationSurface() const
const G4LogicalVolume * GetLogicalVolume() const
G4int operator!=(const G4LogicalSkinSurface &right) const
void SetName(const G4String &name)
static size_t GetNumberOfSkinSurfaces()
static void CleanSurfaceTable()
G4LogicalSkinSurface(const G4String &name, G4LogicalVolume *vol, G4SurfaceProperty *surfaceProperty)
static const G4LogicalSkinSurfaceTable * GetSurfaceTable()
const G4String & GetName() const
G4GLOB_DLL std::ostream G4cout
void SetTransitionRadiationSurface(G4TransitionRadiationSurface *tRadSurf)
void SetSurfaceProperty(G4SurfaceProperty *ptrSurfaceProperty)
G4int operator==(const G4LogicalSkinSurface &right) const
G4SurfaceProperty * GetSurfaceProperty() const
std::vector< G4LogicalSkinSurface * > G4LogicalSkinSurfaceTable
static G4LogicalSkinSurface * GetSurface(const G4LogicalVolume *vol)