library: libGeom
#include "TGeoPhysicalNode.h"

TGeoPhysicalNode


class description - header file - source file - inheritance tree (.pdf)

class TGeoPhysicalNode : public TObject, public TAttLine

Inheritance Chart:
TObject
TAttLine
<-
TGeoPhysicalNode

    protected:
TGeoPhysicalNode(const TGeoPhysicalNode&) TGeoPhysicalNode& operator=(const TGeoPhysicalNode&) void SetAligned(Bool_t flag = kTRUE) public:
TGeoPhysicalNode() TGeoPhysicalNode(const char* path) virtual ~TGeoPhysicalNode() void Align(TGeoMatrix* newmat = 0, TGeoShape* newshape = 0, Bool_t check = kFALSE) void cd() const static TClass* Class() virtual void Draw(Option_t* option = "") Int_t GetLevel() const TGeoHMatrix* GetMatrix(Int_t level = -1) const TGeoNode* GetMother(Int_t levup = 1) const virtual const char* GetName() const TGeoNode* GetNode(Int_t level = -1) const TGeoHMatrix* GetOriginalMatrix() const TGeoShape* GetShape(Int_t level = -1) const TGeoVolume* GetVolume(Int_t level = -1) const virtual TClass* IsA() const Bool_t IsAligned() const Bool_t IsVisible() const Bool_t IsVisibleFull() const Bool_t IsVolAttributes() const virtual void Paint(Option_t* option = "") void SetBranchAsState() void SetIsVolAtt(Bool_t flag = kTRUE) Bool_t SetPath(const char* path) void SetVisibility(Bool_t flag = kTRUE) void SetVisibleFull(Bool_t flag = kTRUE) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
Int_t fLevel depth in the geometry tree TObjArray* fMatrices global transformation matrices TObjArray* fNodes branch of nodes TGeoHMatrix* fMatrixOrig original local matrix of the last node in the path public:
static const enum TGeoPhysicalNode:: kGeoPNodeFull static const enum TGeoPhysicalNode:: kGeoPNodeVisible static const enum TGeoPhysicalNode:: kGeoPNodeVolAtt static const enum TGeoPhysicalNode:: kGeoPNodeAligned

Class Description

 TGeoPhysicalNode
_________
TGeoPhysicalNode()
 Default constructor
TGeoPhysicalNode(const char *path)
 Constructor
TGeoPhysicalNode(const TGeoPhysicalNode& gpn)
copy constructor
TGeoPhysicalNode& operator=(const TGeoPhysicalNode& gpn)
assignment operator
~TGeoPhysicalNode()
 Destructor
void Align(TGeoMatrix *newmat, TGeoShape *newshape, Bool_t check)
 Align a physical node with a new relative matrix/shape.
 Example: /TOP_1/A_1/B_1/C_1
    node->Align(transl_1, box) will perform:
    - change RELATIVE translation of C_1 node (with respect to its
      container volume B) to transl_1
    - change the shape of the C volume
 *NOTE* The operations will affect ONLY the LAST node in the branch. All
   volumes/nodes in the branch represented by this physical node are
   CLONED so the operation does not affect other possible replicas.
void cd()
TGeoNode * GetMother(Int_t levup)
 Return parent at LEVUP generation
TGeoHMatrix * GetMatrix(Int_t level)
 Return global matrix for node at LEVEL.
const char * GetName()
 Retreive the name of this physical node
TGeoNode * GetNode(Int_t level)
 Return node in branch at LEVEL. If not specified, return last leaf.
TGeoVolume * GetVolume(Int_t level)
 Return volume associated with node at LEVEL in the branch
TGeoShape * GetShape(Int_t level)
 Return shape associated with volume.
void SetBranchAsState()
 Set node branch according to current state
Bool_t SetPath(const char *path)
 Specify the path for this node.
void SetAligned(Bool_t flag=kTRUE)
void Draw(Option_t *option="")
Int_t GetLevel()
Bool_t IsAligned()
Bool_t IsVolAttributes()
Bool_t IsVisible()
Bool_t IsVisibleFull()
void SetIsVolAtt(Bool_t flag=kTRUE)
void SetVisibility(Bool_t flag=kTRUE)
void SetVisibleFull(Bool_t flag=kTRUE)
void Paint(Option_t *option = "")

Author: Andrei Gheata 17/02/04
Last update: root/geom:$Name: $:$Id: TGeoPhysicalNode.cxx,v 1.18 2006/07/09 05:27:53 brun 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.