StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
TVolumeViewIter.h
1 // @(#)root/table:$Id$
2 // Author: Valery Fine(fine@bnl.gov) 25/01/99
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TVolumeViewIter
13 #define ROOT_TVolumeViewIter
14 
15 #include "TDataSetIter.h"
16 #include "TVolumePosition.h"
17 
18 class TObjArray;
19 class TVolumeView;
20 
21 class TVolumeViewIter : public TDataSetIter {
22 private:
23 protected:
24  friend class TVolumeView;
25  TObjArray *fPositions; // the array of the Node position in the absolute system
26  virtual const TVolumePosition *GetPosition(Int_t level=0) const;
27  virtual TVolumePosition *SetPositionAt(TVolume *node,Double_t x=0, Double_t y=0, Double_t z=0, TRotMatrix *matrix=0);
28  virtual TVolumePosition *SetPositionAt(TVolumePosition &curPosition);
29 public:
30  TVolumeViewIter(TVolumeView *view, Int_t depth=1, Bool_t dir=kIterForward);
32  virtual Bool_t Notify();
33  virtual void Notify(TDataSet *set);
34  virtual void Reset(TDataSet *l=0,Int_t depth=0);
35 
36  virtual TDataSet *operator[](const Char_t *path);
37  TVolumePosition *operator[](Int_t level);
38 
40  void ResetPosition(Int_t level=0, TVolumePosition *newPosition=0);
41  ClassDef(TVolumeViewIter,0) // Volume view iterator
42 };
43 
44 inline Bool_t TVolumeViewIter::Notify() { return TDataSetIter::Notify();}
45 inline TDataSet *TVolumeViewIter::operator[](const Char_t *path)
46 {return TDataSetIter::operator[](path); }
47 
48 #endif
49 
TVolumePosition * UpdateTempMatrix(TVolumePosition *curPosition)
Pick the "old" position by pieces.
void ResetPosition(Int_t level=0, TVolumePosition *newPosition=0)
to be documented
~TVolumeViewIter()
to be documented
virtual void Reset(TDataSet *l=0, Int_t depth=0)
to be documented
virtual TDataSet * operator[](const Char_t *path)
virtual const TVolumePosition * GetPosition(Int_t level=0) const
to be documented
virtual TDataSet * operator[](const Char_t *path)
TVolumeViewIter(TVolumeView *view, Int_t depth=1, Bool_t dir=kIterForward)
to be documented
virtual TVolumePosition * SetPositionAt(TVolume *node, Double_t x=0, Double_t y=0, Double_t z=0, TRotMatrix *matrix=0)
to be documented