An interface for reading collections stored in ROOT columnar datasets.
The TTreeReaderArray is a type-safe tool to be used in association with a TTreeReader to access the collections stored in TTree, TNtuple and TChain datasets. In order to access values which are not collections, the TTreeReaderValue class can be used.
See the documentation of TTreeReader for more details and examples.
Definition at line 104 of file TTreeReaderArray.h.
Classes | |
| class | Iterator_t |
| Random access iterator to the elements of a TTreeReaderArray. More... | |
Public Types | |
| using | const_iterator = Iterator_t<const TTreeReaderArray<T>> |
| using | iterator = Iterator_t<TTreeReaderArray<T>> |
Public Types inherited from ROOT::Internal::TTreeReaderValueBase | |
| typedef bool(ROOT::Detail::TBranchProxy::* | BranchProxyRead_t) () |
| enum | EReadStatus { kReadSuccess = 0 , kReadNothingYet , kReadError } |
| enum | ESetupStatus { kSetupMatchButEntryBeyondEnd , kSetupMakeClassModeMismatch = -9 , kSetupTreeDestructed = -8 , kSetupNotSetup = -7 , kSetupMissingCounterBranch = -6 , kSetupMissingBranch = -5 , kSetupInternalError = -4 , kSetupMissingDictionary = -3 , kSetupMismatch = -2 , kSetupNotACollection = -1 , kSetupMatch , kSetupNoCheck = 5 , kSetupMatchLeaf = 6 , kSetupMatchBranch } |
| Status flags, 0 is good. More... | |
Public Member Functions | |
| TTreeReaderArray (TTreeReader &tr, const char *branchname) | |
| Create an array reader of branch "branchname" for TTreeReader "tr". | |
| T & | At (std::size_t idx) |
| const T & | At (std::size_t idx) const |
| iterator | begin () |
| const_iterator | begin () const |
| const_iterator | cbegin () const |
| const_iterator | cend () const |
| iterator | end () |
| const_iterator | end () const |
| T & | operator[] (std::size_t idx) |
| const T & | operator[] (std::size_t idx) const |
Public Member Functions inherited from ROOT::Internal::TTreeReaderArrayBase | |
| TTreeReaderArrayBase (TTreeReader *reader, const char *branchname, TDictionary *dict) | |
| EReadStatus | GetReadStatus () const override |
| std::size_t | GetSize () const |
| std::size_t | GetValueSize () const |
Returns the sizeof of the collection value type. Returns 0 in case the value size could not be retrieved. | |
| bool | IsContiguous () const |
| bool | IsEmpty () const |
Public Member Functions inherited from ROOT::Internal::TTreeReaderValueBase | |
| virtual | ~TTreeReaderValueBase () |
| Unregister from tree reader, cleanup. | |
| void * | GetAddress () |
| Returns the memory address of the object being read. | |
| const char * | GetBranchName () const |
| TLeaf * | GetLeaf () |
| If we are reading a leaf, return the corresponding TLeaf. | |
| ESetupStatus | GetSetupStatus () const |
| Return this TTreeReaderValue's setup status. | |
| bool | IsValid () const |
| Return true if the branch was setup and read correctly. | |
| EReadStatus | ProxyRead () |
| EReadStatus | ProxyReadDefaultImpl () |
| template<BranchProxyRead_t Func> | |
| ROOT::Internal::TTreeReaderValueBase::EReadStatus | ProxyReadTemplate () |
| Try to read the value from the TBranchProxy, returns the status of the read. | |
Additional Inherited Members | |
Protected Types inherited from ROOT::Internal::TTreeReaderValueBase | |
| typedef EReadStatus(TTreeReaderValueBase::* | Read_t) () |
Static Protected Member Functions inherited from ROOT::Internal::TTreeReaderValueBase | |
| static const char * | GetBranchDataType (TBranch *branch, TDictionary *&dict, TDictionary const *curDict) |
| Retrieve the type of data stored by branch; put its dictionary into dict, return its type name. | |
| static std::string | GetElementTypeName (const std::type_info &ti) |
| Stringify the template argument. | |
Protected Attributes inherited from ROOT::Internal::TTreeReaderArrayBase | |
| std::unique_ptr< TVirtualCollectionReader > | fImpl |
Protected Attributes inherited from ROOT::Internal::TTreeReaderValueBase | |
| TString | fBranchName |
| Name of the branch to read data from. | |
| TDictionary * | fDict |
| Type that the branch should contain. | |
| bool | fHaveLeaf: 1 |
| Whether the data is in a leaf. | |
| bool | fHaveStaticClassOffsets: 1 |
| Whether !fStaticClassOffsets.empty() | |
| TLeaf * | fLeaf = nullptr |
| TString | fLeafName |
| bool | fOpaqueRead {false} |
| If true, the reader will not do any type-checking against the actual type held by the branch. | |
| Detail::TBranchProxy * | fProxy = nullptr |
| Proxy for this branch, owned by TTreeReader. | |
| Read_t | fProxyReadFunc = &TTreeReaderValueBase::ProxyReadDefaultImpl |
| ! Pointer to the Read implementation to use. | |
| EReadStatus | fReadStatus: 2 |
| Read status of this data access. | |
| ESetupStatus | fSetupStatus = kSetupNotSetup |
| Setup status of this data access. | |
| std::vector< Long64_t > | fStaticClassOffsets |
| TTreeReader * | fTreeReader |
| Tree reader we belong to. | |
#include <TTreeReaderArray.h>
| using TTreeReaderArray< T >::const_iterator = Iterator_t<const TTreeReaderArray<T>> |
Definition at line 230 of file TTreeReaderArray.h.
| using TTreeReaderArray< T >::iterator = Iterator_t<TTreeReaderArray<T>> |
Definition at line 229 of file TTreeReaderArray.h.
|
inline |
Create an array reader of branch "branchname" for TTreeReader "tr".
Definition at line 233 of file TTreeReaderArray.h.
|
inline |
Definition at line 238 of file TTreeReaderArray.h.
|
inline |
Definition at line 239 of file TTreeReaderArray.h.
|
inline |
Definition at line 243 of file TTreeReaderArray.h.
|
inline |
Definition at line 245 of file TTreeReaderArray.h.
|
inline |
Definition at line 247 of file TTreeReaderArray.h.
|
inline |
Definition at line 248 of file TTreeReaderArray.h.
|
inline |
Definition at line 244 of file TTreeReaderArray.h.
|
inline |
Definition at line 246 of file TTreeReaderArray.h.
|
inlineoverrideprotectedvirtual |
Implements ROOT::Internal::TTreeReaderValueBase.
Definition at line 252 of file TTreeReaderArray.h.
|
inline |
Definition at line 240 of file TTreeReaderArray.h.
|
inline |
Definition at line 241 of file TTreeReaderArray.h.