1 #ifndef NPSTAT_NTUPLEREFERENCE_HH_
2 #define NPSTAT_NTUPLEREFERENCE_HH_
14 #include "geners/CPP11_auto_ptr.hh"
15 #include "geners/CPP11_shared_ptr.hh"
16 #include "geners/AbsReference.hh"
17 #include "geners/ClassId.hh"
26 template <
typename Ntuple>
32 const unsigned long long itemId)
33 : gs::AbsReference(ar, gs::ClassId::makeId<Ntuple>(),
34 "npstat::NtupleHeader", itemId) {}
38 const char* name,
const char* category)
39 : gs::AbsReference(ar, gs::ClassId::makeId<Ntuple>(),
40 "npstat::NtupleHeader", name, category) {}
44 const gs::SearchSpecifier& namePattern,
45 const gs::SearchSpecifier& categPattern)
46 : gs::AbsReference(ar, gs::ClassId::makeId<Ntuple>(),
47 "npstat::NtupleHeader",
48 namePattern, categPattern) {}
53 inline CPP11_auto_ptr<Ntuple>
get(
const unsigned long index)
const
54 {
return CPP11_auto_ptr<Ntuple>(getPtr(index));}
58 const unsigned long index)
const
59 {
return CPP11_shared_ptr<Ntuple>(getPtr(index));}
62 inline Ntuple* getPtr(
const unsigned long number)
const
65 const unsigned long long itemId = id(number);
67 readout = Ntuple::read(archive(),
68 this->positionInputStream(itemId),
Definition: NtupleReference.hh:28
NtupleReference(gs::AbsArchive &ar, const gs::SearchSpecifier &namePattern, const gs::SearchSpecifier &categPattern)
Definition: NtupleReference.hh:43
CPP11_shared_ptr< Ntuple > getShared(const unsigned long index) const
Definition: NtupleReference.hh:57
NtupleReference(gs::AbsArchive &ar, const char *name, const char *category)
Definition: NtupleReference.hh:37
NtupleReference(gs::AbsArchive &ar, const unsigned long long itemId)
Definition: NtupleReference.hh:31
CPP11_auto_ptr< Ntuple > get(const unsigned long index) const
Definition: NtupleReference.hh:53
Definition: AbsArrayProjector.hh:14