Geant4  10.01.p01
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
 
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)
 

Public 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 277 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 262 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 234 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(), UPolycone::Normal(), 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 267 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 157 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 191 of file UVector3.hh.

References x, y, and z.

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

Definition at line 217 of file UVector3.hh.

References a, x, y, and z.

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

Definition at line 196 of file UVector3.hh.

References x, y, and z.

UVector3 UVector3::operator- ( ) const
inline

Definition at line 212 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 204 of file UVector3.hh.

References x, y, and z.

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

Definition at line 225 of file UVector3.hh.

References a, x, y, and z.

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

Definition at line 167 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 186 of file UVector3.hh.

References x, y, and z.

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

Definition at line 284 of file UVector3.hh.

References x, y, and z.

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

Definition at line 299 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 272 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 252 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:

Member Data Documentation

double UVector3::x

Definition at line 136 of file UVector3.hh.

Referenced by UTessellatedSolid::AddFacet(), UTrd::ApproxSurfaceNormal(), UTubs::ApproxSurfaceNormal(), USphere::ApproxSurfaceNormal(), UCons::ApproxSurfaceNormal(), UTrap::ApproxSurfaceNormal(), UVoxelizer::BuildBoundingBox(), G4UGenericTrap::CreatePolyhedron(), UTessellatedSolid::CreateVertexList(), Cross(), 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(), Dot(), 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(), USphere::Inside(), UExtrudedSolid::Inside(), UPolycone::Inside(), UTrap::Inside(), UPolyPhiFace::InsideEdgesExact(), UTessellatedSolid::InsideNoVoxels(), UGenericTrap::InsidePolygone(), UPolycone::InsideSection(), UTessellatedSolid::InsideVoxels(), IsNull(), UGenericTrap::IsSegCrossingZ(), UIntersectingCone::LineHitsCone1(), UIntersectingCone::LineHitsCone1Optimized(), UIntersectingCone::LineHitsCone2(), UPolyhedraSide::LineHitsSegments(), UTransform3D::LocalPoint(), UTransform3D::LocalVector(), Mag2(), UTrap::MakePlane(), UVoxelizer::MinDistanceToBox(), MultiplyByComponents(), UEnclosingCylinder::MustBeOutside(), UOrb::Normal(), UTrd::Normal(), UBox::Normal(), UPolyconeSide::Normal(), UTubs::Normal(), UCons::Normal(), USphere::Normal(), UPolycone::Normal(), UTrap::Normal(), Normalize(), UPolycone::NormalSection(), operator!=(), operator*(), UTransform3D::operator*=(), operator*=(), operator+(), operator+=(), operator-(), operator-(), operator-=(), operator/(), operator/=(), operator<<(), operator=(), operator==(), operator[](), UTessellatedSolid::OutsideOfExtent(), Perp2(), Phi(), UPolyconeSide::PointOnCone(), UExtrudedSolid::ProjectPoint(), UTransform3D::RotateX(), UTransform3D::RotateY(), RotateY(), UTransform3D::RotateZ(), RotateZ(), UOrb::SafetyFromInside(), UTrd::SafetyFromInside(), UBox::SafetyFromInside(), UTubs::SafetyFromInside(), UCons::SafetyFromInside(), USphere::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(), Set(), UEnclosingCylinder::ShouldMiss(), G4USolid::SurfaceNormal(), UUtils::TransformLimits(), Unit(), UPolyPhiFace::UPolyPhiFace(), UTet::UTet(), and UVector3().

double UVector3::y

Definition at line 137 of file UVector3.hh.

Referenced by UTessellatedSolid::AddFacet(), UTrd::ApproxSurfaceNormal(), UTubs::ApproxSurfaceNormal(), USphere::ApproxSurfaceNormal(), UCons::ApproxSurfaceNormal(), UTrap::ApproxSurfaceNormal(), UVoxelizer::BuildBoundingBox(), G4UGenericTrap::CreatePolyhedron(), UTessellatedSolid::CreateVertexList(), Cross(), 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(), Dot(), 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(), USphere::Inside(), UExtrudedSolid::Inside(), UPolycone::Inside(), UTrap::Inside(), UPolyPhiFace::InsideEdgesExact(), UTessellatedSolid::InsideNoVoxels(), UGenericTrap::InsidePolygone(), UPolycone::InsideSection(), UTessellatedSolid::InsideVoxels(), IsNull(), UGenericTrap::IsSegCrossingZ(), UIntersectingCone::LineHitsCone1(), UIntersectingCone::LineHitsCone1Optimized(), UIntersectingCone::LineHitsCone2(), UPolyhedraSide::LineHitsSegments(), UTransform3D::LocalPoint(), UTransform3D::LocalVector(), Mag2(), UTrap::MakePlane(), UVoxelizer::MinDistanceToBox(), MultiplyByComponents(), UEnclosingCylinder::MustBeOutside(), UOrb::Normal(), UTrd::Normal(), UBox::Normal(), UPolyconeSide::Normal(), UTubs::Normal(), UCons::Normal(), USphere::Normal(), UPolycone::Normal(), UTrap::Normal(), Normalize(), UPolycone::NormalSection(), operator!=(), operator*(), UTransform3D::operator*=(), operator*=(), operator+(), operator+=(), operator-(), operator-(), operator-=(), operator/(), operator/=(), operator<<(), operator=(), operator==(), operator[](), UTessellatedSolid::OutsideOfExtent(), Perp2(), Phi(), UPolyconeSide::PointOnCone(), UExtrudedSolid::ProjectPoint(), UTransform3D::RotateX(), RotateX(), UTransform3D::RotateY(), UTransform3D::RotateZ(), RotateZ(), UOrb::SafetyFromInside(), UTrd::SafetyFromInside(), UBox::SafetyFromInside(), UTubs::SafetyFromInside(), UCons::SafetyFromInside(), USphere::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(), Set(), UEnclosingCylinder::ShouldMiss(), G4USolid::SurfaceNormal(), UUtils::TransformLimits(), Unit(), UPolyPhiFace::UPolyPhiFace(), UTet::UTet(), and UVector3().

double UVector3::z

Definition at line 138 of file UVector3.hh.

Referenced by UTessellatedSolid::AddFacet(), UTrd::ApproxSurfaceNormal(), UTubs::ApproxSurfaceNormal(), USphere::ApproxSurfaceNormal(), UCons::ApproxSurfaceNormal(), UTrap::ApproxSurfaceNormal(), UVoxelizer::BuildBoundingBox(), CosTheta(), G4UGenericTrap::CreatePolyhedron(), UGenericTrap::CreateTessellatedSolid(), UTessellatedSolid::CreateVertexList(), Cross(), 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(), Dot(), 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(), USphere::Inside(), UExtrudedSolid::Inside(), UPolycone::Inside(), UTrap::Inside(), UPolyPhiFace::InsideEdgesExact(), UTessellatedSolid::InsideNoVoxels(), UPolycone::InsideSection(), UTessellatedSolid::InsideVoxels(), IsNull(), UGenericTrap::IsSegCrossingZ(), UIntersectingCone::LineHitsCone1(), UIntersectingCone::LineHitsCone1Optimized(), UIntersectingCone::LineHitsCone2(), UTransform3D::LocalPoint(), UTransform3D::LocalVector(), Mag2(), UExtrudedSolid::MakeDownFacet(), UGenericTrap::MakeDownFacet(), UTrap::MakePlane(), UExtrudedSolid::MakeUpFacet(), UGenericTrap::MakeUpFacet(), UVoxelizer::MinDistanceToBox(), MultiplyByComponents(), 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(), Normalize(), UPolycone::NormalSection(), UGenericTrap::NormalToPlane(), operator!=(), operator*(), UTransform3D::operator*=(), operator*=(), operator+(), operator+=(), operator-(), operator-(), operator-=(), operator/(), operator/=(), operator<<(), operator=(), operator==(), operator[](), UTessellatedSolid::OutsideOfExtent(), UPolyconeSide::PointOnCone(), UExtrudedSolid::ProjectPoint(), UTransform3D::RotateX(), RotateX(), UTransform3D::RotateY(), 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(), Set(), G4USolid::SurfaceNormal(), Theta(), UUtils::TransformLimits(), Unit(), UTet::UTet(), and UVector3().


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