VGM Version 5.3
Loading...
Searching...
No Matches
VGM Namespace Reference

VGM interfaces. More...

Classes

class  IArb8
 The VGM interface to Arb8 solids. More...
 
class  IBooleanSolid
 The VGM interface to Boolean solids. More...
 
class  IBox
 The VGM interface to box solids. More...
 
class  ICons
 The VGM interface to cons solids. More...
 
class  ICtubs
 The VGM interface to cut tubs solids. More...
 
class  IDisplacedSolid
 The VGM interface to displaced solids. More...
 
class  IElement
 The VGM interface to elements. More...
 
class  IEllipsoid
 The VGM interface to ellipsoid solids. More...
 
class  IEllipticalTube
 The VGM interface to elliptical tube solids. More...
 
class  IExtrudedSolid
 The VGM interface to extruded solids. More...
 
class  IFactory
 The VGM interface to geometry factory providing functions for geometry construction and conversions. More...
 
class  IHype
 The VGM interface to hyperboloid solids. More...
 
class  IIsotope
 The VGM interface to elements. More...
 
class  IMaterial
 The VGM interface to materials. More...
 
class  IMaterialFactory
 The VGM interface to material factory providing functions for material conversions. More...
 
class  IMedium
 The VGM interface to tracking medium. More...
 
class  IMultiUnion
 The VGM interface to Boolean solids. More...
 
class  IPara
 The VGM interface to para solids. More...
 
class  IParaboloid
 The VGM interface to paraboloid solids. More...
 
class  IPlacement
 The VGM interface to positions of volumes. More...
 
class  IPolycone
 The VGM interface to polycone solids. More...
 
class  IPolyhedra
 The VGM interface to polyhedra solids. More...
 
class  IScaledSolid
 The VGM interface to Boolean solids. More...
 
class  ISolid
 The VGM interface to solids. More...
 
class  ISphere
 The VGM interface to sphere solids. More...
 
class  ITessellatedSolid
 The VGM interface to extruded solids. More...
 
class  ITorus
 The VGM interface to torus solids. More...
 
class  ITrap
 The VGM interface to trap solids. More...
 
class  ITrd
 The VGM interface to trd solids. More...
 
class  ITubs
 The VGM interface to tubs solids. More...
 
class  IVolume
 The VGM interface to volumes. More...
 

Typedefs

typedef std::vector< double > ThreeVector
 
typedef std::vector< double > Transform
 
typedef std::pair< double, double > TwoVector
 
typedef std::vector< IIsotope * > IsotopeVector
 
typedef std::vector< double > RelAbundanceVector
 
typedef std::vector< IElement * > ElementVector
 
typedef std::vector< double > MassFractionVector
 
typedef std::vector< int > AtomCountVector
 
typedef std::vector< IIsotope * > IsotopeStore
 
typedef std::vector< IElement * > ElementStore
 
typedef std::vector< IMaterial * > MaterialStore
 
typedef std::vector< IMedium * > MediumStore
 
typedef std::vector< ISolid * > SolidStore
 
typedef std::vector< IVolume * > VolumeStore
 

Enumerations

enum  Axis {
  kXAxis , kYAxis , kZAxis , kRho ,
  kRadial3D , kPhi , kSphTheta , kUnknownAxis
}
 
enum  TransformVector {
  kDx , kDy , kDz , kAngleX ,
  kAngleY , kAngleZ , kReflZ , kSize
}
 
enum  MaterialState { kUndefined , kSolid , kLiquid , kGas }
 
enum  BooleanType { kIntersection , kSubtraction , kUnion , kUnknownBoolean }
 
enum  SolidType {
  kArb8 , kBox , kCons , kCtubs ,
  kEllipsoid , kEltu , kExtruded , kHype ,
  kPara , kParaboloid , kPolycone , kPolyhedra ,
  kSphere , kTessellated , kTorus , kTrap ,
  kTrd , kTubs , kBoolean , kDisplaced ,
  kMultiUnion , kScaled , kUnknownSolid
}
 
enum  PlacementType { kSimplePlacement , kMultiplePlacement , kParameterised , kUnknownPlacement }
 

Functions

std::string AxisTypeName (VGM::Axis typeId)
 
std::string BooleanTypeName (BooleanType typeId)
 
std::string SolidTypeName (VGM::SolidType typeId)
 
std::string PlacementTypeName (VGM::PlacementType typeId)
 

Variables

constexpr double kDefaultDummyBoxDimensions = 1.
 The default value for the dimensions in mm of a dummy box replacing the unsupported shapes if the 'ignore' option is activated.
 

Detailed Description

VGM interfaces.

Typedef Documentation

◆ ThreeVector

typedef std::vector<double> VGM::ThreeVector

Definition at line 27 of file ThreeVector.h.

◆ Transform

typedef std::vector<double> VGM::Transform

Definition at line 40 of file Transform.h.

◆ TwoVector

typedef std::pair<double, double> VGM::TwoVector

Definition at line 28 of file TwoVector.h.

◆ IsotopeVector

typedef std::vector<IIsotope*> VGM::IsotopeVector

Definition at line 30 of file IElement.h.

◆ RelAbundanceVector

typedef std::vector<double> VGM::RelAbundanceVector

Definition at line 31 of file IElement.h.

◆ ElementVector

typedef std::vector<IElement*> VGM::ElementVector

Definition at line 31 of file IMaterial.h.

◆ MassFractionVector

typedef std::vector<double> VGM::MassFractionVector

Definition at line 32 of file IMaterial.h.

◆ AtomCountVector

typedef std::vector<int> VGM::AtomCountVector

Definition at line 33 of file IMaterial.h.

◆ IsotopeStore

typedef std::vector<IIsotope*> VGM::IsotopeStore

Definition at line 35 of file IMaterialFactory.h.

◆ ElementStore

typedef std::vector<IElement*> VGM::ElementStore

Definition at line 36 of file IMaterialFactory.h.

◆ MaterialStore

typedef std::vector<IMaterial*> VGM::MaterialStore

Definition at line 37 of file IMaterialFactory.h.

◆ MediumStore

typedef std::vector<IMedium*> VGM::MediumStore

Definition at line 38 of file IMaterialFactory.h.

◆ SolidStore

typedef std::vector<ISolid*> VGM::SolidStore

Definition at line 42 of file IFactory.h.

◆ VolumeStore

typedef std::vector<IVolume*> VGM::VolumeStore

Definition at line 43 of file IFactory.h.

Enumeration Type Documentation

◆ Axis

enum VGM::Axis
Enumerator
kXAxis 
kYAxis 
kZAxis 
kRho 
kRadial3D 
kPhi 
kSphTheta 
kUnknownAxis 

Definition at line 33 of file Axis.h.

◆ TransformVector

Enumerator
kDx 
kDy 
kDz 
kAngleX 
kAngleY 
kAngleZ 
kReflZ 
kSize 

Definition at line 42 of file Transform.h.

◆ MaterialState

Enumerator
kUndefined 

Undefined material state.

kSolid 

Solid material.

kLiquid 

Liquid material.

kGas 

Gas materila.

Definition at line 35 of file IMaterial.h.

◆ BooleanType

Enumerator
kIntersection 
kSubtraction 
kUnion 
kUnknownBoolean 

Definition at line 30 of file IBooleanSolid.h.

◆ SolidType

Enumerator
kArb8 
kBox 
kCons 
kCtubs 
kEllipsoid 
kEltu 
kExtruded 
kHype 
kPara 
kParaboloid 
kPolycone 
kPolyhedra 
kSphere 
kTessellated 
kTorus 
kTrap 
kTrd 
kTubs 
kBoolean 
kDisplaced 
kMultiUnion 
kScaled 
kUnknownSolid 

Definition at line 28 of file ISolid.h.

◆ PlacementType

Enumerator
kSimplePlacement 
kMultiplePlacement 
kParameterised 
kUnknownPlacement 

Definition at line 31 of file IPlacement.h.

Function Documentation

◆ AxisTypeName()

std::string VGM::AxisTypeName ( VGM::Axis typeId)

Definition at line 53 of file utilities.cxx.

◆ BooleanTypeName()

std::string VGM::BooleanTypeName ( VGM::BooleanType typeId)

Definition at line 33 of file VBooleanSolid.cxx.

◆ SolidTypeName()

std::string VGM::SolidTypeName ( VGM::SolidType typeId)

Definition at line 27 of file solid.cxx.

◆ PlacementTypeName()

std::string VGM::PlacementTypeName ( VGM::PlacementType typeId)

Definition at line 123 of file VPlacement.cxx.

Variable Documentation

◆ kDefaultDummyBoxDimensions

double VGM::kDefaultDummyBoxDimensions = 1.
constexpr

The default value for the dimensions in mm of a dummy box replacing the unsupported shapes if the 'ignore' option is activated.

Definition at line 47 of file IFactory.h.