library: libTable #include "TVolume.h" | 
TVolume
class description - source file - inheritance tree (.pdf)
    protected:
                  virtual void Add(TDataSet* dataset)
                  virtual void Add(TVolumePosition* position)
      virtual TVolumePosition* Add(TVolume* node, TVolumePosition* nodePosition)
                 virtual Int_t DistancetoNodePrimitive(Int_t px, Int_t py, TVolumePosition* position = 0)
                  virtual void PaintNodePosition(Option_t* option = "", TVolumePosition* postion = 0)
                          void SetPositionsList(TList* list = 0)
    public:
                                 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 = "")
                                 TVolume(TNode& node)
                                 TVolume(const TVolume&)
                         virtual ~TVolume()
        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 void Add(TShape* shape, Bool_t IsMaster = kFALSE)
                    virtual void Browse(TBrowser* b)
                  static TClass* Class()
                  virtual TNode* CreateTNode(const TVolumePosition* position = 0)
                    virtual void DeletePosition(TVolumePosition* position)
                   virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
                    virtual void Draw(Option_t* depth = "3")
                    virtual void DrawOnly(Option_t* option = "")
                    virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
              static TRotMatrix* GetIdentity()
                  virtual TList* GetListOfPositions()
                          TList* GetListOfShapes() const
                    virtual void GetLocalRange(Float_t* min, Float_t* max)
                 virtual Text_t* GetObjectInfo(Int_t px, Int_t py) const
               virtual Option_t* GetOption() const
                         TShape* GetShape() const
      virtual TVolume::ENodeSEEN GetVisibility() const
                 virtual ULong_t Hash() const
                    virtual void ImportShapeAttributes()
                  virtual Bool_t Is3D() const
                 virtual TClass* IsA() const
                  virtual Bool_t IsMarked() const
                    static Int_t MapGEANT2StNodeVis(Int_t vis)
                    static Int_t MapStNode2GEANTVis(TVolume::ENodeSEEN vis)
                  virtual TList* Nodes() const
                    virtual void Paint(Option_t* option = "")
                    virtual void PaintShape(Option_t* option = "")
                    virtual void SetVisibility(TVolume::ENodeSEEN vis = TVolume::kBothVisible)
                    virtual void ShowMembers(TMemberInspector& insp, char* parent)
                    virtual void Sizeof3D() const
                    virtual void Streamer(TBuffer& b)
                            void StreamerNVirtual(TBuffer& b)
    protected:
                 TShape* fShape         Pointer to the "master" shape definition
                  TList* fListOfShapes  Pointer to the list of the shape definitions
                 TString fOption        List of options if any
      TVolume::ENodeSEEN fVisibility    Visibility flag  00 - everything visible,
    public:
      static const TVolume::ENodeSEEN kBothVisible    
      static const TVolume::ENodeSEEN kSonUnvisible   
      static const TVolume::ENodeSEEN kThisUnvisible  
      static const TVolume::ENodeSEEN kNoneVisible    
*-*-*-*-*-*-*-*-*-*-*-* 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)
       :TObjectSet(name),TAttLine(), TAttFill(),fShape(0),fListOfShapes(0)
*-*-*-*-*-*-*-*-*-*-*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)
                :TObjectSet(name),TAttLine(),TAttFill(),fShape(0),fListOfShapes(0)
*-*-*-*-*-*-*-*-*-*-*Volume normal constructor*-*-*-*-*-*-*-*-*-*-*
*-*                  ================================
*-*
*-*    name    is the name of the node
*-*    title   is title
*-*    shape   is the pointer to the shape definition
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-* The color "1" - default produces a very bad 3D image with OpenGL
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):fShape(0),fListOfShapes(0)
 Convert a TNode object into a TVolume
void Add(TShape *shape, Bool_t IsMaster)
TNode* CreateTNode(const TVolumePosition *position)
 Convert a TVolume object into a TNode
 ~TVolume()
*-*-*-*-*-*-*-*-*-*-*Volume default destructor*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  ======================
void Add(TVolumePosition *position)
TVolumePosition* Add(TVolume *node, TVolumePosition *nodePosition)
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)
Int_t DistancetoPrimitive(Int_t px, Int_t py)
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()
Text_t* GetObjectInfo(Int_t px, Int_t py) const
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() const
*-*-*-*-*-*-*Return total size of this 3-D volume with its attributes*-*-*
*-*          ==========================================================
Inline Functions
                      void SetPositionsList(TList* list = 0)
                      void Add(TShape* shape, Bool_t IsMaster = kFALSE)
                 Option_t* GetOption() const
                   TShape* GetShape() const
                    TList* GetListOfShapes() const
        TVolume::ENodeSEEN GetVisibility() const
                    TList* GetListOfPositions()
                   ULong_t Hash() const
                    Bool_t IsMarked() const
                    Bool_t Is3D() const
                    TList* Nodes() const
                   TClass* Class()
                   TClass* IsA() const
                      void ShowMembers(TMemberInspector& insp, char* parent)
                      void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)
                   TVolume TVolume(const TVolume&)
Author: Valery Fine 10/12/98
Last update: root/star:$Name:  $:$Id: TVolume.cxx,v 1.9 2005/09/09 04:57:59 brun Exp $
Copyright (c) 1998, FineSoft, All rights reserved. Valery Fine (Faine) *
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.