#include <FidShape.h>
Definition at line 136 of file FidShape.h.
genie::geometry::FidPolyhedron::FidPolyhedron |
( |
| ) |
|
|
inline |
convex polyhedron is made of multiple planar equations
Definition at line 139 of file FidShape.h.
void genie::geometry::FidPolyhedron::clear |
( |
| ) |
|
|
inline |
Definition at line 141 of file FidShape.h.
std::vector< PlaneParam > fPolyFaces
derived classes must implement the ConvertMaster2Top() method which transforms the shape specification from master coordinates to "top vol"
Implements genie::geometry::FidShape.
Definition at line 296 of file FidShape.cxx.
298 for (
unsigned int i = 0; i <
fPolyFaces.size(); ++i ) {
void ConvertMaster2Top(const ROOTGeomAnalyzer *rgeom)
std::vector< PlaneParam > fPolyFaces
RayIntercept FidPolyhedron::Intercept |
( |
const TVector3 & |
start, |
|
|
const TVector3 & |
dir |
|
) |
| const |
|
virtual |
derived classes must implement the Intercept() method which calculates the entry/exit point of a ray w/ the shape
Implements genie::geometry::FidShape.
Definition at line 216 of file FidShape.cxx.
225 Double_t tnear = -DBL_MAX;
226 Double_t tfar = DBL_MAX;
229 Bool_t parallel =
false;
232 for (
size_t iface=0; iface <
fPolyFaces.size(); ++iface ) {
234 if ( ! pln.
IsValid() )
continue;
237 Double_t vd = pln.
Vd(
dir);
238 Double_t vn = pln.
Vn(start);
248 if ( vn > 0.0 ) { parallel =
true;
break; }
251 Double_t
t = -vn / vd;
273 if ( tnear < tfar ) {
Int_t fSurfOut
what surface was hit on way in
Double_t Vn(const TVector3 &raybase) const
Bool_t fIsHit
distance along ray to exit fid volume
Int_t fSurfIn
was the volume hit
Double_t fDistOut
distance along ray to enter fid volume
std::vector< PlaneParam > fPolyFaces
Double_t Vd(const TVector3 &raycos) const
void FidPolyhedron::Print |
( |
std::ostream & |
stream | ) |
const |
|
virtual |
Implements genie::geometry::FidShape.
Definition at line 303 of file FidShape.cxx.
306 stream <<
"FidPolyhedron n=" << nfaces;
307 for (
size_t i=0; i<nfaces; ++i) {
Q_EXPORT QTSManip setw(int w)
std::vector< PlaneParam > fPolyFaces
QTextStream & endl(QTextStream &s)
void genie::geometry::FidPolyhedron::push_back |
( |
const PlaneParam & |
pln | ) |
|
|
inline |
Definition at line 140 of file FidShape.h.
std::vector< PlaneParam > fPolyFaces
The documentation for this class was generated from the following files: