GENIEGenerator
Loading...
Searching...
No Matches
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:
[legend]

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
Created:\n August 3, 2010
License:\n Copyright (c) 2003-2025, 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

◆ FidShape()

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

Definition at line 93 of file FidShape.h.

93{ ; }

◆ ~FidShape()

virtual genie::geometry::FidShape::~FidShape ( )
inlinevirtual

Definition at line 94 of file FidShape.h.

94{ ; }

Member Function Documentation

◆ ConvertMaster2Top()

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::FidCylinder, genie::geometry::FidPolyhedron, and genie::geometry::FidSphere.

◆ Intercept()

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::FidCylinder, genie::geometry::FidPolyhedron, and genie::geometry::FidSphere.

References dir.

◆ Print()

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

◆ operator<<

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

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