library: libTable #include "TVolumeViewIter.h"

# TVolumeViewIter

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

## class TVolumeViewIter : public TDataSetIter

| Inheritance Chart:
`TObject`
| <- | `TDataSetIter`
| <- | `TVolumeViewIter` |

        protected:

          virtual const TVolumePosition* GetPosition(Int_t level = 0) const
                virtual TVolumePosition* SetPositionAt(TVolume* node, Double_t x = 0, Double_t y = 0, Double_t z = 0, TRotMatrix* matrix = 0)
                virtual TVolumePosition* SetPositionAt(TVolumePosition& curPosition)

        public:

                            TVolumeViewIter(TVolumeView* view, Int_t depth = 1, Bool_t dir = kIterForward)
                            TVolumeViewIter(const TVolumeViewIter&)
                            ~TVolumeViewIter()
             static TClass* Class()
            virtual TClass* IsA() const
             virtual Bool_t Notify()
               virtual void Notify(TDataSet* set)
           TVolumeViewIter& operator=(const TVolumeViewIter&)
          virtual TDataSet* operator[](const Char_t* path)
           TVolumePosition* operator[](Int_t level)
               virtual void Reset(TDataSet* l = 0, Int_t depth = 0)
                       void ResetPosition(Int_t level = 0, TVolumePosition* newPosition = 0)
               virtual void ShowMembers(TMemberInspector& insp, char* parent)
               virtual void Streamer(TBuffer& b)
                       void StreamerNVirtual(TBuffer& b)
           TVolumePosition* UpdateTempMatrix(TVolumePosition* curPosition)

### Data Members

        protected:

          TObjArray* fPositions  the array of the Node position in the absolute system

## Class Description

       TVolumeViewIter is a special class-iterator to
       iterate over GEANT geometry dataset TVolumeView.
       Class should provide a "standard" well-known
       "TDataSetIter" interface to navigate and access
       the geometry information supplied by Tgeant_Maker
       as the TVolume object. Apart of the the base
       TDataSetIter this special class may supply
       not only pointer to the selected dataset but some
       "position" information (like translate vectors and
       rotation matrice).

TVolumeViewIter(TVolumeView *view, Int_t depth, Bool_t dir): TDataSetIter(view,depth,dir),fPositions(0)

~TVolumeViewIter()

const TVolumePosition* GetPosition(Int_t level) const

void Notify(TDataSet *set)

TVolumePosition* UpdateTempMatrix(TVolumePosition *curPosition)

     Pick the "old" position by pieces

void ResetPosition(Int_t level, TVolumePosition *newPosition)

void Reset(TDataSet *l,Int_t depth)

TVolumePosition* SetPositionAt(TVolume *node,Double_t x, Double_t y, Double_t z, TRotMatrix *matrix)

TVolumePosition* SetPositionAt(TVolumePosition &curPosition)

### Inline Functions

                        void Notify(TDataSet* set)
                   TDataSet* operator[](const Char_t* path)
            TVolumePosition* operator[](Int_t level)
                     TClass* Class()
                     TClass* IsA() const
                        void ShowMembers(TMemberInspector& insp, char* parent)
                        void Streamer(TBuffer& b)
                        void StreamerNVirtual(TBuffer& b)
             TVolumeViewIter TVolumeViewIter(const TVolumeViewIter&)
            TVolumeViewIter& operator=(const TVolumeViewIter&)

Author: Valery Fine(fine@bnl.gov) 25/01/99
Last update: root/star:$Name: $:$Id: TVolumeViewIter.cxx,v 1.3 2003/08/14 12:02:20 brun Exp $