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 701 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 705 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 704 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 706 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 703 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 718 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 713 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 709 of file AnalysisHelpers.h.

◆ recompile()

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

Definition at line 736 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 702 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 723 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 732 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 707 of file AnalysisHelpers.h.

◆ needRecompilation

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

Definition at line 734 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 726 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 725 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 727 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 722 of file AnalysisHelpers.h.


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