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)

    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

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()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
voidClearThreadData() const
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual TGeoMatrix*CreateMatrix() const
voidCreateThreadData(Int_t nthreads)
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
virtual Int_tGetDivAxis()
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
TGeoPatternFinder::ThreadData_t&GetThreadData() 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 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_tIsSpacedOut() 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()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
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 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(ostream& 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)
voidSetRange(Double_t start, Double_t step, Int_t ndivisions)
voidSetSpacedOut(Bool_t flag)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetVolume(TGeoVolume* vol)
virtual voidShowMembers(TMemberInspector& insp) const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_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
TGeoPatternFinder(TGeoVolume* vol, Int_t ndiv)
virtual voidUpdateMatrix(Int_t, TGeoHMatrix&) 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
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
TGeoPatternFinder&operator=(const TGeoPatternFinder&)
TGeoPatternFinder(const TGeoPatternFinder&)

Data Members

static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
Int_tfDivIndexindex of first div. node
Double_tfEndending point
Int_tfNdivisionsnumber of divisions
Double_tfStartstarting point on divided axis
Double_tfStepdivision step length
vector<TGeoPatternFinder::ThreadData_t*>fThreadData! Vector of thread private transient data
Int_tfThreadSize! Size of the thread vector
TGeoVolume*fVolumevolume to which applies
static TGeoPatternFinder::EGeoPatternFlagskPatternReflected
static TGeoPatternFinder::EGeoPatternFlagskPatternSpacedOut

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void ClearThreadData() const
void CreateThreadData(Int_t nthreads)
 Create thread data for n threads max.
 Default constructor
TGeoPatternFinder(TGeoVolume* vol, Int_t ndiv)
 Default constructor
TGeoPatternFinder(const TGeoPatternFinder& )
copy constructor
TGeoPatternFinder& operator=(const TGeoPatternFinder& )
assignment operator
Int_t GetCurrent()
 Return current index.
TGeoMatrix* GetMatrix()
 Return current matrix.
Int_t GetNext() const
 Get index of next division.
void SetNext(Int_t index)
 Set index of next division.
TGeoNode * CdNext()
 Make next node (if any) current.
void SetRange(Double_t start, Double_t step, Int_t ndivisions)
 Set division range. Use this method only when dividing an assembly.
ThreadData_t& GetThreadData() const
TGeoMatrix* CreateMatrix() const
void cd(Int_t )
TGeoNode * FindNode(Double_t* , const Double_t* = 0)
{return 0;}
Int_t GetByteCount() const
{return 36;}
Int_t GetDivIndex()
{return fDivIndex;}
Int_t GetDivAxis()
{return 1;}
Int_t GetNdiv() const
{return fNdivisions;}
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
Bool_t IsSpacedOut() const
TGeoPatternFinder * MakeCopy(Bool_t reflect = kFALSE)
void Reflect(Bool_t flag = kTRUE)
void SetDivIndex(Int_t index)
{fDivIndex = index;}
void SetSpacedOut(Bool_t flag)
void SetVolume(TGeoVolume* vol)
{fVolume = vol;}
void UpdateMatrix(Int_t , TGeoHMatrix& ) const