VGM Version 5.3
Loading...
Searching...
No Matches
VGM::IFactory Class Referenceabstract

The VGM interface to geometry factory providing functions for geometry construction and conversions. More...

#include <IFactory.h>

Inheritance diagram for VGM::IFactory:

Public Member Functions

virtual ~IFactory ()
 
virtual ISolidCreateArb8 (const std::string &name, double hz, std::vector< VGM::TwoVector > vertices)=0
 Create the arbitrary trapezoid with 8 vertices standing on two paralel planes perpendicular to Z axis.
 
virtual ISolidCreateBox (const std::string &name, double hx, double hy, double hz)=0
 Create the box solid.
 
virtual ISolidCreateCons (const std::string &name, double rin1, double rout1, double rin2, double rout2, double hz, double sphi, double dphi)=0
 Create the cons solid = phi segment of a conical tube.
 
virtual ISolidCreateCtubs (const std::string &name, double rin, double rout, double hz, double sphi, double dphi, double nxlow, double nylow, double nzlow, double nxhigh, double nyhigh, double nzhigh)=0
 Create the cut tubs solid = phi segment of a tube cut with two planes.
 
virtual ISolidCreateEllipsoid (const std::string &name, double dx, double dy, double dz, double zBottomCut, double zTopCut)=0
 Create the ellipsoid solid.
 
virtual ISolidCreateEllipticalTube (const std::string &name, double dx, double dy, double hz)=0
 Create the elliptical tube solid.
 
virtual ISolidCreateExtrudedSolid (const std::string &name, std::vector< TwoVector > polygon, std::vector< std::vector< double > > zsections)=0
 Create the extruded solid.
 
virtual ISolidCreateHype (const std::string &name, double r1, double r2, double stereo1, double stereo2, double hz)=0
 Create the hyperboloid solid.
 
virtual ISolidCreatePara (const std::string &name, double hx, double hy, double hz, double alpha, double theta, double phi)=0
 Create the para solid = parallelepiped.
 
virtual ISolidCreateParaboloid (const std::string &name, double r1, double r2, double hz)=0
 Create the paraboloid solid.
 
virtual ISolidCreatePolycone (const std::string &name, double sphi, double dphi, int nofZplanes, double *z, double *rin, double *rout)=0
 Create the polycone solid = phi segment of a polycone.
 
virtual ISolidCreatePolyhedra (const std::string &name, double sphi, double dphi, int nofSides, int nofZplanes, double *z, double *rin, double *rout)=0
 Create the polyhedra solid = phi segment of a polyhedra (polygone)
 
virtual ISolidCreateSphere (const std::string &name, double rin, double rout, double sphi, double dphi, double stheta, double dtheta)=0
 Create the sphere solid = phi segment of a spherical shell.
 
virtual ISolidCreateTessellatedSolid (const std::string &name, std::vector< std::vector< VGM::ThreeVector > > facets)=0
 Create tessellated solid = solid composed from triangular and rectangular facets.
 
virtual ISolidCreateTorus (const std::string &name, double rin, double rout, double rax, double sphi, double dphi)=0
 Create the torus solid = phi segment of a torus.
 
virtual ISolidCreateTrap (const std::string &name, double hz, double theta, double phi, double dy1, double dx1, double dx2, double alpha1, double dy2, double dx3, double dx4, double alpha2)=0
 Create the trap solid = general trapezoid ( Note that of the 11 parameters described below, only 9 are really independent)
 
virtual ISolidCreateTrd (const std::string &name, double hx1, double hx2, double hy1, double hy2, double hz)=0
 Create the trd solid = a trapezoid with the x and y dimensions varying along z.
 
virtual ISolidCreateTubs (const std::string &name, double rin, double rout, double hz, double sphi, double dphi)=0
 Create the trd solid = phi segment of a tube.
 
virtual ISolidCreateIntersectionSolid (const std::string &name, VGM::ISolid *solidA, VGM::ISolid *solidB, const VGM::Transform &transform)=0
 Create the intersection of two solids.
 
virtual ISolidCreateSubtractionSolid (const std::string &name, VGM::ISolid *solidA, VGM::ISolid *solidB, const VGM::Transform &transform)=0
 Create the subtraction of two solids.
 
virtual ISolidCreateUnionSolid (const std::string &name, VGM::ISolid *solidA, VGM::ISolid *solidB, const VGM::Transform &transform)=0
 Create the union of two solids.
 
virtual ISolidCreateDisplacedSolid (const std::string &name, VGM::ISolid *solid, const VGM::Transform &transform)=0
 Create displaced solid.
 
virtual ISolidCreateScaledSolid (const std::string &name, VGM::ISolid *solid, const VGM::Transform &transform)=0
 Create scaled solid.
 
virtual ISolidCreateMultiUnion (const std::string &name, std::vector< VGM::ISolid * > constituents, std::vector< VGM::Transform > transforms)=0
 Create the multi union of solids.
 
virtual IVolumeCreateVolume (const std::string &name, VGM::ISolid *solid, const std::string &mediumName)=0
 Create the volume.
 
virtual IPlacementCreatePlacement (const std::string &name, int copyNo, VGM::IVolume *volume, VGM::IVolume *motherVolume, const VGM::Transform &transform)=0
 Create the simple volume placement.
 
virtual IPlacementCreateMultiplePlacement (const std::string &name, VGM::IVolume *volume, VGM::IVolume *motherVolume, VGM::Axis axis, int nofItems, double width, double offset, double halfGap)=0
 Create the multiple volume placement.
 
virtual VGM::IPlacementCreateParameterisedPlacement (const std::string &name, VGM::IVolume *motherVolume, const std::vector< VGM::Transform > &transforms, const std::vector< VGM::IVolume * > &volumes)=0
 Create the parameterised volume placement.
 
virtual IPlacementTop () const =0
 Return the top volume placement.
 
virtual ISolidSingleSolid () const =0
 Return solid (if in one solid conversion mode)
 
virtual std::string Name () const =0
 Return the name of this factory.
 
virtual const SolidStoreSolids () const =0
 Return the store of solids.
 
virtual const VolumeStoreVolumes () const =0
 Return the store of volumes.
 
virtual IMaterialFactoryMaterialFactory () const =0
 Return the associated material factory.
 
virtual void PrintSolids () const =0
 Print all solids.
 
virtual void PrintVolumes () const =0
 Print all volumes.
 
virtual bool Export (IFactory *factory) const =0
 Export geometry to the specified factory.
 
virtual void SetDebug (int value)=0
 Set the debug level.
 
virtual int Debug () const =0
 Return the debug level.
 
virtual void SetIgnore (bool value, double dummyBoxDimensions=kDefaultDummyBoxDimensions)=0
 Set ignoring of unsupported features.
 
virtual bool Ignore () const =0
 Return the ignore option.
 
virtual void SetDummyBoxDimensions (double value)=0
 Set the dimensions in mm of a dummy box replacing the unsupported shapes if the 'ignore' option is activated.
 
virtual double DummyBoxDimensions () const =0
 Return the ignore option.
 
virtual void SetBestMatch (bool value)=0
 Set best match option.
 
virtual bool BestMatch () const =0
 Return the single mode option.
 
virtual void SetSingleMode (bool value)=0
 Set single mode option.
 
virtual bool SingleMode () const =0
 Return the single mode option.
 
virtual void SetSolid (VGM::ISolid *solid)=0
 Set solid (in single mode)
 

Detailed Description

The VGM interface to geometry factory providing functions for geometry construction and conversions.

Author
Ivana Hrivnacova; IPN Orsay

Definition at line 49 of file IFactory.h.

Constructor & Destructor Documentation

◆ ~IFactory()

virtual VGM::IFactory::~IFactory ( )
inlinevirtual

Definition at line 52 of file IFactory.h.

Member Function Documentation

◆ CreateArb8()

virtual ISolid * VGM::IFactory::CreateArb8 ( const std::string & name,
double hz,
std::vector< VGM::TwoVector > vertices )
pure virtual

Create the arbitrary trapezoid with 8 vertices standing on two paralel planes perpendicular to Z axis.

Parameters
hzhalf-length along the z axis in mm
verticesvector of (x,y) coordinates of vertices
  • first four points are the (x,y) coordinates of the vertices sitting on the -dz plane;
  • last four points are the (x,y) coordinates of the vertices sitting on the +dz plane;

The order of defining the vertices of an arb8 is the following:

  • point 0 is connected with points 1,3,4
  • point 1 is connected with points 0,2,5
  • point 2 is connected with points 1,3,6
  • point 3 is connected with points 0,2,7
  • point 4 is connected with points 0,5,7
  • point 5 is connected with points 1,4,6
  • point 6 is connected with points 2,5,7
  • point 7 is connected with points 3,4,6

Points can be identical in order to create shapes with less than vertices.

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateBox()

virtual ISolid * VGM::IFactory::CreateBox ( const std::string & name,
double hx,
double hy,
double hz )
pure virtual

Create the box solid.

Parameters
hxhalf-length along the x axis in mm
hyhalf-length along the y axis in mm
hzhalf-length along the z axis in mm

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateCons()

virtual ISolid * VGM::IFactory::CreateCons ( const std::string & name,
double rin1,
double rout1,
double rin2,
double rout2,
double hz,
double sphi,
double dphi )
pure virtual

Create the cons solid = phi segment of a conical tube.

Parameters
rin1inside radius at -hz in mm
rin2inside radius at +hz in mm
rout1outside radius at -hz in mm
rout2outside radius at +hz in mm
hzhalf-length along the z axis in mm
sphistarting angle of the segment in deg
dphiopening angle of the segment in deg

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateCtubs()

virtual ISolid * VGM::IFactory::CreateCtubs ( const std::string & name,
double rin,
double rout,
double hz,
double sphi,
double dphi,
double nxlow,
double nylow,
double nzlow,
double nxhigh,
double nyhigh,
double nzhigh )
pure virtual

Create the cut tubs solid = phi segment of a tube cut with two planes.

Parameters
rininside radius in mm
routoutside radius in mm
hzhalf-length along the z axis in mm
sphistarting angle of the segment in deg
dphiopening angle of the segment in deg
nxlowX-component of the normal unit vector to the cut plane in -z
nylowY-component of the normal unit vector to the cut plane in -z
nzlowZ-component of the normal unit vector to the cut plane in -z
nxhighX-component of the normal unit vector to the cut plane in +z
nyhighY-component of the normal unit vector to the cut plane in +z
nzhighZ-component of the normal unit vector to the cut plane in +z

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateEllipsoid()

virtual ISolid * VGM::IFactory::CreateEllipsoid ( const std::string & name,
double dx,
double dy,
double dz,
double zBottomCut,
double zTopCut )
pure virtual

Create the ellipsoid solid.

Parameters
dxthe semi-axis of the ellipse along x in mm
dythe semi-axis of the ellipse along y in mm
dzthe semi-axis of the ellipse along z in mm
zBottomCutthe bottom cut along the z axis in mm
zTopCutthe top cut along the z axis in mm

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateEllipticalTube()

virtual ISolid * VGM::IFactory::CreateEllipticalTube ( const std::string & name,
double dx,
double dy,
double hz )
pure virtual

Create the elliptical tube solid.

Parameters
dxthe semi-axis of the ellipse along x in mm
dythe semi-axis of the ellipse along y in mm
hzhalf-length along the z axis in mm

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateExtrudedSolid()

virtual ISolid * VGM::IFactory::CreateExtrudedSolid ( const std::string & name,
std::vector< TwoVector > polygon,
std::vector< std::vector< double > > zsections )
pure virtual

Create the extruded solid.

Parameters
polygonthe outline polygon defined by its vertices
zsectionsthe z-sections defined by z positions, polygon offset in x, y and scale

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateHype()

virtual ISolid * VGM::IFactory::CreateHype ( const std::string & name,
double r1,
double r2,
double stereo1,
double stereo2,
double hz )
pure virtual

Create the hyperboloid solid.

Parameters
r1radius of the inner hyperbolic surface in mm
r2radius of the outer hyperbolic surface in mm
stereo1stereo angle for the inner hyperbolic surface in deg
stereo2stereo angle for the outer hyperbolic surface in deg
hzhalf-length along the z axis in mm

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreatePara()

virtual ISolid * VGM::IFactory::CreatePara ( const std::string & name,
double hx,
double hy,
double hz,
double alpha,
double theta,
double phi )
pure virtual

Create the para solid = parallelepiped.

Parameters
hxhalf-length along the x axis in mm
hyhalf-length along the y axis in mm
hzhalf-length along the z axis in mm
alphaangle formed by the y axis and by the plane joining the centre of the faces parallel to the z-x plane at -hy and +hy in deg
thetapolar angle of the line joining the centres of the faces at -hz and +hz in deg
phiazimuthal angle of the line joining the centres of the faces at -hz and +hz in deg

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateParaboloid()

virtual ISolid * VGM::IFactory::CreateParaboloid ( const std::string & name,
double r1,
double r2,
double hz )
pure virtual

Create the paraboloid solid.

Parameters
r1radius at -hz in mm
r2radius at +hz in mm
hzhalf-length along the z axis in mm

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreatePolycone()

virtual ISolid * VGM::IFactory::CreatePolycone ( const std::string & name,
double sphi,
double dphi,
int nofZplanes,
double * z,
double * rin,
double * rout )
pure virtual

Create the polycone solid = phi segment of a polycone.

Parameters
sphistarting angle of the segment in deg
dphiopening angle of the segment in deg
nofZplanesnumber of planes perpendicular to the z axis (has to be >= 2)
zarray of z positions of the planes in mm
rinarray of inside radius of the planes in mm
routarray of outside radius of the planes in mm

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreatePolyhedra()

virtual ISolid * VGM::IFactory::CreatePolyhedra ( const std::string & name,
double sphi,
double dphi,
int nofSides,
int nofZplanes,
double * z,
double * rin,
double * rout )
pure virtual

Create the polyhedra solid = phi segment of a polyhedra (polygone)

Parameters
sphistarting angle of the segment in deg
dphiopening angle of the segment in deg
nofSidesnumber of sides of the cross section between the given phi limits
nofZplanesnumber of planes perpendicular to the z axis (has to be >= 2)
zarray of z positions of the planes in mm
rinarray of inside radius of the planes in mm
routarray of outside radius of the planes in mm

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateSphere()

virtual ISolid * VGM::IFactory::CreateSphere ( const std::string & name,
double rin,
double rout,
double sphi,
double dphi,
double stheta,
double dtheta )
pure virtual

Create the sphere solid = phi segment of a spherical shell.

Parameters
rininside radius of the shell in mm
routoutside radius of the shell in mm
sphistarting azimuthal angle of the segment in deg
dphiopening azimuthal angle of the segment in deg
sthetastarting polar angle of the segment in deg
dthetaopening polar angle of the segment in deg

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateTessellatedSolid()

virtual ISolid * VGM::IFactory::CreateTessellatedSolid ( const std::string & name,
std::vector< std::vector< VGM::ThreeVector > > facets )
pure virtual

Create tessellated solid = solid composed from triangular and rectangular facets.

Parameters
facetsthe vector of facets defined as a vector of three vectors representing the facet points in mm

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateTorus()

virtual ISolid * VGM::IFactory::CreateTorus ( const std::string & name,
double rin,
double rout,
double rax,
double sphi,
double dphi )
pure virtual

Create the torus solid = phi segment of a torus.

Parameters
rininside radius of the torus in mm
routoutside radius of the torus in mm
raxaxial (swept) radius of the torus in mm
sphistarting angle of the segment in deg (with 0 being the +x axis)
dphiopening angle of the segment in deg

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateTrap()

virtual ISolid * VGM::IFactory::CreateTrap ( const std::string & name,
double hz,
double theta,
double phi,
double dy1,
double dx1,
double dx2,
double alpha1,
double dy2,
double dx3,
double dx4,
double alpha2 )
pure virtual

Create the trap solid = general trapezoid ( Note that of the 11 parameters described below, only 9 are really independent)

Parameters
hzhalf-length along the z axis in mm
thetapolar angle of the line joining the centres of the faces at -hz and +hz in deg
phiazimuthal angle of the line joining the centres of the faces at -hz and +hz in deg
dy1half-length along y of the face at -hz in mm
dx1half-length along x of the side at -hy of the face at -hz in mm
dx2half-length along x of the side at +hy of the face at +hz in mm
alpha1angle with respect to the y axis from the centre of the side at -hy to the centre at +hy of the face at -hz
dy2half-length along y of the face at +hz in mm
dx3half-length along x of the side at -hy of the face at +hz in mm
dx4half-length along x of the side at +hy of the face at +hz in mm
alpha2angle with respect to the y axis from the centre of the side at -hy to the centre at +hy of the face at +hz

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateTrd()

virtual ISolid * VGM::IFactory::CreateTrd ( const std::string & name,
double hx1,
double hx2,
double hy1,
double hy2,
double hz )
pure virtual

Create the trd solid = a trapezoid with the x and y dimensions varying along z.

Parameters
hx1half-length along x at the surface positioned at -hz in mm
hx2half-length along x at the surface positioned at +hz in mm
hy1half-length along y at the surface positioned at -hz in mm
hy2half-length along y at the surface positioned at +hz in mm
hzhalf-length along the z axis in mm

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateTubs()

virtual ISolid * VGM::IFactory::CreateTubs ( const std::string & name,
double rin,
double rout,
double hz,
double sphi,
double dphi )
pure virtual

Create the trd solid = phi segment of a tube.

Parameters
rininside radius in mm
routoutside radius in mm
hzhalf-length along the z axis in mm
sphistarting angle of the segment in deg
dphiopening angle of the segment in deg

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateIntersectionSolid()

virtual ISolid * VGM::IFactory::CreateIntersectionSolid ( const std::string & name,
VGM::ISolid * solidA,
VGM::ISolid * solidB,
const VGM::Transform & transform )
pure virtual

Create the intersection of two solids.

Parameters
solidA,solidBconstituent solids
transform3D displacement of the solidB with respect to solid A

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateSubtractionSolid()

virtual ISolid * VGM::IFactory::CreateSubtractionSolid ( const std::string & name,
VGM::ISolid * solidA,
VGM::ISolid * solidB,
const VGM::Transform & transform )
pure virtual

Create the subtraction of two solids.

Parameters
solidA,solidBconstituent solids
transform3D displacement of the solidB with respect to solid A

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateUnionSolid()

virtual ISolid * VGM::IFactory::CreateUnionSolid ( const std::string & name,
VGM::ISolid * solidA,
VGM::ISolid * solidB,
const VGM::Transform & transform )
pure virtual

Create the union of two solids.

Parameters
solidA,solidBconstituent solids
transform3D displacement of the solidB with respect to solid A

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateDisplacedSolid()

virtual ISolid * VGM::IFactory::CreateDisplacedSolid ( const std::string & name,
VGM::ISolid * solid,
const VGM::Transform & transform )
pure virtual

Create displaced solid.

Parameters
solidconstituent solids
transform3D displacement of the solidB with respect to solid A

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateScaledSolid()

virtual ISolid * VGM::IFactory::CreateScaledSolid ( const std::string & name,
VGM::ISolid * solid,
const VGM::Transform & transform )
pure virtual

Create scaled solid.

Parameters
solidconstituent solids
transformscale transformation (sx, sy, sz)

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateMultiUnion()

virtual ISolid * VGM::IFactory::CreateMultiUnion ( const std::string & name,
std::vector< VGM::ISolid * > constituents,
std::vector< VGM::Transform > transforms )
pure virtual

Create the multi union of solids.

Parameters
constituentsconstituent solids
transforms3D displacement of the constituent solids

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateVolume()

virtual IVolume * VGM::IFactory::CreateVolume ( const std::string & name,
VGM::ISolid * solid,
const std::string & mediumName )
pure virtual

Create the volume.

Parameters
solidthe associated solid
mediumNamethe name of the associated medium

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreatePlacement()

virtual IPlacement * VGM::IFactory::CreatePlacement ( const std::string & name,
int copyNo,
VGM::IVolume * volume,
VGM::IVolume * motherVolume,
const VGM::Transform & transform )
pure virtual

Create the simple volume placement.

Parameters
copyNothe copy number of this placement
volumethe associated volume
motherVolumethe associated mother volume
transform3D transformation

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateMultiplePlacement()

virtual IPlacement * VGM::IFactory::CreateMultiplePlacement ( const std::string & name,
VGM::IVolume * volume,
VGM::IVolume * motherVolume,
VGM::Axis axis,
int nofItems,
double width,
double offset,
double halfGap )
pure virtual

Create the multiple volume placement.

Parameters
volumethe associated volume which will be replicated
motherVolumethe associated mother volume
axisthe replication axis
nofItemsnumber of replications
widththe replication width (the unit depends on the axis; can be mm or deg)
offsetthe replication offset (the unit depends on the axis; can be mm or deg)
halfGapthe half with of the gap between replications (can be mm or deg)

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ CreateParameterisedPlacement()

virtual VGM::IPlacement * VGM::IFactory::CreateParameterisedPlacement ( const std::string & name,
VGM::IVolume * motherVolume,
const std::vector< VGM::Transform > & transforms,
const std::vector< VGM::IVolume * > & volumes )
pure virtual

Create the parameterised volume placement.

Parameters
motherVolumethe associated mother volume
transformstransformations for every replicated element
volumesvolumes for every replicated element

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ Top()

virtual IPlacement * VGM::IFactory::Top ( ) const
pure virtual

Return the top volume placement.

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ SingleSolid()

virtual ISolid * VGM::IFactory::SingleSolid ( ) const
pure virtual

Return solid (if in one solid conversion mode)

Implemented in Geant4GM::Factory, and RootGM::Factory.

◆ Name()

virtual std::string VGM::IFactory::Name ( ) const
pure virtual

Return the name of this factory.

Implemented in BaseVGM::VFactory.

◆ Solids()

virtual const SolidStore & VGM::IFactory::Solids ( ) const
pure virtual

Return the store of solids.

Implemented in BaseVGM::VFactory.

◆ Volumes()

virtual const VolumeStore & VGM::IFactory::Volumes ( ) const
pure virtual

Return the store of volumes.

Implemented in BaseVGM::VFactory.

◆ MaterialFactory()

virtual IMaterialFactory * VGM::IFactory::MaterialFactory ( ) const
pure virtual

Return the associated material factory.

Implemented in BaseVGM::VFactory.

◆ PrintSolids()

virtual void VGM::IFactory::PrintSolids ( ) const
pure virtual

Print all solids.

Implemented in BaseVGM::VFactory.

◆ PrintVolumes()

virtual void VGM::IFactory::PrintVolumes ( ) const
pure virtual

Print all volumes.

Implemented in BaseVGM::VFactory.

◆ Export()

virtual bool VGM::IFactory::Export ( IFactory * factory) const
pure virtual

Export geometry to the specified factory.

Implemented in BaseVGM::VFactory.

◆ SetDebug()

virtual void VGM::IFactory::SetDebug ( int value)
pure virtual

Set the debug level.

Implemented in BaseVGM::VFactory.

◆ Debug()

virtual int VGM::IFactory::Debug ( ) const
pure virtual

Return the debug level.

Implemented in BaseVGM::VFactory.

◆ SetIgnore()

virtual void VGM::IFactory::SetIgnore ( bool value,
double dummyBoxDimensions = kDefaultDummyBoxDimensions )
pure virtual

Set ignoring of unsupported features.

  • if not set (default) - program stops when an unsupported feature occurs
  • if set - only warning is issued

Implemented in BaseVGM::VFactory.

◆ Ignore()

virtual bool VGM::IFactory::Ignore ( ) const
pure virtual

Return the ignore option.

Implemented in BaseVGM::VFactory.

◆ SetDummyBoxDimensions()

virtual void VGM::IFactory::SetDummyBoxDimensions ( double value)
pure virtual

Set the dimensions in mm of a dummy box replacing the unsupported shapes if the 'ignore' option is activated.

Implemented in BaseVGM::VFactory.

◆ DummyBoxDimensions()

virtual double VGM::IFactory::DummyBoxDimensions ( ) const
pure virtual

Return the ignore option.

Implemented in BaseVGM::VFactory.

◆ SetBestMatch()

virtual void VGM::IFactory::SetBestMatch ( bool value)
pure virtual

Set best match option.

  • if not set (default) - prefer the geometry optimization to the best match of the hierarchy of volumes
  • if set - prefer the best match of the hierarchy of volumes to optimization in preformance/memory (currently this option is used only in emulation of the "replica slice" emulation in Root)

Implemented in BaseVGM::VFactory.

◆ BestMatch()

virtual bool VGM::IFactory::BestMatch ( ) const
pure virtual

Return the single mode option.

Implemented in BaseVGM::VFactory.

◆ SetSingleMode()

virtual void VGM::IFactory::SetSingleMode ( bool value)
pure virtual

Set single mode option.

  • if not set (default) - import/export the whole geometry tree
  • if set - import/export a single geometry object (currently only solid objects are supported)

Implemented in BaseVGM::VFactory.

◆ SingleMode()

virtual bool VGM::IFactory::SingleMode ( ) const
pure virtual

Return the single mode option.

Implemented in BaseVGM::VFactory.

◆ SetSolid()

virtual void VGM::IFactory::SetSolid ( VGM::ISolid * solid)
pure virtual

Set solid (in single mode)

Implemented in Geant4GM::Factory, and RootGM::Factory.


The documentation for this class was generated from the following file: