library: libGeom #include "TGeoVoxelFinder.h"

# TGeoCylVoxels

class description - source file - inheritance tree (.pdf)

## class TGeoCylVoxels : public TGeoVoxelFinder

| Inheritance Chart:
`TObject`
| <- | `TGeoVoxelFinder`
| <- | `TGeoCylVoxels` |

        public:

                           TGeoCylVoxels()
                           TGeoCylVoxels(TGeoVolume* vol)
                           TGeoCylVoxels(const TGeoCylVoxels&)
                   virtual ~TGeoCylVoxels()
              virtual void BuildVoxelLimits()
            static TClass* Class()
          virtual Double_t Efficiency()
              virtual void FindOverlaps(Int_t inode) const
            virtual Int_t* GetCheckList(Double_t* point, Int_t& nelem)
            virtual Int_t* GetNextVoxel(Double_t* point, Double_t* dir, Int_t& ncheck)
                     Int_t IntersectIntervals(Double_t vox1, Double_t vox2, Double_t phi1, Double_t phi2) const
           virtual TClass* IsA() const
            TGeoCylVoxels& operator=(const TGeoCylVoxels&)
              virtual void Print(Option_t* option = "") const
              virtual void ShowMembers(TMemberInspector& insp, char* parent)
              virtual void SortAll(Option_t* option = "")
              virtual void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)
              virtual void Voxelize(Option_t* option)

### Data Members

## Class Description

     Full description with examples and pictures

/* */

TGeoCylVoxels()

     Default constructor

TGeoCylVoxels(TGeoVolume *vol) :TGeoVoxelFinder(vol)

     Constructor

~TGeoCylVoxels()

     Destructor

void BuildVoxelLimits()

    --- Compute boundary limits in R, Phi and Z coordinates for all daughters
     of fVolume

Double_t Efficiency()

    --- Compute voxelization efficiency.

void FindOverlaps(Int_t inode) const

     create the list of nodes for which the bboxes overlap with inode's bbox

Int_t* GetCheckList(Double_t *point, Int_t &nelem)

    --- Get the list of nodes possibly containing a given point.
     convert the point to cylindrical coordinates

Int_t* GetNextVoxel(Double_t * /*point*/, Double_t * /*dir*/, Int_t & /*ncheck*/)

    --- Get the list of nodes possibly crossed by a given ray.

Int_t IntersectIntervals(Double_t vox1, Double_t vox2, Double_t phi1, Double_t phi2) const

     Intersect a phi voxel interval in range (0,360) with a node phi interval of
     extended range. Returns 0 if no intersection, 1 if they do intersect and
     2 if they are identical.

void Print(Option_t *) const

     Print info about voxels.

void SortAll(Option_t *)

     Order voxels along R, Phi, Z.
       printf("Sorting voxels for %s\n", fVolume->GetName());

void Voxelize(Option_t *)

    --- Voxelize fVolume.
       printf("Voxelizing %s\n", fVolume->GetName());

### Inline Functions

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

Author: Andrei Gheata 04/02/02
Last update: root/geom:$Name: $:$Id: TGeoVoxelFinder.cxx,v 1.24 2005/06/13 12:17:32 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *