JTreeReader object iterator.
More...
#include <JTreeReaderObjectIterator.hh>
template<class T>
class JROOT::JTreeReaderObjectIterator< T >
JTreeReader object iterator.
This class implements the JLANG::JRewindableObjectIterator interface.
Definition at line 33 of file JTreeReaderObjectIterator.hh.
◆ pointer_type
◆ JTreeReaderObjectIterator()
Default constructor.
Definition at line 45 of file JTreeReaderObjectIterator.hh.
49 gErrorIgnoreLevel = kError;
Auxiliary class for template TTree reading.
◆ rewind()
◆ hasNext()
◆ next()
Get next element.
- Returns
- pointer to element.
Implements JLANG::JObjectIterator< T >.
Definition at line 81 of file JTreeReaderObjectIterator.hh.
virtual bool hasNext() override
Check availability of next element.
JRewindableObjectIterator< T >::pointer_type pointer_type
T * getAddress() const
Get address.
◆ skip() [1/2]
Skip items.
- Parameters
-
ns | number of items to skip |
- Returns
- number of items skipped
Definition at line 106 of file JTreeReaderObjectIterator.hh.
counter_type advance(counter_type &counter, const counter_type value, const counter_type limit=std::numeric_limits< counter_type >::max())
Advance counter.
◆ getCounter()
◆ skip() [2/2]
◆ load()
template<class T >
|
inlineoverridevirtualinherited |
Load TTree from given file.
This methods releases the pending memory allocated from previous data reading.
- Parameters
-
- Returns
- true when TTree correctly loaded; else false
Implements JROOT::JAbstractTreeReader.
Definition at line 83 of file JTreeReader.hh.
89 this->
set(
dynamic_cast<TTree*
>(file->Get(this->getTreeName())));
virtual void set(JClass_t *p) override
Set pointer.
void setBranchAddress(TTree &tree)
void release()
Release memory.
◆ getDictionary()
template<class T >
|
inlineoverridevirtualinherited |
◆ get()
template<class JClass_t >
|
inlineoverridevirtualinherited |
◆ set() [1/2]
template<class JClass_t >
|
inlineoverridevirtualinherited |
◆ set() [2/2]
template<class JClass_t >
template<class T >
Set pointer.
- Parameters
-
Definition at line 96 of file JPointer.hh.
◆ reset() [1/3]
template<class JClass_t >
|
inlineoverridevirtualinherited |
Reset pointer.
Implements JLANG::JAbstractPointer< JClass_t >.
Reimplemented in JLANG::JStorage< JClass_t, JMemory_t >, JLANG::JStorage< TFile >, JLANG::JStorage< JClass_t, JNew >, JLANG::JStorage< JClass_t, JMemory_t >, JLANG::JStorage< TFile >, JLANG::JStorage< JClass_t, JNew >, JLANG::JSharedPointer< JClass_t, JMemory_t >, JLANG::JSharedPointer< JObjectIterator< T > >, JLANG::JSharedPointer< const TFormula >, JLANG::JSharedPointer< JFIT::JMEstimator >, JLANG::JSharedPointer< JAbstractAutoPointer< JBase_t > >, JLANG::JSharedPointer< JTRIGGER::JDAQHitSelector >, JLANG::JSharedPointer< match_type >, JLANG::JSharedPointer< JLOGGER::JLogger >, JLANG::JSharedPointer< JParserElementInterface >, JLANG::JSharedPointer< JAccessibleObjectIterator< T > >, JLANG::JSharedPointer< JExceptionHandler >, JLANG::JSharedPointer< JTRIGGER::JMatch >, JLANG::JSharedPointer< JBase_t >, JLANG::JSharedPointer< JObjectOutput< T > >, JLANG::JSharedPointer< JPropertiesElementInterface >, JLANG::JSharedPointer< JRewindableObjectIterator< T > >, JLANG::JSharedPointer< JAccessibleObjectOutput< T > >, JLANG::JSharedPointer< JNET::JControlHost >, JLANG::JSharedPointer< JTOOLS::JMultiMapTransformer >, and JLANG::JSharedPointer< JRadiation >.
Definition at line 84 of file JPointer.hh.
◆ reset() [2/3]
template<class JClass_t >
template<class T >
Reset pointer.
- Parameters
-
Definition at line 108 of file JPointer.hh.
virtual void reset() override
Reset pointer.
◆ reset() [3/3]
template<class JClass_t >
Reset pointer.
- Parameters
-
Definition at line 94 of file JAbstractPointer.hh.
96 if (this->
get() != p) {
virtual void set(JClass_t *p)=0
Set pointer.
virtual void reset()=0
Reset pointer.
virtual JClass_t * get() const =0
Get pointer.
◆ getReference() [1/2]
template<class JClass_t >
Get rereference to internal pointer.
- Returns
- reference to internal pointer
Definition at line 119 of file JPointer.hh.
◆ getReference() [2/2]
template<class JClass_t >
Get rereference to internal pointer.
- Returns
- reference to internal pointer
Definition at line 130 of file JPointer.hh.
◆ equals()
template<class JClass_t >
Equals.
The equality is evaluated by comparison of the internal pointers.
- Parameters
-
- Returns
- true if equals; else false
Definition at line 50 of file JAbstractPointer.hh.
52 return this->
get() ==
object.get();
◆ is_valid()
template<class JClass_t >
Check validity of pointer.
- Returns
- true if pointer not null; else false
Definition at line 83 of file JAbstractPointer.hh.
85 return this->
get() != NULL;
◆ operator->()
template<class JClass_t >
Smart pointer operator.
- Returns
- pointer to object
Definition at line 112 of file JAbstractPointer.hh.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Exception for null pointer operation.
◆ operator JClass_t *()
template<class JClass_t >
◆ getTreeParameters()
Get TTree parameters.
- Returns
- TTree parameters
Definition at line 63 of file JTreeParameters.hh.
Data structure for TTree parameters.
◆ getTreeName()
const TString& JROOT::JTreeParameters::getTreeName |
( |
| ) |
const |
|
inlineinherited |
Get TTree name.
- Returns
- TTree name
Definition at line 74 of file JTreeParameters.hh.
TString treeName
TTree name.
◆ getTreeTitle()
const TString& JROOT::JTreeParameters::getTreeTitle |
( |
| ) |
const |
|
inlineinherited |
Get TTree title.
- Returns
- TTree title
Definition at line 85 of file JTreeParameters.hh.
TString treeTitle
TTree title.
◆ getBranchName()
const TString& JROOT::JTreeParameters::getBranchName |
( |
| ) |
const |
|
inlineinherited |
Get TBranch name.
- Returns
- TBranch name
Definition at line 96 of file JTreeParameters.hh.
TString branchName
TBranch name.
◆ getCompressionLevel()
int JROOT::JTreeParameters::getCompressionLevel |
( |
| ) |
const |
|
inlineinherited |
Get compression level.
- Returns
- compression level
Definition at line 107 of file JTreeParameters.hh.
int compressionLevel
TBranch compression level.
◆ getBasketSize()
int JROOT::JTreeParameters::getBasketSize |
( |
| ) |
const |
|
inlineinherited |
Get basket size.
- Returns
- basket size
Definition at line 118 of file JTreeParameters.hh.
int basketSize
TBranch basket size.
◆ getSplitLevel()
int JROOT::JTreeParameters::getSplitLevel |
( |
| ) |
const |
|
inlineinherited |
Get split level.
- Returns
- split level
Definition at line 129 of file JTreeParameters.hh.
int splitLevel
TBranch split level.
◆ setBranchAddress()
Definition at line 53 of file JTreeBranchAddresses.hh.
55 TObjArray* branches = tree.GetListOfBranches();
57 if (branches->GetEntries() == 1) {
58 tree.SetBranchAddress(branches->First()->GetName(), &this->address);
63 TClass* t_class = TClass::GetClass<T>();
64 if (t_class ==
nullptr) {
65 THROW(JException,
"Could not get class " <<
typeid(T).name());
68 auto branch_names =
to_vector(tree.GetListOfBranches());
69 auto all_member_names =
to_vector(t_class->GetListOfRealData());
74 std::copy_if(all_member_names.begin(), all_member_names.end(), std::back_inserter(member_names),
75 [](
const std::string& member_name)
76 { return !JRootClass::is_tobject_member(member_name.c_str()); });
78 std::sort(branch_names.begin(), branch_names.end());
79 std::sort(member_names.begin(), member_names.end());
83 if (std::includes(branch_names.begin(), branch_names.end(), member_names.begin(),
84 member_names.end())) {
88 auto* base =
reinterpret_cast<uint8_t*
>(this->
address);
90 for (
const auto& member_name : member_names) {
91 auto* member =
static_cast<TDataMember*
>(t_class->GetDataMember(member_name.c_str()));
92 tree.SetBranchAddress(member_name.c_str(),
93 reinterpret_cast<void*
>(base + member->GetOffset()));
100 THROW(JException,
"Members of type " <<
typeid(T).name() <<
"\n"
101 <<
JEEP::JEEPZ() << member_names <<
"\nBranches in tree\n"
std::vector< std::string > to_vector(TCollection *col)
Auxiliary data structure for streaming of STL containers.
◆ release()
◆ getAddress()
◆ counter
◆ __p
template<class JClass_t >
◆ treeName
TString JROOT::JTreeParameters::treeName |
|
protectedinherited |
◆ treeTitle
TString JROOT::JTreeParameters::treeTitle |
|
protectedinherited |
◆ branchName
TString JROOT::JTreeParameters::branchName |
|
protectedinherited |
◆ compressionLevel
int JROOT::JTreeParameters::compressionLevel |
|
protectedinherited |
◆ basketSize
int JROOT::JTreeParameters::basketSize |
|
protectedinherited |
◆ splitLevel
int JROOT::JTreeParameters::splitLevel |
|
protectedinherited |
◆ address
The documentation for this class was generated from the following file: