VGM Version 5.3
Loading...
Searching...
No Matches
Geant4GM::Factory Class Reference

VGM factory for Geant4. More...

#include <Factory.h>

Inheritance diagram for Geant4GM::Factory:

Public Member Functions

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

Static Public Member Functions

static void SetSurfCheck (bool surfCheck)
 
static bool GetSurfCheck ()
 

Protected Member Functions

 Factory (const Factory &rhs)
 
virtual void SetSolid (VGM::ISolid *solid)
 Set solid (in single mode)
 
- Protected Member Functions inherited from BaseVGM::VFactory
 VFactory ()
 
 VFactory (const VFactory &rhs)
 
virtual void SetSingleMode (bool singleMode)
 Set single mode option.
 
virtual bool SingleMode () const
 Return the single mode option.
 
virtual VGM::SolidStoreSolidStore ()
 
virtual VGM::VolumeStoreVolumeStore ()
 

Detailed Description

VGM factory for Geant4.

Author
Ivana Hrivnacova; IPN Orsay

Definition at line 46 of file Factory.h.

Constructor & Destructor Documentation

◆ Factory() [1/2]

Geant4GM::Factory::Factory ( )

Standard default constructor

Definition at line 116 of file Factory.cxx.

◆ ~Factory()

Geant4GM::Factory::~Factory ( )
virtual

Definition at line 133 of file Factory.cxx.

◆ Factory() [2/2]

Geant4GM::Factory::Factory ( const Factory & rhs)
protected

Protected copy constructor

Definition at line 126 of file Factory.cxx.

Member Function Documentation

◆ SetSurfCheck()

void Geant4GM::Factory::SetSurfCheck ( bool surfCheck)
static

Set the option to activate geometry checking: set pSurfChk=true for all G4PVPlacement objects

Definition at line 95 of file Factory.cxx.

◆ GetSurfCheck()

bool Geant4GM::Factory::GetSurfCheck ( )
static

Return the option to activate geometry checking

Definition at line 104 of file Factory.cxx.

◆ CreateArb8()

VGM::ISolid * Geant4GM::Factory::CreateArb8 ( const std::string & name,
double hz,
std::vector< VGM::TwoVector > vertices )
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.

Implements VGM::IFactory.

Definition at line 779 of file Factory.cxx.

◆ CreateBox()

VGM::ISolid * Geant4GM::Factory::CreateBox ( const std::string & name,
double hx,
double hy,
double hz )
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

Implements VGM::IFactory.

Definition at line 800 of file Factory.cxx.

◆ CreateCons()

VGM::ISolid * Geant4GM::Factory::CreateCons ( const std::string & name,
double rin1,
double rout1,
double rin2,
double rout2,
double hz,
double sphi,
double dphi )
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

Implements VGM::IFactory.

Definition at line 808 of file Factory.cxx.

◆ CreateCtubs()

VGM::ISolid * Geant4GM::Factory::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 )
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

Implements VGM::IFactory.

Definition at line 817 of file Factory.cxx.

◆ CreateEllipsoid()

VGM::ISolid * Geant4GM::Factory::CreateEllipsoid ( const std::string & name,
double dx,
double dy,
double dz,
double zBottomCut,
double zTopCut )
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

Implements VGM::IFactory.

Definition at line 827 of file Factory.cxx.

◆ CreateEllipticalTube()

VGM::ISolid * Geant4GM::Factory::CreateEllipticalTube ( const std::string & name,
double dx,
double dy,
double hz )
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

Implements VGM::IFactory.

Definition at line 836 of file Factory.cxx.

◆ CreateExtrudedSolid()

VGM::ISolid * Geant4GM::Factory::CreateExtrudedSolid ( const std::string & name,
std::vector< VGM::TwoVector > polygon,
std::vector< std::vector< double > > zsections )
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

Implements VGM::IFactory.

Definition at line 940 of file Factory.cxx.

◆ CreateHype()

VGM::ISolid * Geant4GM::Factory::CreateHype ( const std::string & name,
double r1,
double r2,
double stereo1,
double stereo2,
double hz )
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

Implements VGM::IFactory.

Definition at line 844 of file Factory.cxx.

◆ CreatePara()

VGM::ISolid * Geant4GM::Factory::CreatePara ( const std::string & name,
double hx,
double hy,
double hz,
double alpha,
double theta,
double phi )
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

Implements VGM::IFactory.

Definition at line 852 of file Factory.cxx.

◆ CreateParaboloid()

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

Create the paraboloid solid.

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

Implements VGM::IFactory.

Definition at line 860 of file Factory.cxx.

◆ CreatePolycone()

VGM::ISolid * Geant4GM::Factory::CreatePolycone ( const std::string & name,
double sphi,
double dphi,
int nofZplanes,
double * z,
double * rin,
double * rout )
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

Implements VGM::IFactory.

Definition at line 868 of file Factory.cxx.

◆ CreatePolyhedra()

VGM::ISolid * Geant4GM::Factory::CreatePolyhedra ( const std::string & name,
double sphi,
double dphi,
int nofSides,
int nofZplanes,
double * z,
double * rin,
double * rout )
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

Implements VGM::IFactory.

Definition at line 878 of file Factory.cxx.

◆ CreateSphere()

VGM::ISolid * Geant4GM::Factory::CreateSphere ( const std::string & name,
double rin,
double rout,
double sphi,
double dphi,
double stheta,
double dtheta )
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

Implements VGM::IFactory.

Definition at line 888 of file Factory.cxx.

◆ CreateTessellatedSolid()

VGM::ISolid * Geant4GM::Factory::CreateTessellatedSolid ( const std::string & name,
std::vector< std::vector< VGM::ThreeVector > > facets )
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

Implements VGM::IFactory.

Definition at line 898 of file Factory.cxx.

◆ CreateTorus()

VGM::ISolid * Geant4GM::Factory::CreateTorus ( const std::string & name,
double rin,
double rout,
double rax,
double sphi,
double dphi )
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

Implements VGM::IFactory.

Definition at line 906 of file Factory.cxx.

◆ CreateTrap()

VGM::ISolid * Geant4GM::Factory::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 )
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

Implements VGM::IFactory.

Definition at line 914 of file Factory.cxx.

◆ CreateTrd()

VGM::ISolid * Geant4GM::Factory::CreateTrd ( const std::string & name,
double hx1,
double hx2,
double hy1,
double hy2,
double hz )
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

Implements VGM::IFactory.

Definition at line 924 of file Factory.cxx.

◆ CreateTubs()

VGM::ISolid * Geant4GM::Factory::CreateTubs ( const std::string & name,
double rin,
double rout,
double hz,
double sphi,
double dphi )
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

Implements VGM::IFactory.

Definition at line 932 of file Factory.cxx.

◆ CreateIntersectionSolid()

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

Create the intersection of two solids.

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

Implements VGM::IFactory.

Definition at line 949 of file Factory.cxx.

◆ CreateSubtractionSolid()

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

Create the subtraction of two solids.

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

Implements VGM::IFactory.

Definition at line 967 of file Factory.cxx.

◆ CreateUnionSolid()

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

Create the union of two solids.

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

Implements VGM::IFactory.

Definition at line 986 of file Factory.cxx.

◆ CreateDisplacedSolid()

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

Create displaced solid.

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

Implements VGM::IFactory.

Definition at line 1004 of file Factory.cxx.

◆ CreateScaledSolid()

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

Create scaled solid.

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

Implements VGM::IFactory.

Definition at line 1022 of file Factory.cxx.

◆ CreateMultiUnion()

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

Create the multi union of solids.

Parameters
constituentsconstituent solids
transforms3D displacement of the constituent solids

Implements VGM::IFactory.

Definition at line 1039 of file Factory.cxx.

◆ CreateVolume()

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

Create the volume.

Parameters
solidthe associated solid
mediumNamethe name of the associated medium

Implements VGM::IFactory.

Definition at line 1061 of file Factory.cxx.

◆ CreatePlacement()

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

Create the simple volume placement.

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

Implements VGM::IFactory.

Definition at line 1089 of file Factory.cxx.

◆ CreateMultiplePlacement()

VGM::IPlacement * Geant4GM::Factory::CreateMultiplePlacement ( const std::string & name,
VGM::IVolume * volume,
VGM::IVolume * motherVolume,
VGM::Axis axis,
int nofItems,
double width,
double offset,
double halfGap )
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)

Implements VGM::IFactory.

Definition at line 1134 of file Factory.cxx.

◆ CreateParameterisedPlacement()

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

Create the parameterised volume placement.

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

Implements VGM::IFactory.

Definition at line 1212 of file Factory.cxx.

◆ Top()

VGM::IPlacement * Geant4GM::Factory::Top ( ) const
virtual

Return the top volume placement.

Return the top volume (VGM placement)

Implements VGM::IFactory.

Definition at line 1247 of file Factory.cxx.

◆ SingleSolid()

VGM::ISolid * Geant4GM::Factory::SingleSolid ( ) const
virtual

Return solid (if in one solid conversion mode)

Returns the solid (if in one solid conversion mode)

Implements VGM::IFactory.

Definition at line 1255 of file Factory.cxx.

◆ World()

G4VPhysicalVolume * Geant4GM::Factory::World ( ) const

Return the world volume (G4 physical volume)

Definition at line 1263 of file Factory.cxx.

◆ Solid()

G4VSolid * Geant4GM::Factory::Solid ( ) const

Returns the solid (if in one solid conversion mode)

Definition at line 1271 of file Factory.cxx.

◆ Import() [1/2]

bool Geant4GM::Factory::Import ( G4VPhysicalVolume * topVolume)

Import Geant4 native geometry

Definition at line 1279 of file Factory.cxx.

◆ Import() [2/2]

bool Geant4GM::Factory::Import ( G4VSolid * solid)

Import one Geant4 solid. This call automatically activates a special single mode

Definition at line 1330 of file Factory.cxx.

◆ SetSolid()

void Geant4GM::Factory::SetSolid ( VGM::ISolid * solid)
protectedvirtual

Set solid (in single mode)

Set solid (in single mode)

Implements VGM::IFactory.

Definition at line 767 of file Factory.cxx.


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