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 1020 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 1106 of file AnalysisHelpers.h.

◆ content_t

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

Definition at line 1021 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 1108 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 1107 of file AnalysisHelpers.h.

◆ iterator

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

Definition at line 1105 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 1022 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 1026 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 1067 of file AnalysisHelpers.h.

◆ begin() [1/2]

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

Definition at line 1109 of file AnalysisHelpers.h.

◆ begin() [2/2]

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

Definition at line 1117 of file AnalysisHelpers.h.

◆ bindExternalIndices()

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

Definition at line 1047 of file AnalysisHelpers.h.

◆ bindInternalIndicesTo()

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

Definition at line 1055 of file AnalysisHelpers.h.

◆ bindTable()

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

Definition at line 1037 of file AnalysisHelpers.h.

◆ end() [1/2]

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

Definition at line 1113 of file AnalysisHelpers.h.

◆ end() [2/2]

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

Definition at line 1121 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 1032 of file AnalysisHelpers.h.

◆ operator->()

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

Definition at line 1072 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 1078 of file AnalysisHelpers.h.

◆ size()

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

Definition at line 1126 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 1094 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 1083 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 1088 of file AnalysisHelpers.h.

◆ updatePlaceholders()

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

Definition at line 1062 of file AnalysisHelpers.h.

Member Data Documentation

◆ dataframeChanged

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

Definition at line 1103 of file AnalysisHelpers.h.

◆ filter

Definition at line 1099 of file AnalysisHelpers.h.

◆ gfilter

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

Definition at line 1102 of file AnalysisHelpers.h.

◆ mFiltered

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

Definition at line 1100 of file AnalysisHelpers.h.

◆ tree

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

Definition at line 1101 of file AnalysisHelpers.h.


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