TVolumeViewIter.h

Go to the documentation of this file.
00001 // @(#)root/table:$Id: TVolumeViewIter.h 20882 2007-11-19 11:31:26Z rdm $
00002 // Author: Valery Fine(fine@bnl.gov)   25/01/99
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef ROOT_TVolumeViewIter
00013 #define ROOT_TVolumeViewIter
00014 
00015 #include "TDataSetIter.h"
00016 #include "TVolumePosition.h"
00017 
00018 class TObjArray;
00019 class TVolumeView;
00020 
00021 class TVolumeViewIter : public TDataSetIter {
00022 private:
00023 protected:
00024    friend class TVolumeView;
00025    TObjArray    *fPositions; // the array of the Node position in the absolute system
00026    virtual const TVolumePosition *GetPosition(Int_t level=0) const;
00027    virtual TVolumePosition *SetPositionAt(TVolume *node,Double_t x=0, Double_t y=0, Double_t z=0, TRotMatrix *matrix=0);
00028    virtual TVolumePosition *SetPositionAt(TVolumePosition &curPosition);
00029 public:
00030    TVolumeViewIter(TVolumeView *view, Int_t depth=1, Bool_t dir=kIterForward);
00031    ~TVolumeViewIter();
00032    virtual Bool_t          Notify();
00033    virtual void            Notify(TDataSet *set);
00034    virtual void            Reset(TDataSet *l=0,Int_t depth=0);
00035 
00036    virtual TDataSet       *operator[](const Char_t *path);
00037    TVolumePosition        *operator[](Int_t level);
00038 
00039    TVolumePosition        *UpdateTempMatrix(TVolumePosition *curPosition);
00040    void                    ResetPosition(Int_t level=0, TVolumePosition *newPosition=0);
00041    ClassDef(TVolumeViewIter,0)  // Volume view iterator
00042 };
00043 
00044 inline Bool_t  TVolumeViewIter::Notify() { return TDataSetIter::Notify();}
00045 inline TDataSet  *TVolumeViewIter::operator[](const Char_t *path)
00046 {return TDataSetIter::operator[](path); }
00047 
00048 #endif
00049 

Generated on Tue Jul 5 14:28:30 2011 for ROOT_528-00b_version by  doxygen 1.5.1