Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ActsExamples::IAlgorithm Class Referenceabstract

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

Inherits ActsExamples::SequenceElement.

Inherited by ActsExamples::AdaptiveMultiVertexFinderAlgorithm, ActsExamples::AlignmentAlgorithm, ActsExamples::AmbiguityResolutionML, ActsExamples::DigitizationAlgorithm, ActsExamples::EventRecording, ActsExamples::FatrasSimulation, ActsExamples::Geant4SimulationBase, ActsExamples::GreedyAmbiguityResolutionAlgorithm, ActsExamples::HelloLoggerAlgorithm, ActsExamples::HelloRandomAlgorithm, ActsExamples::HelloWhiteBoardAlgorithm, ActsExamples::HepMCProcessExtractor, ActsExamples::HitsPrinter, ActsExamples::HoughTransformSeeder, ActsExamples::IterativeVertexFinderAlgorithm, ActsExamples::MaterialMapping, ActsExamples::MeasurementMapSelector, ActsExamples::ParticleSelector, ActsExamples::ParticleSmearing, ActsExamples::ParticlesPrinter, ActsExamples::PlanarSteppingAlgorithm, ActsExamples::PropagationAlgorithm, ActsExamples::PrototracksToParameters, ActsExamples::PrototracksToSeeds, ActsExamples::RefittingAlgorithm, ActsExamples::SeedingAlgorithm, ActsExamples::SeedingFTFAlgorithm, ActsExamples::SeedingOrthogonalAlgorithm, ActsExamples::SeedsToPrototracks, ActsExamples::SingleSeedVertexFinderAlgorithm, ActsExamples::SpacePointMaker, ActsExamples::SurfaceSortingAlgorithm, ActsExamples::TrackFindingAlgorithm, ActsExamples::TrackFindingAlgorithmExaTrkX, ActsExamples::TrackFindingFromPrototrackAlgorithm, ActsExamples::TrackFittingAlgorithm, ActsExamples::TrackModifier, ActsExamples::TrackParameterSelector, ActsExamples::TrackParametersPrinter, ActsExamples::TrackParamsEstimationAlgorithm, ActsExamples::TrackSelectorAlgorithm, ActsExamples::TracksToTrajectories, ActsExamples::TrajectoriesToPrototracks, ActsExamples::TruthSeedingAlgorithm, ActsExamples::TruthSeedSelector, ActsExamples::TruthTrackFinder, ActsExamples::TruthVertexFinder, ActsExamples::TutorialVertexFinderAlgorithm, ActsExamples::VertexFitterAlgorithm, and ActsExamples::VolumeAssociationTest.

+ Collaboration diagram for ActsExamples::IAlgorithm:

The algorithm name

Constructor

The logging level for this algorithm

std::string m_name
 
std::unique_ptr< const
Acts::Logger
m_logger
 
 IAlgorithm (std::string name, Acts::Logging::Level level=Acts::Logging::INFO)
 
std::string name () const override
 The algorithm name.
 
virtual ProcessCode execute (const AlgorithmContext &context) const =0
 
ProcessCode internalExecute (const AlgorithmContext &context) final
 
ProcessCode initialize () override
 Initialize the algorithm.
 
ProcessCode finalize () override
 Finalize the algorithm.
 
const Acts::Loggerlogger () const
 

Additional Inherited Members

- Public Member Functions inherited from ActsExamples::SequenceElement
virtual ~SequenceElement ()=default
 
const std::vector< const
DataHandleBase * > & 
writeHandles () const
 
const std::vector< const
DataHandleBase * > & 
readHandles () const
 

Detailed Description

Event processing algorithm interface.

This class provides default implementations for most interface methods and and adds a default logger that can be used directly in subclasses. Algorithm implementations only need to implement the execute method.

Definition at line 32 of file IAlgorithm.hpp.

View newest version in sPHENIX GitHub at line 32 of file IAlgorithm.hpp

Constructor & Destructor Documentation

ActsExamples::IAlgorithm::IAlgorithm ( std::string  name,
Acts::Logging::Level  level = Acts::Logging::INFO 
)

Definition at line 17 of file IAlgorithm.cpp.

View newest version in sPHENIX GitHub at line 17 of file IAlgorithm.cpp

Member Function Documentation

virtual ProcessCode ActsExamples::IAlgorithm::execute ( const AlgorithmContext context) const
pure virtual

Execute the algorithm for one event.

This function must be implemented by subclasses.

Implemented in ActsExamples::HoughTransformSeeder, ActsExamples::Geant4MaterialRecording, ActsExamples::Geant4Simulation, ActsExamples::PropagationAlgorithm, ActsExamples::MaterialMapping, ActsExamples::TrackFindingAlgorithm, ActsExamples::FatrasSimulation, ActsExamples::AlignmentAlgorithm, ActsExamples::TrackParamsEstimationAlgorithm, ActsExamples::AdaptiveMultiVertexFinderAlgorithm, ActsExamples::VertexFitterAlgorithm, ActsExamples::TrackFindingAlgorithmExaTrkX, ActsExamples::IterativeVertexFinderAlgorithm, ActsExamples::PlanarSteppingAlgorithm, ActsExamples::TrackFindingFromPrototrackAlgorithm, ActsExamples::Geant4SimulationBase, ActsExamples::PrototracksToParameters, ActsExamples::SeedingAlgorithm, ActsExamples::TruthSeedingAlgorithm, ActsExamples::TruthSeedSelector, ActsExamples::SpacePointMaker, ActsExamples::ParticleSelector, ActsExamples::ParticleSmearing, ActsExamples::TrackFittingAlgorithm, ActsExamples::DigitizationAlgorithm, ActsExamples::EventRecording, ActsExamples::MeasurementMapSelector, ActsExamples::GreedyAmbiguityResolutionAlgorithm, ActsExamples::SeedingFTFAlgorithm, ActsExamples::SeedingOrthogonalAlgorithm, ActsExamples::HitsPrinter, ActsExamples::HepMCProcessExtractor, ActsExamples::AmbiguityResolutionMLDBScanAlgorithm, ActsExamples::VolumeAssociationTest, ActsExamples::TrackParameterSelector, ActsExamples::TrackModifier, ActsExamples::TutorialVertexFinderAlgorithm, ActsExamples::TruthTrackFinder, ActsExamples::AmbiguityResolutionMLAlgorithm, ActsExamples::SurfaceSortingAlgorithm, ActsExamples::RefittingAlgorithm, ActsExamples::HelloRandomAlgorithm, ActsExamples::SeedsToPrototracks, ActsExamples::TracksToTrajectories, ActsExamples::TrajectoriesToPrototracks, ActsExamples::TruthVertexFinder, ActsExamples::TrackSelectorAlgorithm, ActsExamples::PrototracksToSeeds, ActsExamples::SingleSeedVertexFinderAlgorithm, ActsExamples::HelloWhiteBoardAlgorithm, ActsExamples::TrackParametersPrinter, ActsExamples::ParticlesPrinter, and ActsExamples::HelloLoggerAlgorithm.

Referenced by Acts::Python::addFramework(), and internalExecute().

+ Here is the caller graph for this function:

ProcessCode ActsExamples::IAlgorithm::finalize ( )
inlineoverridevirtual

Finalize the algorithm.

Implements ActsExamples::SequenceElement.

Definition at line 58 of file IAlgorithm.hpp.

View newest version in sPHENIX GitHub at line 58 of file IAlgorithm.hpp

References SUCCESS.

ProcessCode ActsExamples::IAlgorithm::initialize ( )
inlineoverridevirtual

Initialize the algorithm.

Implements ActsExamples::SequenceElement.

Definition at line 56 of file IAlgorithm.hpp.

View newest version in sPHENIX GitHub at line 56 of file IAlgorithm.hpp

References SUCCESS.

ProcessCode ActsExamples::IAlgorithm::internalExecute ( const AlgorithmContext context)
inlinefinalvirtual

Internal execute method forwards to the algorithm execute method as const

Parameters
contextThe algorithm context

Implements ActsExamples::SequenceElement.

Definition at line 51 of file IAlgorithm.hpp.

View newest version in sPHENIX GitHub at line 51 of file IAlgorithm.hpp

References execute().

+ Here is the call graph for this function:

const Acts::Logger& ActsExamples::IAlgorithm::logger ( ) const
inlineprotected

Definition at line 61 of file IAlgorithm.hpp.

View newest version in sPHENIX GitHub at line 61 of file IAlgorithm.hpp

References m_logger.

Referenced by ActsExamples::TrackFindingFromPrototrackAlgorithm::execute(), ActsExamples::PropagationAlgorithm::execute(), and ActsExamples::Geant4SimulationBase::Geant4SimulationBase().

+ Here is the caller graph for this function:

std::string ActsExamples::IAlgorithm::name ( ) const
overridevirtual

The algorithm name.

Implements ActsExamples::SequenceElement.

Definition at line 21 of file IAlgorithm.cpp.

View newest version in sPHENIX GitHub at line 21 of file IAlgorithm.cpp

References m_name().

+ Here is the call graph for this function:

Member Data Documentation

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

Definition at line 65 of file IAlgorithm.hpp.

View newest version in sPHENIX GitHub at line 65 of file IAlgorithm.hpp

Referenced by logger().

std::string ActsExamples::IAlgorithm::m_name
private

Definition at line 64 of file IAlgorithm.hpp.

View newest version in sPHENIX GitHub at line 64 of file IAlgorithm.hpp


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