library: libGeom
#include "TGeoVoxelFinder.h"

TGeoCylVoxels


class description - header file - source file
viewCVS header - viewCVS source

class TGeoCylVoxels: public TGeoVoxelFinder

Inheritance Inherited Members Includes Libraries
Class Charts

Function Members (Methods)

Display options:
Show inherited
Show non-public
public:
TGeoCylVoxels()
TGeoCylVoxels(TGeoVolume* vol)
TGeoCylVoxels(const TGeoCylVoxels&)
virtual~TGeoCylVoxels()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
voidTGeoVoxelFinder::CreateCheckList()
voidTGeoVoxelFinder::DaughterToMother(Int_t id, Double_t* local, Double_t* master) const
virtual voidTObject::Delete(Option_t* option = "")
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidTObject::Dump() const
virtual Double_tEfficiency()
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidFindOverlaps(Int_t inode) const
Double_t*TGeoVoxelFinder::GetBoxes() const
virtual Int_t*GetCheckList(Double_t* point, Int_t& nelem)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual Int_t*TGeoVoxelFinder::GetNextCandidates(Double_t* point, Int_t& ncheck)
virtual Int_t*GetNextVoxel(Double_t* point, Double_t* dir, Int_t& ncheck)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() const
Int_tIntersectIntervals(Double_t vox1, Double_t vox2, Double_t phi1, Double_t phi2) const
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTGeoVoxelFinder::IsInvalid() const
Bool_tTObject::IsOnHeap() const
Bool_tTGeoVoxelFinder::IsSafeVoxel(Double_t* point, Int_t inode, Double_t minsafe) const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
Bool_tTGeoVoxelFinder::NeedRebuild() const
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") const
voidTGeoVoxelFinder::PrintVoxelLimits(Double_t* point) const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
voidTGeoVoxelFinder::SetInvalid(Bool_t flag = kTRUE)
voidTGeoVoxelFinder::SetNeedRebuild(Bool_t flag = kTRUE)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
voidTGeoVoxelFinder::SortCrossedVoxels(Double_t* point, Double_t* dir)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidVoxelize(Option_t* option)
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = "0", Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Int_t*TGeoVoxelFinder::GetExtraX(Int_t islice, Bool_t left, Int_t& nextra) const
Int_t*TGeoVoxelFinder::GetExtraY(Int_t islice, Bool_t left, Int_t& nextra) const
Int_t*TGeoVoxelFinder::GetExtraZ(Int_t islice, Bool_t left, Int_t& nextra) const
Bool_tTGeoVoxelFinder::GetIndices(Double_t* point)
Int_tTGeoVoxelFinder::GetNcandidates() const
Int_tTGeoVoxelFinder::GetPriority(Int_t iaxis) const
Int_t*TGeoVoxelFinder::GetValidExtra(Int_t* list, Int_t& ncheck)
Int_t*TGeoVoxelFinder::GetValidExtra(Int_t n1, UChar_t* array1, Int_t* list, Int_t& ncheck)
Int_t*TGeoVoxelFinder::GetValidExtra(Int_t n1, UChar_t* array1, Int_t n2, UChar_t* array2, Int_t* list, Int_t& ncheck)
virtual Int_t*TGeoVoxelFinder::GetVoxelCandidates(Int_t i, Int_t j, Int_t k, Int_t& ncheck)
Bool_tTGeoVoxelFinder::Intersect(Int_t n1, UChar_t* array1, Int_t& nf, Int_t* result)
Bool_tTGeoVoxelFinder::Intersect(Int_t n1, UChar_t* array1, Int_t n2, UChar_t* array2, Int_t& nf, Int_t* result)
Bool_tTGeoVoxelFinder::Intersect(Int_t n1, UChar_t* array1, Int_t n2, UChar_t* array2, Int_t n3, UChar_t* array3, Int_t& nf, Int_t* result)
Bool_tTGeoVoxelFinder::IntersectAndStore(Int_t n1, UChar_t* array1)
Bool_tTGeoVoxelFinder::IntersectAndStore(Int_t n1, UChar_t* array1, Int_t n2, UChar_t* array2)
Bool_tTGeoVoxelFinder::IntersectAndStore(Int_t n1, UChar_t* array1, Int_t n2, UChar_t* array2, Int_t n3, UChar_t* array3)
voidTObject::MakeZombie()
TGeoVoxelFinder&TGeoVoxelFinder::operator=(const TGeoVoxelFinder&)
Bool_tTGeoVoxelFinder::Union(Int_t n1, UChar_t* array1)
Bool_tTGeoVoxelFinder::Union(Int_t n1, UChar_t* array1, Int_t n2, UChar_t* array2)
Bool_tTGeoVoxelFinder::Union(Int_t n1, UChar_t* array1, Int_t n2, UChar_t* array2, Int_t n3, UChar_t* array3)
private:
virtual voidBuildVoxelLimits()
virtual voidSortAll(Option_t* option = "")

Data Members

public:
enum TGeoVoxelFinder::EVoxelsType { kGeoInvalidVoxels
kGeoRebuildVoxels
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TGeoVolume*TGeoVoxelFinder::fVolumevolume to which applies
Int_tTGeoVoxelFinder::fNcandidates! number of candidates
Int_tTGeoVoxelFinder::fCurrentVoxel! index of current voxel in sorted list
Int_tTGeoVoxelFinder::fIbxnumber of different boundaries on X axis
Int_tTGeoVoxelFinder::fIbynumber of different boundaries on Y axis
Int_tTGeoVoxelFinder::fIbznumber of different boundaries on Z axis
Int_tTGeoVoxelFinder::fNboxeslength of boxes array
Int_tTGeoVoxelFinder::fNoxlength of array of X offsets
Int_tTGeoVoxelFinder::fNoylength of array of Y offsets
Int_tTGeoVoxelFinder::fNozlength of array of Z offsets
Int_tTGeoVoxelFinder::fNexlength of array of X extra offsets
Int_tTGeoVoxelFinder::fNeylength of array of Y extra offsets
Int_tTGeoVoxelFinder::fNezlength of array of Z extra offsets
Int_tTGeoVoxelFinder::fNxlength of array of X voxels
Int_tTGeoVoxelFinder::fNylength of array of Y voxels
Int_tTGeoVoxelFinder::fNzlength of array of Z voxels
Int_tTGeoVoxelFinder::fPriority[3]priority for each axis
Int_tTGeoVoxelFinder::fSlices[3]! slice indices for current voxel
Int_tTGeoVoxelFinder::fInc[3]! slice index increment
Double_tTGeoVoxelFinder::fInvdir[3]! 1/current director cosines
Double_tTGeoVoxelFinder::fLimits[3]limits on X,Y,Z
Double_t*TGeoVoxelFinder::fBoxes[fNboxes] list of bounding boxes
Double_t*TGeoVoxelFinder::fXb[fIbx] ordered array of X box boundaries
Double_t*TGeoVoxelFinder::fYb[fIby] ordered array of Y box boundaries
Double_t*TGeoVoxelFinder::fZb[fIbz] ordered array of Z box boundaries
Int_t*TGeoVoxelFinder::fOBx[fNox] offsets of daughter indices for slices X
Int_t*TGeoVoxelFinder::fOBy[fNoy] offsets of daughter indices for slices Y
Int_t*TGeoVoxelFinder::fOBz[fNoz] offsets of daughter indices for slices Z
Int_t*TGeoVoxelFinder::fOEx[fNox] offsets of extra indices for slices X
Int_t*TGeoVoxelFinder::fOEy[fNoy] offsets of extra indices for slices Y
Int_t*TGeoVoxelFinder::fOEz[fNoz] offsets of extra indices for slices Z
Int_t*TGeoVoxelFinder::fIndX[fNx] indices of daughters inside boundaries X
Int_t*TGeoVoxelFinder::fIndY[fNy] indices of daughters inside boundaries Y
Int_t*TGeoVoxelFinder::fIndZ[fNz] indices of daughters inside boundaries Z
Int_t*TGeoVoxelFinder::fExtraX[fNex] indices of extra daughters in X slices
Int_t*TGeoVoxelFinder::fExtraY[fNey] indices of extra daughters in Y slices
Int_t*TGeoVoxelFinder::fExtraZ[fNez] indices of extra daughters in Z slices
Int_t*TGeoVoxelFinder::fCheckList! list of candidates
UChar_t*TGeoVoxelFinder::fBits1! bits used for list intersection

Class Description

 Full description with examples and pictures




/* */
TGeoCylVoxels()
 Default constructor
TGeoCylVoxels(TGeoVolume *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)
 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)
 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 *)
 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());
TGeoCylVoxels()

Author: Andrei Gheata 04/02/02
Last update: root/geom:$Name: $:$Id: TGeoVoxelFinder.cxx,v 1.39 2006/07/09 05:27:54 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - 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.