Base class of TTreeReaderValue.
Definition at line 44 of file TTreeReaderValue.h.
Public Types | |
typedef bool(ROOT::Detail::TBranchProxy::* | BranchProxyRead_t) () |
enum | EReadStatus { kReadSuccess = 0 , kReadNothingYet , kReadError } |
enum | ESetupStatus { kSetupNotSetup = -7 , kSetupTreeDestructed = -8 , kSetupMakeClassModeMismatch = -9 , kSetupMissingCounterBranch = -6 , kSetupMissingBranch = -5 , kSetupInternalError = -4 , kSetupMissingDictionary = -3 , kSetupMismatch = -2 , kSetupNotACollection = -1 , kSetupMatch = 0 , kSetupMatchBranch = 7 , kSetupNoCheck = 5 , kSetupMatchLeaf = 6 } |
Status flags, 0 is good. More... | |
Public Member Functions | |
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. | |
virtual EReadStatus | GetReadStatus () const |
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. | |
Protected Types | |
typedef EReadStatus(TTreeReaderValueBase::* | Read_t) () |
Protected Member Functions | |
TTreeReaderValueBase (const TTreeReaderValueBase &) | |
Copy-construct. | |
TTreeReaderValueBase (TTreeReader *reader, const char *branchname, TDictionary *dict) | |
Construct a tree value reader and register it with the reader object. | |
virtual void | CreateProxy () |
Create the proxy object for our branch. | |
virtual const char * | GetDerivedTypeName () const =0 |
Detail::TBranchProxy * | GetProxy () const |
void | MarkTreeReaderUnavailable () |
void | NotifyNewTree (TTree *newTree) |
The TTreeReader has switched to a new TTree. Update the leaf. | |
TTreeReaderValueBase & | operator= (const TTreeReaderValueBase &) |
Copy-assign. | |
void | RegisterWithTreeReader () |
Register with tree reader. | |
TBranch * | SearchBranchWithCompositeName (TLeaf *&myleaf, TDictionary *&branchActualType, std::string &err) |
Search a branch the name of which contains a ".". | |
Static Protected Member Functions | |
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 | |
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 |
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. | |
Friends | |
class | ::TTreeReader |
#include <TTreeReaderValue.h>
typedef bool(ROOT::Detail::TBranchProxy::* ROOT::Internal::TTreeReaderValueBase::BranchProxyRead_t) () |
Definition at line 77 of file TTreeReaderValue.h.
|
protected |
Definition at line 132 of file TTreeReaderValue.h.
Enumerator | |
---|---|
kReadSuccess | Data read okay. |
kReadNothingYet | Data now yet accessed. |
kReadError | Problem reading data. |
Definition at line 67 of file TTreeReaderValue.h.
Status flags, 0 is good.
Enumerator | |
---|---|
kSetupNotSetup | No initialization has happened yet. |
kSetupTreeDestructed | The TTreeReader has been destructed / not set. |
kSetupMakeClassModeMismatch | readers disagree on whether TTree::SetMakeBranch() should be on |
kSetupMissingCounterBranch | The array cannot find its counter branch: Array[CounterBranch]. |
kSetupMissingBranch | The specified branch cannot be found. |
kSetupInternalError | Some other error - hopefully the error message helps. |
kSetupMissingDictionary | To read this branch, we need a dictionary. |
kSetupMismatch | Mismatch of branch type and reader template type. |
kSetupNotACollection | The branch class type is not a collection. |
kSetupMatch | This branch has been set up, branch data type and reader template type match, reading should succeed. |
kSetupMatchBranch | This branch has been set up, branch data type and reader template type match, reading should succeed. |
kSetupNoCheck | |
kSetupMatchLeaf | This branch (or TLeaf, really) has been set up, reading should succeed. |
Definition at line 48 of file TTreeReaderValue.h.
|
virtual |
Unregister from tree reader, cleanup.
Definition at line 116 of file TTreeReaderValue.cxx.
|
protected |
Construct a tree value reader and register it with the reader object.
Definition at line 55 of file TTreeReaderValue.cxx.
|
protected |
Copy-construct.
Definition at line 71 of file TTreeReaderValue.cxx.
|
protectedvirtual |
Create the proxy object for our branch.
Reimplemented in ROOT::Internal::TTreeReaderArrayBase.
Definition at line 440 of file TTreeReaderValue.cxx.
void * ROOT::Internal::TTreeReaderValueBase::GetAddress | ( | ) |
Returns the memory address of the object being read.
Definition at line 253 of file TTreeReaderValue.cxx.
|
staticprotected |
Retrieve the type of data stored by branch; put its dictionary into dict, return its type name.
If no dictionary is available, at least its type name should be returned.
Definition at line 675 of file TTreeReaderValue.cxx.
|
inline |
Definition at line 94 of file TTreeReaderValue.h.
|
protectedpure virtual |
|
staticprotected |
Stringify the template argument.
Definition at line 215 of file TTreeReaderValue.cxx.
|
inline |
If we are reading a leaf, return the corresponding TLeaf.
Definition at line 90 of file TTreeReaderValue.h.
|
inlineprotected |
Definition at line 114 of file TTreeReaderValue.h.
|
inlinevirtual |
Reimplemented in ROOT::Internal::TTreeReaderArrayBase.
Definition at line 87 of file TTreeReaderValue.h.
|
inline |
Return this TTreeReaderValue's setup status.
Use this method to check e.g. whether the TTreeReaderValue is correctly setup and ready for reading.
Definition at line 86 of file TTreeReaderValue.h.
|
inline |
Return true if the branch was setup and read correctly.
Use GetSetupStatus() to only check the setup status.
Definition at line 83 of file TTreeReaderValue.h.
|
inlineprotected |
Definition at line 116 of file TTreeReaderValue.h.
|
protected |
The TTreeReader has switched to a new TTree. Update the leaf.
Definition at line 226 of file TTreeReaderValue.cxx.
|
protected |
Copy-assign.
Definition at line 91 of file TTreeReaderValue.cxx.
|
inline |
Definition at line 73 of file TTreeReaderValue.h.
ROOT::Internal::TTreeReaderValueBase::EReadStatus ROOT::Internal::TTreeReaderValueBase::ProxyReadDefaultImpl | ( | ) |
Definition at line 154 of file TTreeReaderValue.cxx.
ROOT::Internal::TTreeReaderValueBase::EReadStatus ROOT::Internal::TTreeReaderValueBase::ProxyReadTemplate |
Try to read the value from the TBranchProxy, returns the status of the read.
Definition at line 143 of file TTreeReaderValue.cxx.
|
protected |
Register with tree reader.
Definition at line 128 of file TTreeReaderValue.cxx.
|
protected |
Search a branch the name of which contains a ".".
[out] | myLeaf | The leaf identified by the name if found (can be untouched). |
[out] | branchActualType | Dictionary associated to the type of the leaf (can be untouched). |
[out] | errMsg | The error message (can be untouched). |
Definition at line 293 of file TTreeReaderValue.cxx.
|
friend |
Definition at line 138 of file TTreeReaderValue.h.
|
protected |
Name of the branch to read data from.
Definition at line 125 of file TTreeReaderValue.h.
|
protected |
Type that the branch should contain.
Definition at line 128 of file TTreeReaderValue.h.
|
protected |
Whether the data is in a leaf.
Definition at line 121 of file TTreeReaderValue.h.
|
protected |
Whether !fStaticClassOffsets.empty()
Definition at line 122 of file TTreeReaderValue.h.
|
protected |
Definition at line 130 of file TTreeReaderValue.h.
|
protected |
Definition at line 126 of file TTreeReaderValue.h.
|
protected |
Proxy for this branch, owned by TTreeReader.
Definition at line 129 of file TTreeReaderValue.h.
|
protected |
! Pointer to the Read implementation to use.
Definition at line 133 of file TTreeReaderValue.h.
|
protected |
Read status of this data access.
Definition at line 123 of file TTreeReaderValue.h.
|
protected |
Setup status of this data access.
Definition at line 124 of file TTreeReaderValue.h.
|
protected |
Definition at line 131 of file TTreeReaderValue.h.
|
protected |
Tree reader we belong to.
Definition at line 127 of file TTreeReaderValue.h.