EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
|
#include <acts/blob/sPHENIX/Examples/Framework/include/ActsExamples/Framework/WhiteBoard.hpp>
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 | |
WhiteBoard & | operator= (const WhiteBoard &)=delete |
template<typename T > | |
void | add (const std::string &name, T &&object) |
template<typename T > | |
const T & | get (const std::string &name) const |
Private Member Functions | |
const Acts::Logger & | logger () const |
Private Attributes | |
std::unique_ptr< const Acts::Logger > | m_logger |
std::unordered_map < std::string, std::unique_ptr < IHolder > > | m_store |
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
|
inline |
Definition at line 78 of file WhiteBoard.hpp.
View newest version in sPHENIX GitHub at line 78 of file WhiteBoard.hpp
|
delete |
|
inline |
Store an object on the white board and transfer ownership.
name | Non-empty identifier to store it under |
object | Movable reference to the transferable object |
std::invalid_argument | on empty or duplicate name |
Definition at line 83 of file WhiteBoard.hpp.
View newest version in sPHENIX GitHub at line 83 of file WhiteBoard.hpp
References ACTS_VERBOSE.
Referenced by ActsExamples::TruthVertexFinder::execute(), ActsExamples::HelloWhiteBoardAlgorithm::execute(), ActsExamples::TruthTrackFinder::execute(), ActsExamples::IterativeVertexFinderAlgorithm::execute(), ActsExamples::AdaptiveMultiVertexFinderAlgorithm::execute(), ActsExamples::HelloRandomAlgorithm::execute(), ActsExamples::HitSmearing::execute(), ActsExamples::GeantinoRecording::execute(), ActsExamples::DigitizationAlgorithm::execute(), ActsExamples::TrackSelector::execute(), ActsExamples::ParticleSmearing::execute(), ActsExamples::TruthSeedSelector::execute(), ActsExamples::ParticleSelector::execute(), ActsExamples::FittingAlgorithm::execute(), ActsExamples::TrackFindingAlgorithm::execute(), ActsExamples::MaterialMapping::execute(), ActsExamples::HelloService::prepare(), ActsExamples::CsvParticleReader::read(), ActsExamples::CsvPlanarClusterReader::read(), ActsExamples::EventGenerator::read(), and ActsExamples::RootMaterialTrackReader::read().
|
inline |
Get access to a stored object.
[in] | name | Identifier for the object |
std::out_of_range | if 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().
|
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.
|
delete |
|
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().
|
private |
Definition at line 71 of file WhiteBoard.hpp.
View newest version in sPHENIX GitHub at line 71 of file WhiteBoard.hpp