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: