#include <G4LogicalBorderSurface.hh>
Inheritance diagram for G4LogicalBorderSurface:
Public Member Functions | |
G4LogicalBorderSurface (const G4String &name, G4VPhysicalVolume *vol1, G4VPhysicalVolume *vol2, G4SurfaceProperty *surfaceProperty) | |
~G4LogicalBorderSurface () | |
void | SetPhysicalVolumes (G4VPhysicalVolume *vol1, G4VPhysicalVolume *vol2) |
const G4VPhysicalVolume * | GetVolume1 () const |
const G4VPhysicalVolume * | GetVolume2 () const |
void | SetVolume1 (G4VPhysicalVolume *vol1) |
void | SetVolume2 (G4VPhysicalVolume *vol2) |
G4int | operator== (const G4LogicalBorderSurface &right) const |
G4int | operator!= (const G4LogicalBorderSurface &right) const |
Static Public Member Functions | |
static G4LogicalBorderSurface * | GetSurface (const G4VPhysicalVolume *vol1, const G4VPhysicalVolume *vol2) |
static void | CleanSurfaceTable () |
static const G4LogicalBorderSurfaceTable * | GetSurfaceTable () |
static size_t | GetNumberOfBorderSurfaces () |
static void | DumpInfo () |
Definition at line 55 of file G4LogicalBorderSurface.hh.
G4LogicalBorderSurface::G4LogicalBorderSurface | ( | const G4String & | name, | |
G4VPhysicalVolume * | vol1, | |||
G4VPhysicalVolume * | vol2, | |||
G4SurfaceProperty * | surfaceProperty | |||
) |
Definition at line 50 of file G4LogicalBorderSurface.cc.
00054 : G4LogicalSurface(name, surfaceProperty), 00055 Volume1(vol1), Volume2(vol2) 00056 { 00057 // Store in the table of Surfaces 00058 // 00059 theBorderSurfaceTable.push_back(this); 00060 }
G4LogicalBorderSurface::~G4LogicalBorderSurface | ( | ) |
void G4LogicalBorderSurface::CleanSurfaceTable | ( | ) | [static] |
Definition at line 154 of file G4LogicalBorderSurface.cc.
00155 { 00156 G4LogicalBorderSurfaceTable::iterator pos; 00157 for(pos=theBorderSurfaceTable.begin(); 00158 pos!=theBorderSurfaceTable.end(); pos++) 00159 { 00160 if (*pos) delete *pos; 00161 } 00162 theBorderSurfaceTable.clear(); 00163 }
void G4LogicalBorderSurface::DumpInfo | ( | ) | [static] |
Definition at line 137 of file G4LogicalBorderSurface.cc.
References G4cout, G4endl, and GetNumberOfBorderSurfaces().
00138 { 00139 G4cout << "***** Surface Table : Nb of Surfaces = " 00140 << GetNumberOfBorderSurfaces() << " *****" << G4endl; 00141 00142 for (size_t i=0; i<theBorderSurfaceTable.size(); i++) 00143 { 00144 G4LogicalBorderSurface* pBorderSurface = theBorderSurfaceTable[i]; 00145 G4cout << pBorderSurface->GetName() << " : " << G4endl 00146 << " Border of volumes " 00147 << pBorderSurface->GetVolume1()->GetName() << " and " 00148 << pBorderSurface->GetVolume2()->GetName() 00149 << G4endl; 00150 } 00151 G4cout << G4endl; 00152 }
size_t G4LogicalBorderSurface::GetNumberOfBorderSurfaces | ( | ) | [static] |
Definition at line 117 of file G4LogicalBorderSurface.cc.
Referenced by DumpInfo(), and G4GDMLWriteStructure::GetBorderSurface().
G4LogicalBorderSurface * G4LogicalBorderSurface::GetSurface | ( | const G4VPhysicalVolume * | vol1, | |
const G4VPhysicalVolume * | vol2 | |||
) | [static] |
Definition at line 123 of file G4LogicalBorderSurface.cc.
References GetVolume1(), and GetVolume2().
Referenced by G4OpBoundaryProcess::PostStepDoIt().
00125 { 00126 for (size_t i=0; i<theBorderSurfaceTable.size(); i++) 00127 { 00128 if( (theBorderSurfaceTable[i]->GetVolume1() == vol1) && 00129 (theBorderSurfaceTable[i]->GetVolume2() == vol2) ) 00130 return theBorderSurfaceTable[i]; 00131 } 00132 return NULL; 00133 }
const G4LogicalBorderSurfaceTable * G4LogicalBorderSurface::GetSurfaceTable | ( | ) | [static] |
Definition at line 112 of file G4LogicalBorderSurface.cc.
Referenced by G4GDMLWriteStructure::GetBorderSurface().
const G4VPhysicalVolume * G4LogicalBorderSurface::GetVolume1 | ( | ) | const [inline] |
Definition at line 43 of file G4LogicalBorderSurface.icc.
Referenced by G4GDMLWriteStructure::BorderSurfaceCache(), and GetSurface().
const G4VPhysicalVolume * G4LogicalBorderSurface::GetVolume2 | ( | ) | const [inline] |
Definition at line 49 of file G4LogicalBorderSurface.icc.
Referenced by G4GDMLWriteStructure::BorderSurfaceCache(), and GetSurface().
G4int G4LogicalBorderSurface::operator!= | ( | const G4LogicalBorderSurface & | right | ) | const |
Definition at line 103 of file G4LogicalBorderSurface.cc.
00104 { 00105 return (this != (G4LogicalBorderSurface *) &right); 00106 }
G4int G4LogicalBorderSurface::operator== | ( | const G4LogicalBorderSurface & | right | ) | const |
Definition at line 97 of file G4LogicalBorderSurface.cc.
00098 { 00099 return (this == (G4LogicalBorderSurface *) &right); 00100 }
void G4LogicalBorderSurface::SetPhysicalVolumes | ( | G4VPhysicalVolume * | vol1, | |
G4VPhysicalVolume * | vol2 | |||
) | [inline] |
void G4LogicalBorderSurface::SetVolume1 | ( | G4VPhysicalVolume * | vol1 | ) | [inline] |
void G4LogicalBorderSurface::SetVolume2 | ( | G4VPhysicalVolume * | vol2 | ) | [inline] |