EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ActsExamples::WhiteBoard Class Reference

#include <acts/blob/sPHENIX/Examples/Framework/include/ActsExamples/Framework/WhiteBoard.hpp>

+ Collaboration diagram for ActsExamples::WhiteBoard:

Classes

struct  HolderT
 
struct  IHolder
 

Public Member Functions

 WhiteBoard (std::unique_ptr< const Acts::Logger > logger=Acts::getDefaultLogger("WhiteBoard", Acts::Logging::INFO))
 
 WhiteBoard (const WhiteBoard &other)=delete
 
WhiteBoardoperator= (const WhiteBoard &)=delete
 
template<typename T >
void add (const std::string &name, T &&object)
 
template<typename T >
const Tget (const std::string &name) const
 

Private Member Functions

const Acts::Loggerlogger () const
 

Private Attributes

std::unique_ptr< const
Acts::Logger
m_logger
 
std::unordered_map
< std::string, std::unique_ptr
< IHolder > > 
m_store
 

Detailed Description

A container to store arbitrary objects with ownership transfer.

This is an append-only container that takes ownership of the objects added to it. Once an object has been added, it can only be read but not be modified. Trying to replace an existing object is considered an error. Its lifetime is bound to the liftime of the white board.

Definition at line 29 of file WhiteBoard.hpp.

View newest version in sPHENIX GitHub at line 29 of file WhiteBoard.hpp

Constructor & Destructor Documentation

ActsExamples::WhiteBoard::WhiteBoard ( std::unique_ptr< const Acts::Logger logger = Acts::getDefaultLogger("WhiteBoard", Acts::Logging::INFO))
inline

Definition at line 78 of file WhiteBoard.hpp.

View newest version in sPHENIX GitHub at line 78 of file WhiteBoard.hpp

ActsExamples::WhiteBoard::WhiteBoard ( const WhiteBoard other)
delete

Member Function Documentation

template<typename T >
void ActsExamples::WhiteBoard::add ( const std::string &  name,
T &&  object 
)
inline
template<typename T >
const T & ActsExamples::WhiteBoard::get ( const std::string &  name) const
inline

Get access to a stored object.

Parameters
[in]nameIdentifier for the object
Returns
reference to the stored object
Exceptions
std::out_of_rangeif no object is stored under the requested name

Definition at line 95 of file WhiteBoard.hpp.

View newest version in sPHENIX GitHub at line 95 of file WhiteBoard.hpp

References ACTS_VERBOSE, it, T, ActsExamples::WhiteBoard::IHolder::type(), and value.

Referenced by ActsExamples::HelloLoggerAlgorithm::execute(), ActsExamples::PrintParticles::execute(), ActsExamples::TruthVertexFinder::execute(), ActsExamples::HelloWhiteBoardAlgorithm::execute(), ActsExamples::TutorialVertexFinderAlgorithm::execute(), ActsExamples::TruthTrackFinder::execute(), ActsExamples::IterativeVertexFinderAlgorithm::execute(), ActsExamples::AdaptiveMultiVertexFinderAlgorithm::execute(), ActsExamples::PrintHits::execute(), ActsExamples::VertexFitterAlgorithm::execute(), ActsExamples::HitSmearing::execute(), ActsExamples::DigitizationAlgorithm::execute(), ActsExamples::ParticleSmearing::execute(), ActsExamples::TrackSelector::execute(), ActsExamples::TruthSeedSelector::execute(), ActsExamples::ParticleSelector::execute(), ActsExamples::FittingAlgorithm::execute(), ActsExamples::TrackFindingAlgorithm::execute(), ActsExamples::MaterialMapping::execute(), ActsExamples::WriterT< write_data_t >::write(), ActsExamples::TrackFinderPerformanceWriter::writeT(), ActsExamples::TrackFitterPerformanceWriter::writeT(), ActsExamples::CsvPlanarClusterWriter::writeT(), ActsExamples::RootPlanarClusterWriter::writeT(), ActsExamples::RootTrajectoryWriter::writeT(), and ActsExamples::CKFPerformanceWriter::writeT().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const Acts::Logger& ActsExamples::WhiteBoard::logger ( ) const
inlineprivate

Definition at line 73 of file WhiteBoard.hpp.

View newest version in sPHENIX GitHub at line 73 of file WhiteBoard.hpp

References m_logger.

WhiteBoard& ActsExamples::WhiteBoard::operator= ( const WhiteBoard )
delete

Member Data Documentation

std::unique_ptr<const Acts::Logger> ActsExamples::WhiteBoard::m_logger
private

Definition at line 70 of file WhiteBoard.hpp.

View newest version in sPHENIX GitHub at line 70 of file WhiteBoard.hpp

Referenced by logger().

std::unordered_map<std::string, std::unique_ptr<IHolder> > ActsExamples::WhiteBoard::m_store
private

Definition at line 71 of file WhiteBoard.hpp.

View newest version in sPHENIX GitHub at line 71 of file WhiteBoard.hpp


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