|
| VFactory (const std::string &name, VGM::IMaterialFactory *materialFactory) |
|
virtual | ~VFactory () |
|
virtual std::string | Name () const |
| Return the name of this factory.
|
|
virtual const VGM::SolidStore & | Solids () const |
| Return the store of solids.
|
|
virtual const VGM::VolumeStore & | Volumes () const |
| Return the store of volumes.
|
|
virtual VGM::IMaterialFactory * | MaterialFactory () 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.
|
|
virtual | ~IFactory () |
|
virtual ISolid * | CreateArb8 (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 ISolid * | CreateBox (const std::string &name, double hx, double hy, double hz)=0 |
| Create the box solid.
|
|
virtual ISolid * | CreateCons (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 ISolid * | 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)=0 |
| Create the cut tubs solid = phi segment of a tube cut with two planes.
|
|
virtual ISolid * | CreateEllipsoid (const std::string &name, double dx, double dy, double dz, double zBottomCut, double zTopCut)=0 |
| Create the ellipsoid solid.
|
|
virtual ISolid * | CreateEllipticalTube (const std::string &name, double dx, double dy, double hz)=0 |
| Create the elliptical tube solid.
|
|
virtual ISolid * | CreateExtrudedSolid (const std::string &name, std::vector< TwoVector > polygon, std::vector< std::vector< double > > zsections)=0 |
| Create the extruded solid.
|
|
virtual ISolid * | CreateHype (const std::string &name, double r1, double r2, double stereo1, double stereo2, double hz)=0 |
| Create the hyperboloid solid.
|
|
virtual ISolid * | CreatePara (const std::string &name, double hx, double hy, double hz, double alpha, double theta, double phi)=0 |
| Create the para solid = parallelepiped.
|
|
virtual ISolid * | CreateParaboloid (const std::string &name, double r1, double r2, double hz)=0 |
| Create the paraboloid solid.
|
|
virtual ISolid * | CreatePolycone (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 ISolid * | CreatePolyhedra (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 ISolid * | CreateSphere (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 ISolid * | CreateTessellatedSolid (const std::string &name, std::vector< std::vector< VGM::ThreeVector > > facets)=0 |
| Create tessellated solid = solid composed from triangular and rectangular facets.
|
|
virtual ISolid * | CreateTorus (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 ISolid * | 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)=0 |
| Create the trap solid = general trapezoid ( Note that of the 11 parameters described below, only 9 are really independent)
|
|
virtual ISolid * | CreateTrd (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 ISolid * | CreateTubs (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 ISolid * | CreateIntersectionSolid (const std::string &name, VGM::ISolid *solidA, VGM::ISolid *solidB, const VGM::Transform &transform)=0 |
| Create the intersection of two solids.
|
|
virtual ISolid * | CreateSubtractionSolid (const std::string &name, VGM::ISolid *solidA, VGM::ISolid *solidB, const VGM::Transform &transform)=0 |
| Create the subtraction of two solids.
|
|
virtual ISolid * | CreateUnionSolid (const std::string &name, VGM::ISolid *solidA, VGM::ISolid *solidB, const VGM::Transform &transform)=0 |
| Create the union of two solids.
|
|
virtual ISolid * | CreateDisplacedSolid (const std::string &name, VGM::ISolid *solid, const VGM::Transform &transform)=0 |
| Create displaced solid.
|
|
virtual ISolid * | CreateScaledSolid (const std::string &name, VGM::ISolid *solid, const VGM::Transform &transform)=0 |
| Create scaled solid.
|
|
virtual ISolid * | CreateMultiUnion (const std::string &name, std::vector< VGM::ISolid * > constituents, std::vector< VGM::Transform > transforms)=0 |
| Create the multi union of solids.
|
|
virtual IVolume * | CreateVolume (const std::string &name, VGM::ISolid *solid, const std::string &mediumName)=0 |
| Create the volume.
|
|
virtual IPlacement * | CreatePlacement (const std::string &name, int copyNo, VGM::IVolume *volume, VGM::IVolume *motherVolume, const VGM::Transform &transform)=0 |
| Create the simple volume placement.
|
|
virtual IPlacement * | CreateMultiplePlacement (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::IPlacement * | CreateParameterisedPlacement (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 IPlacement * | Top () const =0 |
| Return the top volume placement.
|
|
virtual ISolid * | SingleSolid () const =0 |
| Return solid (if in one solid conversion mode)
|
|
virtual void | SetSolid (VGM::ISolid *solid)=0 |
| Set solid (in single mode)
|
|
The abstract base class to geometry factory.
It owns the solids and volumes stores and implements the export to other factory.
- Author
- Ivana Hrivnacova; IPN Orsay
Definition at line 42 of file VFactory.h.