Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4GDMLReadSolids.hh
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26//
27// $Id$
28//
29//
30// class G4GDMLReadSolids
31//
32// Class description:
33//
34// GDML class for loading solids according to specifications in Geant4.
35
36// History:
37// - Created. Zoltan Torzsok, November 2007
38// -------------------------------------------------------------------------
39
40#ifndef _G4GDMLREADSOLIDS_INCLUDED_
41#define _G4GDMLREADSOLIDS_INCLUDED_
42
43#include "G4Types.hh"
45#include "G4ExtrudedSolid.hh"
46
47class G4VSolid;
51
53{
54 enum BooleanOp {UNION,SUBTRACTION,INTERSECTION};
55 typedef struct { G4double rmin,rmax,z; } zplaneType;
56
57 public:
58
59 G4VSolid* GetSolid(const G4String&) const;
61
62 virtual void SolidsRead(const xercesc::DOMElement* const);
63
64 protected:
65
67 virtual ~G4GDMLReadSolids();
68
69 void BooleanRead(const xercesc::DOMElement* const,const BooleanOp);
70 void BoxRead(const xercesc::DOMElement* const);
71 void ConeRead(const xercesc::DOMElement* const);
72 void ElconeRead(const xercesc::DOMElement* const);
73 void EllipsoidRead(const xercesc::DOMElement* const);
74 void EltubeRead(const xercesc::DOMElement* const);
75 void XtruRead(const xercesc::DOMElement* const);
76 void HypeRead(const xercesc::DOMElement* const);
77 void OrbRead(const xercesc::DOMElement* const);
78 void ParaRead(const xercesc::DOMElement* const);
79 void ParaboloidRead(const xercesc::DOMElement* const);
80 void PolyconeRead(const xercesc::DOMElement* const);
81 void PolyhedraRead(const xercesc::DOMElement* const);
82 G4QuadrangularFacet* QuadrangularRead(const xercesc::DOMElement* const);
83 void ReflectedSolidRead(const xercesc::DOMElement* const);
84 G4ExtrudedSolid::ZSection SectionRead(const xercesc::DOMElement* const,G4double);
85 void SphereRead(const xercesc::DOMElement* const);
86 void TessellatedRead(const xercesc::DOMElement* const);
87 void TetRead(const xercesc::DOMElement* const);
88 void TorusRead(const xercesc::DOMElement* const);
89 void GenTrapRead(const xercesc::DOMElement* const);
90 void TrapRead(const xercesc::DOMElement* const);
91 void TrdRead(const xercesc::DOMElement* const);
92 void TubeRead(const xercesc::DOMElement* const);
93 void CutTubeRead(const xercesc::DOMElement* const);
94 void TwistedboxRead(const xercesc::DOMElement* const);
95 void TwistedtrapRead(const xercesc::DOMElement* const);
96 void TwistedtrdRead(const xercesc::DOMElement* const);
97 void TwistedtubsRead(const xercesc::DOMElement* const);
98 G4TriangularFacet* TriangularRead(const xercesc::DOMElement* const);
99 G4TwoVector TwoDimVertexRead(const xercesc::DOMElement* const,G4double);
100 zplaneType ZplaneRead(const xercesc::DOMElement* const);
101 void OpticalSurfaceRead(const xercesc::DOMElement* const);
102};
103
104#endif
double G4double
Definition: G4Types.hh:64
G4SurfaceProperty * GetSurfaceProperty(const G4String &) const
void ReflectedSolidRead(const xercesc::DOMElement *const)
G4ExtrudedSolid::ZSection SectionRead(const xercesc::DOMElement *const, G4double)
void ParaboloidRead(const xercesc::DOMElement *const)
void XtruRead(const xercesc::DOMElement *const)
void SphereRead(const xercesc::DOMElement *const)
void TwistedtrapRead(const xercesc::DOMElement *const)
void TubeRead(const xercesc::DOMElement *const)
void GenTrapRead(const xercesc::DOMElement *const)
G4VSolid * GetSolid(const G4String &) const
void HypeRead(const xercesc::DOMElement *const)
void TrdRead(const xercesc::DOMElement *const)
void ParaRead(const xercesc::DOMElement *const)
void TwistedtrdRead(const xercesc::DOMElement *const)
void PolyhedraRead(const xercesc::DOMElement *const)
void ConeRead(const xercesc::DOMElement *const)
void OpticalSurfaceRead(const xercesc::DOMElement *const)
G4QuadrangularFacet * QuadrangularRead(const xercesc::DOMElement *const)
void CutTubeRead(const xercesc::DOMElement *const)
void TetRead(const xercesc::DOMElement *const)
virtual void SolidsRead(const xercesc::DOMElement *const)
void EllipsoidRead(const xercesc::DOMElement *const)
void ElconeRead(const xercesc::DOMElement *const)
void TessellatedRead(const xercesc::DOMElement *const)
void TwistedboxRead(const xercesc::DOMElement *const)
void BoxRead(const xercesc::DOMElement *const)
zplaneType ZplaneRead(const xercesc::DOMElement *const)
virtual ~G4GDMLReadSolids()
void OrbRead(const xercesc::DOMElement *const)
void PolyconeRead(const xercesc::DOMElement *const)
G4TwoVector TwoDimVertexRead(const xercesc::DOMElement *const, G4double)
void EltubeRead(const xercesc::DOMElement *const)
void TwistedtubsRead(const xercesc::DOMElement *const)
void TorusRead(const xercesc::DOMElement *const)
void BooleanRead(const xercesc::DOMElement *const, const BooleanOp)
void TrapRead(const xercesc::DOMElement *const)
G4TriangularFacet * TriangularRead(const xercesc::DOMElement *const)