TVolumePosition


class description - source file - inheritance tree

class TVolumePosition : public TObject


    protected:
void DeleteOwnMatrix() public:
TVolumePosition TVolumePosition(TVolume* node = 0, Double_t x = 0, Double_t y = 0, Double_t z = 0, TRotMatrix* matrix = 0) TVolumePosition TVolumePosition(TVolume* node, Double_t x, Double_t y, Double_t z, const Text_t* matrixname) TVolumePosition TVolumePosition(const TVolumePosition& pos) virtual void ~TVolumePosition() virtual void Browse(TBrowser* b) static TClass* Class() virtual Double_t* Cormx2Local(const Double_t* masterCorr, Double_t* localCorr) const virtual Float_t* Cormx2Local(const Float_t* masterCorr, Float_t* localCorr) const virtual Double_t* Cormx2Master(const Double_t* localCorr, Double_t* masterCorr) const virtual Float_t* Cormx2Master(const Float_t* localCorr, Float_t* masterCorr) const virtual TDataSet* DefineSet() virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) virtual void Draw(Option_t* depth = "3") virtual Float_t* Errmx2Local(const Float_t* masterError, Float_t* localError) const virtual Double_t* Errmx2Local(const Double_t* masterError, Double_t* localError) const virtual Float_t* Errmx2Master(const Float_t* localError, Float_t* masterError) const virtual Double_t* Errmx2Master(const Double_t* localError, Double_t* masterError) const virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py) virtual UInt_t GetId() const const TRotMatrix* GetMatrix() const TRotMatrix* GetMatrix() virtual const Char_t* GetName() const virtual TVolume* GetNode() const virtual Text_t* GetObjectInfo(Int_t px, Int_t py) const virtual const Option_t* GetOption() const Int_t GetVisibility() const virtual Double_t GetX(Int_t indx = 0) const virtual Double_t GetY() const virtual Double_t GetZ() const virtual Bool_t Is3D() const virtual TClass* IsA() const virtual Bool_t IsFolder() const Bool_t IsMatrixOwner() const virtual Double_t* Local2Master(const Double_t* local, Double_t* master, Int_t nPoints = 1) const virtual Float_t* Local2Master(const Float_t* local, Float_t* master, Int_t nPoints = 1) const virtual Double_t* Master2Local(const Double_t* master, Double_t* local, Int_t nPoints = 1) const virtual Float_t* Master2Local(const Float_t* master, Float_t* local, Int_t nPoints = 1) const virtual TVolumePosition& Mult(const TVolumePosition& position) virtual void Paint(Option_t* option) virtual void Print(Option_t* option) const virtual TVolumePosition* Reset(TVolume* node = 0, Double_t x = 0, Double_t y = 0, Double_t z = 0, TRotMatrix* matrix = 0) virtual void SavePrimitive(ofstream& out, Option_t* option) virtual void SetId(UInt_t id) virtual void SetLineAttributes() virtual void SetMatrix(TRotMatrix* matrix = 0) Bool_t SetMatrixOwner(Bool_t ownerShips = kTRUE) virtual void SetNode(TVolume* node) virtual void SetPosition(Double_t x = 0, Double_t y = 0, Double_t z = 0) virtual void SetVisibility(Int_t vis = 1) virtual void SetX(Double_t x) virtual void SetY(Double_t y) virtual void SetZ(Double_t z) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual void UpdatePosition(Option_t* option)

Data Members


    protected:
Double_t fX[3] X offset with respect to parent object TRotMatrix* fMatrix Pointer to rotation matrix TVolume* fNode Refs pointer to the node defined UInt_t fId Unique ID of this position public:
static const TVolumePosition::EPositionBits kIsOwn

Class Description

*-*-*-*-*-*-*-*-* S T N O D E P O S I T I O N   description *-*-*-*-*-*-*-*-*-
*-*               ===========================
*-*
*-*    A TVolumePosition object is used to build the geometry hierarchy (see TGeometry).
*-*    A node may contain other nodes.
*-*
*-*    A geometry node has attributes:
*-*      - name and title
*-*      - pointer to the referenced shape (see TShape).
*-*      - x,y,z offset with respect to the mother node.
*-*      - pointer to the rotation matrix (see TRotMatrix).
*-*
*-*    A node can be drawn.
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

TVolumePosition(TVolume *node,Double_t x, Double_t y, Double_t z, const Text_t *matrixname) : fMatrix(0),fNode(node),fId(0)
*-*-*-*-*-*-*-*-*-*-*Node normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*                  ======================
*-*
*-*    name    is the name of the node
*-*    title   is title
*-*    x,y,z   are the offsets of the volume with respect to his mother
*-*    matrixname  is the name of the rotation matrix
*-*
*-*    This new node is added into the list of sons of the current node
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

TVolumePosition(TVolume *node,Double_t x, Double_t y, Double_t z, TRotMatrix *matrix) : fMatrix(matrix),fNode(node),fId(0)
*-*-*-*-*-*-*-*-*-*-*Node normal constructor*-*-*-*-*-*-*-*-*-*-*
*-*                  ================================
*-*
*-*    name    is the name of the node
*-*    title   is title
*-*    x,y,z   are the offsets of the volume with respect to his mother
*-*    matrix  is the pointer to the rotation matrix
*-*
*-*    This new node is added into the list of sons of the current node
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

TVolumePosition(const TVolumePosition&pos): TObject() , fMatrix(((TVolumePosition &)pos).GetMatrix()),fNode(pos.GetNode()),fId(pos.GetId())

~TVolumePosition()

void Browse(TBrowser *b)

Int_t DistancetoPrimitive(Int_t, Int_t)
*-*-*-*-*-*-*-*-*-*-*Compute distance from point px,py to a Node*-*-*-*-*-*
*-*                  ===========================================
*-*  Compute the closest distance of approach from point px,py to this node.
*-*  The distance is computed in pixels units.
*-*
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

void Draw(Option_t *option)
*-*-*-*-*-*-*-*-*-*-*-*Draw Referenced node with current parameters*-*-*-*
*-*                   =============================================

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
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Text_t* GetObjectInfo(Int_t, Int_t) const

Double_t* Errmx2Master(const Double_t *localError, Double_t *masterError) const

Float_t* Errmx2Master(const Float_t *localError, Float_t *masterError) const

Double_t* Cormx2Master(const Double_t *localCorr, Double_t *masterCorr)const

Float_t* Cormx2Master(const Float_t *localCorr, Float_t *masterCorr) const

Double_t* Errmx2Local(const Double_t *masterError, Double_t *localError) const

Float_t* Errmx2Local(const Float_t *masterError, Float_t *localError) const

Double_t* Cormx2Local(const Double_t *localCorr, Double_t *masterCorr) const

Float_t* Cormx2Local(const Float_t *localCorr, Float_t *masterCorr) const

Double_t* Local2Master(const Double_t *local, Double_t *master, Int_t nPoints) const
*-*-*-*-*Convert one point from local system to master reference system*-*-*
*-*      ==============================================================

  Note that before invoking this function, the global rotation matrix
  and translation vector for this node must have been computed.
  This is automatically done by the Paint functions.
  Otherwise TVolumePosition::UpdateMatrix should be called before.

Float_t* Local2Master(const Float_t *local, Float_t *master, Int_t nPoints) const
*-*-*-*Convert nPoints points from local system to master reference system*-*-*
*-*      ==============================================================

  Note that before invoking this function, the global rotation matrix
  and translation vector for this node must have been computed.
  This is automatically done by the Paint functions.
  Otherwise TVolumePosition::UpdateMatrix should be called before.


Double_t* Master2Local(const Double_t *master, Double_t *local, Int_t nPoints) const
*-*-*-*-*Convert one point from master system to local reference system*-*-*
*-*      ==============================================================

  Note that before invoking this function, the global rotation matrix
  and translation vector for this node must have been computed.
  This is automatically done by the Paint functions.
  Otherwise TVolumePosition::UpdateMatrix should be called before.

Float_t* Master2Local(const Float_t *master, Float_t *local, Int_t nPoints) const
*-*-*-*Convert nPoints points from master system to local reference system*-*-*
*-*      ==============================================================

  Note that before invoking this function, the global rotation matrix
  and translation vector for this node must have been computed.
  This is automatically done by the Paint functions.
  Otherwise TVolumePosition::UpdateMatrix should be called before.


void Paint(Option_t *)
*-*-*-*-*-*-*-*-*-*-*-*Paint Referenced node with current parameters*-*-*-*
*-*                   ==============================================
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

void Print(Option_t *) const

TVolumePosition* Reset(TVolume *node,Double_t x, Double_t y, Double_t z, TRotMatrix *matrix)
*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Reset this position *-*-*-*-*-*-*-*-*-*-*
*-*                           ===================
*-*    x,y,z   are the offsets of the volume with respect to his mother
*-*    matrix  is the pointer to the rotation matrix
*-*
*-*    This method is to re-use the memory this object without delete/create steps
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

void SavePrimitive(ofstream &, Option_t *)

void SetLineAttributes()

void SetMatrix(TRotMatrix *matrix)

void UpdatePosition(Option_t *)

void SetVisibility(Int_t vis)

TVolumePosition Mult(const TVolumePosition &curPosition)

void Streamer(TBuffer &R__b)
 Stream an object of class TVolumePosition.



Inline Functions


                     void DeleteOwnMatrix()
                TDataSet* DefineSet()
                 TVolume* GetNode() const
          const Option_t* GetOption() const
            const Char_t* GetName() const
        const TRotMatrix* GetMatrix() const
              TRotMatrix* GetMatrix()
                    Int_t GetVisibility() const
                 Double_t GetX(Int_t indx = 0) const
                 Double_t GetY() const
                 Double_t GetZ() const
                   UInt_t GetId() const
                   Bool_t IsMatrixOwner() const
                   Bool_t SetMatrixOwner(Bool_t ownerShips = kTRUE)
                   Bool_t IsFolder() const
                   Bool_t Is3D() const
                     void SetNode(TVolume* node)
                     void SetPosition(Double_t x = 0, Double_t y = 0, Double_t z = 0)
                     void SetX(Double_t x)
                     void SetY(Double_t y)
                     void SetZ(Double_t z)
                     void SetId(UInt_t id)
                  TClass* Class()
                  TClass* IsA() const
                     void ShowMembers(TMemberInspector& insp, char* parent)
                     void StreamerNVirtual(TBuffer& b)


Author: Valery Fine(fine@bnl.gov) 25/12/98
Last update: root/star:$Name: $:$Id: TVolumePosition.cxx,v 1.2 2003/01/27 20:41:37 brun Exp $


ROOT page - Class index - 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.