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;
94 LogVolume = right.LogVolume;
95 (*theSkinSurfaceTable) = (*right.theSkinSurfaceTable);
118 if (!theSkinSurfaceTable)
122 return theSkinSurfaceTable;
127 if (theSkinSurfaceTable)
129 return theSkinSurfaceTable->size();
137 if (theSkinSurfaceTable)
139 for (
size_t i=0; i<theSkinSurfaceTable->size(); i++)
141 if((*theSkinSurfaceTable)[i]->GetLogicalVolume() == vol)
142 return (*theSkinSurfaceTable)[i];
152 G4cout <<
"***** Skin Surface Table : Nb of Surfaces = "
155 if (theSkinSurfaceTable)
157 for (
size_t i=0; i<theSkinSurfaceTable->size(); i++)
161 <<
" Skin of logical volume "
171 if (theSkinSurfaceTable)
173 G4LogicalSkinSurfaceTable::iterator
pos;
174 for(pos=theSkinSurfaceTable->begin();
175 pos!=theSkinSurfaceTable->end(); pos++)
177 if (*pos) {
delete *
pos; }
179 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
const G4String & GetName() const
std::vector< G4LogicalSkinSurface * > G4LogicalSkinSurfaceTable
static const G4double pos
static G4LogicalSkinSurface * GetSurface(const G4LogicalVolume *vol)