Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4LogicalBorderSurface Class Reference

#include <G4LogicalBorderSurface.hh>

Inheritance diagram for G4LogicalBorderSurface:
Collaboration diagram for G4LogicalBorderSurface:

Public Member Functions

 G4LogicalBorderSurface (const G4String &name, G4VPhysicalVolume *vol1, G4VPhysicalVolume *vol2, G4SurfaceProperty *surfaceProperty)
 
 ~G4LogicalBorderSurface ()
 
void SetPhysicalVolumes (G4VPhysicalVolume *vol1, G4VPhysicalVolume *vol2)
 
const G4VPhysicalVolumeGetVolume1 () const
 
const G4VPhysicalVolumeGetVolume2 () const
 
void SetVolume1 (G4VPhysicalVolume *vol1)
 
void SetVolume2 (G4VPhysicalVolume *vol2)
 
G4int operator== (const G4LogicalBorderSurface &right) const
 
G4int operator!= (const G4LogicalBorderSurface &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 G4LogicalBorderSurfaceGetSurface (const G4VPhysicalVolume *vol1, const G4VPhysicalVolume *vol2)
 
static void CleanSurfaceTable ()
 
static const
G4LogicalBorderSurfaceTable
GetSurfaceTable ()
 
static size_t GetNumberOfBorderSurfaces ()
 
static void DumpInfo ()
 

Additional Inherited Members

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

Detailed Description

Definition at line 55 of file G4LogicalBorderSurface.hh.

Constructor & Destructor Documentation

G4LogicalBorderSurface::G4LogicalBorderSurface ( const G4String name,
G4VPhysicalVolume vol1,
G4VPhysicalVolume vol2,
G4SurfaceProperty surfaceProperty 
)

Definition at line 51 of file G4LogicalBorderSurface.cc.

55  : G4LogicalSurface(name, surfaceProperty),
56  Volume1(vol1), Volume2(vol2)
57 {
58  if (!theBorderSurfaceTable)
59  {
60  theBorderSurfaceTable = new G4LogicalBorderSurfaceTable;
61  }
62 
63  // Store in the table of Surfaces
64  //
65  theBorderSurfaceTable->push_back(this);
66 }
std::vector< G4LogicalBorderSurface * > G4LogicalBorderSurfaceTable
G4LogicalSurface(const G4String &name, G4SurfaceProperty *prop)
G4LogicalBorderSurface::~G4LogicalBorderSurface ( )

Definition at line 82 of file G4LogicalBorderSurface.cc.

83 {
84 // delete theBorderSurfaceTable; theBorderSurfaceTable=0;
85 }

Member Function Documentation

void G4LogicalBorderSurface::CleanSurfaceTable ( )
static

Definition at line 178 of file G4LogicalBorderSurface.cc.

179 {
180  if (theBorderSurfaceTable)
181  {
182  G4LogicalBorderSurfaceTable::iterator pos;
183  for(pos=theBorderSurfaceTable->begin();
184  pos!=theBorderSurfaceTable->end(); pos++)
185  {
186  if (*pos) { delete *pos; }
187  }
188  theBorderSurfaceTable->clear();
189  }
190  return;
191 }
static const G4double pos

Here is the caller graph for this function:

void G4LogicalBorderSurface::DumpInfo ( )
static

Definition at line 158 of file G4LogicalBorderSurface.cc.

159 {
160  G4cout << "***** Surface Table : Nb of Surfaces = "
161  << GetNumberOfBorderSurfaces() << " *****" << G4endl;
162 
163  if (theBorderSurfaceTable)
164  {
165  for (size_t i=0; i<theBorderSurfaceTable->size(); i++)
166  {
167  G4LogicalBorderSurface* pBorderSurface = (*theBorderSurfaceTable)[i];
168  G4cout << pBorderSurface->GetName() << " : " << G4endl
169  << " Border of volumes "
170  << pBorderSurface->GetVolume1()->GetName() << " and "
171  << pBorderSurface->GetVolume2()->GetName()
172  << G4endl;
173  }
174  }
175  G4cout << G4endl;
176 }
const G4VPhysicalVolume * GetVolume2() const
static size_t GetNumberOfBorderSurfaces()
const G4String & GetName() const
G4GLOB_DLL std::ostream G4cout
const G4String & GetName() const
const G4VPhysicalVolume * GetVolume1() const
#define G4endl
Definition: G4ios.hh:61

Here is the call graph for this function:

size_t G4LogicalBorderSurface::GetNumberOfBorderSurfaces ( )
static

Definition at line 131 of file G4LogicalBorderSurface.cc.

132 {
133  if (theBorderSurfaceTable)
134  {
135  return theBorderSurfaceTable->size();
136  }
137  return 0;
138 }

Here is the caller graph for this function:

G4LogicalBorderSurface * G4LogicalBorderSurface::GetSurface ( const G4VPhysicalVolume vol1,
const G4VPhysicalVolume vol2 
)
static

Definition at line 141 of file G4LogicalBorderSurface.cc.

143 {
144  if (theBorderSurfaceTable)
145  {
146  for (size_t i=0; i<theBorderSurfaceTable->size(); i++)
147  {
148  if( ((*theBorderSurfaceTable)[i]->GetVolume1() == vol1) &&
149  ((*theBorderSurfaceTable)[i]->GetVolume2() == vol2) )
150  return (*theBorderSurfaceTable)[i];
151  }
152  }
153  return 0;
154 }
const G4VPhysicalVolume * GetVolume1() const

Here is the call graph for this function:

Here is the caller graph for this function:

const G4LogicalBorderSurfaceTable * G4LogicalBorderSurface::GetSurfaceTable ( )
static

Definition at line 122 of file G4LogicalBorderSurface.cc.

123 {
124  if (!theBorderSurfaceTable)
125  {
126  theBorderSurfaceTable = new G4LogicalBorderSurfaceTable;
127  }
128  return theBorderSurfaceTable;
129 }
std::vector< G4LogicalBorderSurface * > G4LogicalBorderSurfaceTable

Here is the caller graph for this function:

const G4VPhysicalVolume* G4LogicalBorderSurface::GetVolume1 ( ) const
inline

Here is the caller graph for this function:

const G4VPhysicalVolume* G4LogicalBorderSurface::GetVolume2 ( ) const
inline

Here is the caller graph for this function:

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

Definition at line 113 of file G4LogicalBorderSurface.cc.

114 {
115  return (this != (G4LogicalBorderSurface *) &right);
116 }
G4int G4LogicalBorderSurface::operator== ( const G4LogicalBorderSurface right) const

Definition at line 107 of file G4LogicalBorderSurface.cc.

108 {
109  return (this == (G4LogicalBorderSurface *) &right);
110 }
void G4LogicalBorderSurface::SetPhysicalVolumes ( G4VPhysicalVolume vol1,
G4VPhysicalVolume vol2 
)
inline
void G4LogicalBorderSurface::SetVolume1 ( G4VPhysicalVolume vol1)
inline
void G4LogicalBorderSurface::SetVolume2 ( G4VPhysicalVolume vol2)
inline

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