Geant4  10.01.p02
UVector3 Struct Reference

#include <UVector3.hh>

Public Member Functions

 UVector3 ()
 
 UVector3 (double xval, double yval, double zval)
 
 UVector3 (double theta, double phi)
 
 UVector3 (const double coord[3])
 
UVector3operator= (const UVector3 &v)
 
UVector3operator= (const double *vect)
 
bool operator== (const UVector3 &) const
 
bool operator!= (const UVector3 &) const
 
UVector3 operator- () const
 
UVector3operator+= (const UVector3 &)
 
UVector3operator-= (const UVector3 &)
 
double & operator[] (int index)
 
double operator[] (int index) const
 
double & x ()
 
double x () const
 
double & y ()
 
double y () const
 
double & z ()
 
double z () const
 
UVector3operator*= (double)
 
UVector3operator/= (double)
 
double Dot (const UVector3 &) const
 
UVector3 Cross (const UVector3 &) const
 
double Angle (const UVector3 &) const
 
UVector3 Unit () const
 
bool IsNull () const
 
void SetNull ()
 
void Set (double xx, double yy, double zz)
 
void Set (double xx)
 
double Normalize ()
 
double Phi () const
 
double Theta () const
 
double CosTheta () const
 
double Mag2 () const
 
double Mag () const
 
double Perp2 () const
 
double Perp () const
 
void RotateX (double)
 
void RotateY (double)
 
void RotateZ (double)
 
UVector3MultiplyByComponents (const UVector3 &p)
 

Private Attributes

double x_
 
double y_
 
double z_
 

Detailed Description

Definition at line 28 of file UVector3.hh.

Constructor & Destructor Documentation

UVector3::UVector3 ( )
inline

Definition at line 31 of file UVector3.hh.

References x_, y_, and z_.

Referenced by Cross(), and operator-().

+ Here is the caller graph for this function:

UVector3::UVector3 ( double  xval,
double  yval,
double  zval 
)
inline

Definition at line 35 of file UVector3.hh.

References x_, y_, and z_.

UVector3::UVector3 ( double  theta,
double  phi 
)

Definition at line 21 of file UVector3.cc.

References x_, y_, and z_.

UVector3::UVector3 ( const double  coord[3])
inline

Definition at line 42 of file UVector3.hh.

References x_, y_, and z_.

Member Function Documentation

double UVector3::Angle ( const UVector3 q) const

Definition at line 30 of file UVector3.cc.

References UUtils::ACos(), Dot(), and Mag2().

+ Here is the call graph for this function:

double UVector3::CosTheta ( ) const
inline

Definition at line 297 of file UVector3.hh.

References Mag(), and z_.

+ Here is the call graph for this function:

UVector3 UVector3::Cross ( const UVector3 p) const
inline

Definition at line 281 of file UVector3.hh.

References UVector3(), x_, y_, and z_.

Referenced by UPolyhedraSide::Distance(), UGenericTrap::GetFaceSurfaceArea(), UTet::GetPointOnFace(), UTriangularFacet::Intersect(), UPolyhedraSide::IntersectSidePlane(), UGenericTrap::IsSegCrossingZ(), UTrap::MakePlane(), UGenericTrap::Normal(), UGenericTrap::NormalToPlane(), UPolyconeSide::PointOnCone(), UPolyhedraSide::UPolyhedraSide(), UQuadrangularFacet::UQuadrangularFacet(), UTet::UTet(), and UTriangularFacet::UTriangularFacet().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool UVector3::IsNull ( ) const
inline

Definition at line 259 of file UVector3.hh.

References x_, y_, and z_.

double UVector3::Mag ( ) const

Definition at line 48 of file UVector3.cc.

References Mag2().

Referenced by CosTheta(), UTessellatedSolid::CreateVertexList(), UQuadrangularFacet::Distance(), UTriangularFacet::Distance(), UGenericTrap::GetFaceSurfaceArea(), UTrap::GetPointOnPlane(), UTriangularFacet::Intersect(), UGenericTrap::IsSegCrossingZ(), UTrap::MakePlane(), UPolyhedraSide::UPolyhedraSide(), UQuadrangularFacet::UQuadrangularFacet(), UTet::UTet(), and UTriangularFacet::UTriangularFacet().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double UVector3::Mag2 ( ) const
inline

Definition at line 287 of file UVector3.hh.

References x_, y_, and z_.

Referenced by UTessellatedSolid::AddFacet(), Angle(), UQuadrangularFacet::Distance(), UTriangularFacet::Distance(), Mag(), Normalize(), Theta(), Unit(), UQuadrangularFacet::UQuadrangularFacet(), and UTriangularFacet::UTriangularFacet().

+ Here is the caller graph for this function:

UVector3 & UVector3::MultiplyByComponents ( const UVector3 p)
inline

Definition at line 182 of file UVector3.hh.

References x_, y_, and z_.

Referenced by UMultiUnion::Capacity().

+ Here is the caller graph for this function:

double UVector3::Normalize ( )

Definition at line 89 of file UVector3.cc.

References Mag2(), x_, y_, and z_.

Referenced by UTrd::Normal().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool UVector3::operator!= ( const UVector3 v) const
inline

Definition at line 216 of file UVector3.hh.

References x_, y_, and z_.

UVector3 & UVector3::operator*= ( double  a)
inline

Definition at line 242 of file UVector3.hh.

References a, x_, y_, and z_.

UVector3 & UVector3::operator+= ( const UVector3 p)
inline

Definition at line 221 of file UVector3.hh.

References x_, y_, and z_.

UVector3 UVector3::operator- ( ) const
inline

Definition at line 237 of file UVector3.hh.

References UVector3(), x_, y_, and z_.

+ Here is the call graph for this function:

UVector3 & UVector3::operator-= ( const UVector3 p)
inline

Definition at line 229 of file UVector3.hh.

References x_, y_, and z_.

UVector3 & UVector3::operator/= ( double  a)
inline

Definition at line 250 of file UVector3.hh.

References a, x_, y_, and z_.

UVector3 & UVector3::operator= ( const UVector3 v)
inline

Definition at line 192 of file UVector3.hh.

References x_, y_, and z_.

UVector3& UVector3::operator= ( const double *  vect)
inline
bool UVector3::operator== ( const UVector3 v) const
inline

Definition at line 211 of file UVector3.hh.

References x_, y_, and z_.

double & UVector3::operator[] ( int  index)
inline

Definition at line 304 of file UVector3.hh.

References x_, y_, and z_.

double UVector3::operator[] ( int  index) const
inline

Definition at line 319 of file UVector3.hh.

References x_, y_, and z_.

double UVector3::Perp ( ) const

Definition at line 56 of file UVector3.cc.

References Perp2().

Referenced by UPolyconeSide::Distance(), UPolyconeSide::DistanceAway(), UPolyconeSide::Extent(), UPolyconeSide::Normal(), and UPolyconeSide::PointOnCone().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double UVector3::Perp2 ( ) const
inline

Definition at line 292 of file UVector3.hh.

References x_, and y_.

Referenced by UPolyhedraSide::Extent(), UPolyconeSide::Extent(), UEnclosingCylinder::MustBeOutside(), Perp(), and UEnclosingCylinder::ShouldMiss().

+ Here is the caller graph for this function:

double UVector3::Phi ( ) const

Definition at line 64 of file UVector3.cc.

References UUtils::ATan2(), x_, and y_.

Referenced by UPolyconeSide::GetPhi(), and UPolyhedraSide::GetPhi().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void UVector3::RotateX ( double  angle)

Definition at line 102 of file UVector3.cc.

References s, y_, and z_.

void UVector3::RotateY ( double  angle)

Definition at line 113 of file UVector3.cc.

References s, x_, and z_.

void UVector3::RotateZ ( double  angle)

Definition at line 124 of file UVector3.cc.

References s, x_, and y_.

void UVector3::Set ( double  xx)
inline

Definition at line 271 of file UVector3.hh.

References x_, y_, and z_.

void UVector3::SetNull ( )
inline
double UVector3::Theta ( ) const

Definition at line 71 of file UVector3.cc.

References UUtils::ACos(), Mag2(), and z_.

+ Here is the call graph for this function:

double & UVector3::x ( )
inline

Definition at line 344 of file UVector3.hh.

References x_.

Referenced by UTessellatedSolid::AddFacet(), UTrd::ApproxSurfaceNormal(), UTubs::ApproxSurfaceNormal(), USphere::ApproxSurfaceNormal(), UCons::ApproxSurfaceNormal(), UTrap::ApproxSurfaceNormal(), UVoxelizer::BuildBoundingBox(), G4UGenericTrap::CreatePolyhedron(), UTessellatedSolid::CreateVertexList(), UPolyhedraSide::Distance(), UPolyconeSide::Distance(), UOrb::DistanceToIn(), UVCSGfaceted::DistanceToIn(), UTrd::DistanceToIn(), UBox::DistanceToIn(), G4USolid::DistanceToIn(), UTubs::DistanceToIn(), UCons::DistanceToIn(), USphere::DistanceToIn(), UPolycone::DistanceToIn(), UTrap::DistanceToIn(), UTessellatedSolid::DistanceToInNoVoxels(), UOrb::DistanceToOut(), UTrd::DistanceToOut(), UBox::DistanceToOut(), G4USolid::DistanceToOut(), UTubs::DistanceToOut(), UGenericTrap::DistanceToOut(), UCons::DistanceToOut(), USphere::DistanceToOut(), UTrap::DistanceToOut(), UTessellatedSolid::DistanceToOutNoVoxels(), UGenericTrap::DistToPlane(), UGenericTrap::DistToTriangle(), VUSolid::EstimateCubicVolume(), VUSolid::EstimateSurfaceArea(), UTet::Extent(), UBox::Extent(), UPolyPhiFace::Extent(), UMultiUnion::Extent(), UTrap::Extent(), UVoxelizer::GetCandidatesVoxelArray(), UTessellatedSolid::GetMaxXExtent(), UTessellatedSolid::GetMinXExtent(), UTet::GetParametersList(), UTrap::GetPointOnPlane(), G4USolid::GetPointOnSurface(), G4UTrap::GetSymAxis(), G4UMultiUnion::GetTransformation(), UTransform3D::GlobalPoint(), UTransform3D::GlobalVector(), UOrb::Inside(), UTrd::Inside(), UBox::Inside(), G4USolid::Inside(), UTubs::Inside(), UPolyPhiFace::Inside(), UExtrudedSolid::Inside(), USphere::Inside(), UPolycone::Inside(), UTrap::Inside(), UPolyPhiFace::InsideEdgesExact(), UTessellatedSolid::InsideNoVoxels(), UGenericTrap::InsidePolygone(), UPolycone::InsideSection(), UTessellatedSolid::InsideVoxels(), UGenericTrap::IsSegCrossingZ(), UIntersectingCone::LineHitsCone1(), UIntersectingCone::LineHitsCone1Optimized(), UIntersectingCone::LineHitsCone2(), UPolyhedraSide::LineHitsSegments(), UTransform3D::LocalPoint(), UTransform3D::LocalVector(), UTrap::MakePlane(), UVoxelizer::MinDistanceToBox(), UEnclosingCylinder::MustBeOutside(), UOrb::Normal(), UTrd::Normal(), UBox::Normal(), UPolyconeSide::Normal(), UTubs::Normal(), UCons::Normal(), USphere::Normal(), UPolycone::Normal(), UTrap::Normal(), UPolycone::NormalSection(), operator*(), UTransform3D::operator*=(), operator+(), operator-(), operator/(), operator<<(), UTessellatedSolid::OutsideOfExtent(), UPolyconeSide::PointOnCone(), UExtrudedSolid::ProjectPoint(), UTransform3D::RotateX(), UTransform3D::RotateY(), UTransform3D::RotateZ(), UOrb::SafetyFromInside(), UTrd::SafetyFromInside(), UBox::SafetyFromInside(), UTubs::SafetyFromInside(), USphere::SafetyFromInside(), UCons::SafetyFromInside(), UPolycone::SafetyFromInside(), UTessellatedSolid::SafetyFromInside(), UTrap::SafetyFromInside(), UTrd::SafetyFromInsideAccurate(), UPolycone::SafetyFromInsideSection(), UOrb::SafetyFromOutside(), UVCSGfaceted::SafetyFromOutside(), UTrd::SafetyFromOutside(), UBox::SafetyFromOutside(), UTubs::SafetyFromOutside(), UCons::SafetyFromOutside(), USphere::SafetyFromOutside(), UTessellatedSolid::SafetyFromOutside(), UTrap::SafetyFromOutside(), UTrd::SafetyFromOutsideAccurate(), UMultiUnion::SafetyFromOutsideNumberNode(), UPolycone::SafetyFromOutsideSection(), UBox::Set(), UEnclosingCylinder::ShouldMiss(), G4USolid::SurfaceNormal(), UUtils::TransformLimits(), UPolyPhiFace::UPolyPhiFace(), and UTet::UTet().

double UVector3::x ( ) const
inline

Definition at line 346 of file UVector3.hh.

References x_.

double & UVector3::y ( )
inline

Definition at line 348 of file UVector3.hh.

References y_.

Referenced by UTessellatedSolid::AddFacet(), UTrd::ApproxSurfaceNormal(), UTubs::ApproxSurfaceNormal(), USphere::ApproxSurfaceNormal(), UCons::ApproxSurfaceNormal(), UTrap::ApproxSurfaceNormal(), UVoxelizer::BuildBoundingBox(), G4UGenericTrap::CreatePolyhedron(), UTessellatedSolid::CreateVertexList(), UPolyhedraSide::Distance(), UPolyconeSide::Distance(), UOrb::DistanceToIn(), UVCSGfaceted::DistanceToIn(), UTrd::DistanceToIn(), UBox::DistanceToIn(), G4USolid::DistanceToIn(), UTubs::DistanceToIn(), UCons::DistanceToIn(), USphere::DistanceToIn(), UPolycone::DistanceToIn(), UTrap::DistanceToIn(), UTessellatedSolid::DistanceToInNoVoxels(), UOrb::DistanceToOut(), UTrd::DistanceToOut(), UBox::DistanceToOut(), G4USolid::DistanceToOut(), UTubs::DistanceToOut(), UGenericTrap::DistanceToOut(), UCons::DistanceToOut(), USphere::DistanceToOut(), UTrap::DistanceToOut(), UTessellatedSolid::DistanceToOutNoVoxels(), UGenericTrap::DistToPlane(), UGenericTrap::DistToTriangle(), VUSolid::EstimateCubicVolume(), VUSolid::EstimateSurfaceArea(), UTet::Extent(), UBox::Extent(), UPolyPhiFace::Extent(), UMultiUnion::Extent(), UTrap::Extent(), UVoxelizer::GetCandidatesVoxelArray(), UTessellatedSolid::GetMaxYExtent(), UTessellatedSolid::GetMinYExtent(), UTet::GetParametersList(), UTrap::GetPointOnPlane(), G4USolid::GetPointOnSurface(), G4UTrap::GetSymAxis(), G4UMultiUnion::GetTransformation(), UTransform3D::GlobalPoint(), UTransform3D::GlobalVector(), UOrb::Inside(), UTrd::Inside(), UBox::Inside(), G4USolid::Inside(), UTubs::Inside(), UPolyPhiFace::Inside(), UExtrudedSolid::Inside(), USphere::Inside(), UPolycone::Inside(), UTrap::Inside(), UPolyPhiFace::InsideEdgesExact(), UTessellatedSolid::InsideNoVoxels(), UGenericTrap::InsidePolygone(), UPolycone::InsideSection(), UTessellatedSolid::InsideVoxels(), UGenericTrap::IsSegCrossingZ(), UIntersectingCone::LineHitsCone1(), UIntersectingCone::LineHitsCone1Optimized(), UIntersectingCone::LineHitsCone2(), UPolyhedraSide::LineHitsSegments(), UTransform3D::LocalPoint(), UTransform3D::LocalVector(), UTrap::MakePlane(), UVoxelizer::MinDistanceToBox(), UEnclosingCylinder::MustBeOutside(), UOrb::Normal(), UTrd::Normal(), UBox::Normal(), UPolyconeSide::Normal(), UTubs::Normal(), UCons::Normal(), USphere::Normal(), UPolycone::Normal(), UTrap::Normal(), UPolycone::NormalSection(), operator*(), UTransform3D::operator*=(), operator+(), operator-(), operator/(), operator<<(), UTessellatedSolid::OutsideOfExtent(), UPolyconeSide::PointOnCone(), UExtrudedSolid::ProjectPoint(), UTransform3D::RotateX(), UTransform3D::RotateY(), UTransform3D::RotateZ(), UOrb::SafetyFromInside(), UTrd::SafetyFromInside(), UBox::SafetyFromInside(), UTubs::SafetyFromInside(), USphere::SafetyFromInside(), UCons::SafetyFromInside(), UPolycone::SafetyFromInside(), UTessellatedSolid::SafetyFromInside(), UTrap::SafetyFromInside(), UTrd::SafetyFromInsideAccurate(), UPolycone::SafetyFromInsideSection(), UOrb::SafetyFromOutside(), UVCSGfaceted::SafetyFromOutside(), UTrd::SafetyFromOutside(), UBox::SafetyFromOutside(), UTubs::SafetyFromOutside(), UCons::SafetyFromOutside(), USphere::SafetyFromOutside(), UTessellatedSolid::SafetyFromOutside(), UTrap::SafetyFromOutside(), UTrd::SafetyFromOutsideAccurate(), UMultiUnion::SafetyFromOutsideNumberNode(), UPolycone::SafetyFromOutsideSection(), UBox::Set(), UEnclosingCylinder::ShouldMiss(), G4USolid::SurfaceNormal(), UUtils::TransformLimits(), UPolyPhiFace::UPolyPhiFace(), and UTet::UTet().

double UVector3::y ( ) const
inline

Definition at line 350 of file UVector3.hh.

References y_.

double & UVector3::z ( )
inline

Definition at line 352 of file UVector3.hh.

References z_.

Referenced by UTessellatedSolid::AddFacet(), UTrd::ApproxSurfaceNormal(), UTubs::ApproxSurfaceNormal(), USphere::ApproxSurfaceNormal(), UCons::ApproxSurfaceNormal(), UTrap::ApproxSurfaceNormal(), UVoxelizer::BuildBoundingBox(), G4UGenericTrap::CreatePolyhedron(), UGenericTrap::CreateTessellatedSolid(), UTessellatedSolid::CreateVertexList(), UPolyPhiFace::Distance(), UPolyconeSide::DistanceAway(), UOrb::DistanceToIn(), UVCSGfaceted::DistanceToIn(), UTrd::DistanceToIn(), UBox::DistanceToIn(), G4USolid::DistanceToIn(), UTubs::DistanceToIn(), UGenericTrap::DistanceToIn(), UCons::DistanceToIn(), USphere::DistanceToIn(), UPolycone::DistanceToIn(), UTrap::DistanceToIn(), UTessellatedSolid::DistanceToInNoVoxels(), UOrb::DistanceToOut(), UVCSGfaceted::DistanceToOut(), UTrd::DistanceToOut(), UBox::DistanceToOut(), G4USolid::DistanceToOut(), UTubs::DistanceToOut(), UGenericTrap::DistanceToOut(), UCons::DistanceToOut(), USphere::DistanceToOut(), UPolycone::DistanceToOut(), UTrap::DistanceToOut(), UTessellatedSolid::DistanceToOutNoVoxels(), UGenericTrap::DistToPlane(), UGenericTrap::DistToTriangle(), VUSolid::EstimateCubicVolume(), VUSolid::EstimateSurfaceArea(), UTet::Extent(), UPolyhedraSide::Extent(), UBox::Extent(), UPolyconeSide::Extent(), UPolyPhiFace::Extent(), UMultiUnion::Extent(), UTrap::Extent(), UVoxelizer::GetCandidatesVoxelArray(), UTessellatedSolid::GetMaxZExtent(), UTessellatedSolid::GetMinZExtent(), UTet::GetParametersList(), UTrap::GetPointOnPlane(), G4USolid::GetPointOnSurface(), G4UTrap::GetSymAxis(), G4UMultiUnion::GetTransformation(), UTransform3D::GlobalPoint(), UTransform3D::GlobalVector(), UOrb::Inside(), UVCSGfaceted::Inside(), UTrd::Inside(), UBox::Inside(), G4USolid::Inside(), UTubs::Inside(), UGenericTrap::Inside(), UPolyPhiFace::Inside(), UExtrudedSolid::Inside(), USphere::Inside(), UPolycone::Inside(), UTrap::Inside(), UPolyPhiFace::InsideEdgesExact(), UTessellatedSolid::InsideNoVoxels(), UPolycone::InsideSection(), UTessellatedSolid::InsideVoxels(), UGenericTrap::IsSegCrossingZ(), UIntersectingCone::LineHitsCone1(), UIntersectingCone::LineHitsCone1Optimized(), UIntersectingCone::LineHitsCone2(), UTransform3D::LocalPoint(), UTransform3D::LocalVector(), UExtrudedSolid::MakeDownFacet(), UGenericTrap::MakeDownFacet(), UTrap::MakePlane(), UExtrudedSolid::MakeUpFacet(), UGenericTrap::MakeUpFacet(), UVoxelizer::MinDistanceToBox(), UEnclosingCylinder::MustBeOutside(), UVCSGfaceted::Normal(), UOrb::Normal(), UTrd::Normal(), UBox::Normal(), UTubs::Normal(), UGenericTrap::Normal(), UCons::Normal(), UPolyPhiFace::Normal(), USphere::Normal(), UTessellatedSolid::Normal(), UPolycone::Normal(), UTrap::Normal(), UPolycone::NormalSection(), UGenericTrap::NormalToPlane(), operator*(), UTransform3D::operator*=(), operator+(), operator-(), operator/(), operator<<(), UTessellatedSolid::OutsideOfExtent(), UPolyconeSide::PointOnCone(), UExtrudedSolid::ProjectPoint(), UTransform3D::RotateX(), UTransform3D::RotateY(), UTransform3D::RotateZ(), UPolyPhiFace::Safety(), UOrb::SafetyFromInside(), UTrd::SafetyFromInside(), UBox::SafetyFromInside(), UVCSGfaceted::SafetyFromInside(), UGenericTrap::SafetyFromInside(), UTubs::SafetyFromInside(), USphere::SafetyFromInside(), UCons::SafetyFromInside(), UPolycone::SafetyFromInside(), UTessellatedSolid::SafetyFromInside(), UTrap::SafetyFromInside(), UTrd::SafetyFromInsideAccurate(), UPolycone::SafetyFromInsideSection(), UOrb::SafetyFromOutside(), UVCSGfaceted::SafetyFromOutside(), UTrd::SafetyFromOutside(), UBox::SafetyFromOutside(), UGenericTrap::SafetyFromOutside(), UTubs::SafetyFromOutside(), UCons::SafetyFromOutside(), USphere::SafetyFromOutside(), UPolycone::SafetyFromOutside(), UTessellatedSolid::SafetyFromOutside(), UTrap::SafetyFromOutside(), UTrd::SafetyFromOutsideAccurate(), UMultiUnion::SafetyFromOutsideNumberNode(), UPolycone::SafetyFromOutsideSection(), UBox::Set(), G4USolid::SurfaceNormal(), UUtils::TransformLimits(), and UTet::UTet().

double UVector3::z ( ) const
inline

Definition at line 354 of file UVector3.hh.

References z_.

Member Data Documentation


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