Geant4  10.02.p03
G4LogicalSkinSurface Class Reference

#include <G4LogicalSkinSurface.hh>

Inheritance diagram for G4LogicalSkinSurface:
Collaboration diagram for G4LogicalSkinSurface:

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 G4LogicalSkinSurfaceTableGetSurfaceTable ()
 
static size_t GetNumberOfSkinSurfaces ()
 
static void DumpInfo ()
 

Private Member Functions

 G4LogicalSkinSurface (const G4LogicalSkinSurface &right)
 
G4LogicalSkinSurfaceoperator= (const G4LogicalSkinSurface &right)
 

Private Attributes

G4LogicalVolumeLogVolume
 

Static Private Attributes

static G4LogicalSkinSurfaceTabletheSkinSurfaceTable = 0
 

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() [1/2]

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 {
57  {
59  }
60  // Store in the table of Surfaces
61  //
62  theSkinSurfaceTable->push_back(this);
63 }
G4LogicalVolume * LogVolume
G4LogicalSurface(const G4String &name, G4SurfaceProperty *prop)
static G4LogicalSkinSurfaceTable * theSkinSurfaceTable
std::vector< G4LogicalSkinSurface * > G4LogicalSkinSurfaceTable

◆ ~G4LogicalSkinSurface()

G4LogicalSkinSurface::~G4LogicalSkinSurface ( )

Definition at line 77 of file G4LogicalSkinSurface.cc.

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

◆ G4LogicalSkinSurface() [2/2]

G4LogicalSkinSurface::G4LogicalSkinSurface ( const G4LogicalSkinSurface right)
private

Definition at line 65 of file G4LogicalSkinSurface.cc.

66  : G4LogicalSurface(right.GetName(), right.GetSurfaceProperty())
67 {
69  {
71  }
73  LogVolume = right.LogVolume;
74  (*theSkinSurfaceTable) = (*right.theSkinSurfaceTable);
75 }
const G4String & GetName() const
G4LogicalVolume * LogVolume
G4LogicalSurface(const G4String &name, G4SurfaceProperty *prop)
G4TransitionRadiationSurface * GetTransitionRadiationSurface() const
static G4LogicalSkinSurfaceTable * theSkinSurfaceTable
void SetTransitionRadiationSurface(G4TransitionRadiationSurface *tRadSurf)
G4SurfaceProperty * GetSurfaceProperty() const
std::vector< G4LogicalSkinSurface * > G4LogicalSkinSurfaceTable
Here is the call graph for this function:

Member Function Documentation

◆ CleanSurfaceTable()

void G4LogicalSkinSurface::CleanSurfaceTable ( )
static

Definition at line 169 of file G4LogicalSkinSurface.cc.

170 {
172  {
173  G4LogicalSkinSurfaceTable::iterator pos;
174  for(pos=theSkinSurfaceTable->begin();
175  pos!=theSkinSurfaceTable->end(); pos++)
176  {
177  if (*pos) { delete *pos; }
178  }
179  theSkinSurfaceTable->clear();
180  }
181  return;
182 }
static G4LogicalSkinSurfaceTable * theSkinSurfaceTable
static const G4double pos
Here is the caller graph for this function:

◆ DumpInfo()

void G4LogicalSkinSurface::DumpInfo ( )
static

Definition at line 150 of file G4LogicalSkinSurface.cc.

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

◆ GetLogicalVolume()

const G4LogicalVolume* G4LogicalSkinSurface::GetLogicalVolume ( ) const
inline
Here is the caller graph for this function:

◆ GetNumberOfSkinSurfaces()

size_t G4LogicalSkinSurface::GetNumberOfSkinSurfaces ( )
static

Definition at line 125 of file G4LogicalSkinSurface.cc.

126 {
128  {
129  return theSkinSurfaceTable->size();
130  }
131  return 0;
132 }
static G4LogicalSkinSurfaceTable * theSkinSurfaceTable
Here is the caller graph for this function:

◆ GetSurface()

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

Definition at line 135 of file G4LogicalSkinSurface.cc.

136 {
138  {
139  for (size_t i=0; i<theSkinSurfaceTable->size(); i++)
140  {
141  if((*theSkinSurfaceTable)[i]->GetLogicalVolume() == vol)
142  return (*theSkinSurfaceTable)[i];
143  }
144  }
145  return 0;
146 }
static G4LogicalSkinSurfaceTable * theSkinSurfaceTable
Here is the caller graph for this function:

◆ GetSurfaceTable()

const G4LogicalSkinSurfaceTable * G4LogicalSkinSurface::GetSurfaceTable ( )
static

Definition at line 116 of file G4LogicalSkinSurface.cc.

117 {
118  if (!theSkinSurfaceTable)
119  {
121  }
122  return theSkinSurfaceTable;
123 }
static G4LogicalSkinSurfaceTable * theSkinSurfaceTable
std::vector< G4LogicalSkinSurface * > G4LogicalSkinSurfaceTable
Here is the caller graph for this function:

◆ operator!=()

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

Definition at line 107 of file G4LogicalSkinSurface.cc.

108 {
109  return (this != (G4LogicalSkinSurface *) &right);
110 }

◆ operator=()

G4LogicalSkinSurface & G4LogicalSkinSurface::operator= ( const G4LogicalSkinSurface right)
private

Definition at line 87 of file G4LogicalSkinSurface.cc.

88 {
89  if (&right == this) return *this;
90 
92  SetName(right.GetName());
94  LogVolume = right.LogVolume;
95  (*theSkinSurfaceTable) = (*right.theSkinSurfaceTable);
96 
97  return *this;
98 }
void SetName(const G4String &name)
const G4String & GetName() const
G4LogicalVolume * LogVolume
G4TransitionRadiationSurface * GetTransitionRadiationSurface() const
static G4LogicalSkinSurfaceTable * theSkinSurfaceTable
void SetTransitionRadiationSurface(G4TransitionRadiationSurface *tRadSurf)
void SetSurfaceProperty(G4SurfaceProperty *ptrSurfaceProperty)
G4SurfaceProperty * GetSurfaceProperty() const
Here is the call graph for this function:

◆ operator==()

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

Definition at line 101 of file G4LogicalSkinSurface.cc.

102 {
103  return (this == (G4LogicalSkinSurface *) &right);
104 }

◆ SetLogicalVolume()

void G4LogicalSkinSurface::SetLogicalVolume ( G4LogicalVolume vol)
inline

Member Data Documentation

◆ LogVolume

G4LogicalVolume* G4LogicalSkinSurface::LogVolume
private

Definition at line 88 of file G4LogicalSkinSurface.hh.

◆ theSkinSurfaceTable

G4LogicalSkinSurfaceTable * G4LogicalSkinSurface::theSkinSurfaceTable = 0
staticprivate

Definition at line 91 of file G4LogicalSkinSurface.hh.


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