Project
Loading...
Searching...
No Matches
o2::framework::Defines< T, DELAYED > Struct Template Reference

#include <AnalysisHelpers.h>

Inherits decltypetransformBase< T >.

Public Types

using spawnable_t = T
 
using metadata = decltype(transformBase< T >())::metadata
 
using extension_t = typename metadata::template extension_table_t_from< o2::aod::Hash< T::originals[T::originals.size() - 1].origin_hash > >
 
using placeholders_pack_t = typename metadata::placeholders_pack_t
 

Public Member Functions

T::table_t * operator-> ()
 
T::table_t const & operator* () const
 
auto asArrowTable ()
 
void recompile ()
 

Public Attributes

std::shared_ptr< typename T::table_t > table = nullptr
 
std::shared_ptr< extension_textension = nullptr
 
std::array< o2::framework::expressions::Projector, Nprojectors
 
std::shared_ptr< gandiva::Projector > projector = nullptr
 
std::shared_ptr< arrow::Schema > schema
 
std::shared_ptr< arrow::Schema > inputSchema = nullptr
 
bool needRecompilation = false
 

Static Public Attributes

static constexpr bool delayed = DELAYED
 
static constexpr size_t N = framework::pack_size(placeholders_pack_t{})
 

Detailed Description

template<is_dynamically_spawnable T, bool DELAYED = false>
struct o2::framework::Defines< T, DELAYED >

This helper struct allows you to declare extended tables with dynamically-supplied expressions to be created by the task The actual expressions have to be set in init() for the configurable expression columns, used to define the table

Definition at line 743 of file AnalysisHelpers.h.

Member Typedef Documentation

◆ extension_t

template<is_dynamically_spawnable T, bool DELAYED = false>
using o2::framework::Defines< T, DELAYED >::extension_t = typename metadata::template extension_table_t_from<o2::aod::Hash<T::originals[T::originals.size() - 1].origin_hash> >

Definition at line 747 of file AnalysisHelpers.h.

◆ metadata

template<is_dynamically_spawnable T, bool DELAYED = false>
using o2::framework::Defines< T, DELAYED >::metadata = decltype(transformBase<T>())::metadata

Definition at line 746 of file AnalysisHelpers.h.

◆ placeholders_pack_t

template<is_dynamically_spawnable T, bool DELAYED = false>
using o2::framework::Defines< T, DELAYED >::placeholders_pack_t = typename metadata::placeholders_pack_t

Definition at line 748 of file AnalysisHelpers.h.

◆ spawnable_t

template<is_dynamically_spawnable T, bool DELAYED = false>
using o2::framework::Defines< T, DELAYED >::spawnable_t = T

Definition at line 745 of file AnalysisHelpers.h.

Member Function Documentation

◆ asArrowTable()

template<is_dynamically_spawnable T, bool DELAYED = false>
auto o2::framework::Defines< T, DELAYED >::asArrowTable ( )
inline

Definition at line 760 of file AnalysisHelpers.h.

◆ operator*()

template<is_dynamically_spawnable T, bool DELAYED = false>
T::table_t const & o2::framework::Defines< T, DELAYED >::operator* ( ) const
inline

Definition at line 755 of file AnalysisHelpers.h.

◆ operator->()

template<is_dynamically_spawnable T, bool DELAYED = false>
T::table_t * o2::framework::Defines< T, DELAYED >::operator-> ( )
inline

Definition at line 751 of file AnalysisHelpers.h.

◆ recompile()

template<is_dynamically_spawnable T, bool DELAYED = false>
void o2::framework::Defines< T, DELAYED >::recompile ( )
inline

Definition at line 778 of file AnalysisHelpers.h.

Member Data Documentation

◆ delayed

template<is_dynamically_spawnable T, bool DELAYED = false>
constexpr bool o2::framework::Defines< T, DELAYED >::delayed = DELAYED
staticconstexpr

Definition at line 744 of file AnalysisHelpers.h.

◆ extension

template<is_dynamically_spawnable T, bool DELAYED = false>
std::shared_ptr<extension_t> o2::framework::Defines< T, DELAYED >::extension = nullptr

Definition at line 765 of file AnalysisHelpers.h.

◆ inputSchema

template<is_dynamically_spawnable T, bool DELAYED = false>
std::shared_ptr<arrow::Schema> o2::framework::Defines< T, DELAYED >::inputSchema = nullptr

Definition at line 774 of file AnalysisHelpers.h.

◆ N

template<is_dynamically_spawnable T, bool DELAYED = false>
constexpr size_t o2::framework::Defines< T, DELAYED >::N = framework::pack_size(placeholders_pack_t{})
staticconstexpr

Definition at line 749 of file AnalysisHelpers.h.

◆ needRecompilation

template<is_dynamically_spawnable T, bool DELAYED = false>
bool o2::framework::Defines< T, DELAYED >::needRecompilation = false

Definition at line 776 of file AnalysisHelpers.h.

◆ projector

template<is_dynamically_spawnable T, bool DELAYED = false>
std::shared_ptr<gandiva::Projector> o2::framework::Defines< T, DELAYED >::projector = nullptr

Definition at line 768 of file AnalysisHelpers.h.

◆ projectors

template<is_dynamically_spawnable T, bool DELAYED = false>
std::array<o2::framework::expressions::Projector, N> o2::framework::Defines< T, DELAYED >::projectors

Definition at line 767 of file AnalysisHelpers.h.

◆ schema

template<is_dynamically_spawnable T, bool DELAYED = false>
std::shared_ptr<arrow::Schema> o2::framework::Defines< T, DELAYED >::schema
Initial value:
= []() {
auto s = std::make_shared<arrow::Schema>(o2::soa::createFieldsFromColumns(placeholders_pack_t{}));
s->WithMetadata(std::make_shared<arrow::KeyValueMetadata>(std::vector{std::string{"label"}}, std::vector{std::string{o2::aod::label<T::ref>()}}));
return s;
}()
auto createFieldsFromColumns(framework::pack< C... >)
Definition ASoA.h:58
typename metadata::placeholders_pack_t placeholders_pack_t

Definition at line 769 of file AnalysisHelpers.h.

◆ table

template<is_dynamically_spawnable T, bool DELAYED = false>
std::shared_ptr<typename T::table_t> o2::framework::Defines< T, DELAYED >::table = nullptr

Definition at line 764 of file AnalysisHelpers.h.


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