50#if defined(G4GEOM_USE_USOLIDS)
51#define G4GEOM_USE_UTRD 1
54#if defined(G4GEOM_USE_UTRD)
124 const G4bool calcNorm =
false,
125 G4bool* validNorm =
nullptr,
136 std::ostream&
StreamInfo( std::ostream& os )
const override;
154 void CheckParameters();
167 G4double fDx1,fDx2,fDy1,fDy2,fDz,fHx,fHy;
void SetYHalfLength2(G4double val)
void SetAllParameters(G4double pdx1, G4double pdx2, G4double pdy1, G4double pdy2, G4double pdz)
G4double GetXHalfLength2() const
std::ostream & StreamInfo(std::ostream &os) const override
G4Trd(const G4String &pName, G4double pdx1, G4double pdx2, G4double pdy1, G4double pdy2, G4double pdz)
G4double GetSurfaceArea() override
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const override
void DescribeYourselfTo(G4VGraphicsScene &scene) const override
EInside Inside(const G4ThreeVector &p) const override
void SetXHalfLength1(G4double val)
void SetYHalfLength1(G4double val)
void BoundingLimits(G4ThreeVector &pMin, G4ThreeVector &pMax) const override
G4Trd & operator=(const G4Trd &rhs)
G4double GetYHalfLength2() const
void SetXHalfLength2(G4double val)
G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const override
G4Polyhedron * CreatePolyhedron() const override
G4double GetXHalfLength1() const
G4ThreeVector GetPointOnSurface() const override
G4double GetYHalfLength1() const
G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=nullptr, G4ThreeVector *n=nullptr) const override
G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const override
G4double GetCubicVolume() override
G4GeometryType GetEntityType() const override
void SetZHalfLength(G4double val)
void ComputeDimensions(G4VPVParameterisation *p, const G4int n, const G4VPhysicalVolume *pRep) override
G4double GetZHalfLength() const
G4VSolid * Clone() const override