GSI Object Oriented Online Offline (Go4) GO4-6.4.5
Loading...
Searching...
No Matches
TGo4Iter.h
Go to the documentation of this file.
1// $Id$
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 fuer 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 "TObjArray.h"
20#include "TString.h"
21
22class TGo4Iter : public TGo4AccessWrapper {
23 public:
24 TGo4Iter(TGo4Slot *slot, Bool_t onlyslots = kFALSE);
25 virtual ~TGo4Iter();
26
27 Bool_t next(Bool_t goesinto = kTRUE);
28 Bool_t nextobj();
29
30 Bool_t isfolder();
31 const char *getname();
32 const char *getfullname();
33
35 const char *getclassname();
36 const char *getinfo();
37 Int_t getsizeinfo();
38 Int_t getflag(const char *flagname);
39
40 Int_t level() const;
41 Int_t levelchange() const { return fLevelChange; }
42 Bool_t isslot() const { return getslot() != nullptr; }
43 TGo4Slot *getslot() const;
44
45 std::unique_ptr<TGo4Access> ProvideAccess(const char *name = nullptr) override;
46
47 protected:
49
51 {
52 return fStatus != 0 ? nullptr : static_cast<TGo4LevelIter *>(fLevels.Last());
53 }
54
55 TGo4Slot *fSlot{nullptr};
56 Bool_t fOnlySlots{kFALSE};
57 TObjArray fLevels;
58 Int_t fStatus{0};
59 TString fFullName;
60 Int_t fLevelChange{0};
61
63};
64
65#endif
Bool_t nextobj()
TGo4Slot * fSlot
Definition TGo4Iter.h:55
Bool_t isfolder()
std::unique_ptr< TGo4Access > ProvideAccess(const char *name=nullptr) override
Int_t getsizeinfo()
Bool_t isslot() const
Definition TGo4Iter.h:42
const char * getinfo()
Bool_t fOnlySlots
Definition TGo4Iter.h:56
Bool_t next(Bool_t goesinto=kTRUE)
Int_t level() const
const char * getname()
const char * getfullname()
TObjArray fLevels
Definition TGo4Iter.h:57
virtual ~TGo4Iter()
Int_t getkindofitem()
TGo4Iter(TGo4Slot *slot, Bool_t onlyslots=kFALSE)
Int_t fLevelChange
Definition TGo4Iter.h:60
TGo4Slot * getslot() const
Definition TGo4Iter.cxx:166
const char * getclassname()
TString fFullName
-1 start, 0 continue, 1 end
Definition TGo4Iter.h:59
ClassDefOverride(TGo4Iter, 0)
TGo4LevelIter * currentiter() const
Definition TGo4Iter.h:50
Int_t getflag(const char *flagname)
Int_t fStatus
Definition TGo4Iter.h:58
Int_t levelchange() const
Definition TGo4Iter.h:41