TGeoNodeOffset


class description - source file - inheritance tree

class TGeoNodeOffset : public TGeoNode


    public:
TGeoNodeOffset TGeoNodeOffset() TGeoNodeOffset TGeoNodeOffset(TGeoVolume* vol, Int_t index, Double_t offset) TGeoNodeOffset TGeoNodeOffset(const TGeoNodeOffset&) virtual void ~TGeoNodeOffset() virtual void cd() const static TClass* Class() virtual TGeoPatternFinder* GetFinder() const virtual Int_t GetIndex() const virtual TGeoMatrix* GetMatrix() const Double_t GetOffset() const virtual TClass* IsA() const virtual TGeoNode* MakeCopyNode() const void SetFinder(TGeoPatternFinder* finder) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
Double_t fOffset X offset for this node with respect to its mother Int_t fIndex index of this node in the division TGeoPatternFinder* fFinder finder for this node

Class Description

 TGeoNode
----------
   Nodes are positioned volumes. They have a pointer to the corresponding
 volume. Nodes always belong to a mother container volume, so they also
 have a pointer to this. The base class for nodes is TGeoNode, describing only
 the logical tree. The position of the node with respect to its mother is
 defined by classes deriving from TGeoNode and is stored as a transformation
 matrix by TGeoNodeMatrix or just an offset by division nodes (TGeoNodeXXX).
   Nodes are invisible to user at build time : to create a node one has only
 to call TGeoVolume::AddNode() or TGeoVolume::Divide() methods. In the first
 case, the volume pointed by the node and the geometrical transformation with
 respect to the mother must be created a priori :

   TGeoVolume *vol = new TGeoSphere("SPH", 200, 400);
   TGeoVolume *mother = gGeoManager->MakeBox("HALL", "mat1", 1000, 1000, 3000);
   TGeoTranslation *t1 = new TGeoTranslation(0, 0, 300);
   mother->AddNode(vol, t1);

   The last line will create a branch : HALL->SPH . A node named SPH:0 will
 be created. If trying to place the same volume many times inside the same
 mother, the automatic naming scheme for the corresponding nodes is just
 appending <:copy_number> to the name of the volume. Therefore :

   TGeoTranslation *t2 = new TGeoTranslation(0,0,-300);
   mother->AddNode(vol, t2);

 will create a TGeoNodeMatrix named SPH:1 inside HALL.

   When creating division nodes (TGeoVolume::Divide()), one has to specify the
 number of divisions, optionally the range for dividing and an string option
 specifying the division type. A list of TGeoNodeOffset will be generated :

   mother->Divide(5, "X");

 will create five TGeoNodeOffset nodes, pointing to the same basic cell volume
 which is automatically generated :

   HALL:0 --|
   HALL:1 --|
   HALL:2 --|---> HALL_C = gGeoManager->MakeBox("HALL_C", "mat1", 200, 1000, 3000)
   HALL:3 --|
   HALL:4 --|

   One can subsequently add usual nodes inside HALL_C cell or divide it, and the
 action will affect all nodes HALL:i .
   If the basic cell volumes coming from a division operation are not identical,
 a volume will be generated per division node, and the naming sheme for them
 will be HALL_d1, HALL_d2, ... .

 Browsing nodes. (to be added)

 Node flags.(to be added)


/*

*/


TGeoNodeOffset()
 Default constructor

TGeoNodeOffset(TGeoVolume *vol, Int_t index, Double_t offset) : TGeoNode(vol)
 Constructor. Null pointer to matrix means identity transformation

~TGeoNodeOffset()
 Destructor

Int_t GetIndex() const

TGeoNode* MakeCopyNode() const
 make a copy of this node



Inline Functions


                      void cd() const
                  Double_t GetOffset() const
        TGeoPatternFinder* GetFinder() const
               TGeoMatrix* GetMatrix() const
                      void SetFinder(TGeoPatternFinder* finder)
                   TClass* Class()
                   TClass* IsA() const
                      void ShowMembers(TMemberInspector& insp, char* parent)
                      void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)
            TGeoNodeOffset TGeoNodeOffset(const TGeoNodeOffset&)


Author: Andrei Gheata 24/10/01
Last update: root/geom:$Name: $:$Id: TGeoNode.cxx,v 1.7 2002/09/27 16:16:06 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


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.