ROOT logo

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

 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.

Function Members (Methods)

TVolume(TNode& node)
TVolume(const TVolume&)
TVolume(const char* name, const char* title, const char* shapename, Option_t* option = "")
TVolume(const char* name, const char* title, TShape* shape, Option_t* option = "")
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 char* 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")MENU
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidDrawOnly(Option_t* option = "")
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 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 char*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() constMENU
virtual TDataSet*TObjectSet::Instance() const
static TObjectSet*TObjectSet::instance()
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(UInt_t flag, TDataSet::EBitOpt reset = kSet)
voidTObject::MayNotUse(const char* method) const
virtual voidTAttLine::Modify()
virtual TDataSet*TDataSet::Next() const
virtual TList*Nodes() 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)
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 = "") constMENU
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 = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTAttFill::SetFillAttributes()MENU
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
virtual voidTAttLine::SetLineAttributes()MENU
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)MENU
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 = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidSetVisibility(TVolume::ENodeSEEN vis = TVolume::kBothVisible)MENU
virtual voidTDataSet::SetWrite()
virtual voidShowMembers(TMemberInspector& insp)
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
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 char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTDataSet::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
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
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

enum ENodeSEEN { kBothVisible
enum TObjectSet::EOwnerBits { kIsOwner
enum TDataSet::EDataSetPass { kContinue
enum TDataSet::ESetBits { kMark
enum TDataSet::EBitOpt { kSet
enum TObject::EStatusBits { kCanDelete
enum TObject::[unnamed] { kIsOnHeap
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style
Color_tTAttLine::fLineColorline color
Style_tTAttLine::fLineStyleline style
Width_tTAttLine::fLineWidthline width
TSeqCollection*TDataSet::fListList of the the the objects included into this dataset
TList*fListOfShapesPointer to the list of the shape definitions
TStringTNamed::fNameobject identifier
TObject*TObjectSet::fObjTObject to be inserted
TStringfOptionList of options if any
TDataSet*TDataSet::fParentpointer to mother of the directory
TShape*fShapePointer to the "master" shape definition
TStringTNamed::fTitleobject title
TVolume::ENodeSEENfVisibilityVisibility flag 00 - everything visible,
static TDataSet*TDataSet::fgMainSetpointer the main dataset;

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

Volume default constructor*-*-
*-*                  ========================
TVolume(const char* name, const char* title, const char* 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 char* name, const char* 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(TVolume::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& node)
 Convert a TNode object into a TVolume
void Add(TShape* shape, Bool_t IsMaster = kFALSE)
to be documented
TNode * CreateTNode(const TVolumePosition* position = 0)
 Convert a TVolume object into a TNode
Volume default destructor*-*-*-
*-*                  ======================
void Add(TVolumePosition* position)
to be documented
TVolumePosition * Add(TVolume* node, TVolumePosition* nodePosition)
to be documented
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 = "")
*-*    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* node, Double_t x, Double_t y, Double_t z, const char* matrixname, UInt_t id = 0, Option_t* option = "")
*-*    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* position = 0)
-*-*-*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* depth = "3")
-*-*-*-*-*-*-*-*Draw Referenced node with current parameters
*-*                   =============================================
void DrawOnly(Option_t* option = "")
Draw only Sons of this node*-*-*-
*-*                ===========================
void ExecuteEvent(Int_t event, Int_t px, Int_t py)
-*-*-*-*-*-*-*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
char * GetObjectInfo(Int_t px, Int_t py) const
to be documented
void ImportShapeAttributes()
Copy shape attributes as node attributes*-*-*-*-
*-*          ========================================
void Paint(Option_t* option = "")
*-*- Draw Referenced node
void PaintNodePosition(Option_t* option = "", TVolumePosition* postion = 0)
-*-*-*-*-*-*-*-*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)

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

void SetVisibility(TVolume::ENodeSEEN vis = TVolume::kBothVisible)
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() const
-*-*-*-*Return total size of this 3-D volume with its attributes
*-*          ==========================================================
void Add(TDataSet* dataset)
{ TDataSet::Add(dataset);}
Bool_t IsMarked() const
{ return TestBit(kMark); }
void SetPositionsList(TList* list = 0)
{AddObject((TObject *)list);}
const Option_t * GetOption() const
{ return fOption.Data();}
TShape * GetShape() const
{return fShape;}
TList * GetListOfShapes() const
{return fListOfShapes;}
ENodeSEEN GetVisibility() const
{return fVisibility;}
TList * GetListOfPositions()
{ return (TList *)(GetObject());}
ULong_t Hash() const
{ return TObject::Hash();}
Bool_t Is3D() const
{return kTRUE;}
TList * Nodes() const
{ return GetList(); }