library: libTable #include "TVolumePosition.h" |
TVolumePosition
class description - header file - source file - inheritance tree (.pdf)
protected:
void DeleteOwnMatrix()
public:
TVolumePosition(TVolume* node = 0, Double_t x = 0, Double_t y = 0, Double_t z = 0, TRotMatrix* matrix = 0)
TVolumePosition(TVolume* node, Double_t x, Double_t y, Double_t z, const Text_t* matrixname)
TVolumePosition(const TVolumePosition* oldPosition, const TVolumePosition* curPosition)
TVolumePosition(const TVolumePosition& pos)
virtual ~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 Option_t* GetOption() const
Int_t GetVisibility() const
virtual Double_t GetX(Int_t indx = 0) const
virtual const Double_t* GetXYZ() 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)
TVolumePosition& operator=(const TVolumePosition& rhs)
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(ostream& 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 SetXYZ(Double_t* xyz = 0)
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 = "")
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
______________________________________________________________________________
*-*-*-*-*-*-*-*-* 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)
*-*-*-*-*-*-*-*-*-*-*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)
*-*-*-*-*-*-*-*-*-*-*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
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
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
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Double_t * Local2Master(const Double_t *local, Double_t *master, Int_t nPoints)
*-*-*-*-*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)
*-*-*-*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)
*-*-*-*-*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)
*-*-*-*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*-*-*-*
*-* ==============================================
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
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
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
______________________________________________________________________________
Author: Valery Fine(fine@bnl.gov) 25/12/98
Last update: root/table:$Name: $:$Id: TVolumePosition.cxx,v 1.9 2006/07/11 09:05:02 rdm 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.