VGM Version 5.5
Loading...
Searching...
No Matches
Geant4GM Namespace Reference

VGM implementation for Geant4. More...

Classes

class  Arb8
 VGM implementation for Geant4 Arb8 solid, the shape is implemented using G4TessellatedSolid, or G4GenericTrap when the shape is twisted. More...
struct  Arb8Split
 Parameters of two G4GenericTrap-compatible pieces obtained by cutting an Arb8 with a plane perpendicular to Z. More...
class  BooleanSolid
 VGM implementation for Geant4 Boolean solid. More...
class  Box
 VGM implementation for Geant4 box solid. More...
class  Cons
 VGM implementation for Geant4 cons solid. More...
class  Ctubs
 VGM implementation for cut tubs solid in Geant4. More...
class  DisplacedSolid
 VGM implementation for Geant4 displaced solid. More...
class  Element
 VGM implementation for Geant4 element. More...
class  ElementMap
 The map between VGM and Geant4 elements. More...
class  Ellipsoid
 VGM implementation for Geant4 ellipsoid solid. More...
class  EllipticalTube
 VGM implementation for Geant4 elliptical tube solid. More...
class  ExtrudedSolid
 VGM implementation for Geant4 xtru solid. More...
class  Factory
 VGM factory for Geant4. More...
class  Hype
 VGM implementation for Geant4 hyperboloid solid. More...
class  Isotope
 VGM implementation for Geant4 Isotope. More...
class  IsotopeMap
 The map between VGM and Geant4 isotopes. More...
class  Material
 VGM implementation for Geant4 material. More...
class  MaterialFactory
 VGM material factory for Geant4. More...
class  MaterialMap
 The map between VGM and Geant4 material. More...
class  Medium
 The VGM implementation of interface to tracking medium. More...
class  MultiUnion
 VGM implementation for Geant4 Boolean solid. More...
class  Para
 VGM implementation for Geant4 para solid. More...
class  Paraboloid
 VGM implementation for Geant4 paraboloid solid. More...
class  Placement
 VGM implementation for Geant4 positions of volumes. More...
class  PlacementMap
 The map between VGM and Geant4 placements. More...
class  Polycone
 VGM implementation for Geant4 polycone solid. More...
class  Polyhedra
 VGM implementation for Geant4 polyhedra solid. More...
class  ScaledSolid
 VGM implementation for Geant4 Scaled solid. More...
class  SolidMap
 The map between VGM and Geant4 solids. More...
class  Sphere
 VGM implementation for Geant4 sphere solid. More...
class  TessellatedSolid
 VGM implementation for Geant4 tessellated solid. More...
class  Torus
 VGM implementation for Geant4 torus solid. More...
class  Trap
 VGM implementation for Geant4 trap solid. More...
class  Trd
 VGM implementation for Geant4 trd solid. More...
class  Tubs
 VGM implementation for Geant4 tubs solid. More...
class  Volume
 VGM implementation for Geant4 volume. More...
class  VolumeMap
 The map between VGM and Geant4 volumes. More...

Enumerations

enum class  Arb8SplitResult { kSuccess , kNoSplitNeeded , kInvalidInput , kCannotSplitInTwo }

Functions

Arb8SplitResult SplitArb8ForGenericTrap (double halfLength, const std::vector< VGM::TwoVector > &vertices, Arb8Split &split)
 Split an Arb8 whose corresponding end edges form angles greater than 90 degrees into two pieces accepted by G4GenericTrap.

Detailed Description

VGM implementation for Geant4.

Enumeration Type Documentation

◆ Arb8SplitResult

enum class Geant4GM::Arb8SplitResult
strong
Enumerator
kSuccess 
kNoSplitNeeded 
kInvalidInput 
kCannotSplitInTwo 

Definition at line 32 of file Arb8Splitter.h.

Function Documentation

◆ SplitArb8ForGenericTrap()

Geant4GM::Arb8SplitResult Geant4GM::SplitArb8ForGenericTrap ( double halfLength,
const std::vector< VGM::TwoVector > & vertices,
Arb8Split & split )

Split an Arb8 whose corresponding end edges form angles greater than 90 degrees into two pieces accepted by G4GenericTrap.

The input vertices follow the Arb8 convention: vertices 0..3 belong to -halfLength and vertices 4..7 to +halfLength. The Z offsets in the result refer to the coordinate system of the original Arb8. The function returns kCannotSplitInTwo if no single common Z section works for all four faces.

Definition at line 41 of file Arb8Splitter.cxx.