Project
Loading...
Searching...
No Matches
o2::mergers Namespace Reference

Namespaces

namespace  algorithm
 
namespace  object_store_helpers
 
namespace  test
 

Classes

struct  ConfigEntry
 
class  CustomMergeableObject
 
class  CustomMergeableTObject
 
class  FullHistoryMerger
 FullHistoryMerger data processor class. More...
 
class  IntegratingMerger
 IntegratingMerger data processor class. More...
 
class  MergeInterface
 An interface which allows to merge custom objects. More...
 
class  MergerBuilder
 A builder class to generate a DataProcessorSpec of one Merger. More...
 
struct  MergerConfig
 
class  MergerInfrastructureBuilder
 Builder class for Merger topologies. More...
 
class  PublicationDecisionParameter
 

Concepts

concept  Mergeable
 

Typedefs

using TObjectPtr = std::shared_ptr< TObject >
 
using VectorOfRawTObjects = std::vector< TObject * >
 
using VectorOfTObjectPtrs = std::vector< TObjectPtr >
 
using MergeInterfacePtr = std::shared_ptr< MergeInterface >
 
using ObjectStore = std::variant< std::monostate, TObjectPtr, VectorOfTObjectPtrs, MergeInterfacePtr >
 

Enumerations

enum class  InputObjectsTimespan { FullHistory , LastDifference }
 
enum class  MergedObjectTimespan { FullHistory , LastDifference , NCycles }
 
enum class  PublishMovingWindow { Yes , No }
 
enum class  PublicationDecision { EachNSeconds , EachNArrivals }
 
enum class  TopologySize { NumberOfLayers , ReductionFactor , MergersPerLayer }
 
enum class  ParallelismType { SplitInputs , RoundRobin }
 

Functions

bool isMergeable (TObject *obj)
 

Variables

template<typename T , typename... Ts>
constexpr bool IsDerivedFrom = (std::derived_from<T, Ts> || ...)
 

Typedef Documentation

◆ MergeInterfacePtr

using o2::mergers::MergeInterfacePtr = typedef std::shared_ptr<MergeInterface>

Definition at line 44 of file ObjectStore.h.

◆ ObjectStore

using o2::mergers::ObjectStore = typedef std::variant<std::monostate, TObjectPtr, VectorOfTObjectPtrs, MergeInterfacePtr>

Definition at line 45 of file ObjectStore.h.

◆ TObjectPtr

using o2::mergers::TObjectPtr = typedef std::shared_ptr<TObject>

Definition at line 41 of file ObjectStore.h.

◆ VectorOfRawTObjects

using o2::mergers::VectorOfRawTObjects = typedef std::vector<TObject*>

Definition at line 42 of file ObjectStore.h.

◆ VectorOfTObjectPtrs

using o2::mergers::VectorOfTObjectPtrs = typedef std::vector<TObjectPtr>

Definition at line 43 of file ObjectStore.h.

Enumeration Type Documentation

◆ InputObjectsTimespan

Enumerator
FullHistory 
LastDifference 

Definition at line 30 of file MergerConfig.h.

◆ MergedObjectTimespan

Enumerator
FullHistory 
LastDifference 
NCycles 

Definition at line 35 of file MergerConfig.h.

◆ ParallelismType

enum class o2::mergers::ParallelismType
strong
Enumerator
SplitInputs 
RoundRobin 

Definition at line 65 of file MergerConfig.h.

◆ PublicationDecision

Enumerator
EachNSeconds 
EachNArrivals 

Definition at line 54 of file MergerConfig.h.

◆ PublishMovingWindow

Enumerator
Yes 
No 

Definition at line 48 of file MergerConfig.h.

◆ TopologySize

enum class o2::mergers::TopologySize
strong
Enumerator
NumberOfLayers 
ReductionFactor 
MergersPerLayer 

Definition at line 59 of file MergerConfig.h.

Function Documentation

◆ isMergeable()

bool o2::mergers::isMergeable ( TObject obj)

Definition at line 26 of file Mergeable.cxx.

Variable Documentation

◆ IsDerivedFrom

template<typename T , typename... Ts>
constexpr bool o2::mergers::IsDerivedFrom = (std::derived_from<T, Ts> || ...)
constexpr

Definition at line 39 of file Mergeable.h.