Import Geant4 9.3.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 16:15:05 +02:00
parent b79225fb37
commit 74cad5e589
3877 changed files with 234205 additions and 167127 deletions
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4GDMLWriteStructure.hh,v 1.34 2008/07/16 15:46:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-02 $
// $Id: G4GDMLWriteStructure.hh,v 1.39 2009/04/24 15:34:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-09-03 $
//
//
// class G4GDMLWriteStructure
@@ -41,36 +41,53 @@
#ifndef _G4GDMLWRITESTRUCTURE_INCLUDED_
#define _G4GDMLWRITESTRUCTURE_INCLUDED_
#include "G4LogicalVolumeStore.hh"
#include "G4PhysicalVolumeStore.hh"
#include "G4Material.hh"
#include "G4PVDivision.hh"
#include "G4PVReplica.hh"
#include "G4VPhysicalVolume.hh"
#include "G4ReflectedSolid.hh"
#include "G4Types.hh"
#include "G4Transform3D.hh"
#include "G4GDMLWriteParamvol.hh"
class G4LogicalVolume;
class G4VPhysicalVolume;
class G4PVDivision;
class G4LogicalBorderSurface;
class G4LogicalSkinSurface;
class G4OpticalSurface;
class G4SurfaceProperty;
class G4GDMLWriteStructure : public G4GDMLWriteParamvol
{
private:
public:
void DivisionvolWrite(xercesc::DOMElement*,const G4PVDivision* const);
G4GDMLWriteStructure();
virtual ~G4GDMLWriteStructure();
virtual void StructureWrite(xercesc::DOMElement*);
protected:
void DivisionvolWrite(xercesc::DOMElement*, const G4PVDivision* const);
void PhysvolWrite(xercesc::DOMElement*,const G4VPhysicalVolume* const topVol,
const G4Transform3D& transform,
const G4String& moduleName);
void ReplicavolWrite(xercesc::DOMElement*,const G4VPhysicalVolume* const);
void StructureWrite(xercesc::DOMElement*);
const G4Transform3D& transform, const G4String& moduleName);
void ReplicavolWrite(xercesc::DOMElement*, const G4VPhysicalVolume* const);
G4Transform3D TraverseVolumeTree(const G4LogicalVolume* const topVol,
const G4int depth);
private:
void SurfacesWrite();
void BorderSurfaceCache(const G4LogicalBorderSurface* const);
void SkinSurfaceCache(const G4LogicalSkinSurface* const);
const G4LogicalBorderSurface* GetBorderSurface(const G4VPhysicalVolume* const);
const G4LogicalSkinSurface* GetSkinSurface(const G4LogicalVolume* const);
G4bool FindOpticalSurface(const G4SurfaceProperty*);
protected:
xercesc::DOMElement* structureElement;
static const int maxReflections = 8; // Constant for limiting the number
// of displacements/reflections applied
// to a single solid
std::vector<xercesc::DOMElement*> borderElementVec;
std::vector<xercesc::DOMElement*> skinElementVec;
private: // cache for optical surfaces...
std::vector<const G4OpticalSurface*> opt_vec;
};
#endif