1 #ifndef __JROOTFILEREADER__
2 #define __JROOTFILEREADER__
24 namespace JPP {
using namespace JROOT; }
55 return T::Class_Name();
67 inline void getObject(TFile* file,
const char* key, T*& ps)
70 file->GetObject(key, ps);
78 template<class T, bool = JTreeParametersAvailable<T>::result>
144 virtual void open(
const char* file_name)
148 actionAtFileOpen<T>(this->
getFile());
163 if (cycleOld != cycleNew) {
175 actionAtFileRead<T>(__p);
178 return (cycleOld == cycleNew && __p != NULL);
220 cycleNew += (Short_t) ns;
222 cycleNew = numeric_limits<Short_t>::max();
224 return cycleNew - cycleOld;
262 virtual void open(
const char* file_name)
266 if (this->
get() != NULL) {
267 actionAtFileOpen<T>(this->
get()->GetCurrentFile());
std::ostream & rewind(std::ostream &out)
Rewind character.
TObject * getObject(const JRootObjectID &id)
Get TObject.
virtual void open(const char *file_name)
Open file.
virtual void open(const char *file_name)
Open file.
Interface for object iteration with rewinding.
JRootFileReader()
Default constructor.
unsigned int skip_type
Type definition for number of objects to skip.
JRootFileReader(const char *file_name, const char *key=getName(JType< T >()))
Constructor.
Auxiliary class for a type holder.
T * open(const std::string &file_name)
Open file.
virtual void reset()
Reset pointer.
TFile * getFile(const std::string &file_name, const std::string &option="exist")
Get TFile pointer.
virtual void open(const char *file_name)
Open file.
Data type dependent action methods for customised ROOT version management.
virtual bool hasNext()
Check availability of next element.
virtual void rewind()
Rewind.
Interface for object iteration with named access.
const char * getName()
Get ROOT name of given data type.
virtual skip_type skip(const skip_type ns)
Skip items.
JTemplateTreeReader object iterator.
JAccessibleObjectIterator< T >::pointer_type pointer_type
Short_t getCycle() const
Get cycle number of last read object.
virtual const pointer_type & next()
Get next element.