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* fGeomTTree* 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)

/* */

TClass* Class() TClass* IsA() const void ShowMembers(TMemberInspector& insp, char* parent) void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) TGeoChecker TGeoChecker(const TGeoChecker&)

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.