library: libTable
#include "TVolume.h"

TVolume


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

class TVolume: public TObjectSet, public TAttLine, public TAttFill, public TAtt3D

Inheritance Inherited Members Includes Libraries
Class Charts

Function Members (Methods)

Display options:
Show inherited
Show non-public
public:
TVolume()
TVolume(TNode& node)
TVolume(const TVolume&)
TVolume(const Text_t* name, const Text_t* title, const Text_t* shapename, Option_t* option = "")
TVolume(const Text_t* name, const Text_t* title, TShape* shape, Option_t* option = "")
virtual~TVolume()
voidTObject::AbstractMethod(const char* method) const
virtual voidAdd(TShape* shape, Bool_t IsMaster = kFALSE)
virtual TVolumePosition*Add(TVolume* node, Double_t x = 0, Double_t y = 0, Double_t z = 0, TRotMatrix* matrix = 0, UInt_t id = 0, Option_t* option = "")
virtual TVolumePosition*Add(TVolume* node, Double_t x, Double_t y, Double_t z, const Text_t* matrixname, UInt_t id = 0, Option_t* option = "")
virtual voidTDataSet::AddAt(TDataSet* dataset, Int_t idx = 0)
virtual voidTDataSet::AddAtAndExpand(TDataSet* dataset, Int_t idx = 0)
virtual voidTDataSet::AddFirst(TDataSet* dataset)
virtual voidTDataSet::AddLast(TDataSet* dataset)
virtual TObject*TObjectSet::AddObject(TObject* obj, Bool_t makeOwner = kTRUE)
virtual voidTObject::AppendPad(Option_t* option = "")
TDataSet*TDataSet::At(Int_t idx) const
virtual voidBrowse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TDataSet::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual TNode*CreateTNode(const TVolumePosition* position = 0)
virtual voidTObjectSet::Delete(Option_t* opt = "")
virtual voidDeletePosition(TVolumePosition* position)
Int_tTAttLine::DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
virtual Int_tDistancetoPrimitive(Int_t px, Int_t py)
virtual Bool_tTObjectSet::DoOwner(Bool_t done = kTRUE)
virtual voidDraw(Option_t* depth = "3")
virtual voidTObject::DrawClass() const
virtual TObject*TObject::DrawClone(Option_t* option = "") const
virtual voidDrawOnly(Option_t* option = "")
virtual voidTObject::Dump() const
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 voidExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TDataSet*TDataSet::Find(const char* path) const
virtual TDataSet*TDataSet::FindByName(const char* name, const char* path = "", Option_t* opt = "") const
virtual TDataSet*TDataSet::FindByPath(const char* path) const
virtual TDataSet*TDataSet::FindByTitle(const char* title, const char* path = "", Option_t* opt = "") const
virtual TObject*TDataSet::FindObject(const char* name) const
virtual TObject*TDataSet::FindObject(const TObject* o) const
virtual TDataSet*TDataSet::First() const
virtual TSeqCollection*TDataSet::GetCollection() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
virtual const char*TObject::GetIconName() const
static TRotMatrix*GetIdentity()
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
TList*TDataSet::GetList() const
virtual TList*GetListOfPositions()
TList*GetListOfShapes() const
virtual Int_tTDataSet::GetListSize() const
virtual voidGetLocalRange(Float_t* min, Float_t* max)
static TDataSet*TDataSet::GetMainSet()
TObject*TDataSet::GetMother() const
virtual const char*TNamed::GetName() const
TObjArray*TDataSet::GetObjArray() const
virtual TObject*TObjectSet::GetObject() const
virtual Text_t*GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*GetOption() const
virtual TDataSet*TDataSet::GetParent() const
TShape*GetShape() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual TVolume::ENodeSEENGetVisibility() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual Long_tTObjectSet::HasData() const
virtual ULong_tHash() const
virtual voidImportShapeAttributes()
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
virtual TDataSet*TObjectSet::Instance() const
static TObjectSet*TObjectSet::instance()
voidTDataSet::InvertAllMarks()
voidTObject::InvertBit(UInt_t f)
virtual Bool_tIs3D() const
virtual TClass*IsA() const
virtual Bool_tTDataSet::IsEmpty() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTDataSet::IsFolder() const
virtual Bool_tIsMarked() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObjectSet::IsOwner() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tTDataSet::IsThisDir(const char* dirname, int len = -1, int ignorecase = 0) const
virtual Bool_tTAttFill::IsTransparent() const
Bool_tTObject::IsZombie() const
virtual TDataSet*TDataSet::Last() const
virtual voidTDataSet::ls(Option_t* option = "") const
virtual voidTDataSet::ls(Int_t depth) const
static Int_tMapGEANT2StNodeVis(Int_t vis)
static Int_tMapStNode2GEANTVis(TVolume::ENodeSEEN vis)
voidTDataSet::Mark()
voidTDataSet::Mark(UInt_t flag, TDataSet::EBitOpt reset = kSet)
voidTDataSet::MarkAll()
voidTObject::MayNotUse(const char* method) const
virtual voidTAttLine::Modify()
virtual TDataSet*TDataSet::Next() const
virtual TList*Nodes() 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)
TNamed&TNamed::operator=(const TNamed& rhs)
virtual voidPaint(Option_t* option = "")
virtual voidPaintShape(Option_t* option = "")
virtual TDataSet::EDataSetPassTDataSet::Pass(void callback, Int_t depth = 0)
virtual TDataSet::EDataSetPassTDataSet::Pass(void callback, void* user, Int_t depth = 0)
virtual TStringTDataSet::Path() const
virtual voidTObject::Pop()
virtual TDataSet*TDataSet::Prev() const
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidTDataSet::PrintContents(Option_t* opt = "") const
virtual Int_tTDataSet::Purge(Option_t* opt = "")
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidTDataSet::Remove(TDataSet* set)
virtual TDataSet*TDataSet::RemoveAt(Int_t idx)
virtual voidTAttFill::ResetAttFill(Option_t* option = "")
virtual voidTAttLine::ResetAttLine(Option_t* option = "")
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") const
virtual voidTAttFill::SaveFillAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1001)
virtual voidTAttLine::SaveLineAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t widdef = 1)
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)
virtual voidTAttFill::SetFillAttributes()
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
virtual voidTAttLine::SetLineAttributes()
virtual voidTAttLine::SetLineColor(Color_t lcolor)
virtual voidTAttLine::SetLineStyle(Style_t lstyle)
virtual voidTAttLine::SetLineWidth(Width_t lwidth)
virtual voidTDataSet::SetMother(TDataSet* parent = 0)
virtual voidTNamed::SetName(const char* name)
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
virtual voidTObjectSet::SetObject(TObject* obj)
virtual TObject*TObjectSet::SetObject(TObject* obj, Bool_t makeOwner)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTDataSet::SetParent(TDataSet* parent = 0)
virtual voidTNamed::SetTitle(const char* title = "")
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidSetVisibility(TVolume::ENodeSEEN vis = TVolume::kBothVisible)
virtual voidTDataSet::SetWrite()
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidTDataSet::Shunt(TDataSet* newParent = 0)
virtual Int_tTNamed::Sizeof() const
virtual voidSizeof3D() const
virtual voidTDataSet::Sort()
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
voidTDataSet::UnMark()
voidTDataSet::UnMarkAll()
virtual voidTDataSet::Update()
virtual voidTDataSet::Update(TDataSet* set, UInt_t opt = 0)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTDataSet::Write(const Text_t* name = "0", Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTDataSet::Write(const Text_t* name = "0", Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidAdd(TDataSet* dataset)
virtual voidAdd(TVolumePosition* position)
virtual TVolumePosition*Add(TVolume* node, TVolumePosition* nodePosition)
voidTDataSet::AddMain(TDataSet* set)
virtual Int_tDistancetoNodePrimitive(Int_t px, Int_t py, TVolumePosition* position = 0)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
TDataSet*TDataSet::GetRealParent()
voidTDataSet::MakeCollection()
voidTObject::MakeZombie()
virtual voidPaintNodePosition(Option_t* option = "", TVolumePosition* postion = 0)
virtual voidTDataSet::SetMother(TObject* mother)
voidSetPositionsList(TList* list = 0)
static TDataSet::EDataSetPassTDataSet::SortIt(TDataSet* ds)
static TDataSet::EDataSetPassTDataSet::SortIt(TDataSet* ds, void* user)

Data Members

public:
enum ENodeSEEN { kBothVisible
kSonUnvisible
kThisUnvisible
kNoneVisible
};
enum TObjectSet::EOwnerBits { kIsOwner
};
enum TDataSet::EDataSetPass { kContinue
kPrune
kStop
kUp
kStruct
kAll
kRefs
kMarked
};
enum TDataSet::ESetBits { kMark
kArray
};
enum TDataSet::EBitOpt { kSet
kReset
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TShape*fShapePointer to the "master" shape definition
TList*fListOfShapesPointer to the list of the shape definitions
TStringfOptionList of options if any
TVolume::ENodeSEENfVisibilityVisibility flag 00 - everything visible,
TObject*TObjectSet::fObjTObject to be inserted
static TDataSet*TDataSet::fgMainSetpointer the main dataset;
TDataSet*TDataSet::fParentpointer to mother of the directory
TSeqCollection*TDataSet::fListList of the the the objects included into this dataset
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
Color_tTAttLine::fLineColorline color
Style_tTAttLine::fLineStyleline style
Width_tTAttLine::fLineWidthline width
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style

Class Description

*-*-*-*-*-*-*-*-*-*-*-* T V O L U M E  description *-*-*-*-*-*-*-*-*-*-*-*-*
*-*                     ==========================
*-*
*-*    A TVolume object is used to build the geometry hierarchy.
*-*    Since TVolume is derived from TDataSet class it may contain other volumes.
*-*
*-*    A geometry volume has attributes:
*-*      - name and title
*-*      - pointer to the referenced shape (see TShape).
*-*      - list of TVolumePosition object defining the position of the nested volumes
*-*        with respect to the mother node.
*-*
*-*
*-*    A volume can be drawn.
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
TVolume()
*-*-*-*-*-*-*-*-*-*-*Volume default constructor*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  ========================
TVolume(const Text_t *name, const Text_t *title, const Text_t *shapename, Option_t *option)
*-*-*-*-*-*-*-*-*-*-*Volume normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  =========================
*-*
*-*    name    is the name of the node
*-*    title   is title
*-*    shapename is the name of the referenced shape
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
TVolume(const Text_t *name, const Text_t *title, TShape *shape, Option_t *option)
*-*-*-*-*-*-*-*-*-*-*Volume normal constructor*-*-*-*-*-*-*-*-*-*-*
*-*                  ================================
*-*
*-*    name    is the name of the node
*-*    title   is title
*-*    shape   is the pointer to the shape definition
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Int_t MapStNode2GEANTVis(ENodeSEEN vis)
 ENodeSEEN Visibility flag  00 - everything visible,
                            10 - this unvisible, but sons are visible
                            01 - this visible but sons
                            11 - neither this nor its sons are visible
 Maps the value of the visibility flag to 
GEANT 3.21 "volume attributes"

Int_t MapGEANT2StNodeVis(Int_t vis)
 Maps the value of 
GEANT 3.21 "volume attributes"
 to the visibility flag
TVolume(TNode &rootNode)
 Convert a TNode object into a TVolume
void Add(TShape *shape, Bool_t IsMaster)
to be documented
TNode * CreateTNode(const TVolumePosition *position)
 Convert a TVolume object into a TNode
~TVolume()
*-*-*-*-*-*-*-*-*-*-*Volume default destructor*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  ======================
void Add(TVolumePosition *position)
to be documented
TVolumePosition * Add(TVolume *node, TVolumePosition *nodePosition)
to be documented
TVolumePosition * Add(TVolume *volume, Double_t x, Double_t y, Double_t z, TRotMatrix *matrix, UInt_t id, Option_t *)
*-*
*-*    volume  the pointer to the volume to be placed
*-*    x,y,z   are the offsets of the volume with respect to his mother
*-*    matrix  is the pointer to the rotation matrix
*-*     id     is a unique position id
*-*
TVolumePosition * Add(TVolume *volume, Double_t x, Double_t y, Double_t z, const Text_t *matrixname, UInt_t id, Option_t *)
*-*
*-*    volume      the pointer to the volume to be placed
*-*    x,y,z       are the offsets of the volume with respect to his mother
*-*    matrixname  is the name of the rotation matrix
*-*     id         is a unique position id
*-*
void Browse(TBrowser *b)
to be documented
Int_t DistancetoPrimitive(Int_t px, Int_t py)
to be documented
Int_t DistancetoNodePrimitive(Int_t px, Int_t py,TVolumePosition *pos)
*-*-*-*-*-*-*-*-*Compute distance from point px,py to a TVolumeView*-*-*-*-*-*
*-*                  ===========================================
*-*  Compute the closest distance of approach from point px,py to the position of
*-*  this volume.
*-*  The distance is computed in pixels units.
*-*
*-*  It is restricted by 2 levels of TVolumes
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
void Draw(Option_t *option)
*-*-*-*-*-*-*-*-*-*-*-*Draw Referenced node with current parameters*-*-*-*
*-*                   =============================================
void DrawOnly(Option_t *option)
*-*-*-*-*-*-*-*-*-*Draw only Sons of this node*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                ===========================
void ExecuteEvent(Int_t, Int_t, Int_t)
*-*-*-*-*-*-*-*-*-*-*Execute action corresponding to one event*-*-*-*
*-*                  =========================================
*-*  This member function must be implemented to realize the action
*-*  corresponding to the mouse click on the object in the window
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
TRotMatrix * GetIdentity()
 Return a pointer the "identity" matrix
Text_t * GetObjectInfo(Int_t px, Int_t py)
to be documented
void ImportShapeAttributes()
*-*-*-*-*-*-*Copy shape attributes as node attributes*-*-*-*-*--*-*-*-*-*-*
*-*          ========================================
void Paint(Option_t *opt)
*-*- Draw Referenced node
void PaintNodePosition(Option_t *option,TVolumePosition *pos)
*-*-*-*-*-*-*-*-*-*-*-*Paint Referenced volume with current parameters*-*-*-*
*-*                   ==============================================
*-*
*-*  vis = 1  (default) shape is drawn
*-*  vis = 0  shape is not drawn but its sons may be not drawn
*-*  vis = -1 shape is not drawn. Its sons are not drawn
*-*  vis = -2 shape is drawn. Its sons are not drawn
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
void PaintShape(Option_t *option)
 Paint shape of the volume
 To be called from the TObject::Paint method only
void DeletePosition(TVolumePosition *position)
 DeletePosition deletes the position of the TVolume *node from this TVolume
 and removes that volume from the list of the nodes of this TVolume
void GetLocalRange(Float_t *min, Float_t *max)
  GetRange

  Calculates the size of 3 box the volume occupies,
  Return:
    two floating point arrays with the bound of box
     surroundind all shapes of this TVolumeView

void SetVisibility(ENodeSEEN vis)
*-*-*-*-*-*-*Set visibility for this volume and its sons*-*-*-*-*--*-*-*-*-*-*
*-*          =========================================
 ENodeSEEN Visibility flag  00 - everything visible,
                            10 - this unvisible, but sons are visible
                            01 - this visible but sons
                            11 - neither this nor its sons are visible
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
void Sizeof3D()
*-*-*-*-*-*-*Return total size of this 3-D volume with its attributes*-*-*
*-*          ==========================================================
void Add(TDataSet *dataset)
{ TDataSet::Add(dataset);}
Bool_t IsMarked()
{ return TestBit(kMark); }
void SetPositionsList(TList *list=0)
{AddObject((TObject *)list);}
TVolume()
const Option_t * GetOption()
{ return fOption.Data();}
TShape * GetShape()
{return fShape;}
TList * GetListOfShapes()
{return fListOfShapes;}
ENodeSEEN GetVisibility()
{return fVisibility;}
TList * GetListOfPositions()
{ return (TList *)(GetObject());}
ULong_t Hash()
{ return TObject::Hash();}
Bool_t Is3D()
{return kTRUE;}
TList * Nodes()
{ return GetList(); }

Author: Valery Fine 10/12/98
Last update: root/table:$Name: $:$Id: TVolume.cxx,v 1.17 2006/12/08 18:09:37 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.