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

Static Public Member Functions

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

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.

00053   : G4LogicalSurface(name, surfaceProperty),
00054     LogVolume(logicalVolume)
00055 {
00056   // Store in the table of Surfaces
00057   //
00058   theSkinSurfaceTable.push_back(this);
00059 }

G4LogicalSkinSurface::~G4LogicalSkinSurface (  ) 

Definition at line 69 of file G4LogicalSkinSurface.cc.

00070 {
00071 }


Member Function Documentation

void G4LogicalSkinSurface::CleanSurfaceTable (  )  [static]

Definition at line 147 of file G4LogicalSkinSurface.cc.

00148 {  
00149   G4LogicalSkinSurfaceTable::iterator pos;
00150   for(pos=theSkinSurfaceTable.begin(); pos!=theSkinSurfaceTable.end(); pos++)
00151   {
00152     if (*pos) delete *pos;
00153   }
00154   theSkinSurfaceTable.clear();
00155 }

void G4LogicalSkinSurface::DumpInfo (  )  [static]

Definition at line 131 of file G4LogicalSkinSurface.cc.

References G4cout, G4endl, and GetNumberOfSkinSurfaces().

00132 {
00133     G4cout << "***** Skin Surface Table : Nb of Surfaces = "
00134            << GetNumberOfSkinSurfaces() << " *****" << G4endl;
00135 
00136     for (size_t i=0; i<theSkinSurfaceTable.size(); i++)
00137     {
00138       G4LogicalSkinSurface* pSkinSurface = theSkinSurfaceTable[i];
00139       G4cout << pSkinSurface->GetName() << " : " << G4endl
00140              << " Skin of logical volume "
00141              << pSkinSurface->GetLogicalVolume()->GetName()
00142              << G4endl;
00143     }
00144     G4cout << G4endl;
00145 }

const G4LogicalVolume * G4LogicalSkinSurface::GetLogicalVolume (  )  const [inline]

Definition at line 35 of file G4LogicalSkinSurface.icc.

Referenced by GetSurface(), and G4GDMLWriteStructure::SkinSurfaceCache().

00036 {
00037   return LogVolume;
00038 }

size_t G4LogicalSkinSurface::GetNumberOfSkinSurfaces (  )  [static]

Definition at line 113 of file G4LogicalSkinSurface.cc.

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

00114 {
00115   return theSkinSurfaceTable.size();
00116 }

G4LogicalSkinSurface * G4LogicalSkinSurface::GetSurface ( const G4LogicalVolume vol  )  [static]

Definition at line 119 of file G4LogicalSkinSurface.cc.

References GetLogicalVolume().

Referenced by G4OpBoundaryProcess::PostStepDoIt().

00120 {
00121   for (size_t i=0; i<theSkinSurfaceTable.size(); i++)
00122   {
00123     if(theSkinSurfaceTable[i]->GetLogicalVolume() == vol)
00124       return theSkinSurfaceTable[i];
00125   }
00126   return NULL;
00127 }

const G4LogicalSkinSurfaceTable * G4LogicalSkinSurface::GetSurfaceTable (  )  [static]

Definition at line 108 of file G4LogicalSkinSurface.cc.

Referenced by G4GDMLWriteStructure::GetSkinSurface().

00109 {
00110   return &theSkinSurfaceTable;
00111 }

G4int G4LogicalSkinSurface::operator!= ( const G4LogicalSkinSurface right  )  const

Definition at line 99 of file G4LogicalSkinSurface.cc.

00100 {
00101   return (this != (G4LogicalSkinSurface *) &right);
00102 }

G4int G4LogicalSkinSurface::operator== ( const G4LogicalSkinSurface right  )  const

Definition at line 93 of file G4LogicalSkinSurface.cc.

00094 {
00095   return (this == (G4LogicalSkinSurface *) &right);
00096 }

void G4LogicalSkinSurface::SetLogicalVolume ( G4LogicalVolume vol  )  [inline]

Definition at line 41 of file G4LogicalSkinSurface.icc.

00042 {
00043   LogVolume = vol;
00044 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:26 2013 for Geant4 by  doxygen 1.4.7