Some simple volumes that know how to calculate where a ray intercepts them. More...
#include <FidShape.h>
Public Member Functions | |
FidShape () | |
virtual | ~FidShape () |
virtual RayIntercept | Intercept (const TVector3 &start, const TVector3 &dir) const =0 |
virtual void | ConvertMaster2Top (const ROOTGeomAnalyzer *rgeom)=0 |
virtual void | Print (std::ostream &stream) const =0 |
Friends | |
std::ostream & | operator<< (std::ostream &stream, const genie::geometry::FidShape &shape) |
Some simple volumes that know how to calculate where a ray intercepts them.
Some of the algorithms here are (loosely) based on those found in: Graphics Gems II, ISBN 0-12-064480-0 pg. 247 "Fast Ray-Convex Polyhedron Intersection" Graphics Gems IV, ed. Paul Heckbert, ISBN 0-12-336156-7 T385.G6974 (1994) pg. 356 "Intersecting a Ray with a Cylinder"
August 3, 2010
Copyright (c) 2003-2020, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org
Definition at line 90 of file FidShape.h.
|
inline |
Definition at line 93 of file FidShape.h.
|
inlinevirtual |
Definition at line 94 of file FidShape.h.
|
pure virtual |
derived classes must implement the ConvertMaster2Top() method which transforms the shape specification from master coordinates to "top vol"
Implemented in genie::geometry::FidPolyhedron, genie::geometry::FidCylinder, and genie::geometry::FidSphere.
|
pure virtual |
derived classes must implement the Intercept() method which calculates the entry/exit point of a ray w/ the shape
Implemented in genie::geometry::FidPolyhedron, genie::geometry::FidCylinder, and genie::geometry::FidSphere.
|
pure virtual |
Implemented in genie::geometry::FidPolyhedron, genie::geometry::FidCylinder, and genie::geometry::FidSphere.
|
friend |