Documentation ¶
Overview ¶
Package gdml parses and interprets GDML files. Geometry Description Markup Language (GDML) files are specialized XML-based language files designed to describe the geometries of detectors associated with physics measurements.
See:
http://gdml.web.cern.ch/GDML/doc/GDMLmanual.pdf
Index ¶
- type ArbitraryTrapezoid
- type Atom
- type Box
- type Composite
- type Cone
- type Constant
- type CutTube
- type Density
- type Element
- type Ellipsoid
- type EllipticalCone
- type EllipticalTube
- type Extruded
- type Fraction
- type GeneralTrapezoid
- type GenericPolyCone
- type GenericPolyHedra
- type HyperbolicTube
- type Isotope
- type Material
- type Matrix
- type Orb
- type Paraboloid
- type Parallelepiped
- type PolyCone
- type PolyHedra
- type Position
- type Quadrangular
- type Quantity
- type RZPoint
- type Rotation
- type Scale
- type ScaledSolid
- type Schema
- type Section
- type SolidRef
- type Sphere
- type Tesselated
- type TetraHedron
- type Torus
- type Trapezoid
- type Triangular
- type Tube
- type TwistedBox
- type TwistedGeneralTrapezoid
- type TwistedTrapezoid
- type TwistedTube
- type Variable
- type Vertex2D
- type ZPlane
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ArbitraryTrapezoid ¶
type ArbitraryTrapezoid struct { XMLName xml.Name `xml:"arb8"` Name string `xml:"name,attr"` LUnit string `xml:"lunit,attr"` V1x string `xml:"v1x,attr"` // vertex 1 x position V1y string `xml:"v1y,attr"` // vertex 1 y position V2x string `xml:"v2x,attr"` // vertex 2 x position V2y string `xml:"v2y,attr"` // vertex 2 y position V3x string `xml:"v3x,attr"` // vertex 3 x position V3y string `xml:"v3y,attr"` // vertex 3 y position V4x string `xml:"v4x,attr"` // vertex 4 x position V4y string `xml:"v4y,attr"` // vertex 4 y position V5x string `xml:"v5x,attr"` // vertex 5 x position V5y string `xml:"v5y,attr"` // vertex 5 y position V6x string `xml:"v6x,attr"` // vertex 6 x position V6y string `xml:"v6y,attr"` // vertex 6 y position V7x string `xml:"v7x,attr"` // vertex 7 x position V7y string `xml:"v7y,attr"` // vertex 7 y position V8x string `xml:"v8x,attr"` // vertex 8 x position V8y string `xml:"v8y,attr"` // vertex 8 y position Dz string `xml:"dz,attr"` // half z length }
type Cone ¶
type Cone struct { XMLName xml.Name `xml:"cone"` Name string `xml:"name,attr"` RMin1 string `xml:"rmin1,attr"` // inner radius at base of cone RMax1 string `xml:"rmax1,attr"` // outer radius at base of cone RMin2 string `xml:"rmin2,attr"` // inner radius at top of cone RMax2 string `xml:"rmax2,attr"` // outer radius at top of cone Z string `xml:"z,attr"` // height of cone segment StartPhi string `xml:"startphi,attr"` // start angle of the segment DPhi string `xml:"deltaphi,attr"` // angle of the segment AUnit string `xml:"aunit,attr"` LUnit string `xml:"lunit,attr"` }
type CutTube ¶
type CutTube struct { XMLName xml.Name `xml:"cutTube"` Name string `xml:"name,attr"` AUnit string `xml:"aunit,attr"` LUnit string `xml:"lunit,attr"` Z string `xml:"z,attr"` // z length RMin string `xml:"rmin,attr"` // inside radius, default:0.0 RMax string `xml:"rmax,attr"` // outside radius StartPhi string `xml:"startphi,attr"` // starting phi angle of segment, default:0.0 DPhi string `xml:"deltaphi,attr"` // delta phi of angle LowX string `xml:"lowX,attr"` // normal at lower z plane LowY string `xml:"lowY,attr"` // normal at lower z plane LowZ string `xml:"lowZ,attr"` // normal at lower z plane HighX string `xml:"highX,attr"` // normal at upper z plane HighY string `xml:"highY,attr"` // normal at upper z plane HighZ string `xml:"highZ,attr"` // normal at upper z plane }
type Ellipsoid ¶
type Ellipsoid struct { XMLName xml.Name `xml:"ellipsoid"` Name string `xml:"name,attr"` Ax string `xml:"ax,attr"` // x semi axis By string `xml:"by,attr"` // y semi axis Cz string `xml:"cz,attr"` // z semi axis ZCut1 string `xml:"zcut1,attr"` ZCut2 string `xml:"zcut2,attr"` LUnit string `xml:"lunit,attr"` }
type EllipticalCone ¶
type EllipticalTube ¶
type GeneralTrapezoid ¶
type GeneralTrapezoid struct { XMLName xml.Name `xml:"trap"` Name string `xml:"name,attr"` AUnit string `xml:"aunit,attr"` LUnit string `xml:"lunit,attr"` Z string `xml:"z,attr"` // length along z axis Theta string `xml:"theta,attr"` // polar angle to faces joining at -/+ z Phi string `xml:"phi,attr"` // azimuthal angle of line joining centre of -z to centre of +z face Y1 string `xml:"y1,attr"` // length along y at the face -z X1 string `xml:"x1,attr"` // length along x at side y = -y1 of the face at -z X2 string `xml:"x2,attr"` // length along x at side y = +y1 of the face at -z Alpha1 string `xml:"alpha1,attr"` // angle with respect to the y axis from the centre of side at y = -y1 to centre of y = +y1 of the face at -z Y2 string `xml:"y2,attr"` // length along y at the face +z X3 string `xml:"x3,attr"` // length along x at side y = -y1 of the face at +z X4 string `xml:"x4,attr"` // length along x at side y = +y1 of the face at +z Alpha2 string `xml:"alpha2,attr"` // angle with respect to the y axis from the centre of side at y = -y2 to centre of y = +y2 of the face at +z }
type GenericPolyCone ¶
type GenericPolyCone struct { XMLName xml.Name `xml:"genericPolycone"` Name string `xml:"name,attr"` AUnit string `xml:"aunit,attr"` LUnit string `xml:"lunit,attr"` StartPhi string `xml:"startphi,attr"` // start angle of the segment - default: 0.0 DPhi string `xml:"deltaphi,attr"` // angle of the segment RZPoints []RZPoint `xml:"rzpoint"` }
type GenericPolyHedra ¶
type GenericPolyHedra struct { XMLName xml.Name `xml:"genericPolyhedra"` Name string `xml:"name,attr"` AUnit string `xml:"aunit,attr"` LUnit string `xml:"lunit,attr"` StartPhi string `xml:"startphi,attr"` // start angle of the segment - default: 0.0 DPhi string `xml:"deltaphi,attr"` // angle of the segment NumSides string `xml:"numsides,attr"` // number of sides RZPoints []RZPoint `xml:"rzpoint"` }
type HyperbolicTube ¶
type HyperbolicTube struct { XMLName xml.Name `xml:"hype"` Name string `xml:"name,attr"` LUnit string `xml:"lunit,attr"` RMin string `xml:"rmin,attr"` // inside radius of tube RMax string `xml:"rmax,attr"` // outside radius of tube InStereo string `xml:"inst,attr"` // inner stereo OutStereo string `xml:"outst,attr"` // outer stereo Z string `xml:"z,attr"` // z length }
type Paraboloid ¶
type Parallelepiped ¶
type Parallelepiped struct { XMLName xml.Name `xml:"para"` Name string `xml:"name,attr"` X string `xml:"x,attr"` // length of x Y string `xml:"y,attr"` // length of y Z string `xml:"z,attr"` // length of z Alpha string `xml:"alpha,attr"` // angle between x and z planes Theta string `xml:"theta,attr"` // polar angle of the line joining the centres of the faces at -z and +z Phi string `xml:"phi,attr"` // azimuthal angle of the line joining the centres of the faces at -x and +z AUnit string `xml:"aunit,attr"` LUnit string `xml:"lunit,attr"` }
type PolyCone ¶
type PolyCone struct { XMLName xml.Name `xml:"polycone"` Name string `xml:"name,attr"` AUnit string `xml:"aunit,attr"` LUnit string `xml:"lunit,attr"` StartPhi string `xml:"startphi,attr"` // start angle of the segment - default: 0.0 DPhi string `xml:"deltaphi,attr"` // angle of the segment ZPlanes []ZPlane `xml:"zplane"` }
type PolyHedra ¶
type PolyHedra struct { XMLName xml.Name `xml:"polyhedra"` Name string `xml:"name,attr"` AUnit string `xml:"aunit,attr"` LUnit string `xml:"lunit,attr"` StartPhi string `xml:"startphi,attr"` // start angle of the segment - default: 0.0 DPhi string `xml:"deltaphi,attr"` // angle of the segment NumSides string `xml:"numsides,attr"` // number of sides ZPlanes []ZPlane `xml:"zplane"` }
type Quadrangular ¶
type Quantity ¶
type Quantity struct { Name string `xml:"name,attr"` Type string `xml:"type,attr"` Value float64 `xml:"value,attr"` Unit string `xml:"unit,attr"` }
Quantity is a constant with a unit.
type ScaledSolid ¶
type Section ¶
type Section struct { XMLName xml.Name `xml:"section"` ZOrder string `xml:"zOrder,attr"` // index of the section ZPos string `xml:"zPosition,attr"` // distance from the plane z=0 XOff string `xml:"xOffset,attr"` // x offset from centre point of original plane YOff string `xml:"yOffset,attr"` // y offset from centre point of original plane Fact string `xml:"scalingFactor,attr"` // proportion to original blueprint }
type Sphere ¶
type Sphere struct { XMLName xml.Name `xml:"sphere"` Name string `xml:"name,attr"` AUnit string `xml:"aunit,attr"` LUnit string `xml:"lunit,attr"` RMin string `xml:"rmin,attr"` // inner radius RMax string `xml:"rmax,attr"` // outer radius StartPhi string `xml:"startphi,attr"` // start angle of the segment - default: 0.0 DPhi string `xml:"deltaphi,attr"` // angle of the segment StartTheta string `xml:"starttheta,attr"` // start angle of the segment - default: 0.0 DTheta string `xml:"deltatheta,attr"` // angle of the segment }
type Tesselated ¶
type Tesselated struct { XMLName xml.Name `xml:"tesselated"` Name string `xml:"name,attr"` Tris []Triangular `xml:"triangular"` Quads []Quadrangular `xml:"quadrangular"` }
type TetraHedron ¶
type Torus ¶
type Torus struct { XMLName xml.Name `xml:"torus"` Name string `xml:"name,attr"` AUnit string `xml:"aunit,attr"` LUnit string `xml:"lunit,attr"` RMin string `xml:"rmin,attr"` // inner radius of segment RMax string `xml:"rmax,attr"` // outer radius of segment Rtor string `xml:"rtor,attr"` // swept radius of torus StartPhi string `xml:"startphi,attr"` // start angle of the segment - default: 0.0 DPhi string `xml:"deltaphi,attr"` // angle of the segment }
type Trapezoid ¶
type Trapezoid struct { XMLName xml.Name `xml:"trd"` Name string `xml:"name,attr"` LUnit string `xml:"lunit,attr"` X1 string `xml:"x1,attr"` // x length at -z X2 string `xml:"x2,attr"` // x length at +z Y1 string `xml:"y1,attr"` // y length at -z Y2 string `xml:"y2,attr"` // y length at +z Z string `xml:"z,attr"` // z length }
type Triangular ¶
type Tube ¶
type Tube struct { XMLName xml.Name `xml:"tube"` Name string `xml:"name,attr"` AUnit string `xml:"aunit,attr"` LUnit string `xml:"lunit,attr"` Z string `xml:"z,attr"` // z length RMin string `xml:"rmin,attr"` // inside radius, default:0.0 RMax string `xml:"rmax,attr"` // outside radius StartPhi string `xml:"startphi,attr"` // starting phi angle of segment, default:0.0 DPhi string `xml:"deltaphi,attr"` // delta phi of angle }
type TwistedBox ¶
type TwistedGeneralTrapezoid ¶
type TwistedGeneralTrapezoid struct { XMLName xml.Name `xml:"twistedtrap"` Name string `xml:"name,attr"` AUnit string `xml:"aunit,attr"` LUnit string `xml:"lunit,attr"` PhiTwist string `xml:"PhiTwist,attr"` Z string `xml:"z,attr"` // length along z axis Theta string `xml:"theta,attr"` // polar angle to faces joining at -/+ z Phi string `xml:"phi,attr"` // azimuthal angle of line joining centre of -z to centre of +z face Y1 string `xml:"y1,attr"` // length along y at the face -z X1 string `xml:"x1,attr"` // length along x at side y = -y1 of the face at -z X2 string `xml:"x2,attr"` // length along x at side y = +y1 of the face at -z Y2 string `xml:"y2,attr"` // length along y at the face +z X3 string `xml:"x3,attr"` // length along x at side y = -y1 of the face at +z X4 string `xml:"x4,attr"` // length along x at side y = +y1 of the face at +z Alpha string `xml:"Alph,attr"` // angle with respect to the y axis from the centre of side }
type TwistedTrapezoid ¶
type TwistedTrapezoid struct { XMLName xml.Name `xml:"twistedtrd"` Name string `xml:"name,attr"` AUnit string `xml:"aunit,attr"` LUnit string `xml:"lunit,attr"` PhiTwist string `xml:"PhiTwist,attr"` X1 string `xml:"x1,attr"` // x length at -z X2 string `xml:"x2,attr"` // x length at +z Y1 string `xml:"y1,attr"` // y length at -z Y2 string `xml:"y2,attr"` // y length at +z Z string `xml:"z,attr"` // z length }
type TwistedTube ¶
type TwistedTube struct { XMLName xml.Name `xml:"twistedtube"` Name string `xml:"name,attr"` AUnit string `xml:"aunit,attr"` LUnit string `xml:"lunit,attr"` EndInnerRad string `xml:"endinnerrad,attr"` // inside radius at end of segment EndOuterRad string `xml:"endouterrad,attr"` // outside radius at end of segment ZLen string `xml:"zlen,attr"` // z length of tube segment TwistedAngle string `xml:"twistedangle,attr"` // twist angle Phi string `xml:"phi,attr"` // phi angle of segment MidInnerRad string `xml:"midinnerrad,attr"` // inner radius at z=0 MidOuterRad string `xml:"midouterrad,attr"` // outer radius at z=0 NSeg string `xml:"nseg,attr"` // number of segments in TotPhi TotPhi string `xml:"totphi,attr"` // total angle of all segments }
type Variable ¶
Variable is a named value in a GDML file. Once defined, a variable can be used anywhere inside the file. The value of a variable is evaluated each time it is used.
Click to show internal directories.
Click to hide internal directories.