Geant4
10.01.p02
|
#include <UVector2.hh>
Public Types | |
enum | { X = 0, Y = 1, NUM_COORDINATES = 2, SIZE = NUM_COORDINATES } |
enum | { ZMpvToleranceTicks = 100 } |
Public Member Functions | |
UVector2 (double x=0.0, double y=0.0) | |
UVector2 (const UVector2 &p) | |
UVector2 (const UVector3 &s) | |
~UVector2 () | |
double | operator() (int i) const |
double | operator[] (int i) const |
double & | operator() (int i) |
double & | operator[] (int i) |
void | setX (double x) |
void | setY (double y) |
void | set (double x, double y) |
double | phi () const |
double | mag2 () const |
double | mag () const |
double | r () const |
void | setPhi (double phi) |
void | setMag (double r) |
void | setR (double r) |
void | setPolar (double r, double phi) |
UVector2 & | operator= (const UVector2 &p) |
bool | operator== (const UVector2 &v) const |
bool | operator!= (const UVector2 &v) const |
int | compare (const UVector2 &v) const |
bool | operator> (const UVector2 &v) const |
bool | operator< (const UVector2 &v) const |
bool | operator>= (const UVector2 &v) const |
bool | operator<= (const UVector2 &v) const |
double | howNear (const UVector2 &p) const |
bool | isNear (const UVector2 &p, double epsilon=tolerance) const |
double | howParallel (const UVector2 &p) const |
bool | isParallel (const UVector2 &p, double epsilon=tolerance) const |
double | howOrthogonal (const UVector2 &p) const |
bool | isOrthogonal (const UVector2 &p, double epsilon=tolerance) const |
UVector2 & | operator+= (const UVector2 &p) |
UVector2 & | operator-= (const UVector2 &p) |
UVector2 | operator- () const |
UVector2 & | operator*= (double a) |
UVector2 | unit () const |
UVector2 | orthogonal () const |
double | dot (const UVector2 &p) const |
double | angle (const UVector2 &) const |
void | rotate (double) |
operator UVector3 () const | |
Static Public Member Functions | |
static double | getTolerance () |
static double | setTolerance (double tol) |
Public Attributes | |
double | x |
double | y |
Static Private Attributes | |
static double | tolerance = UVector2::ZMpvToleranceTicks * 2.22045e-16 |
Friends | |
std::ostream & | operator<< (std::ostream &, const UVector2 &) |
double | operator* (const UVector2 &a, const UVector2 &b) |
UVector2 | operator* (const UVector2 &p, double a) |
UVector2 | operator* (double a, const UVector2 &p) |
UVector2 | operator/ (const UVector2 &p, double a) |
UVector2 | operator+ (const UVector2 &a, const UVector2 &b) |
UVector2 | operator- (const UVector2 &a, const UVector2 &b) |
Definition at line 45 of file UVector2.hh.
anonymous enum |
Enumerator | |
---|---|
X | |
Y | |
NUM_COORDINATES | |
SIZE |
Definition at line 50 of file UVector2.hh.
anonymous enum |
Enumerator | |
---|---|
ZMpvToleranceTicks |
Definition at line 193 of file UVector2.hh.
|
inline |
Definition at line 220 of file UVector2.hh.
Referenced by operator-(), orthogonal(), and unit().
|
inline |
Definition at line 251 of file UVector2.hh.
|
inlineexplicit |
Definition at line 223 of file UVector2.hh.
|
inline |
Definition at line 254 of file UVector2.hh.
|
inline |
int UVector2::compare | ( | const UVector2 & | v | ) | const |
Definition at line 105 of file UVector2.cc.
Referenced by operator<(), operator<=(), operator>(), and operator>=().
|
inline |
Definition at line 300 of file UVector2.hh.
Referenced by angle(), howNear(), howOrthogonal(), howParallel(), UTessellatedGeometryAlgorithms::IntersectLineAndLineSegment2D(), isNear(), isOrthogonal(), isParallel(), and operator*().
|
inlinestatic |
Definition at line 401 of file UVector2.hh.
References tolerance.
double UVector2::howNear | ( | const UVector2 & | p | ) | const |
double UVector2::howOrthogonal | ( | const UVector2 & | p | ) | const |
double UVector2::howParallel | ( | const UVector2 & | p | ) | const |
|
inline |
Definition at line 310 of file UVector2.hh.
References mag2().
Referenced by UTriangularFacet::Intersect(), and setPhi().
|
inline |
Definition at line 305 of file UVector2.hh.
Referenced by angle(), howNear(), howParallel(), UTessellatedGeometryAlgorithms::IntersectLineAndLineSegment2D(), isNear(), isParallel(), mag(), r(), and unit().
UVector2::operator UVector3 | ( | ) | const |
Definition at line 100 of file UVector2.cc.
|
inline |
Definition at line 269 of file UVector2.hh.
double UVector2::operator() | ( | int | i | ) | const |
Definition at line 31 of file UVector2.cc.
Referenced by operator[]().
double & UVector2::operator() | ( | int | i | ) |
|
inline |
Definition at line 293 of file UVector2.hh.
Definition at line 274 of file UVector2.hh.
|
inline |
Definition at line 288 of file UVector2.hh.
References UVector2(), x, and y.
Definition at line 281 of file UVector2.hh.
bool UVector2::operator< | ( | const UVector2 & | v | ) | const |
Definition at line 134 of file UVector2.cc.
References compare().
bool UVector2::operator<= | ( | const UVector2 & | v | ) | const |
Definition at line 142 of file UVector2.cc.
References compare().
Definition at line 256 of file UVector2.hh.
|
inline |
Definition at line 264 of file UVector2.hh.
bool UVector2::operator> | ( | const UVector2 & | v | ) | const |
Definition at line 130 of file UVector2.cc.
References compare().
bool UVector2::operator>= | ( | const UVector2 & | v | ) | const |
Definition at line 138 of file UVector2.cc.
References compare().
|
inline |
Definition at line 246 of file UVector2.hh.
References operator()().
|
inline |
Definition at line 242 of file UVector2.hh.
References operator()().
|
inline |
Definition at line 327 of file UVector2.hh.
References UVector2(), x, and y.
|
inline |
Definition at line 340 of file UVector2.hh.
Referenced by UExtrudedSolid::IsConvex(), and setMag().
|
inline |
Definition at line 315 of file UVector2.hh.
References mag2().
void UVector2::rotate | ( | double | angler | ) |
Definition at line 64 of file UVector2.cc.
|
inline |
Definition at line 236 of file UVector2.hh.
|
inline |
|
inline |
Definition at line 363 of file UVector2.hh.
References mag(), setX(), and setY().
|
inline |
Definition at line 370 of file UVector2.hh.
References setX(), and setY().
|
inline |
Definition at line 358 of file UVector2.hh.
References setMag().
|
static |
Definition at line 23 of file UVector2.cc.
References tolerance.
|
inline |
Definition at line 226 of file UVector2.hh.
References x.
Referenced by setMag(), setPhi(), and setPolar().
|
inline |
Definition at line 231 of file UVector2.hh.
References y.
Referenced by setMag(), setPhi(), and setPolar().
|
inline |
Definition at line 320 of file UVector2.hh.
References mag2(), and UVector2().
Definition at line 396 of file UVector2.hh.
Definition at line 386 of file UVector2.hh.
Definition at line 391 of file UVector2.hh.
Definition at line 376 of file UVector2.hh.
Definition at line 381 of file UVector2.hh.
Definition at line 73 of file UVector2.cc.
|
friend |
Definition at line 82 of file UVector2.cc.
|
staticprivate |
Definition at line 201 of file UVector2.hh.
Referenced by getTolerance(), and setTolerance().
double UVector2::x |
Definition at line 195 of file UVector2.hh.
Referenced by UPolyPhiFace::Area2(), UPolyPhiFace::Between(), compare(), UTessellatedGeometryAlgorithms::Cross(), dot(), UExtrudedSolid::GetAngle(), UGenericTrap::GetPointOnSurface(), G4UGenericTrap::GetVertex(), G4UExtrudedSolid::GetVertex(), howOrthogonal(), howParallel(), UGenericTrap::InsidePolygone(), isOrthogonal(), isParallel(), UExtrudedSolid::IsPointInside(), UExtrudedSolid::IsSameLine(), UGenericTrap::IsSameLine(), UExtrudedSolid::IsSameLineSegment(), UGenericTrap::IsSameLineSegment(), UExtrudedSolid::IsSameSide(), UGenericTrap::IsSegCrossing(), UGenericTrap::IsSegCrossingZ(), mag2(), UGenericTrap::NormalToPlane(), operator!=(), operator()(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-(), operator-=(), operator/(), operator<<(), operator=(), operator==(), orthogonal(), phi(), rotate(), set(), and setX().
double UVector2::y |
Definition at line 196 of file UVector2.hh.
Referenced by UPolyPhiFace::Area2(), UPolyPhiFace::Between(), compare(), UTessellatedGeometryAlgorithms::Cross(), dot(), UExtrudedSolid::GetAngle(), UGenericTrap::GetPointOnSurface(), G4UGenericTrap::GetVertex(), G4UExtrudedSolid::GetVertex(), howOrthogonal(), howParallel(), UGenericTrap::InsidePolygone(), isOrthogonal(), isParallel(), UExtrudedSolid::IsPointInside(), UExtrudedSolid::IsSameLine(), UGenericTrap::IsSameLine(), UExtrudedSolid::IsSameLineSegment(), UGenericTrap::IsSameLineSegment(), UExtrudedSolid::IsSameSide(), UGenericTrap::IsSegCrossing(), UGenericTrap::IsSegCrossingZ(), mag2(), UGenericTrap::NormalToPlane(), operator!=(), operator()(), operator*(), operator*=(), operator+(), operator+=(), operator-(), operator-(), operator-=(), operator/(), operator<<(), operator=(), operator==(), orthogonal(), phi(), rotate(), set(), and setY().