9#ifndef ROOT_TVirtualGeoChecker
10#define ROOT_TVirtualGeoChecker
44 std::vector<TGeoOverlapCandidate> &out) = 0;
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
long long Long64_t
Portable signed long integer 8 bytes.
const char Option_t
Option string (const char)
#define ClassDefOverride(name, id)
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
The manager class for any TGeo geometry.
A node represent a volume positioned inside another.They store links to both volumes and to the TGeoM...
Base abstract class for all shapes.
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
2-D histogram with a float per channel (see TH1 documentation)
Mother of all ROOT objects.
Abstract class for geometry checkers.
virtual void CheckGeometry(Int_t nrays, Double_t startx, Double_t starty, Double_t startz) const =0
virtual void CheckPoint(Double_t x=0, Double_t y=0, Double_t z=0, Option_t *option="", Double_t safety=0.)=0
virtual Bool_t TestVoxels(TGeoVolume *vol, Int_t npoints=1000000)=0
static TVirtualGeoChecker * fgGeoChecker
virtual void CheckGeometryFull(Bool_t checkoverlaps=kTRUE, Bool_t checkcrossings=kTRUE, Int_t nrays=10000, const Double_t *vertex=nullptr)=0
virtual void CheckShape(TGeoShape *shape, Int_t testNo, Int_t nsamples, Option_t *option)=0
TVirtualGeoChecker * GeoChecker()
Static function returning a pointer to the geometry checker.
virtual void RandomPoints(TGeoVolume *vol, Int_t npoints, Option_t *option)=0
virtual void BuildMeshPointsCache(const std::vector< TGeoOverlapCandidate > &candidates)=0
void SetNmeshPoints(Int_t npoints=1000)
Set number of points to be generated on the shape outline when checking for overlaps.
virtual void Test(Int_t npoints, Option_t *option)=0
virtual void MaterializeOverlap(const TGeoOverlapResult &r)=0
virtual void CheckBoundaryReference(Int_t icheck=-1)=0
virtual Double_t Weight(Double_t precision=0.01, Option_t *option="v")=0
virtual void CheckOverlapsBySampling(const TGeoVolume *vol, Double_t ovlp=0.1, Int_t npoints=1000000) const =0
~TVirtualGeoChecker() override
Geometry checker destructor.
virtual Bool_t ComputeOverlap(const TGeoOverlapCandidate &c, TGeoOverlapResult &out) const =0
virtual void CheckBoundaryErrors(Int_t ntracks=1000000, Double_t radius=-1.)=0
virtual void PrintOverlaps() const =0
virtual TGeoNode * SamplePoints(Int_t npoints, Double_t &dist, Double_t epsil, const char *g3path)=0
virtual void SetSelectedNode(TGeoNode *node)=0
virtual void TestOverlaps(const char *path)=0
virtual TH2F * LegoPlot(Int_t ntheta=60, Double_t themin=0., Double_t themax=180., Int_t nphi=90, Double_t phimin=0., Double_t phimax=360., Double_t rmin=0., Double_t rmax=9999999, Option_t *option="")=0
virtual void OpProgress(const char *opname, Long64_t current, Long64_t size, TStopwatch *watch=nullptr, Bool_t last=kFALSE, Bool_t refresh=kFALSE, const char *msg="")=0
virtual Int_t EnumerateOverlapCandidates(const TGeoVolume *vol, Double_t ovlp, Option_t *option, std::vector< TGeoOverlapCandidate > &out)=0
TVirtualGeoChecker()
Geometry checker default constructor.
Int_t GetNmeshPoints() const
virtual void RandomRays(Int_t nrays, Double_t startx, Double_t starty, Double_t startz, const char *target_vol=nullptr, Bool_t check_norm=kFALSE)=0