ROOT » GEOM » GEOM » TGeoPatternX

class TGeoPatternX: public TGeoPatternFinder

 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:
virtual~TGeoPatternX()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
virtual voidcd(Int_t idiv)
virtual TGeoNode*TGeoPatternFinder::CdNext()
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
voidTGeoPatternFinder::ClearThreadData() 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
voidTGeoPatternFinder::CreateThreadData(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 Double_tFindNextBoundary(Double_t* point, Double_t* dir, Int_t& indnext)
virtual TGeoNode*FindNode(Double_t* point, const Double_t* dir = 0)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Int_tTGeoPatternFinder::GetByteCount() const
Int_tTGeoPatternFinder::GetCurrent()
virtual Int_tGetDivAxis()
Int_tTGeoPatternFinder::GetDivIndex()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Double_tTGeoPatternFinder::GetEnd() const
virtual const char*TObject::GetIconName() const
virtual TGeoMatrix*TGeoPatternFinder::GetMatrix()
virtual const char*TObject::GetName() const
Int_tTGeoPatternFinder::GetNdiv() const
Int_tTGeoPatternFinder::GetNext() const
TGeoNode*TGeoPatternFinder::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_tTGeoPatternFinder::GetStart() const
Double_tTGeoPatternFinder::GetStep() const
TGeoPatternFinder::ThreadData_t&TGeoPatternFinder::GetThreadData() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
TGeoVolume*TGeoPatternFinder::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* point) const
Bool_tTObject::IsOnHeap() const
Bool_tTGeoPatternFinder::IsReflected() const
virtual Bool_tTObject::IsSortable() const
Bool_tTGeoPatternFinder::IsSpacedOut() 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)
TGeoPatternX&operator=(const TGeoPatternX&)
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)
voidTGeoPatternFinder::Reflect(Bool_t flag = kTRUE)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidSavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTGeoPatternFinder::SetDivIndex(Int_t index)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTGeoPatternFinder::SetNext(Int_t index)
static voidTObject::SetObjectStat(Bool_t stat)
voidTGeoPatternFinder::SetRange(Double_t start, Double_t step, Int_t ndivisions)
voidTGeoPatternFinder::SetSpacedOut(Bool_t flag)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidTGeoPatternFinder::SetVolume(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
TGeoPatternX()
TGeoPatternX(const TGeoPatternX& pf)
TGeoPatternX(TGeoVolume* vol, Int_t ndivisions)
TGeoPatternX(TGeoVolume* vol, Int_t ndivisions, Double_t step)
TGeoPatternX(TGeoVolume* vol, Int_t ndivisions, Double_t start, Double_t end)
virtual voidUpdateMatrix(Int_t idiv, TGeoHMatrix& matrix) 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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
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
protected:
Int_tTGeoPatternFinder::fDivIndexindex of first div. node
Double_tTGeoPatternFinder::fEndending point
Int_tTGeoPatternFinder::fNdivisionsnumber of divisions
Double_tTGeoPatternFinder::fStartstarting point on divided axis
Double_tTGeoPatternFinder::fStepdivision step length
vector<TGeoPatternFinder::ThreadData_t*>TGeoPatternFinder::fThreadData! Vector of thread private transient data
Int_tTGeoPatternFinder::fThreadSize! Size of the thread vector
TGeoVolume*TGeoPatternFinder::fVolumevolume to which applies
static TGeoPatternFinder::EGeoPatternFlagsTGeoPatternFinder::kPatternReflected
static TGeoPatternFinder::EGeoPatternFlagsTGeoPatternFinder::kPatternSpacedOut

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGeoPatternX()
 Default constructor
TGeoPatternX(TGeoVolume* vol, Int_t ndivisions)
 constructor
TGeoPatternX(TGeoVolume* vol, Int_t ndivisions, Double_t step)
 constructor
TGeoPatternX(TGeoVolume* vol, Int_t ndivisions, Double_t start, Double_t end)
 constructor
TGeoPatternX(const TGeoPatternX& pf)
copy constructor
TGeoPatternX& operator=(const TGeoPatternX& )
assignment operator
~TGeoPatternX()
 Destructor
void cd(Int_t idiv)
 Update current division index and global matrix to point to a given slice.
TGeoMatrix* CreateMatrix() const
 Return new matrix of type used by  this finder.
void UpdateMatrix(Int_t idiv, TGeoHMatrix& matrix) const
 Fills external matrix with the local one corresponding to the given division
 index.
Bool_t IsOnBoundary(const Double_t* point) const
 Checks if the current point is on division boundary
TGeoNode * FindNode(Double_t* point, const Double_t* dir = 0)
 Find the cell corresponding to point and next cell along dir (if asked)
Double_t FindNextBoundary(Double_t* point, Double_t* dir, Int_t& indnext)
 Compute distance to next division layer returning the index of next section.
 Point is in the frame of the divided volume.
TGeoPatternFinder * MakeCopy(Bool_t reflect = kFALSE)
 Make a copy of this finder. Reflect by Z if required.
void SavePrimitive(ostream& out, Option_t* option = "")
 Save a primitive as a C++ statement(s) on output stream "out".
Int_t GetDivAxis()
{return 1;}