Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 26 ////////////////////////////////////////////// 27 // G4SurfaceProperty Implementation 28 ////////////////////////////////////////////// 29 // 30 // Class Description: 31 // 32 // A base class describing a surface property. 33 // Derived classes are G4Opticalsurface, G4Fir 34 // 35 // File: G4SurfaceProperty.cc 36 // Version: 1.0 37 // Created: 16-11-2006 38 // Author: Peter Gumplinger 39 // 40 ////////////////////////////////////////////// 41 42 #include "G4SurfaceProperty.hh" 43 44 #include "globals.hh" 45 46 #include <utility> 47 48 G4SurfacePropertyTable G4SurfaceProperty::theS 49 50 G4SurfaceProperty::G4SurfaceProperty(const G4S 51 : theName(name), theType(type) 52 { 53 theSurfacePropertyTable.push_back(this); 54 } 55 56 G4SurfaceProperty::G4SurfaceProperty() : theNa 57 { 58 theSurfacePropertyTable.push_back(this); 59 } 60 61 const G4SurfacePropertyTable* G4SurfacePropert 62 { 63 return &theSurfacePropertyTable; 64 } 65 66 size_t G4SurfaceProperty::GetNumberOfSurfacePr 67 68 // Dump info for known surface properties 69 void G4SurfaceProperty::DumpTableInfo() 70 { 71 G4cout << "***** Surface Property Table : Nb 72 << GetNumberOfSurfaceProperties() << 73 74 for (auto pSurfaceProperty : theSurfacePrope 75 G4cout << pSurfaceProperty->GetName() << " 76 << " Surface Property type = " < 77 } 78 G4cout << G4endl; 79 } 80 81 void G4SurfaceProperty::CleanSurfacePropertyTa 82 { 83 DumpTableInfo(); 84 G4SurfacePropertyTable::iterator pos; 85 for (pos = theSurfacePropertyTable.begin(); 86 if (*pos != nullptr) { 87 delete *pos; 88 } 89 } 90 theSurfacePropertyTable.clear(); 91 DumpTableInfo(); 92 } 93