ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes | List of all members
TGeoChecker Class Reference

Definition at line 39 of file TGeoChecker.h.

Public Member Functions

 TGeoChecker ()
 
 TGeoChecker (TGeoManager *geom)
 Constructor for a given geometry. More...
 
virtual ~TGeoChecker ()
 Destructor. More...
 
virtual void CheckBoundaryErrors (Int_t ntracks=1000000, Double_t radius=-1.)
 Check pushes and pulls needed to cross the next boundary with respect to the position given by FindNextBoundary. More...
 
virtual void CheckBoundaryReference (Int_t icheck=-1)
 Check the boundary errors reference file created by CheckBoundaryErrors method. More...
 
void CheckGeometryFull (Bool_t checkoverlaps=kTRUE, Bool_t checkcrossings=kTRUE, Int_t nrays=10000, const Double_t *vertex=NULL)
 Geometry checking. More...
 
void CheckGeometry (Int_t nrays, Double_t startx, Double_t starty, Double_t startz) const
 Shoot nrays with random directions from starting point (startx, starty, startz) in the reference frame of this volume. More...
 
void CheckOverlaps (const TGeoVolume *vol, Double_t ovlp=0.1, Option_t *option="")
 Check illegal overlaps for volume VOL within a limit OVLP. More...
 
void CheckOverlapsBySampling (TGeoVolume *vol, Double_t ovlp=0.1, Int_t npoints=1000000) const
 Check illegal overlaps for volume VOL within a limit OVLP by sampling npoints inside the volume shape. More...
 
void CheckPoint (Double_t x=0, Double_t y=0, Double_t z=0, Option_t *option="")
 — Draw point (x,y,z) over the picture of the daughers of the volume containing this point. More...
 
void CheckShape (TGeoShape *shape, Int_t testNo, Int_t nsamples, Option_t *option)
 Test for shape navigation methods. More...
 
Double_t CheckVoxels (TGeoVolume *vol, TGeoVoxelFinder *voxels, Double_t *xyz, Int_t npoints)
 count voxel timing More...
 
TH2FLegoPlot (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="")
 Generate a lego plot fot the top volume, according to option. More...
 
void PrintOverlaps () const
 Print the current list of overlaps held by the manager class. More...
 
void RandomPoints (TGeoVolume *vol, Int_t npoints, Option_t *option)
 Draw random points in the bounding box of a volume. More...
 
void RandomRays (Int_t nrays, Double_t startx, Double_t starty, Double_t startz, const char *target_vol=0, Bool_t check_norm=kFALSE)
 Randomly shoot nrays from point (startx,starty,startz) and plot intersections with surfaces for current top node. More...
 
TGeoOverlapMakeCheckOverlap (const char *name, TGeoVolume *vol1, TGeoVolume *vol2, TGeoMatrix *mat1, TGeoMatrix *mat2, Bool_t isovlp, Double_t ovlp)
 Check if the 2 non-assembly volume candidates overlap/extrude. Returns overlap object. More...
 
void OpProgress (const char *opname, Long64_t current, Long64_t size, TStopwatch *watch=0, Bool_t last=kFALSE, Bool_t refresh=kFALSE, const char *msg="")
 Print current operation progress. More...
 
TGeoNodeSamplePoints (Int_t npoints, Double_t &dist, Double_t epsil, const char *g3path)
 shoot npoints randomly in a box of 1E-5 arround current point. More...
 
void ShapeDistances (TGeoShape *shape, Int_t nsamples, Option_t *option)
 Test TGeoShape::DistFromInside/Outside. More...
 
void ShapeSafety (TGeoShape *shape, Int_t nsamples, Option_t *option)
 Check of validity of safe distance for a given shape. More...
 
void ShapeNormal (TGeoShape *shape, Int_t nsamples, Option_t *option)
 Check of validity of the normal for a given shape. More...
 
Double_tShootRay (Double_t *start, Double_t dirx, Double_t diry, Double_t dirz, Double_t *array, Int_t &nelem, Int_t &dim, Double_t *enpoint=0) const
 Shoot one ray from start point with direction (dirx,diry,dirz). More...
 
void SetSelectedNode (TGeoNode *node)
 
void SetNmeshPoints (Int_t npoints=1000)
 Set number of points to be generated on the shape outline when checking for overlaps. More...
 
void Test (Int_t npoints, Option_t *option)
 Check time of finding "Where am I" for n points. More...
 
void TestOverlaps (const char *path)
 — Geometry overlap checker based on sampling. More...
 
Bool_t TestVoxels (TGeoVolume *vol, Int_t npoints=1000000)
 Returns optimal voxelization type for volume vol. More...
 
Double_t Weight (Double_t precision=0.01, Option_t *option="v")
 Estimate weight of top level volume with a precision SIGMA(W)/W better than PRECISION. More...
 
- Public Member Functions inherited from TObject
 TObject ()
 
 TObject (const TObject &object)
 TObject copy ctor. More...
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator. More...
 
virtual ~TObject ()
 TObject destructor. More...
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad. More...
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action. More...
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs. More...
 
virtual void Clear (Option_t *="")
 
virtual TObjectClone (const char *newname="") const
 Make a clone of an object using the Streamer facility. More...
 
virtual Int_t Compare (const TObject *obj) const
 Compare abstract method. More...
 
virtual void Copy (TObject &object) const
 Copy this to obj. More...
 
virtual void Delete (Option_t *option="")
 Delete this object. More...
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object. More...
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects. More...
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs. More...
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current pad. More...
 
virtual void Dump () const
 Dump contents of object on stdout. More...
 
virtual void Execute (const char *method, const char *params, Int_t *error=0)
 Execute method on this object with the given parameter string, e.g. More...
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=0)
 Execute method on this object with parameters stored in the TObjArray. More...
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py). More...
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes. More...
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes. More...
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object. More...
 
virtual UInt_t GetUniqueID () const
 Return the unique object id. More...
 
virtual const char * GetName () const
 Returns name of object. More...
 
virtual const char * GetIconName () const
 Returns mime type name of object. More...
 
virtual Option_tGetOption () const
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py). More...
 
virtual const char * GetTitle () const
 Returns title of object. More...
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out. More...
 
virtual ULong_t Hash () const
 Return hash value for this object. More...
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname". More...
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl. More...
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas. More...
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More...
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory). More...
 
virtual Bool_t IsSortable () const
 
Bool_t IsOnHeap () const
 
Bool_t IsZombie () const
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification. More...
 
virtual void ls (Option_t *option="") const
 The ls function lists the contents of a class on stdout. More...
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself. More...
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list. More...
 
virtual void Print (Option_t *option="") const
 This method must be overridden when a class wants to print itself. More...
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory. More...
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list. More...
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename. More...
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out". More...
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object. More...
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id. More...
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory. More...
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory. More...
 
voidoperator new (size_t sz)
 
voidoperator new[] (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz, void *vp)
 
void operator delete (void *ptr)
 Operator delete. More...
 
void operator delete[] (void *ptr)
 Operator delete []. More...
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f. More...
 
void SetBit (UInt_t f)
 
void ResetBit (UInt_t f)
 
Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
void InvertBit (UInt_t f)
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message. More...
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message. More...
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message. More...
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message. More...
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message. More...
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract. More...
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More...
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete. More...
 

Private Member Functions

void CleanPoints (Double_t *points, Int_t &numPoints) const
 Number of points on mesh to be checked. More...
 
Int_t NChecksPerVolume (TGeoVolume *vol)
 Compute number of overlaps combinations to check per volume. More...
 
Int_t PropagateInGeom (Double_t *, Double_t *)
 Propagate from START along DIR from boundary to boundary until exiting geometry. More...
 
void Score (TGeoVolume *, Int_t, Double_t)
 Score a hit for VOL. More...
 
Double_t TimingPerVolume (TGeoVolume *)
 Compute timing per "FindNextBoundary" + "Safety" call. More...
 

Private Attributes

TGeoManagerfGeoManager
 
TGeoVolumefVsafe
 
TBuffer3DfBuff1
 
TBuffer3DfBuff2
 
Bool_t fFullCheck
 
Double_tfVal1
 
Double_tfVal2
 Array of number of crossings per volume. More...
 
Bool_tfFlags
 Array of timing per volume. More...
 
TStopwatchfTimer
 Array of flags per volume. More...
 
TGeoNodefSelectedNode
 Timer. More...
 
Int_t fNchecks
 Selected node for overlap checking. More...
 
Int_t fNmeshPoints
 Number of checks for current volume. More...
 

Additional Inherited Members

- Public Types inherited from TObject
enum  EStatusBits {
  kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4),
  kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13)
}
 
enum  { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff }
 
enum  { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) }
 
- Static Public Member Functions inherited from TObject
static Long_t GetDtorOnly ()
 Return destructor only flag. More...
 
static void SetDtorOnly (void *obj)
 Set destructor only flag. More...
 
static Bool_t GetObjectStat ()
 Get status of object stat flag. More...
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable. More...
 
- Protected Member Functions inherited from TObject
void MakeZombie ()
 
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected). More...
 

#include <TGeoChecker.h>

Inheritance diagram for TGeoChecker:
[legend]

Constructor & Destructor Documentation

TGeoChecker::TGeoChecker ( )
TGeoChecker::TGeoChecker ( TGeoManager geom)

Constructor for a given geometry.

Definition at line 122 of file TGeoChecker.cxx.

TGeoChecker::~TGeoChecker ( )
virtual

Destructor.

Definition at line 144 of file TGeoChecker.cxx.

Member Function Documentation

void TGeoChecker::CheckBoundaryErrors ( Int_t  ntracks = 1000000,
Double_t  radius = -1. 
)
virtual

Check pushes and pulls needed to cross the next boundary with respect to the position given by FindNextBoundary.

If radius is not mentioned the full bounding box will be sampled.

Definition at line 245 of file TGeoChecker.cxx.

Referenced by TGeoPainter::CheckBoundaryErrors().

void TGeoChecker::CheckBoundaryReference ( Int_t  icheck = -1)
virtual

Check the boundary errors reference file created by CheckBoundaryErrors method.

The shape for which the crossing failed is drawn with the starting point in red and the extrapolated point to boundary (+/- failing push/pull) in yellow.

Definition at line 388 of file TGeoChecker.cxx.

Referenced by CheckBoundaryErrors(), and TGeoPainter::CheckBoundaryReference().

void TGeoChecker::CheckGeometry ( Int_t  nrays,
Double_t  startx,
Double_t  starty,
Double_t  startz 
) const

Shoot nrays with random directions from starting point (startx, starty, startz) in the reference frame of this volume.

Track each ray until exiting geometry, then shoot backwards from exiting point and compare boundary crossing points.

Definition at line 777 of file TGeoChecker.cxx.

Referenced by TGeoPainter::CheckGeometry().

void TGeoChecker::CheckGeometryFull ( Bool_t  checkoverlaps = kTRUE,
Bool_t  checkcrossings = kTRUE,
Int_t  ntracks = 10000,
const Double_t vertex = NULL 
)

Geometry checking.

Opional overlap checkings (by sampling and by mesh). Optional boundary crossing check + timing per volume.

STAGE 1: extensive overlap checking by sampling per volume. Stdout need to be checked by user to get report, then TGeoVolume::CheckOverlaps(0.01, "s") can be called for the suspicious volumes. STAGE2 : normal overlap checking using the shapes mesh - fills the list of overlaps. STAGE3 : shooting NRAYS rays from VERTEX and counting the total number of crossings per volume (rays propagated from boundary to boundary until geometry exit). Timing computed and results stored in a histo. STAGE4 : shooting 1 mil. random rays inside EACH volume and calling FindNextBoundary() + Safety() for each call. The timing is normalized by the number of crossings computed at stage 2 and presented as percentage. One can get a picture on which are the most "burned" volumes during transportation from geometry point of view. Another plot of the timing per volume vs. number of daughters is produced. All histos are saved in the file statistics.root

Definition at line 477 of file TGeoChecker.cxx.

Referenced by TGeoPainter::CheckGeometryFull().

void TGeoChecker::CheckOverlaps ( const TGeoVolume vol,
Double_t  ovlp = 0.1,
Option_t option = "" 
)

Check illegal overlaps for volume VOL within a limit OVLP.

Definition at line 1354 of file TGeoChecker.cxx.

Referenced by TGeoPainter::CheckOverlaps().

void TGeoChecker::CheckOverlapsBySampling ( TGeoVolume vol,
Double_t  ovlp = 0.1,
Int_t  npoints = 1000000 
) const

Check illegal overlaps for volume VOL within a limit OVLP by sampling npoints inside the volume shape.

Definition at line 1141 of file TGeoChecker.cxx.

Referenced by CheckOverlaps().

void TGeoChecker::CheckPoint ( Double_t  x = 0,
Double_t  y = 0,
Double_t  z = 0,
Option_t option = "" 
)

— 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.

Definition at line 1585 of file TGeoChecker.cxx.

Referenced by TGeoPainter::CheckPoint().

void TGeoChecker::CheckShape ( TGeoShape shape,
Int_t  testNo,
Int_t  nsamples,
Option_t option 
)

Test for shape navigation methods.

Summary for test numbers: 1: DistFromInside/Outside. Sample points inside the shape. Generate directions randomly in cos(theta). Compute DistFromInside and move the point with bigger distance. Compute DistFromOutside back from new point. Plot d-(d1+d2) 2: Safety test. Sample points inside the bounding and compute safety. Generate directions randomly in cos(theta) and compute distance to boundary. Check if Distance to boundary is bigger than safety

Definition at line 1641 of file TGeoChecker.cxx.

Referenced by TGeoPainter::CheckShape().

Double_t TGeoChecker::CheckVoxels ( TGeoVolume vol,
TGeoVoxelFinder voxels,
Double_t xyz,
Int_t  npoints 
)

count voxel timing

Definition at line 2783 of file TGeoChecker.cxx.

void TGeoChecker::CleanPoints ( Double_t points,
Int_t numPoints 
) const
private

Number of points on mesh to be checked.

Clean-up the mesh of pcon/pgon from useless points.

Definition at line 952 of file TGeoChecker.cxx.

TH2F * TGeoChecker::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 = "" 
)

Generate a lego plot fot the top volume, according to option.

Definition at line 2048 of file TGeoChecker.cxx.

Referenced by TGeoPainter::LegoPlot().

TGeoOverlap * TGeoChecker::MakeCheckOverlap ( const char *  name,
TGeoVolume vol1,
TGeoVolume vol2,
TGeoMatrix mat1,
TGeoMatrix mat2,
Bool_t  isovlp,
Double_t  ovlp 
)

Check if the 2 non-assembly volume candidates overlap/extrude. Returns overlap object.

Definition at line 973 of file TGeoChecker.cxx.

Referenced by CheckOverlaps().

Int_t TGeoChecker::NChecksPerVolume ( TGeoVolume vol)
private

Compute number of overlaps combinations to check per volume.

Definition at line 1265 of file TGeoChecker.cxx.

Referenced by CheckOverlaps().

void TGeoChecker::OpProgress ( const char *  opname,
Long64_t  current,
Long64_t  size,
TStopwatch watch = 0,
Bool_t  last = kFALSE,
Bool_t  refresh = kFALSE,
const char *  msg = "" 
)

Print current operation progress.

Definition at line 154 of file TGeoChecker.cxx.

Referenced by CheckBoundaryErrors(), CheckGeometryFull(), MakeCheckOverlap(), TGeoPainter::OpProgress(), and TGeoPainter::Raytrace().

void TGeoChecker::PrintOverlaps ( ) const

Print the current list of overlaps held by the manager class.

Definition at line 1572 of file TGeoChecker.cxx.

Referenced by TGeoPainter::PrintOverlaps().

Int_t TGeoChecker::PropagateInGeom ( Double_t start,
Double_t dir 
)
private

Propagate from START along DIR from boundary to boundary until exiting geometry.

Fill array of hits.

Definition at line 646 of file TGeoChecker.cxx.

Referenced by CheckGeometryFull().

void TGeoChecker::RandomPoints ( TGeoVolume vol,
Int_t  npoints,
Option_t option 
)

Draw random points in the bounding box of a volume.

Definition at line 2126 of file TGeoChecker.cxx.

Referenced by TGeoPainter::RandomPoints().

void TGeoChecker::RandomRays ( Int_t  nrays,
Double_t  startx,
Double_t  starty,
Double_t  startz,
const char *  target_vol = 0,
Bool_t  check_norm = kFALSE 
)

Randomly shoot nrays from point (startx,starty,startz) and plot intersections with surfaces for current top node.

Definition at line 2198 of file TGeoChecker.cxx.

Referenced by TGeoPainter::RandomRays().

TGeoNode * TGeoChecker::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

Definition at line 2338 of file TGeoChecker.cxx.

Referenced by TGeoPainter::SamplePoints().

void TGeoChecker::Score ( TGeoVolume vol,
Int_t  ifield,
Double_t  value 
)
private

Score a hit for VOL.

Definition at line 683 of file TGeoChecker.cxx.

Referenced by CheckGeometryFull(), and PropagateInGeom().

void TGeoChecker::SetNmeshPoints ( Int_t  npoints = 1000)

Set number of points to be generated on the shape outline when checking for overlaps.

Definition at line 698 of file TGeoChecker.cxx.

Referenced by TGeoPainter::SetNmeshPoints().

void TGeoChecker::SetSelectedNode ( TGeoNode node)
inline

Definition at line 90 of file TGeoChecker.h.

Referenced by TGeoPainter::SetCheckedNode().

void TGeoChecker::ShapeDistances ( TGeoShape shape,
Int_t  nsamples,
Option_t option 
)

Test TGeoShape::DistFromInside/Outside.

Sample points inside the shape. Generate directions randomly in cos(theta). Compute d1 = DistFromInside and move the point on the boundary. Compute DistFromOutside and propagate with d2 making sure that the shape is not re-entered. Swap direction and call DistFromOutside that should fall back on the same point on the boundary (at d2). Propagate back on boundary then compute DistFromInside that should be bigger than d1. Plot d-(d1+d2)

Definition at line 1667 of file TGeoChecker.cxx.

Referenced by CheckShape().

void TGeoChecker::ShapeNormal ( TGeoShape shape,
Int_t  nsamples,
Option_t option 
)

Check of validity of the normal for a given shape.

Sample points inside the shape. Generate directions randomly in cos(theta) and propagate to boundary. Compute normal and safety at crossing point, plot the point and generate a random direction so that (dir) dot (norm) <0.

Definition at line 1886 of file TGeoChecker.cxx.

Referenced by CheckShape().

void TGeoChecker::ShapeSafety ( TGeoShape shape,
Int_t  nsamples,
Option_t option 
)

Check of validity of safe distance for a given shape.

Sample points inside the 2x bounding box and compute safety. Generate directions randomly in cos(theta) and compute distance to boundary. Check if distance to boundary is bigger than safety.

Definition at line 1818 of file TGeoChecker.cxx.

Referenced by CheckShape().

Double_t * TGeoChecker::ShootRay ( Double_t start,
Double_t  dirx,
Double_t  diry,
Double_t  dirz,
Double_t array,
Int_t nelem,
Int_t dim,
Double_t endpoint = 0 
) const

Shoot one ray from start point with direction (dirx,diry,dirz).

Fills input array with points just after boundary crossings. Int_t array_dimension = 3*dim;

Definition at line 2449 of file TGeoChecker.cxx.

Referenced by CheckGeometry().

void TGeoChecker::Test ( Int_t  npoints,
Option_t option 
)

Check time of finding "Where am I" for n points.

Definition at line 2540 of file TGeoChecker.cxx.

Referenced by TGeoPainter::Test().

void TGeoChecker::TestOverlaps ( const char *  path)

— Geometry overlap checker based on sampling.

Definition at line 2590 of file TGeoChecker.cxx.

Referenced by TGeoPainter::TestOverlaps().

Bool_t TGeoChecker::TestVoxels ( TGeoVolume vol,
Int_t  npoints = 1000000 
)

Returns optimal voxelization type for volume vol.

kFALSE - cartesian kTRUE - cylindrical

Definition at line 2820 of file TGeoChecker.cxx.

Referenced by TGeoPainter::TestVoxels().

Double_t TGeoChecker::TimingPerVolume ( TGeoVolume vol)
private

Compute timing per "FindNextBoundary" + "Safety" call.

Volume must be in the current path.

Definition at line 710 of file TGeoChecker.cxx.

Referenced by CheckGeometryFull().

Double_t TGeoChecker::Weight ( Double_t  precision = 0.01,
Option_t option = "v" 
)

Estimate weight of top level volume with a precision SIGMA(W)/W better than PRECISION.

Option can be "v" - verbose (default).

Definition at line 2708 of file TGeoChecker.cxx.

Referenced by TGeoPainter::Weight().

Member Data Documentation

TBuffer3D* TGeoChecker::fBuff1
private

Definition at line 45 of file TGeoChecker.h.

Referenced by MakeCheckOverlap(), TGeoChecker(), and ~TGeoChecker().

TBuffer3D* TGeoChecker::fBuff2
private

Definition at line 46 of file TGeoChecker.h.

Referenced by MakeCheckOverlap(), TGeoChecker(), and ~TGeoChecker().

Bool_t* TGeoChecker::fFlags
private

Array of timing per volume.

Definition at line 50 of file TGeoChecker.h.

Referenced by CheckGeometryFull().

Bool_t TGeoChecker::fFullCheck
private

Definition at line 47 of file TGeoChecker.h.

Referenced by CheckOverlaps().

TGeoManager* TGeoChecker::fGeoManager
private
Int_t TGeoChecker::fNchecks
private

Selected node for overlap checking.

Definition at line 53 of file TGeoChecker.h.

Referenced by CheckOverlaps(), and OpProgress().

Int_t TGeoChecker::fNmeshPoints
private

Number of checks for current volume.

Definition at line 54 of file TGeoChecker.h.

Referenced by MakeCheckOverlap(), and SetNmeshPoints().

TGeoNode* TGeoChecker::fSelectedNode
private

Timer.

Definition at line 52 of file TGeoChecker.h.

Referenced by CheckOverlaps(), and SetSelectedNode().

TStopwatch* TGeoChecker::fTimer
private

Array of flags per volume.

Definition at line 51 of file TGeoChecker.h.

Referenced by CheckBoundaryErrors(), CheckGeometryFull(), ShapeDistances(), ShapeNormal(), ShapeSafety(), TimingPerVolume(), and ~TGeoChecker().

Double_t* TGeoChecker::fVal1
private

Definition at line 48 of file TGeoChecker.h.

Referenced by CheckGeometryFull(), Score(), and TimingPerVolume().

Double_t* TGeoChecker::fVal2
private

Array of number of crossings per volume.

Definition at line 49 of file TGeoChecker.h.

Referenced by CheckGeometryFull(), and Score().

TGeoVolume* TGeoChecker::fVsafe
private

Definition at line 44 of file TGeoChecker.h.

Referenced by CheckPoint().

Collaboration diagram for TGeoChecker:
[legend]

The documentation for this class was generated from the following files: