|
|
|||
File indexing completed on 2026-09-27 09:20:10
0001 /** 0002 * @file PandoraSDK/include/Pandora/Algorithm.h 0003 * 0004 * @brief Header file for the algorithm class. 0005 * 0006 * $Log: $ 0007 */ 0008 #ifndef PANDORA_ALGORITHM_H 0009 #define PANDORA_ALGORITHM_H 1 0010 0011 #include "Pandora/Process.h" 0012 0013 namespace pandora 0014 { 0015 0016 /** 0017 * @brief Algorithm class. Algorithm addresses are held only by the algorithm manager. They have a fully defined interface 0018 * and can only be run via the PandoraContent Apis. 0019 */ 0020 class Algorithm : public Process 0021 { 0022 protected: 0023 /** 0024 * @brief Run the algorithm 0025 */ 0026 virtual StatusCode Run() = 0; 0027 0028 friend class AlgorithmManager; 0029 friend class PandoraContentApiImpl; 0030 }; 0031 0032 //------------------------------------------------------------------------------------------------------------------------------------------ 0033 //------------------------------------------------------------------------------------------------------------------------------------------ 0034 0035 /** 0036 * @brief Factory class for instantiating algorithms 0037 */ 0038 class AlgorithmFactory 0039 { 0040 public: 0041 /** 0042 * @brief Create an instance of an algorithm 0043 * 0044 * @return the address of the algorithm instance 0045 */ 0046 virtual Algorithm *CreateAlgorithm() const = 0; 0047 0048 /** 0049 * @brief Destructor 0050 */ 0051 virtual ~AlgorithmFactory(); 0052 }; 0053 0054 //------------------------------------------------------------------------------------------------------------------------------------------ 0055 0056 inline AlgorithmFactory::~AlgorithmFactory() 0057 { 0058 } 0059 0060 } // namespace pandora 0061 0062 #endif // #ifndef PANDORA_ALGORITHM_H
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|