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

#include <AnalysisHelpers.h>

Public Types

using obj_t = T
 

Public Member Functions

 OutputObj (T &&t, OutputObjHandlingPolicy policy_=OutputObjHandlingPolicy::AnalysisObject, OutputObjSourceType sourceType_=OutputObjSourceType::OutputObjSource)
 
 OutputObj (std::string const &label_, OutputObjHandlingPolicy policy_=OutputObjHandlingPolicy::AnalysisObject, OutputObjSourceType sourceType_=OutputObjSourceType::OutputObjSource)
 
void setObject (T const &t)
 
void setObject (T &&t)
 
void setObject (T *t)
 
void setObject (std::shared_ptr< T > t)
 
void setHash (uint32_t hash)
 
OutputSpec const spec ()
 
T * operator-> ()
 
T & operator* ()
 
OutputRef ref (uint16_t index, uint16_t max)
 

Public Attributes

std::shared_ptr< T > object
 
std::string label
 
OutputObjHandlingPolicy policy
 
OutputObjSourceType sourceType
 
uint32_t mTaskHash
 
InputSpec spec
 
bool isdangling
 

Detailed Description

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

This helper class allows you to declare things which will be created by a given analysis task. Currently wrapped objects are limited to be TNamed descendants. Objects will be written to a ROOT file at the end of the workflow, in directories, corresponding to the task they were declared in. Each object has associated handling policy, which is used by the framework to determine the target file, e.g. analysis result, QA or control histogram, etc.

Definition at line 487 of file AnalysisHelpers.h.

Member Typedef Documentation

◆ obj_t

template<typename T >
using o2::framework::OutputObj< T >::obj_t = T

Definition at line 488 of file AnalysisHelpers.h.

Constructor & Destructor Documentation

◆ OutputObj() [1/2]

template<typename T >
o2::framework::OutputObj< T >::OutputObj ( T &&  t,
OutputObjHandlingPolicy  policy_ = OutputObjHandlingPolicy::AnalysisObject,
OutputObjSourceType  sourceType_ = OutputObjSourceType::OutputObjSource 
)
inline

Definition at line 490 of file AnalysisHelpers.h.

◆ OutputObj() [2/2]

template<typename T >
o2::framework::OutputObj< T >::OutputObj ( std::string const &  label_,
OutputObjHandlingPolicy  policy_ = OutputObjHandlingPolicy::AnalysisObject,
OutputObjSourceType  sourceType_ = OutputObjSourceType::OutputObjSource 
)
inline

Definition at line 499 of file AnalysisHelpers.h.

Member Function Documentation

◆ operator*()

template<typename T >
T & o2::framework::OutputObj< T >::operator* ( )
inline

Definition at line 556 of file AnalysisHelpers.h.

◆ operator->()

template<typename T >
T * o2::framework::OutputObj< T >::operator-> ( )
inline

Definition at line 551 of file AnalysisHelpers.h.

◆ ref()

template<typename T >
OutputRef o2::framework::OutputObj< T >::ref ( uint16_t  index,
uint16_t  max 
)
inline

Definition at line 561 of file AnalysisHelpers.h.

◆ setHash()

template<typename T >
void o2::framework::OutputObj< T >::setHash ( uint32_t  hash)
inline

Definition at line 532 of file AnalysisHelpers.h.

◆ setObject() [1/4]

template<typename T >
void o2::framework::OutputObj< T >::setObject ( std::shared_ptr< T >  t)
inline

Definition at line 526 of file AnalysisHelpers.h.

◆ setObject() [2/4]

template<typename T >
void o2::framework::OutputObj< T >::setObject ( T &&  t)
inline

Definition at line 514 of file AnalysisHelpers.h.

◆ setObject() [3/4]

template<typename T >
void o2::framework::OutputObj< T >::setObject ( T *  t)
inline

Definition at line 520 of file AnalysisHelpers.h.

◆ setObject() [4/4]

template<typename T >
void o2::framework::OutputObj< T >::setObject ( T const &  t)
inline

Definition at line 508 of file AnalysisHelpers.h.

◆ spec()

template<typename T >
OutputSpec const o2::framework::OutputObj< T >::spec ( )
inline
Returns
the associated OutputSpec

Definition at line 538 of file AnalysisHelpers.h.

Member Data Documentation

◆ isdangling

template<typename T >
bool o2::framework::OutputObj< T >::isdangling

Definition at line 148 of file WorkflowHelpers.h.

◆ label

template<typename T >
std::string o2::framework::OutputObj< T >::label

Definition at line 568 of file AnalysisHelpers.h.

◆ mTaskHash

template<typename T >
uint32_t o2::framework::OutputObj< T >::mTaskHash

Definition at line 571 of file AnalysisHelpers.h.

◆ object

template<typename T >
std::shared_ptr<T> o2::framework::OutputObj< T >::object

Definition at line 567 of file AnalysisHelpers.h.

◆ policy

template<typename T >
OutputObjHandlingPolicy o2::framework::OutputObj< T >::policy

Definition at line 569 of file AnalysisHelpers.h.

◆ sourceType

template<typename T >
OutputObjSourceType o2::framework::OutputObj< T >::sourceType

Definition at line 570 of file AnalysisHelpers.h.

◆ spec

template<typename T >
InputSpec o2::framework::OutputObj< T >::spec

Definition at line 147 of file WorkflowHelpers.h.


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