TGeoChecker
class description - source file - inheritance tree
public:
TGeoChecker TGeoChecker()
TGeoChecker TGeoChecker(TGeoManager* geom)
TGeoChecker TGeoChecker(const char* treename, const char* filename)
TGeoChecker TGeoChecker(const TGeoChecker&)
virtual void ~TGeoChecker()
void CheckPoint(Double_t x = 0, Double_t y = 0, Double_t z = 0, Option_t* option)
static TClass* Class()
void CreateTree(const char* treename, const char* filename)
void Generate(UInt_t npoints = 1000000)
virtual TClass* IsA() const
void RandomPoints(TGeoVolume* vol, Int_t npoints, Option_t* option)
void RandomRays(Int_t nrays, Double_t startx, Double_t starty, Double_t startz)
void Raytrace(Double_t* startpoint, UInt_t npoints = 1000000)
TGeoNode* SamplePoints(Int_t npoints, Double_t& dist, Double_t epsil, const char* g3path)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
void ShowPoints(Option_t* option)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
void Test(Int_t npoints, Option_t* option)
void TestOverlaps(const char* path)
private:
TGeoManager* fGeom
TTree* fTreePts
A simple geometry checker. Points can be randomly generated inside the
bounding box of a node. For each point the distance to the nearest surface
and the corresponting point on that surface are computed. These points are
stored in a tree and can be directly visualized within ROOT
A second algoritm is shooting multiple rays from a given point to a geometry
branch and storing the intersection points with surfaces in same tree.
Rays can be traced backwords in order to find overlaps by comparing direct
and inverse points.
/*
*/
TGeoChecker()
Default constructor
TGeoChecker(TGeoManager *geom)
Constructor for a given geometry
TGeoChecker(const char *treename, const char *filename)
constructor
~TGeoChecker()
Destructor
void CheckPoint(Double_t x, Double_t y, Double_t z, Option_t *)
--- Draw point (x,y,z) over the picture of the daughers of the volume containing this point.
Generates a report regarding the path to the node containing this point and the distance to
the closest boundary.
void RandomPoints(TGeoVolume *vol, Int_t npoints, Option_t *option)
Draw random points in the bounding box of a volume.
void RandomRays(Int_t nrays, Double_t startx, Double_t starty, Double_t startz)
Randomly shoot nrays from point (startx,starty,startz) and plot intersections
with surfaces for current top node.
TGeoNode* SamplePoints(Int_t npoints, Double_t &dist, Double_t epsil,
const char* g3path)
shoot npoints randomly in a box of 1E-5 arround current point.
return minimum distance to points outside
make sure that path to current node is updated
get the response of tgeo
void Test(Int_t npoints, Option_t *option)
Check time of finding "Where am I" for n points.
void TestOverlaps(const char* path)
--- Geometry overlap checker based on sampling.
void CreateTree(const char *treename, const char *filename)
These points are stored in a tree and can be directly visualized within ROOT.
/*
*/
void Generate(UInt_t npoint)
Points are randomly generated inside the
bounding box of a node. For each point the distance to the nearest surface
and the corresponding point on that surface are computed.
/*
*/
void Raytrace(Double_t *startpoint, UInt_t npoints)
A second algoritm is shooting multiple rays from a given point to a geometry
branch and storing the intersection points with surfaces in same tree.
Rays can be traced backwords in order to find overlaps by comparing direct
and inverse points.
/*
*/
void ShowPoints(Option_t *option)
/*
*/
Inline Functions
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
TGeoChecker TGeoChecker(const TGeoChecker&)
Author: Andrei Gheata 01/11/01
Last update: root/geom:$Name: $:$Id: TGeoChecker.cxx,v 1.3 2002/07/17 14:22:54 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.