TGeoChecker


class description - source file - inheritance tree

class TGeoChecker : public TObject


    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)

Data Members

    private:
TGeoManager* fGeom TTree* fTreePts

Class Description

 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.