ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4GDMLReadSolids.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4GDMLReadSolids.hh
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
//
28
//
29
// class G4GDMLReadSolids
30
//
31
// Class description:
32
//
33
// GDML class for loading solids according to specifications in Geant4.
34
35
// History:
36
// - Created. Zoltan Torzsok, November 2007
37
// -------------------------------------------------------------------------
38
39
#ifndef _G4GDMLREADSOLIDS_INCLUDED_
40
#define _G4GDMLREADSOLIDS_INCLUDED_
41
42
#include "
G4Types.hh
"
43
#include "
G4GDMLReadMaterials.hh
"
44
#include "
G4ExtrudedSolid.hh
"
45
#include "
G4MultiUnion.hh
"
46
#include "
G4MaterialPropertiesTable.hh
"
47
48
class
G4VSolid
;
49
class
G4QuadrangularFacet
;
50
class
G4TriangularFacet
;
51
class
G4SurfaceProperty
;
52
class
G4OpticalSurface
;
53
54
class
G4GDMLReadSolids
:
public
G4GDMLReadMaterials
55
{
56
enum
BooleanOp
{
UNION
,
SUBTRACTION
,
INTERSECTION
};
57
// typedef struct { G4double rmin,rmax,z; } zplaneType;
58
typedef
struct
{
G4double
r
,
z
; }
rzPointType
;
59
60
public
:
61
62
G4VSolid
*
GetSolid
(
const
G4String
&)
const
;
63
G4SurfaceProperty
*
GetSurfaceProperty
(
const
G4String
&)
const
;
64
65
virtual
void
SolidsRead
(
const
xercesc::DOMElement*
const
);
66
67
protected
:
68
typedef
struct
{
G4double
rmin,
rmax
,
z
; }
zplaneType
;
69
G4GDMLReadSolids
();
70
virtual
~G4GDMLReadSolids
();
71
72
void
BooleanRead
(
const
xercesc::DOMElement*
const
,
const
BooleanOp
);
73
void
BoxRead
(
const
xercesc::DOMElement*
const
);
74
void
ConeRead
(
const
xercesc::DOMElement*
const
);
75
void
ElconeRead
(
const
xercesc::DOMElement*
const
);
76
void
EllipsoidRead
(
const
xercesc::DOMElement*
const
);
77
void
EltubeRead
(
const
xercesc::DOMElement*
const
);
78
void
XtruRead
(
const
xercesc::DOMElement*
const
);
79
void
HypeRead
(
const
xercesc::DOMElement*
const
);
80
void
MultiUnionNodeRead
(
const
xercesc::DOMElement*
const
,
G4MultiUnion
*
const
);
81
void
MultiUnionRead
(
const
xercesc::DOMElement*
const
);
82
void
OrbRead
(
const
xercesc::DOMElement*
const
);
83
void
ParaRead
(
const
xercesc::DOMElement*
const
);
84
void
ParaboloidRead
(
const
xercesc::DOMElement*
const
);
85
void
PolyconeRead
(
const
xercesc::DOMElement*
const
);
86
void
GenericPolyconeRead
(
const
xercesc::DOMElement*
const
);
87
void
PolyhedraRead
(
const
xercesc::DOMElement*
const
);
88
void
GenericPolyhedraRead
(
const
xercesc::DOMElement*
const
);
89
G4QuadrangularFacet
*
QuadrangularRead
(
const
xercesc::DOMElement*
const
);
90
void
ReflectedSolidRead
(
const
xercesc::DOMElement*
const
);
91
void
ScaledSolidRead
(
const
xercesc::DOMElement*
const
);
92
G4ExtrudedSolid::ZSection
SectionRead
(
const
xercesc::DOMElement*
const
,
G4double
);
93
void
SphereRead
(
const
xercesc::DOMElement*
const
);
94
void
TessellatedRead
(
const
xercesc::DOMElement*
const
);
95
void
TetRead
(
const
xercesc::DOMElement*
const
);
96
void
TorusRead
(
const
xercesc::DOMElement*
const
);
97
void
GenTrapRead
(
const
xercesc::DOMElement*
const
);
98
void
TrapRead
(
const
xercesc::DOMElement*
const
);
99
void
TrdRead
(
const
xercesc::DOMElement*
const
);
100
void
TubeRead
(
const
xercesc::DOMElement*
const
);
101
void
CutTubeRead
(
const
xercesc::DOMElement*
const
);
102
void
TwistedboxRead
(
const
xercesc::DOMElement*
const
);
103
void
TwistedtrapRead
(
const
xercesc::DOMElement*
const
);
104
void
TwistedtrdRead
(
const
xercesc::DOMElement*
const
);
105
void
TwistedtubsRead
(
const
xercesc::DOMElement*
const
);
106
G4TriangularFacet
*
TriangularRead
(
const
xercesc::DOMElement*
const
);
107
G4TwoVector
TwoDimVertexRead
(
const
xercesc::DOMElement*
const
,
G4double
);
108
zplaneType
ZplaneRead
(
const
xercesc::DOMElement*
const
);
109
rzPointType
RZPointRead
(
const
xercesc::DOMElement*
const
);
110
void
OpticalSurfaceRead
(
const
xercesc::DOMElement*
const
);
111
void
PropertyRead
(
const
xercesc::DOMElement*
const
,
G4OpticalSurface
*);
112
113
private
:
114
std::map<G4String, G4MaterialPropertyVector*>
mapOfMatPropVects
;
115
116
};
117
118
#endif
geant4
tree
geant4-10.6-release
source
persistency
gdml
include
G4GDMLReadSolids.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:25
using
1.8.2 with
ECCE GitHub integration