G4SurfaceProperty Class Reference

#include <G4SurfaceProperty.hh>

Inheritance diagram for G4SurfaceProperty:

G4OpticalSurface

Public Member Functions

 G4SurfaceProperty (const G4String &name, G4SurfaceType type=x_ray)
 G4SurfaceProperty ()
virtual ~G4SurfaceProperty ()
const G4StringGetName () const
void SetName (const G4String &name)
const G4SurfaceTypeGetType () const
void SetType (const G4SurfaceType &type)

Static Public Member Functions

static void CleanSurfacePropertyTable ()
static const G4SurfacePropertyTableGetSurfacePropertyTable ()
static size_t GetNumberOfSurfaceProperties ()
static void DumpTableInfo ()

Protected Attributes

G4String theName
G4SurfaceType theType

Static Protected Attributes

static G4SurfacePropertyTable theSurfacePropertyTable

Detailed Description

Definition at line 78 of file G4SurfaceProperty.hh.


Constructor & Destructor Documentation

G4SurfaceProperty::G4SurfaceProperty ( const G4String name,
G4SurfaceType  type = x_ray 
)

Definition at line 55 of file G4SurfaceProperty.cc.

References theSurfacePropertyTable.

00057   : theName(name), theType(type)
00058 {
00059   theSurfacePropertyTable.push_back(this);
00060 }

G4SurfaceProperty::G4SurfaceProperty (  ) 

Definition at line 65 of file G4SurfaceProperty.cc.

References theSurfacePropertyTable.

00066   : theName("Dielectric"), theType(dielectric_metal)
00067 {
00068   theSurfacePropertyTable.push_back(this);
00069 }

G4SurfaceProperty::~G4SurfaceProperty (  )  [virtual]

Definition at line 71 of file G4SurfaceProperty.cc.

00072 {
00073 }


Member Function Documentation

void G4SurfaceProperty::CleanSurfacePropertyTable (  )  [static]

Definition at line 107 of file G4SurfaceProperty.cc.

References DumpTableInfo(), and theSurfacePropertyTable.

00108 {
00109   DumpTableInfo();
00110   G4SurfacePropertyTable::iterator pos;
00111   for(pos=theSurfacePropertyTable.begin();
00112       pos!=theSurfacePropertyTable.end(); pos++)
00113   {
00114     if (*pos) delete *pos;
00115   }
00116   theSurfacePropertyTable.clear();
00117   DumpTableInfo();
00118 }

void G4SurfaceProperty::DumpTableInfo (  )  [static]

Definition at line 91 of file G4SurfaceProperty.cc.

References G4cout, G4endl, GetNumberOfSurfaceProperties(), and theSurfacePropertyTable.

Referenced by CleanSurfacePropertyTable().

00092 {
00093   G4cout << "***** Surface Property Table : Nb of Surface Properties = "
00094          << GetNumberOfSurfaceProperties() << " *****" << G4endl;
00095 
00096   for (size_t i=0; i<theSurfacePropertyTable.size(); i++)
00097   {
00098     G4SurfaceProperty* pSurfaceProperty = theSurfacePropertyTable[i];
00099     G4cout << pSurfaceProperty->GetName() << " : " << G4endl
00100            << "  Surface Property type   = " 
00101            << pSurfaceProperty->GetType()
00102            << G4endl;
00103   }
00104   G4cout << G4endl;
00105 }

const G4String& G4SurfaceProperty::GetName (  )  const [inline]

Definition at line 112 of file G4SurfaceProperty.hh.

References theName.

Referenced by G4GDMLWriteStructure::BorderSurfaceCache(), G4GDMLWriteSolids::OpticalSurfaceWrite(), and G4GDMLWriteStructure::SkinSurfaceCache().

00112 { return theName; }

size_t G4SurfaceProperty::GetNumberOfSurfaceProperties (  )  [static]

Definition at line 84 of file G4SurfaceProperty.cc.

References theSurfacePropertyTable.

Referenced by DumpTableInfo().

00085 {
00086   return theSurfacePropertyTable.size();
00087 }

const G4SurfacePropertyTable * G4SurfaceProperty::GetSurfacePropertyTable (  )  [static]

Definition at line 79 of file G4SurfaceProperty.cc.

References theSurfacePropertyTable.

Referenced by G4GDMLReadSolids::GetSurfaceProperty().

00080 {
00081   return &theSurfacePropertyTable;
00082 }

const G4SurfaceType& G4SurfaceProperty::GetType ( void   )  const [inline]

Definition at line 117 of file G4SurfaceProperty.hh.

References theType.

Referenced by G4GDMLWriteSolids::OpticalSurfaceWrite(), and G4OpBoundaryProcess::PostStepDoIt().

00117 { return theType; }

void G4SurfaceProperty::SetName ( const G4String name  )  [inline]

Definition at line 114 of file G4SurfaceProperty.hh.

References theName.

00114 { theName = name; }

void G4SurfaceProperty::SetType ( const G4SurfaceType type  )  [inline]

Reimplemented in G4OpticalSurface.

Definition at line 119 of file G4SurfaceProperty.hh.

References theType.

00119 { theType = type; }


Field Documentation

G4String G4SurfaceProperty::theName [protected]

Definition at line 134 of file G4SurfaceProperty.hh.

Referenced by GetName(), G4OpticalSurface::operator=(), and SetName().

G4SurfacePropertyTable G4SurfaceProperty::theSurfacePropertyTable [static, protected]

Definition at line 138 of file G4SurfaceProperty.hh.

Referenced by CleanSurfacePropertyTable(), DumpTableInfo(), G4SurfaceProperty(), GetNumberOfSurfaceProperties(), and GetSurfacePropertyTable().

G4SurfaceType G4SurfaceProperty::theType [protected]

Definition at line 136 of file G4SurfaceProperty.hh.

Referenced by G4OpticalSurface::DumpInfo(), GetType(), G4OpticalSurface::operator=(), G4OpticalSurface::SetFinish(), SetType(), and G4OpticalSurface::SetType().


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