GSI Object Oriented Online Offline (Go4)  GO4-5.3.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TGo4Iter.h
Go to the documentation of this file.
1 // $Id: TGo4Iter.h 478 2009-10-29 12:26:09Z linev $
2 //-----------------------------------------------------------------------
3 // The GSI Online Offline Object Oriented (Go4) Project
4 // Experiment Data Processing at EE department, GSI
5 //-----------------------------------------------------------------------
6 // Copyright (C) 2000- GSI Helmholtzzentrum für Schwerionenforschung GmbH
7 // Planckstr. 1, 64291 Darmstadt, Germany
8 // Contact: http://go4.gsi.de
9 //-----------------------------------------------------------------------
10 // This software can be used under the license agreements as stated
11 // in Go4License.txt file which is part of the distribution.
12 //-----------------------------------------------------------------------
13 
14 #ifndef TGO4ITER_H
15 #define TGO4ITER_H
16 
17 #include "TGo4AccessWrapper.h"
18 
19 #include "TObject.h"
20 #include "TObjArray.h"
21 #include "TString.h"
22 
23 class TGo4Iter : public TGo4AccessWrapper {
24  public:
25  TGo4Iter(TGo4Slot* slot, Bool_t onlyslots = kFALSE);
26  virtual ~TGo4Iter();
27 
28  Bool_t next(Bool_t goesinto = kTRUE);
29  Bool_t nextobj();
30 
31  Bool_t isfolder();
32  const char* getname();
33  const char* getfullname();
34 
35  Int_t getkindofitem();
36  const char* getclassname();
37  const char* getinfo();
38  Int_t getsizeinfo();
39  Int_t getflag(const char* flagname);
40 
41  Int_t level() const;
42  Int_t levelchange() const { return fLevelChange; }
43  Bool_t isslot() const { return getslot()!=0; }
44  TGo4Slot* getslot() const;
45 
46  virtual TGo4Access* ProvideAccess(const char* name = 0);
47 
48  protected:
49  TGo4Iter();
50 
52  { return (fStatus!=0) ? 0 : (TGo4LevelIter*) fLevels.Last(); }
53 
55  Bool_t fOnlySlots;
56  TObjArray fLevels;
57  Int_t fStatus;
58  TString fFullName;
59  Int_t fLevelChange;
60 
61  ClassDef(TGo4Iter,1);
62 };
63 
64 #endif
const char * getinfo()
Definition: TGo4Iter.cxx:121
Int_t level() const
Definition: TGo4Iter.cxx:157
Bool_t nextobj()
Definition: TGo4Iter.cxx:102
TObjArray fLevels
Definition: TGo4Iter.h:56
virtual ~TGo4Iter()
Definition: TGo4Iter.cxx:40
TGo4Slot * fSlot
Definition: TGo4Iter.h:54
Bool_t isslot() const
Definition: TGo4Iter.h:43
Bool_t isfolder()
Definition: TGo4Iter.cxx:109
TGo4Slot * getslot() const
Definition: TGo4Iter.cxx:167
TGo4Iter()
Definition: TGo4Iter.cxx:19
const char * getclassname()
Definition: TGo4Iter.cxx:145
Int_t getflag(const char *flagname)
Definition: TGo4Iter.cxx:133
virtual TGo4Access * ProvideAccess(const char *name=0)
Definition: TGo4Iter.cxx:162
const char * getfullname()
Definition: TGo4Iter.cxx:152
Int_t fStatus
Definition: TGo4Iter.h:57
Int_t getkindofitem()
Definition: TGo4Iter.cxx:139
Bool_t fOnlySlots
Definition: TGo4Iter.h:55
const char * getname()
Definition: TGo4Iter.cxx:115
ClassDef(TGo4Iter, 1)
Int_t levelchange() const
Definition: TGo4Iter.h:42
TString fFullName
-1 start, 0 continue, 1 end
Definition: TGo4Iter.h:58
Int_t fLevelChange
Definition: TGo4Iter.h:59
TGo4LevelIter * currentiter() const
Definition: TGo4Iter.h:51
Bool_t next(Bool_t goesinto=kTRUE)
Definition: TGo4Iter.cxx:45
Int_t getsizeinfo()
Definition: TGo4Iter.cxx:127