GSI Object Oriented Online Offline (Go4)  GO4-6.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TGo4FolderProxy.h
Go to the documentation of this file.
1 // $Id: TGo4FolderProxy.h 2627 2019-10-01 08:02:45Z 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 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 TGO4FOLDERPROXY_H
15 #define TGO4FOLDERPROXY_H
16 
17 #include "TGo4Proxy.h"
18 #include "TString.h"
19 
20 class TFolder;
21 
22 class TGo4FolderProxy : public TGo4Proxy {
23  public:
25  TGo4FolderProxy(TFolder* f, Bool_t owner = kFALSE, const char* roofolder = "");
26  virtual ~TGo4FolderProxy();
27 
28  virtual Bool_t HasSublevels() const { return fFolder!=0; }
29 
31  { return (fFolder==0) ? 0 : ProduceIter(fFolder); }
32 
33  virtual TGo4Access* ProvideAccess(const char* name)
34  { return CreateAccess(fFolder, name); }
35 
36  virtual void WriteData(TGo4Slot* slot, TDirectory* dir, Bool_t onlyobjs);
37  virtual void ReadData(TGo4Slot* slot, TDirectory* dir);
38 
39  virtual Int_t GetObjectKind();
40  virtual const char* GetContainedClassName();
41 
42  static TFolder* LocateROOTFolder(const char* rootfolder);
43  static TGo4Access* CreateAccess(TFolder* folder, const char* name);
44  static TGo4LevelIter* ProduceIter(TFolder* folder);
45 
46  protected:
47  TFolder* fFolder;
48  Bool_t fOwner;
49  TString fRootFolderName;
50 
52 };
53 
54 #endif
55 
virtual TGo4Access * ProvideAccess(const char *name)
virtual void ReadData(TGo4Slot *slot, TDirectory *dir)
TString fRootFolderName
virtual Bool_t HasSublevels() const
static TFolder * LocateROOTFolder(const char *rootfolder)
ClassDef(TGo4FolderProxy, 1)
static TGo4Access * CreateAccess(TFolder *folder, const char *name)
virtual TGo4LevelIter * MakeIter()
virtual const char * GetContainedClassName()
virtual Int_t GetObjectKind()
virtual ~TGo4FolderProxy()
virtual void WriteData(TGo4Slot *slot, TDirectory *dir, Bool_t onlyobjs)
static TGo4LevelIter * ProduceIter(TFolder *folder)