ROOT logo
ROOT » MATH » FOAM » TFoamCell

class TFoamCell: public TObject

 Class TFoamCell  used in TFoam

 Objects of this class are hyper-rectangular cells organized in the binary tree.
 Special algorithm for encoding relative positioning of the cells
 allow to save total memory allocation needed for the system of cells.

Function Members (Methods)

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
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
voidFill(Int_t, TFoamCell*, TFoamCell*, TFoamCell*)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Int_tGetBest() const
TFoamCell*GetDau0() const
TFoamCell*GetDau1() const
virtual Option_t*TObject::GetDrawOption() const
Double_tGetDriv() const
static Long_tTObject::GetDtorOnly()
voidGetHcub(TFoamVect&, TFoamVect&) const
voidGetHSize(TFoamVect&) const
virtual const char*TObject::GetIconName() const
Double_tGetIntg() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TFoamCell*GetPare() const
Double_tGetPrim() const
Int_tGetSerial() const
Int_tGetStat() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_tGetVolume() const
Double_tGetXdiv() 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
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
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)
TFoamCell&operator=(const TFoamCell&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option) 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 = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidSetBest(Int_t Best)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetDau0(TFoamCell* Daug)
voidSetDau1(TFoamCell* Daug)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
voidSetDriv(Double_t Driv)
static voidTObject::SetDtorOnly(void* obj)
voidSetIntg(Double_t Intg)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPrim(Double_t Prim)
voidSetSerial(Int_t Serial)
voidSetStat(Int_t Stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetXdiv(Double_t Xdiv)
virtual voidShowMembers(TMemberInspector& insp)
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 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

Data Members

Int_tfBestBest Edge for division
TReffDaught0Pointer to daughter 1
TReffDaught1Pointer to daughter 2
Short_tfDimDimension of the vector space
Double_tfDriveDriver integral, only for cell build-up
Double_tfIntegralIntegral over cell (estimate from exploration)
TReffParentPointer to parent cell
Double_tfPrimaryPrimary integral, only for MC generation
Int_tfSerialSerial number
Int_tfStatusStatus (active, inactive)
Double_tfVolumeCartesian Volume of cell
Double_tfXdivFactor for division

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

 Default constructor for streamer
TFoamCell(Int_t )
 User constructor allocating single empty Cell
TFoamCell(TFoamCell& )
 Copy constructor (not tested!)
TFoamCell& operator=(const TFoamCell& )
 Substitution operator = (never used)
void Fill(Int_t , TFoamCell* , TFoamCell* , TFoamCell* )
 Fills in certain data into newly allocated cell
void GetHcub(TFoamVect& , TFoamVect& ) const
 Provides size and position of the cell
 These parameter are calculated by analyzing information in all parents
 cells up to the root cell. It takes time but saves memory.
void GetHSize(TFoamVect& ) const
 Provides size of the cell
 Size parameters are calculated by analyzing information in all parents
 cells up to the root cell. It takes time but saves memory.
void CalcVolume(void)
 Calculates volume of the cell using size params which are calculated
void Print(Option_t* option) const
 Printout of the cell geometry parameters for the debug purpose
Double_t GetXdiv() const
{ return fXdiv;}
Int_t GetBest() const
{ return fBest;}
void SetBest(Int_t Best)
{ fBest =Best;}
void SetXdiv(Double_t Xdiv)
{ fXdiv =Xdiv;}
Double_t GetVolume() const
{ return fVolume;}
Double_t GetIntg() const
{ return fIntegral;}
Double_t GetDriv() const
{ return fDrive;}
Double_t GetPrim() const
{ return fPrimary;}
void SetIntg(Double_t Intg)
{ fIntegral=Intg;}
void SetDriv(Double_t Driv)
{ fDrive =Driv;}
void SetPrim(Double_t Prim)
linked tree organization
{ fPrimary =Prim;}
Int_t GetStat() const
{ return fStatus;}
void SetStat(Int_t Stat)
{ fStatus=Stat;}
TFoamCell* GetPare() const
{ return (TFoamCell*) fParent.GetObject(); }
TFoamCell* GetDau0() const
{ return (TFoamCell*) fDaught0.GetObject(); }
TFoamCell* GetDau1() const
{ return (TFoamCell*) fDaught1.GetObject(); }
void SetDau0(TFoamCell* Daug)
{ fDaught0 = Daug;}
void SetDau1(TFoamCell* Daug)
{ fDaught1 = Daug;}
void SetSerial(Int_t Serial)
{ fSerial=Serial;}
Int_t GetSerial() const
{ return fSerial;}