ROOT logo
ROOT » GEOM » GEOM » TGeoPatternFinder

class TGeoPatternFinder: public TObject

 TGeoPatternFinder - base finder class for patterns.

   A pattern is specifying a division type which applies only to a given
 shape type. The implemented patterns are for the moment equidistant slices
 on different axis. Implemented patterns are:

 TGeoPatternX - a X axis divison pattern
 TGeoPatternY - a Y axis divison pattern
 TGeoPatternZ - a Z axis divison pattern
 TGeoPatternParaX - a X axis divison pattern for PARA shape
 TGeoPatternParaY - a Y axis divison pattern for PARA shape
 TGeoPatternParaZ - a Z axis divison pattern for PARA shape
 TGeoPatternTrapZ - a Z axis divison pattern for TRAP or GTRA shapes
 TGeoPatternCylR - a cylindrical R divison pattern
 TGeoPatternCylPhi - a cylindrical phi divison pattern
 TGeoPatternSphR - a spherical R divison pattern
 TGeoPatternSphTheta - a spherical theta divison pattern
 TGeoPatternSphPhi - a spherical phi divison pattern
 TGeoPatternHoneycomb - a divison pattern specialized for honeycombs

Function Members (Methods)

public:
TGeoPatternFinder()
TGeoPatternFinder(TGeoVolume* vol, Int_t ndiv)
virtual~TGeoPatternFinder()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
virtual voidcd(Int_t)
virtual TGeoNode*CdNext()
static TClass*Class()
static TClass*TObject::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
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
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 TGeoNode*FindNode(Double_t*, const Double_t* = 0)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Int_tGetByteCount() const
Int_tGetCurrent()
virtual Int_tGetDivAxis()
Int_tGetDivIndex()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Double_tGetEnd() const
virtual const char*TObject::GetIconName() const
virtual TGeoMatrix*GetMatrix()
virtual const char*TObject::GetName() const
Int_tGetNdiv() const
Int_tGetNext() const
TGeoNode*GetNodeOffset(Int_t idiv)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetStart() const
Double_tGetStep() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
TGeoVolume*GetVolume() 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() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual TClass*TObject::IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
virtual Bool_tIsOnBoundary(const Double_t*) const
Bool_tTObject::IsOnHeap() const
Bool_tIsReflected() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
virtual TGeoPatternFinder*MakeCopy(Bool_t reflect = kFALSE)
voidTObject::MayNotUse(const char* method) 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)
TObject&TObject::operator=(const TObject& rhs)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidReflect(Bool_t flag = kTRUE)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetDivIndex(Int_t index)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetNext(Int_t index)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetVolume(TGeoVolume* vol)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidTObject::ShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
virtual voidTObject::Streamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidTObject::StreamerNVirtual(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 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:
TGeoPatternFinder(const TGeoPatternFinder&)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
TGeoPatternFinder&operator=(const TGeoPatternFinder&)

Data Members

private:
enum EGeoPatternFlags { kPatternReflected
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Int_tfCurrentcurrent division element
Int_tfDivIndexindex of first div. node
Double_tfEndending point
TGeoMatrix*fMatrixgeneric matrix
Int_tfNdivisionsnumber of divisions
Int_tfNextIndex! index of next node
Double_tfStartstarting point on divided axis
Double_tfStepdivision step length
TGeoVolume*fVolumevolume to which applies

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGeoPatternFinder()
 Default constructor
TGeoPatternFinder(TGeoVolume* vol, Int_t ndiv)
 Default constructor
TGeoPatternFinder(const TGeoPatternFinder& )
copy constructor
TGeoPatternFinder& operator=(const TGeoPatternFinder& )
assignment operator
~TGeoPatternFinder()
 Destructor
TGeoNode * CdNext()
 Make next node (if any) current.
TGeoPatternFinder * MakeCopy(Bool_t reflect = kFALSE)
 Make a copy of this finder. Has to be overwritten by derived classes.
void cd(Int_t )
 methods
{}
TGeoNode * FindNode(Double_t* , const Double_t* = 0)
{return 0;}
Int_t GetByteCount() const
{return 36;}
Int_t GetCurrent()
{return fCurrent;}
Int_t GetDivIndex()
{return fDivIndex;}
Int_t GetDivAxis()
{return 1;}
TGeoMatrix * GetMatrix()
{return fMatrix;}
Int_t GetNdiv() const
{return fNdivisions;}
Int_t GetNext() const
{return fNextIndex;}
TGeoNode * GetNodeOffset(Int_t idiv)
{return fVolume->GetNode(fDivIndex+idiv);}
Double_t GetStart() const
{return fStart;}
Double_t GetStep() const
{return fStep;}
Double_t GetEnd() const
{return fEnd;}
TGeoVolume * GetVolume() const
{return fVolume;}
Bool_t IsOnBoundary(const Double_t* ) const
{return kFALSE;}
Bool_t IsReflected() const
void Reflect(Bool_t flag = kTRUE)
void SetDivIndex(Int_t index)
{fDivIndex = index;}
void SetNext(Int_t index)
{fNextIndex = index;}
void SetVolume(TGeoVolume* vol)
{fVolume = vol;}