GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
TGo4HStackProxy.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 TGO4HSTACKPROXY_H
15#define TGO4HSTACKPROXY_H
16
17#include "TGo4Proxy.h"
18
19class THStack;
20
21class TGo4HStackProxy : public TGo4Proxy {
22 public:
24 TGo4HStackProxy(THStack *hs, Bool_t owner = kFALSE);
25 virtual ~TGo4HStackProxy();
26
27 Bool_t HasSublevels() const override { return fHS!=nullptr; }
28 Int_t GetObjectKind() const override;
29 const char *GetContainedClassName() const override;
30
31 void Initialize(TGo4Slot *slot) override;
32 void Finalize(TGo4Slot *slot) override;
33 Bool_t RemoveRegisteredObject(TObject *obj) override;
34
36 { return !fHS ? nullptr : ProduceIter(fHS); }
37
38 std::unique_ptr<TGo4Access> ProvideAccess(const char *name) override
39 { return CreateAccess(fHS, name); }
40
41 void WriteData(TGo4Slot *slot, TDirectory *dir, Bool_t onlyobjs) override;
42 void ReadData(TGo4Slot *slot, TDirectory *dir) override;
43
44 Bool_t IsAcceptObject(TClass *cl) const override;
45 Bool_t AssignObject(TGo4Slot *slot, TObject *obj, Bool_t owner) override;
46 TObject *GetAssignedObject() override;
47
48 static std::unique_ptr<TGo4Access> CreateAccess(THStack *hs, const char *name);
49 static TGo4LevelIter *ProduceIter(THStack *hs);
50
51 protected:
52 THStack *fHS{nullptr};
53 Bool_t fOwner{kFALSE};
54
56};
57
58#endif
Bool_t IsAcceptObject(TClass *cl) const override
ClassDefOverride(TGo4HStackProxy, 0)
void WriteData(TGo4Slot *slot, TDirectory *dir, Bool_t onlyobjs) override
TObject * GetAssignedObject() override
TGo4LevelIter * MakeIter() override
const char * GetContainedClassName() const override
void Finalize(TGo4Slot *slot) override
static TGo4LevelIter * ProduceIter(THStack *hs)
static std::unique_ptr< TGo4Access > CreateAccess(THStack *hs, const char *name)
virtual ~TGo4HStackProxy()
Bool_t RemoveRegisteredObject(TObject *obj) override
void ReadData(TGo4Slot *slot, TDirectory *dir) override
std::unique_ptr< TGo4Access > ProvideAccess(const char *name) override
void Initialize(TGo4Slot *slot) override
Bool_t AssignObject(TGo4Slot *slot, TObject *obj, Bool_t owner) override
Bool_t HasSublevels() const override
Int_t GetObjectKind() const override