class TVolumePosition: public TObject

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

Function Members (Methods)

public:
TVolumePosition(const TVolumePosition& pos)
TVolumePosition(const TVolumePosition* oldPosition, const TVolumePosition* curPosition)
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)
virtual~TVolumePosition()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidBrowse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
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 voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tDistancetoPrimitive(Int_t px, Int_t py)
virtual voidDraw(Option_t* depth = "3")MENU
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
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 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 TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual UInt_tGetId() 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
static Bool_tTObject::GetObjectStat()
virtual Option_t*GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Int_tGetVisibility() const
virtual Double_tGetX(Int_t indx = 0) const
virtual const Double_t*GetXYZ() const
virtual Double_tGetY() const
virtual Double_tGetZ() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
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
voidTObject::InvertBit(UInt_t f)
virtual Bool_tIs3D() const
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tIsFolder() const
Bool_tIsMatrixOwner() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() 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 voidTObject::ls(Option_t* option = "") 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
voidTObject::MayNotUse(const char* method) const
virtual TVolumePosition&Mult(const TVolumePosition& position)
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)
TVolumePosition&operator=(const TVolumePosition& rhs)
virtual voidPaint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual TVolumePosition*Reset(TVolume* node = 0, Double_t x = 0, Double_t y = 0, Double_t z = 0, TRotMatrix* matrix = 0)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidSavePrimitive(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 voidSetId(UInt_t id)
virtual voidSetLineAttributes()MENU
virtual voidSetMatrix(TRotMatrix* matrix = 0)
Bool_tSetMatrixOwner(Bool_t ownerShips = kTRUE)
virtual voidSetNode(TVolume* node)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetPosition(Double_t x = 0, Double_t y = 0, Double_t z = 0)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidSetVisibility(Int_t vis = 1)MENU
virtual voidSetX(Double_t x)
virtual voidSetXYZ(Double_t* xyz = 0)
virtual voidSetY(Double_t y)
virtual voidSetZ(Double_t z)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
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 voidUpdatePosition(Option_t* option = "")
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
voidDeleteOwnMatrix()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum EPositionBits { kIsOwn
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
UInt_tfIdUnique ID of this position
TRotMatrix*fMatrixPointer to rotation matrix
TVolume*fNodeRefs pointer to the node defined
Double_tfX[3]X offset with respect to parent object

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

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
-
TVolumePosition(const TVolumePosition* oldPosition, const TVolumePosition* curPosition)
 Pick the "old" position by pieces
TVolumePosition(const TVolumePosition& pos)
to be documented
~TVolumePosition()
to be documented
void Browse(TBrowser* b)
to be documented
Int_t DistancetoPrimitive(Int_t px, Int_t py)
-*-*-*-*-*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* depth = "3")
-*-*-*-*-*-*-*-*Draw Referenced node with current parameters
*-*                   =============================================
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
*
const Char_t * GetName()
return VolumePosition name
Text_t * GetObjectInfo(Int_t px, Int_t py) const
to be documented
Double_t * Errmx2Master(const Double_t *localError, Double_t *masterError)
to be documented
Float_t * Errmx2Master(const Float_t *localError, Float_t *masterError)
to be documented
Double_t * Cormx2Master(const Double_t *localCorr, Double_t *masterCorr)
to be documented
Float_t * Cormx2Master(const Float_t *localCorr, Float_t *masterCorr)
to be documented
Double_t * Errmx2Local(const Double_t *masterError, Double_t *localError)
to be documented
Float_t * Errmx2Local(const Float_t *masterError, Float_t *localError)
to be documented
Double_t * Cormx2Local(const Double_t *localCorr, Double_t *masterCorr)
to be documented
Float_t * Cormx2Local(const Float_t *localCorr, Float_t *masterCorr)
to be documented
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* option = "")
-*-*-*-*-*-*-*-*Paint Referenced node with current parameters
*-*                   ==============================================
*
void Print(Option_t* option = "") const
to be documented
TVolumePosition * Reset(TVolume* node = 0, Double_t x = 0, Double_t y = 0, Double_t z = 0, TRotMatrix* matrix = 0)
-*-*-*-* 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(ostream& out, Option_t* option = "")
to be documented
void SetLineAttributes()
to be documented
void SetMatrix(TRotMatrix* matrix = 0)
to be documented
void UpdatePosition(Option_t* option = "")
to be documented
void SetVisibility(Int_t vis = 1)
to be documented
TVolumePosition & Mult(const TVolumePosition& position)
void SetXYZ(Double_t* xyz = 0)
to be documented
void Streamer(TBuffer& b)
 Stream an object of class TVolumePosition.
TDataSet * DefineSet()
{ return GetNode(); }
void DeleteOwnMatrix()
TRotMatrix * GetMatrix()
{ return fMatrix; }
const TRotMatrix * GetMatrix()
{ return fMatrix; }
Bool_t SetMatrixOwner(Bool_t ownerShips = kTRUE)
Bool_t IsMatrixOwner()
TVolumePosition & operator=(const TVolumePosition& rhs)
TVolume * GetNode()
{return fNode;}
const Option_t * GetOption()
{ return GetNode()?GetNode()->GetOption():0;}
Int_t GetVisibility()
{return GetNode()?GetNode()->GetVisibility():0;}
Double_t GetX(Int_t indx = 0) const
{return fX[indx];}
const Double_t * GetXYZ()
{return fX;}
Double_t GetY()
{return fX[1];}
Double_t GetZ()
{return fX[2];}
UInt_t GetId()
{return fId;}
Bool_t IsFolder()
{return GetNode()?kTRUE:kFALSE;}
Bool_t Is3D()
{return kTRUE;}
void SetNode(TVolume* node)
{ fNode = node;}
void SetPosition(Double_t x = 0, Double_t y = 0, Double_t z = 0)
{fX[0]=x; fX[1]=y; fX[2]=z;}
void SetX(Double_t x)
{ fX[0] = x;}
void SetY(Double_t y)
{ fX[1] = y;}
void SetZ(Double_t z)
{ fX[2] = z;}
void SetId(UInt_t id)
{fId = id;}

Author: Valery Fine(fine@bnl.gov) 25/12/98
Last change: root/table:$Id: TVolumePosition.h 20882 2007-11-19 11:31:26Z rdm $
Last generated: 2008-06-25 08:55
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *

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.