Public Member Functions | Friends | List of all members
genie::geometry::FidShape Class Referenceabstract

Some simple volumes that know how to calculate where a ray intercepts them. More...

#include <FidShape.h>

Inheritance diagram for genie::geometry::FidShape:
genie::geometry::FidCylinder genie::geometry::FidPolyhedron genie::geometry::FidSphere

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)
 

Detailed Description

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"

Author
Robert Hatcher rhatc.nosp@m.her@.nosp@m.fnal..nosp@m.gov FNAL

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.

Constructor & Destructor Documentation

genie::geometry::FidShape::FidShape ( )
inline

Definition at line 93 of file FidShape.h.

93 { ; }
virtual genie::geometry::FidShape::~FidShape ( )
inlinevirtual

Definition at line 94 of file FidShape.h.

94 { ; }

Member Function Documentation

virtual void genie::geometry::FidShape::ConvertMaster2Top ( const ROOTGeomAnalyzer rgeom)
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.

virtual RayIntercept genie::geometry::FidShape::Intercept ( const TVector3 &  start,
const TVector3 &  dir 
) const
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.

virtual void genie::geometry::FidShape::Print ( std::ostream &  stream) const
pure virtual

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  stream,
const genie::geometry::FidShape shape 
)
friend

The documentation for this class was generated from the following file: