GENIEGenerator
|
GENIE Interface for user-defined volume selector functors Trim path segments based on the intersection with a cylinder, box or sphere as well as everything the Basic selector can do. More...
#include <GeomVolSelectorFiducial.h>
Public Member Functions | |
GeomVolSelectorFiducial () | |
virtual | ~GeomVolSelectorFiducial () |
void | TrimSegment (PathSegment &segment) const |
void | BeginPSList (const PathSegmentList *untrimmed) const |
void | EndPSList () const |
void | SetReverseFiducial (Bool_t reverse=true) |
void | AdoptFidShape (FidShape *shape) |
void | MakeSphere (Double_t x0, Double_t y0, Double_t z0, Double_t radius) |
void | MakeXCylinder (Double_t y0, Double_t z0, Double_t radius, Double_t xmin, Double_t xmax) |
void | MakeYCylinder (Double_t x0, Double_t z0, Double_t radius, Double_t ymin, Double_t ymax) |
void | MakeZCylinder (Double_t x0, Double_t y0, Double_t radius, Double_t zmin, Double_t zmax) |
void | MakeCylinder (Double_t *base, Double_t *axis, Double_t radius, Double_t *cap1, Double_t *cap2) |
void | MakeBox (Double_t *xyzmin, Double_t *xyzmax) |
void | MakeZPolygon (Int_t n, Double_t x0, Double_t y0, Double_t inradius, Double_t phi0deg, Double_t zmin, Double_t zmax) |
virtual void | ConvertShapeMaster2Top (const ROOTGeomAnalyzer *rgeom) |
Public Member Functions inherited from genie::geometry::GeomVolSelectorBasic | |
GeomVolSelectorBasic () | |
virtual | ~GeomVolSelectorBasic () |
void | SetVolumeSelection (string volstr) |
void | SetMediumSelection (string medstr) |
void | SetMaterialSelection (string matstr) |
void | SetPathSelection (string pathstr) |
Public Member Functions inherited from genie::geometry::GeomVolSelectorI | |
virtual | ~GeomVolSelectorI () |
virtual PathSegmentList * | GenerateTrimmedList (const PathSegmentList *untrimmed) const |
void | SetCurrentRay (const TLorentzVector &x4, const TLorentzVector &p4) |
configure for individual neutrino ray More... | |
void | SetSI2Local (double scale) |
set scale factor for SI to "raydist" units of PathSegmentList More... | |
void | SetRemoveEntries (bool rmset) |
bool | GetRemoveEntries () |
void | SetNeedPath () |
bool | GetNeedPath () const |
allow toggle on only More... | |
std::string | GetName () const |
Static Protected Member Functions | |
static Bool_t | NewStepPairs (Bool_t selectReverse, Double_t raydist, Double_t slo, Double_t shi, const RayIntercept &intercept, Bool_t &split, StepRange &step1, StepRange &step2) |
Protected Attributes | |
Bool_t | fSelectReverse |
FidShape * | fShape |
select for "outside" fiducial? More... | |
const PathSegmentList * | fCurrPathSegmentList |
shape More... | |
RayIntercept | fIntercept |
Protected Attributes inherited from genie::geometry::GeomVolSelectorBasic | |
vector< string > | fRequiredVol |
vector< string > | fRequiredMed |
vector< string > | fRequiredMat |
vector< string > | fRequiredPath |
vector< string > | fForbiddenVol |
vector< string > | fForbiddenMed |
vector< string > | fForbiddenMat |
vector< string > | fForbiddenPath |
Protected Attributes inherited from genie::geometry::GeomVolSelectorI | |
TLorentzVector | fX4 |
current neutrino ray's start position (global) More... | |
TLorentzVector | fP4 |
current neutrino ray's momentum (global) More... | |
double | fScale |
SI->raydist scale factor. More... | |
bool | fRemoveEntries |
whether selector should remove entries or set hi=lo More... | |
bool | fNeedPath |
selector needs PathSegment "path" string More... | |
std::string | fName |
volume selector name More... | |
Additional Inherited Members | |
Protected Member Functions inherited from genie::geometry::GeomVolSelectorBasic | |
void | ParseSelection (const string &str, vector< string > &required, vector< string > &forbidden) |
bool | RejectString (const string &str, const vector< string > &required, const vector< string > &forbidden) const |
Protected Member Functions inherited from genie::geometry::GeomVolSelectorI | |
GeomVolSelectorI () | |
GeomVolSelectorI (std::string name) | |
GENIE Interface for user-defined volume selector functors Trim path segments based on the intersection with a cylinder, box or sphere as well as everything the Basic selector can do.
Assumes that the fiducial volume is defined in the same coords and units as the PathSegmentList ("top vol") and that the ray always starts outside the defined volume. (If not user should cap the fid volume just down from the flux window or use the SetUpstreamZ() in the flux driver to push the ray back to make it so).
Definition at line 43 of file GeomVolSelectorFiducial.h.
GeomVolSelectorFiducial::GeomVolSelectorFiducial | ( | ) |
Definition at line 22 of file GeomVolSelectorFiducial.cxx.
References genie::geometry::GeomVolSelectorI::fName.
|
virtual |
Definition at line 30 of file GeomVolSelectorFiducial.cxx.
References fCurrPathSegmentList, and fShape.
void GeomVolSelectorFiducial::AdoptFidShape | ( | FidShape * | shape | ) |
Definition at line 177 of file GeomVolSelectorFiducial.cxx.
References fShape.
Referenced by MakeBox(), MakeCylinder(), MakeSphere(), and MakeZPolygon().
|
virtual |
Every derived version must also respond to a signal that starts a new path segment list processing and ends it. In general they can simply ignore the signal. If the derived class needs to cache something, make it mutable
Reimplemented from genie::geometry::GeomVolSelectorBasic.
Reimplemented in genie::geometry::GeomVolSelectorRockBox.
Definition at line 150 of file GeomVolSelectorFiducial.cxx.
References genie::geometry::GeomVolSelectorBasic::BeginPSList(), fCurrPathSegmentList, fIntercept, fShape, genie::geometry::PathSegmentList::GetDirection(), genie::geometry::PathSegmentList::GetStartPos(), genie::geometry::FidShape::Intercept(), LOG, and pFATAL.
Referenced by genie::geometry::GeomVolSelectorRockBox::BeginPSList().
|
virtual |
Reimplemented in genie::geometry::GeomVolSelectorRockBox.
Definition at line 183 of file GeomVolSelectorFiducial.cxx.
References genie::geometry::FidShape::ConvertMaster2Top(), and fShape.
Referenced by genie::geometry::GeomVolSelectorRockBox::ConvertShapeMaster2Top(), and CreateFidSelection().
|
virtual |
Reimplemented from genie::geometry::GeomVolSelectorBasic.
Reimplemented in genie::geometry::GeomVolSelectorRockBox.
Definition at line 169 of file GeomVolSelectorFiducial.cxx.
References genie::geometry::GeomVolSelectorBasic::EndPSList(), and fCurrPathSegmentList.
void GeomVolSelectorFiducial::MakeBox | ( | Double_t * | xyzmin, |
Double_t * | xyzmax | ||
) |
Definition at line 239 of file GeomVolSelectorFiducial.cxx.
References AdoptFidShape(), and genie::geometry::FidPolyhedron::push_back().
Referenced by CreateFidSelection(), CreateRockBoxSelection(), and genie::geometry::GeomVolSelectorRockBox::SetRockBoxMinimal().
void GeomVolSelectorFiducial::MakeCylinder | ( | Double_t * | base, |
Double_t * | axis, | ||
Double_t | radius, | ||
Double_t * | cap1, | ||
Double_t * | cap2 | ||
) |
Definition at line 230 of file GeomVolSelectorFiducial.cxx.
References AdoptFidShape().
Referenced by MakeXCylinder(), MakeYCylinder(), and MakeZCylinder().
void GeomVolSelectorFiducial::MakeSphere | ( | Double_t | x0, |
Double_t | y0, | ||
Double_t | z0, | ||
Double_t | radius | ||
) |
Definition at line 188 of file GeomVolSelectorFiducial.cxx.
References AdoptFidShape().
Referenced by CreateFidSelection(), and CreateRockBoxSelection().
void GeomVolSelectorFiducial::MakeXCylinder | ( | Double_t | y0, |
Double_t | z0, | ||
Double_t | radius, | ||
Double_t | xmin, | ||
Double_t | xmax | ||
) |
Definition at line 194 of file GeomVolSelectorFiducial.cxx.
References MakeCylinder().
void GeomVolSelectorFiducial::MakeYCylinder | ( | Double_t | x0, |
Double_t | z0, | ||
Double_t | radius, | ||
Double_t | ymin, | ||
Double_t | ymax | ||
) |
Definition at line 206 of file GeomVolSelectorFiducial.cxx.
References MakeCylinder().
void GeomVolSelectorFiducial::MakeZCylinder | ( | Double_t | x0, |
Double_t | y0, | ||
Double_t | radius, | ||
Double_t | zmin, | ||
Double_t | zmax | ||
) |
Definition at line 218 of file GeomVolSelectorFiducial.cxx.
References MakeCylinder().
Referenced by CreateFidSelection().
void GeomVolSelectorFiducial::MakeZPolygon | ( | Int_t | n, |
Double_t | x0, | ||
Double_t | y0, | ||
Double_t | inradius, | ||
Double_t | phi0deg, | ||
Double_t | zmin, | ||
Double_t | zmax | ||
) |
Definition at line 262 of file GeomVolSelectorFiducial.cxx.
References AdoptFidShape(), and genie::geometry::FidPolyhedron::push_back().
Referenced by CreateFidSelection().
|
staticprotected |
Definition at line 87 of file GeomVolSelectorFiducial.cxx.
References genie::geometry::RayIntercept::fDistIn, and genie::geometry::RayIntercept::fDistOut.
Referenced by genie::geometry::GeomVolSelectorRockBox::TrimSegment(), and TrimSegment().
|
inline |
Definition at line 57 of file GeomVolSelectorFiducial.h.
Referenced by CreateFidSelection(), and genie::geometry::GeomVolSelectorRockBox::GeomVolSelectorRockBox().
|
virtual |
This is the method every derived version must implement To reject a segment outright: segment.fStepRangeSet.clear()
so a miss means blindly accept all segments
Reimplemented from genie::geometry::GeomVolSelectorBasic.
Reimplemented in genie::geometry::GeomVolSelectorRockBox.
Definition at line 38 of file GeomVolSelectorFiducial.cxx.
References fIntercept, genie::geometry::RayIntercept::fIsHit, genie::geometry::PathSegment::fRayDist, genie::geometry::GeomVolSelectorI::fRemoveEntries, fSelectReverse, genie::geometry::PathSegment::fStepRangeSet, NewStepPairs(), and genie::geometry::GeomVolSelectorBasic::TrimSegment().
Referenced by genie::geometry::GeomVolSelectorRockBox::TrimSegment().
|
mutableprotected |
shape
Definition at line 90 of file GeomVolSelectorFiducial.h.
Referenced by genie::geometry::GeomVolSelectorRockBox::BeginPSList(), BeginPSList(), EndPSList(), genie::geometry::GeomVolSelectorRockBox::MakeRockBox(), and ~GeomVolSelectorFiducial().
|
mutableprotected |
Definition at line 91 of file GeomVolSelectorFiducial.h.
Referenced by BeginPSList(), and TrimSegment().
|
protected |
Definition at line 85 of file GeomVolSelectorFiducial.h.
Referenced by TrimSegment().
|
protected |
select for "outside" fiducial?
Definition at line 87 of file GeomVolSelectorFiducial.h.
Referenced by AdoptFidShape(), BeginPSList(), ConvertShapeMaster2Top(), genie::geometry::GeomVolSelectorRockBox::MakeRockBox(), and ~GeomVolSelectorFiducial().