1 #ifndef __JROOT__JDATAFRAME__
2 #define __JROOT__JDATAFRAME__
11 #include "TDataMember.h"
12 #include "ROOT/RDF/RInterfaceBase.hxx"
13 #include "ROOT/RDataFrame.hxx"
25 namespace JPP {
using namespace JROOT; }
71 void put(
const size_t i,
const T& value)
98 virtual size_t parse(ROOT::RDataFrame& in,
const char*
const column,
const range_type& range,
JOutput& out)
const = 0;
118 virtual size_t parse(ROOT::RDataFrame& in,
const char*
const column,
const range_type& range,
JOutput& out)
const override
133 public std::map<std::string, std::unique_ptr<JParser> >,
140 add<unsigned char>();
142 add<unsigned short>();
146 add<unsigned long int>();
147 add<long long int>();
148 add<unsigned long long int>();
165 const TDictionary* pDictionary = TDictionary::GetDictionary(
typeid(T));
167 if (pDictionary != NULL)
168 return pDictionary->GetName();
196 cs(TClass::GetClass<T>())
219 for (
const std::string& column : in.GetColumnNames()) {
221 TDataMember* ps =
cs->GetDataMember(column.c_str());
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Auxiliary class to define a range between two values.
Auxiliary class for parsing data from ROOT data frame.
JTOOLS::JRange< unsigned int > range_type
Type definition for range.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary classes and methods for ROOT I/O.
static data_type & getInstance()
Get unique instance of template class.
Template implementation for output.
virtual char * getAddress(const size_t i) override
Get address.
JOutput_t(std::vector< T > &data, const int offset)
Constructor.
Auxiliary buffer for parsing data from ROOT data frame.
size_t operator()(ROOT::RDataFrame &in, const range_type &range)
Parse data.
JBuffer()
Default constructor.
Dictionary for parsing data from ROOT data frame to output.
static const char * getTypename()
Get typename for given template class.
void add()
Add parser for given class to dictionary.
virtual ~JOutput()
Virtual destructor.
void put(const size_t i, const T &value)
Put value at given index.
virtual char * getAddress(const size_t i)=0
Get address.
Template implementation for parsing data from ROOT data frame to output.
virtual size_t parse(ROOT::RDataFrame &in, const char *const column, const range_type &range, JOutput &out) const override
Parse data.
Interface for parsing data from ROOT data frame to output.
virtual size_t parse(ROOT::RDataFrame &in, const char *const column, const range_type &range, JOutput &out) const =0
Parse data.
virtual ~JParser()
Virtual destructor.