Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions
G4LogicalSkinSurface Class Reference

#include <G4LogicalSkinSurface.hh>

Inheritance diagram for G4LogicalSkinSurface:
G4LogicalSurface

Public Member Functions

 G4LogicalSkinSurface (const G4String &name, G4LogicalVolume *vol, G4SurfaceProperty *surfaceProperty)
 
 ~G4LogicalSkinSurface ()
 
const G4LogicalVolumeGetLogicalVolume () const
 
void SetLogicalVolume (G4LogicalVolume *vol)
 
G4int operator== (const G4LogicalSkinSurface &right) const
 
G4int operator!= (const G4LogicalSkinSurface &right) const
 
- Public Member Functions inherited from G4LogicalSurface
G4SurfacePropertyGetSurfaceProperty () const
 
void SetSurfaceProperty (G4SurfaceProperty *ptrSurfaceProperty)
 
const G4StringGetName () const
 
void SetName (const G4String &name)
 
G4TransitionRadiationSurface * GetTransitionRadiationSurface () const
 
void SetTransitionRadiationSurface (G4TransitionRadiationSurface *tRadSurf)
 
virtual ~G4LogicalSurface ()
 
G4int operator== (const G4LogicalSurface &right) const
 
G4int operator!= (const G4LogicalSurface &right) const
 

Static Public Member Functions

static G4LogicalSkinSurfaceGetSurface (const G4LogicalVolume *vol)
 
static void CleanSurfaceTable ()
 
static const
G4LogicalSkinSurfaceTable
GetSurfaceTable ()
 
static size_t GetNumberOfSkinSurfaces ()
 
static void DumpInfo ()
 

Additional Inherited Members

- Protected Member Functions inherited from G4LogicalSurface
 G4LogicalSurface (const G4String &name, G4SurfaceProperty *prop)
 

Detailed Description

Definition at line 54 of file G4LogicalSkinSurface.hh.

Constructor & Destructor Documentation

G4LogicalSkinSurface::G4LogicalSkinSurface ( const G4String name,
G4LogicalVolume vol,
G4SurfaceProperty surfaceProperty 
)

Definition at line 50 of file G4LogicalSkinSurface.cc.

53  : G4LogicalSurface(name, surfaceProperty),
54  LogVolume(logicalVolume)
55 {
56  if (!theSkinSurfaceTable)
57  {
58  theSkinSurfaceTable = new G4LogicalSkinSurfaceTable;
59  }
60  // Store in the table of Surfaces
61  //
62  theSkinSurfaceTable->push_back(this);
63 }
G4LogicalSurface(const G4String &name, G4SurfaceProperty *prop)
std::vector< G4LogicalSkinSurface * > G4LogicalSkinSurfaceTable
G4LogicalSkinSurface::~G4LogicalSkinSurface ( )

Definition at line 77 of file G4LogicalSkinSurface.cc.

78 {
79 // delete theSkinSurfaceTable; theSkinSurfaceTable = 0;
80 }

Member Function Documentation

void G4LogicalSkinSurface::CleanSurfaceTable ( )
static

Definition at line 170 of file G4LogicalSkinSurface.cc.

Referenced by LXeDetectorConstruction::Construct(), and WLSDetectorConstruction::Construct().

171 {
172  if (theSkinSurfaceTable)
173  {
174  G4LogicalSkinSurfaceTable::iterator pos;
175  for(pos=theSkinSurfaceTable->begin();
176  pos!=theSkinSurfaceTable->end(); pos++)
177  {
178  if (*pos) { delete *pos; }
179  }
180  theSkinSurfaceTable->clear();
181  }
182  return;
183 }
void G4LogicalSkinSurface::DumpInfo ( )
static

Definition at line 151 of file G4LogicalSkinSurface.cc.

References G4cout, G4endl, GetLogicalVolume(), G4LogicalSurface::GetName(), G4LogicalVolume::GetName(), and GetNumberOfSkinSurfaces().

152 {
153  G4cout << "***** Skin Surface Table : Nb of Surfaces = "
154  << GetNumberOfSkinSurfaces() << " *****" << G4endl;
155 
156  if (theSkinSurfaceTable)
157  {
158  for (size_t i=0; i<theSkinSurfaceTable->size(); i++)
159  {
160  G4LogicalSkinSurface* pSkinSurface = (*theSkinSurfaceTable)[i];
161  G4cout << pSkinSurface->GetName() << " : " << G4endl
162  << " Skin of logical volume "
163  << pSkinSurface->GetLogicalVolume()->GetName()
164  << G4endl;
165  }
166  }
167  G4cout << G4endl;
168 }
G4String GetName() const
const G4LogicalVolume * GetLogicalVolume() const
static size_t GetNumberOfSkinSurfaces()
const G4String & GetName() const
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
const G4LogicalVolume* G4LogicalSkinSurface::GetLogicalVolume ( ) const
inline
size_t G4LogicalSkinSurface::GetNumberOfSkinSurfaces ( )
static

Definition at line 126 of file G4LogicalSkinSurface.cc.

Referenced by DumpInfo(), and G4GDMLWriteStructure::GetSkinSurface().

127 {
128  if (theSkinSurfaceTable)
129  {
130  return theSkinSurfaceTable->size();
131  }
132  return 0;
133 }
G4LogicalSkinSurface * G4LogicalSkinSurface::GetSurface ( const G4LogicalVolume vol)
static

Definition at line 136 of file G4LogicalSkinSurface.cc.

Referenced by OpNoviceDetectorConstruction::Construct(), and G4OpBoundaryProcess::PostStepDoIt().

137 {
138  if (theSkinSurfaceTable)
139  {
140  for (size_t i=0; i<theSkinSurfaceTable->size(); i++)
141  {
142  if((*theSkinSurfaceTable)[i]->GetLogicalVolume() == vol)
143  return (*theSkinSurfaceTable)[i];
144  }
145  }
146  return 0;
147 }
const G4LogicalSkinSurfaceTable * G4LogicalSkinSurface::GetSurfaceTable ( )
static

Definition at line 117 of file G4LogicalSkinSurface.cc.

Referenced by G4GDMLWriteStructure::GetSkinSurface().

118 {
119  if (!theSkinSurfaceTable)
120  {
121  theSkinSurfaceTable = new G4LogicalSkinSurfaceTable;
122  }
123  return theSkinSurfaceTable;
124 }
std::vector< G4LogicalSkinSurface * > G4LogicalSkinSurfaceTable
G4int G4LogicalSkinSurface::operator!= ( const G4LogicalSkinSurface right) const

Definition at line 108 of file G4LogicalSkinSurface.cc.

109 {
110  return (this != (G4LogicalSkinSurface *) &right);
111 }
G4int G4LogicalSkinSurface::operator== ( const G4LogicalSkinSurface right) const

Definition at line 102 of file G4LogicalSkinSurface.cc.

103 {
104  return (this == (G4LogicalSkinSurface *) &right);
105 }
void G4LogicalSkinSurface::SetLogicalVolume ( G4LogicalVolume vol)
inline

The documentation for this class was generated from the following files: