Geant4
10.00.p01
|
#include <UVector3.hh>
Public Member Functions | |
UVector3 () | |
UVector3 (double xval, double yval, double zval) | |
UVector3 (double theta, double phi) | |
UVector3 (const double coord[3]) | |
UVector3 & | operator= (const UVector3 &v) |
UVector3 & | operator= (const double *vect) |
bool | operator== (const UVector3 &) const |
bool | operator!= (const UVector3 &) const |
UVector3 | operator- () const |
UVector3 & | operator+= (const UVector3 &) |
UVector3 & | operator-= (const UVector3 &) |
double & | operator[] (int index) |
double | operator[] (int index) const |
UVector3 & | operator*= (double) |
UVector3 & | operator/= (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) |
UVector3 & | MultiplyByComponents (const UVector3 &p) |
Public Attributes | |
double | x |
double | y |
double | z |
Definition at line 28 of file UVector3.hh.
|
inline |
Definition at line 31 of file UVector3.hh.
Referenced by Cross(), and operator-().
|
inline |
Definition at line 35 of file UVector3.hh.
UVector3::UVector3 | ( | double | theta, |
double | phi | ||
) |
Definition at line 21 of file UVector3.cc.
|
inline |
Definition at line 42 of file UVector3.hh.
double UVector3::Angle | ( | const UVector3 & | q | ) | const |
Definition at line 30 of file UVector3.cc.
References UUtils::ACos(), Dot(), and Mag2().
|
inline |
Definition at line 262 of file UVector3.hh.
References UVector3(), x, y, and z.
Referenced by UPolyhedraSide::Distance(), UTet::GetPointOnFace(), UPolyhedraSide::IntersectSidePlane(), UPolyconeSide::PointOnCone(), UPolyhedraSide::UPolyhedraSide(), and UTet::UTet().
|
inline |
Definition at line 257 of file UVector3.hh.
Referenced by Angle(), UPolyhedraSide::Distance(), UPolyPhiFace::Distance(), UPolyhedraSide::DistanceAway(), UTet::DistanceToIn(), UCons::DistanceToIn(), UPolyhedraSide::DistanceToOneSide(), UTet::DistanceToOut(), UCons::DistanceToOut(), UOrb::DistanceToOutForOutsidePoints(), UPolyhedraSide::Extent(), UPolyconeSide::Extent(), UTet::Inside(), UPolyPhiFace::Inside(), UPolyhedraSide::IntersectSidePlane(), VUFacet::IsInside(), UTet::Normal(), UPolyPhiFace::Normal(), operator*(), UPolyconeSide::PointOnCone(), UPolyhedraSide::Safety(), UPolyPhiFace::Safety(), UTet::SafetyFromInside(), UPolyhedraSide::UPolyhedraSide(), and UTet::UTet().
|
inline |
Definition at line 234 of file UVector3.hh.
double UVector3::Mag | ( | ) | const |
Definition at line 48 of file UVector3.cc.
References Mag2().
Referenced by CosTheta(), UPolyhedraSide::UPolyhedraSide(), and UTet::UTet().
|
inline |
Definition at line 267 of file UVector3.hh.
Referenced by Angle(), Mag(), Normalize(), Theta(), and Unit().
Definition at line 157 of file UVector3.hh.
double UVector3::Normalize | ( | ) |
Definition at line 89 of file UVector3.cc.
References Mag2(), x, y, and z.
Referenced by UTrd::Normal().
|
inline |
Definition at line 191 of file UVector3.hh.
|
inline |
Definition at line 196 of file UVector3.hh.
|
inline |
Definition at line 212 of file UVector3.hh.
References UVector3(), x, y, and z.
Definition at line 204 of file UVector3.hh.
|
inline |
Definition at line 167 of file UVector3.hh.
|
inline |
|
inline |
Definition at line 186 of file UVector3.hh.
|
inline |
Definition at line 284 of file UVector3.hh.
|
inline |
Definition at line 299 of file UVector3.hh.
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().
|
inline |
Definition at line 272 of file UVector3.hh.
Referenced by UPolyhedraSide::Extent(), UPolyconeSide::Extent(), UEnclosingCylinder::MustBeOutside(), Perp(), and UEnclosingCylinder::ShouldMiss().
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().
void UVector3::RotateX | ( | double | angle | ) |
Definition at line 102 of file UVector3.cc.
void UVector3::RotateY | ( | double | angle | ) |
Definition at line 113 of file UVector3.cc.
void UVector3::RotateZ | ( | double | angle | ) |
Definition at line 124 of file UVector3.cc.
|
inline |
Definition at line 245 of file UVector3.hh.
Referenced by UVoxelizer::BuildVoxelLimits(), UTrd::DistanceToOut(), UBox::DistanceToOut(), UOrb::Extent(), UTrd::Extent(), USphere::Extent(), UPolycone::Extent(), UBox::Normal(), UTransform3D::RotateX(), UTransform3D::RotateY(), UTransform3D::RotateZ(), UVoxelizer::SetMaxVoxels(), UVoxelizer::SetReductionRatio(), UUtils::TransformLimits(), and UTransform3D::UTransform3D().
|
inline |
Definition at line 252 of file UVector3.hh.
|
inline |
double UVector3::Theta | ( | ) | const |
Definition at line 71 of file UVector3.cc.
References UUtils::ACos(), Mag2(), and z.
UVector3 UVector3::Unit | ( | ) | const |
Definition at line 80 of file UVector3.cc.
References Mag2(), x, y, and z.
Referenced by UTet::DistanceToIn(), UTet::DistanceToOut(), UCons::DistanceToOut(), UTet::Normal(), UPolyconeSide::Normal(), UTubs::Normal(), UCons::Normal(), USphere::Normal(), UPolyhedraSide::UPolyhedraSide(), UPolyPhiFace::UPolyPhiFace(), and UTet::UTet().
double UVector3::x |
Definition at line 136 of file UVector3.hh.
Referenced by UTrd::ApproxSurfaceNormal(), UTubs::ApproxSurfaceNormal(), USphere::ApproxSurfaceNormal(), UCons::ApproxSurfaceNormal(), UVoxelizer::BuildBoundingBox(), Cross(), UPolyhedraSide::Distance(), UPolyconeSide::Distance(), UOrb::DistanceToIn(), UVCSGfaceted::DistanceToIn(), UTrd::DistanceToIn(), UBox::DistanceToIn(), G4USolid::DistanceToIn(), UTubs::DistanceToIn(), UCons::DistanceToIn(), USphere::DistanceToIn(), UPolycone::DistanceToIn(), UOrb::DistanceToOut(), UTrd::DistanceToOut(), UBox::DistanceToOut(), G4USolid::DistanceToOut(), UTubs::DistanceToOut(), UCons::DistanceToOut(), USphere::DistanceToOut(), Dot(), VUSolid::EstimateCubicVolume(), VUSolid::EstimateSurfaceArea(), UTet::Extent(), UBox::Extent(), UPolyPhiFace::Extent(), UVoxelizer::GetCandidatesVoxelArray(), UTet::GetParametersList(), G4USolid::GetPointOnSurface(), UTransform3D::GlobalPoint(), UTransform3D::GlobalVector(), UOrb::Inside(), UTrd::Inside(), UBox::Inside(), G4USolid::Inside(), UTubs::Inside(), UPolyPhiFace::Inside(), USphere::Inside(), UPolycone::Inside(), UCons::Inside(), UPolyPhiFace::InsideEdgesExact(), UPolycone::InsideSection(), IsNull(), UIntersectingCone::LineHitsCone1(), UIntersectingCone::LineHitsCone1Optimized(), UIntersectingCone::LineHitsCone2(), UPolyhedraSide::LineHitsSegments(), UTransform3D::LocalPoint(), UTransform3D::LocalVector(), Mag2(), UVoxelizer::MinDistanceToBox(), MultiplyByComponents(), UEnclosingCylinder::MustBeOutside(), UOrb::Normal(), UTrd::Normal(), UBox::Normal(), UPolyconeSide::Normal(), UTubs::Normal(), UCons::Normal(), USphere::Normal(), UPolycone::Normal(), Normalize(), UPolycone::NormalSection(), operator!=(), operator*(), UTransform3D::operator*=(), operator*=(), operator+(), operator+=(), operator-(), operator-(), operator-=(), operator/(), operator/=(), operator<<(), operator=(), operator==(), operator[](), Perp2(), Phi(), UPolyconeSide::PointOnCone(), UTransform3D::RotateX(), UTransform3D::RotateY(), RotateY(), UTransform3D::RotateZ(), RotateZ(), UOrb::SafetyFromInside(), UTrd::SafetyFromInside(), UBox::SafetyFromInside(), UTubs::SafetyFromInside(), USphere::SafetyFromInside(), UCons::SafetyFromInside(), UTrd::SafetyFromInsideAccurate(), UPolycone::SafetyFromInsideSection(), UOrb::SafetyFromOutside(), UVCSGfaceted::SafetyFromOutside(), UTrd::SafetyFromOutside(), UBox::SafetyFromOutside(), UTubs::SafetyFromOutside(), UCons::SafetyFromOutside(), USphere::SafetyFromOutside(), UTrd::SafetyFromOutsideAccurate(), UPolycone::SafetyFromOutsideSection(), UUtils::SaveVectorToExternalFile(), 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 UTrd::ApproxSurfaceNormal(), UTubs::ApproxSurfaceNormal(), USphere::ApproxSurfaceNormal(), UCons::ApproxSurfaceNormal(), UVoxelizer::BuildBoundingBox(), Cross(), UPolyhedraSide::Distance(), UPolyconeSide::Distance(), UOrb::DistanceToIn(), UVCSGfaceted::DistanceToIn(), UTrd::DistanceToIn(), UBox::DistanceToIn(), G4USolid::DistanceToIn(), UTubs::DistanceToIn(), UCons::DistanceToIn(), USphere::DistanceToIn(), UPolycone::DistanceToIn(), UOrb::DistanceToOut(), UTrd::DistanceToOut(), UBox::DistanceToOut(), G4USolid::DistanceToOut(), UTubs::DistanceToOut(), UCons::DistanceToOut(), USphere::DistanceToOut(), Dot(), VUSolid::EstimateCubicVolume(), VUSolid::EstimateSurfaceArea(), UTet::Extent(), UBox::Extent(), UPolyPhiFace::Extent(), UVoxelizer::GetCandidatesVoxelArray(), UTet::GetParametersList(), G4USolid::GetPointOnSurface(), UTransform3D::GlobalPoint(), UTransform3D::GlobalVector(), UOrb::Inside(), UTrd::Inside(), UBox::Inside(), G4USolid::Inside(), UTubs::Inside(), UPolyPhiFace::Inside(), USphere::Inside(), UPolycone::Inside(), UCons::Inside(), UPolyPhiFace::InsideEdgesExact(), UPolycone::InsideSection(), IsNull(), UIntersectingCone::LineHitsCone1(), UIntersectingCone::LineHitsCone1Optimized(), UIntersectingCone::LineHitsCone2(), UPolyhedraSide::LineHitsSegments(), UTransform3D::LocalPoint(), UTransform3D::LocalVector(), Mag2(), UVoxelizer::MinDistanceToBox(), MultiplyByComponents(), UEnclosingCylinder::MustBeOutside(), UOrb::Normal(), UTrd::Normal(), UBox::Normal(), UPolyconeSide::Normal(), UTubs::Normal(), UCons::Normal(), USphere::Normal(), UPolycone::Normal(), Normalize(), UPolycone::NormalSection(), operator!=(), operator*(), UTransform3D::operator*=(), operator*=(), operator+(), operator+=(), operator-(), operator-(), operator-=(), operator/(), operator/=(), operator<<(), operator=(), operator==(), operator[](), Perp2(), Phi(), UPolyconeSide::PointOnCone(), UTransform3D::RotateX(), RotateX(), UTransform3D::RotateY(), UTransform3D::RotateZ(), RotateZ(), UOrb::SafetyFromInside(), UTrd::SafetyFromInside(), UBox::SafetyFromInside(), UTubs::SafetyFromInside(), USphere::SafetyFromInside(), UCons::SafetyFromInside(), UTrd::SafetyFromInsideAccurate(), UPolycone::SafetyFromInsideSection(), UOrb::SafetyFromOutside(), UVCSGfaceted::SafetyFromOutside(), UTrd::SafetyFromOutside(), UBox::SafetyFromOutside(), UTubs::SafetyFromOutside(), UCons::SafetyFromOutside(), USphere::SafetyFromOutside(), UTrd::SafetyFromOutsideAccurate(), UPolycone::SafetyFromOutsideSection(), UUtils::SaveVectorToExternalFile(), 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 UTrd::ApproxSurfaceNormal(), UTubs::ApproxSurfaceNormal(), USphere::ApproxSurfaceNormal(), UCons::ApproxSurfaceNormal(), UVoxelizer::BuildBoundingBox(), CosTheta(), Cross(), UPolyPhiFace::Distance(), UPolyconeSide::DistanceAway(), UOrb::DistanceToIn(), UVCSGfaceted::DistanceToIn(), UTrd::DistanceToIn(), UBox::DistanceToIn(), G4USolid::DistanceToIn(), UTubs::DistanceToIn(), UCons::DistanceToIn(), USphere::DistanceToIn(), UPolycone::DistanceToIn(), UOrb::DistanceToOut(), UVCSGfaceted::DistanceToOut(), UTrd::DistanceToOut(), UBox::DistanceToOut(), G4USolid::DistanceToOut(), UTubs::DistanceToOut(), UCons::DistanceToOut(), USphere::DistanceToOut(), UPolycone::DistanceToOut(), Dot(), VUSolid::EstimateCubicVolume(), VUSolid::EstimateSurfaceArea(), UTet::Extent(), UPolyhedraSide::Extent(), UBox::Extent(), UPolyconeSide::Extent(), UPolyPhiFace::Extent(), UVoxelizer::GetCandidatesVoxelArray(), UTet::GetParametersList(), G4USolid::GetPointOnSurface(), UTransform3D::GlobalPoint(), UTransform3D::GlobalVector(), UOrb::Inside(), UVCSGfaceted::Inside(), UTrd::Inside(), UBox::Inside(), G4USolid::Inside(), UTubs::Inside(), UPolyPhiFace::Inside(), USphere::Inside(), UPolycone::Inside(), UCons::Inside(), UPolyPhiFace::InsideEdgesExact(), UPolycone::InsideSection(), IsNull(), UIntersectingCone::LineHitsCone1(), UIntersectingCone::LineHitsCone1Optimized(), UIntersectingCone::LineHitsCone2(), UTransform3D::LocalPoint(), UTransform3D::LocalVector(), Mag2(), UVoxelizer::MinDistanceToBox(), MultiplyByComponents(), UEnclosingCylinder::MustBeOutside(), UVCSGfaceted::Normal(), UOrb::Normal(), UTrd::Normal(), UBox::Normal(), UTubs::Normal(), UCons::Normal(), UPolyPhiFace::Normal(), USphere::Normal(), UPolycone::Normal(), Normalize(), UPolycone::NormalSection(), operator!=(), operator*(), UTransform3D::operator*=(), operator*=(), operator+(), operator+=(), operator-(), operator-(), operator-=(), operator/(), operator/=(), operator<<(), operator=(), operator==(), operator[](), UPolyconeSide::PointOnCone(), UTransform3D::RotateX(), RotateX(), UTransform3D::RotateY(), RotateY(), UTransform3D::RotateZ(), UPolyPhiFace::Safety(), UOrb::SafetyFromInside(), UTrd::SafetyFromInside(), UBox::SafetyFromInside(), UVCSGfaceted::SafetyFromInside(), UTubs::SafetyFromInside(), USphere::SafetyFromInside(), UCons::SafetyFromInside(), UPolycone::SafetyFromInside(), UTrd::SafetyFromInsideAccurate(), UPolycone::SafetyFromInsideSection(), UOrb::SafetyFromOutside(), UVCSGfaceted::SafetyFromOutside(), UTrd::SafetyFromOutside(), UBox::SafetyFromOutside(), UTubs::SafetyFromOutside(), UCons::SafetyFromOutside(), USphere::SafetyFromOutside(), UPolycone::SafetyFromOutside(), UTrd::SafetyFromOutsideAccurate(), UPolycone::SafetyFromOutsideSection(), UUtils::SaveVectorToExternalFile(), UBox::Set(), Set(), G4USolid::SurfaceNormal(), Theta(), UUtils::TransformLimits(), Unit(), UTet::UTet(), and UVector3().