Project
Loading...
Searching...
No Matches
o2::framework::Partition< T > Struct Template Reference

#include <AnalysisHelpers.h>

Public Types

using content_t = T
 
using iterator = typename o2::soa::Filtered< T >::iterator
 
using const_iterator = typename o2::soa::Filtered< T >::const_iterator
 
using filtered_iterator = typename o2::soa::Filtered< T >::iterator
 
using filtered_const_iterator = typename o2::soa::Filtered< T >::const_iterator
 

Public Member Functions

 Partition (expressions::Node &&filter_)
 
 Partition (expressions::Node &&filter_, T const &table)
 
void intializeCaches (std::set< uint32_t > const &hashes, std::shared_ptr< arrow::Schema > const &schema)
 
void bindTable (T const &table)
 
template<typename... Ts>
void bindExternalIndices (Ts *... tables)
 
template<typename E >
void bindInternalIndicesTo (E *ptr)
 
void updatePlaceholders (InitContext &context)
 
std::shared_ptr< arrow::Table > asArrowTable () const
 
o2::soa::Filtered< T > * operator-> ()
 
template<typename T1 >
auto rawSliceBy (o2::framework::Preslice< T1 > const &container, int value) const
 
auto sliceByCached (framework::expressions::BindingNode const &node, int value, o2::framework::SliceCache &cache) const
 
auto sliceByCachedUnsorted (framework::expressions::BindingNode const &node, int value, o2::framework::SliceCache &cache) const
 
template<typename T1 , typename Policy , bool OPT>
auto sliceBy (o2::framework::PresliceBase< T1, Policy, OPT > const &container, int value) const
 
filtered_iterator begin ()
 
o2::soa::RowViewSentinel end ()
 
filtered_const_iterator begin () const
 
o2::soa::RowViewSentinel end () const
 
int64_t size () const
 

Public Attributes

expressions::Filter filter
 
std::unique_ptr< o2::soa::Filtered< T > > mFiltered = nullptr
 
gandiva::NodePtr tree = nullptr
 
gandiva::FilterPtr gfilter = nullptr
 
bool dataframeChanged = true
 

Detailed Description

template<typename T>
struct o2::framework::Partition< T >

Partition ties directly to the argument type in a case with several origins in subscriptions it will get the correct input, as the type contains the origin in a case with rewritten origin the type stays the same, so the association stays correct FIXME: currently partition has to rerun the selection each time the invokeProcess is called the real reason is to provide grouped parts for the process functions that request it better solution would be to "slice" the selection, as is already done in GroupSlicer for the same purpose, instead of reapplying the filtering

Definition at line 1012 of file AnalysisHelpers.h.

Member Typedef Documentation

◆ const_iterator

template<typename T >
using o2::framework::Partition< T >::const_iterator = typename o2::soa::Filtered<T>::const_iterator

Definition at line 1098 of file AnalysisHelpers.h.

◆ content_t

template<typename T >
using o2::framework::Partition< T >::content_t = T

Definition at line 1013 of file AnalysisHelpers.h.

◆ filtered_const_iterator

template<typename T >
using o2::framework::Partition< T >::filtered_const_iterator = typename o2::soa::Filtered<T>::const_iterator

Definition at line 1100 of file AnalysisHelpers.h.

◆ filtered_iterator

template<typename T >
using o2::framework::Partition< T >::filtered_iterator = typename o2::soa::Filtered<T>::iterator

Definition at line 1099 of file AnalysisHelpers.h.

◆ iterator

template<typename T >
using o2::framework::Partition< T >::iterator = typename o2::soa::Filtered<T>::iterator

Definition at line 1097 of file AnalysisHelpers.h.

Constructor & Destructor Documentation

◆ Partition() [1/2]

template<typename T >
o2::framework::Partition< T >::Partition ( expressions::Node &&  filter_)
inline

Definition at line 1014 of file AnalysisHelpers.h.

◆ Partition() [2/2]

template<typename T >
o2::framework::Partition< T >::Partition ( expressions::Node &&  filter_,
T const &  table 
)
inline

Definition at line 1018 of file AnalysisHelpers.h.

Member Function Documentation

◆ asArrowTable()

template<typename T >
std::shared_ptr< arrow::Table > o2::framework::Partition< T >::asArrowTable ( ) const
inline

Definition at line 1059 of file AnalysisHelpers.h.

◆ begin() [1/2]

template<typename T >
filtered_iterator o2::framework::Partition< T >::begin ( )
inline

Definition at line 1101 of file AnalysisHelpers.h.

◆ begin() [2/2]

template<typename T >
filtered_const_iterator o2::framework::Partition< T >::begin ( ) const
inline

Definition at line 1109 of file AnalysisHelpers.h.

◆ bindExternalIndices()

template<typename T >
template<typename... Ts>
void o2::framework::Partition< T >::bindExternalIndices ( Ts *...  tables)
inline

Definition at line 1039 of file AnalysisHelpers.h.

◆ bindInternalIndicesTo()

template<typename T >
template<typename E >
void o2::framework::Partition< T >::bindInternalIndicesTo ( E *  ptr)
inline

Definition at line 1047 of file AnalysisHelpers.h.

◆ bindTable()

template<typename T >
void o2::framework::Partition< T >::bindTable ( T const &  table)
inline

Definition at line 1029 of file AnalysisHelpers.h.

◆ end() [1/2]

template<typename T >
o2::soa::RowViewSentinel o2::framework::Partition< T >::end ( )
inline

Definition at line 1105 of file AnalysisHelpers.h.

◆ end() [2/2]

template<typename T >
o2::soa::RowViewSentinel o2::framework::Partition< T >::end ( ) const
inline

Definition at line 1113 of file AnalysisHelpers.h.

◆ intializeCaches()

template<typename T >
void o2::framework::Partition< T >::intializeCaches ( std::set< uint32_t > const &  hashes,
std::shared_ptr< arrow::Schema > const &  schema 
)
inline

Definition at line 1024 of file AnalysisHelpers.h.

◆ operator->()

template<typename T >
o2::soa::Filtered< T > * o2::framework::Partition< T >::operator-> ( )
inline

Definition at line 1064 of file AnalysisHelpers.h.

◆ rawSliceBy()

template<typename T >
template<typename T1 >
auto o2::framework::Partition< T >::rawSliceBy ( o2::framework::Preslice< T1 > const &  container,
int  value 
) const
inline

Definition at line 1070 of file AnalysisHelpers.h.

◆ size()

template<typename T >
int64_t o2::framework::Partition< T >::size ( ) const
inline

Definition at line 1118 of file AnalysisHelpers.h.

◆ sliceBy()

template<typename T >
template<typename T1 , typename Policy , bool OPT>
auto o2::framework::Partition< T >::sliceBy ( o2::framework::PresliceBase< T1, Policy, OPT > const &  container,
int  value 
) const
inline

Definition at line 1086 of file AnalysisHelpers.h.

◆ sliceByCached()

template<typename T >
auto o2::framework::Partition< T >::sliceByCached ( framework::expressions::BindingNode const &  node,
int  value,
o2::framework::SliceCache cache 
) const
inline

Definition at line 1075 of file AnalysisHelpers.h.

◆ sliceByCachedUnsorted()

template<typename T >
auto o2::framework::Partition< T >::sliceByCachedUnsorted ( framework::expressions::BindingNode const &  node,
int  value,
o2::framework::SliceCache cache 
) const
inline

Definition at line 1080 of file AnalysisHelpers.h.

◆ updatePlaceholders()

template<typename T >
void o2::framework::Partition< T >::updatePlaceholders ( InitContext context)
inline

Definition at line 1054 of file AnalysisHelpers.h.

Member Data Documentation

◆ dataframeChanged

template<typename T >
bool o2::framework::Partition< T >::dataframeChanged = true

Definition at line 1095 of file AnalysisHelpers.h.

◆ filter

Definition at line 1091 of file AnalysisHelpers.h.

◆ gfilter

template<typename T >
gandiva::FilterPtr o2::framework::Partition< T >::gfilter = nullptr

Definition at line 1094 of file AnalysisHelpers.h.

◆ mFiltered

template<typename T >
std::unique_ptr<o2::soa::Filtered<T> > o2::framework::Partition< T >::mFiltered = nullptr

Definition at line 1092 of file AnalysisHelpers.h.

◆ tree

template<typename T >
gandiva::NodePtr o2::framework::Partition< T >::tree = nullptr

Definition at line 1093 of file AnalysisHelpers.h.


The documentation for this struct was generated from the following file: