![]() |
The Gaudi Framework
v36r13 (995e4364)
|
#include </builds/gaudi/Gaudi/GaudiExamples/src/DataOnDemand/MyDataAlgorithm.h>
Public Member Functions | |
MyDataAlgorithm (const std::string &name, ISvcLocator *pSvcLocator) | |
Constructor of this form must be provided. More... | |
StatusCode | initialize () override |
Three mandatory member functions of any algorithm. More... | |
StatusCode | execute () override |
standard execution method More... | |
StatusCode | finalize () override |
![]() | |
StatusCode | initialize () override |
standard initialization method More... | |
StatusCode | finalize () override |
standard finalization method More... | |
StatusCode | sysExecute (const EventContext &ctx) override |
the generic actions for the execution. More... | |
void | put (IDataProviderSvc *svc, DataObject *object, const std::string &address, const bool useRootInTES=true) const |
Register a data object or container into Gaudi Event Transient Store. More... | |
void | put (IDataProviderSvc *svc, std::unique_ptr< DataObject > object, const std::string &address, const bool useRootInTES=true) const |
const DataObject * | put (DataObject *object, const std::string &address, const bool useRootInTES=true) const |
Register a data object or container into Gaudi Event Transient Store. More... | |
const DataObject * | put (std::unique_ptr< DataObject > object, const std::string &address, const bool useRootInTES=true) const |
template<class TYPE > | |
Gaudi::Utils::GetData< TYPE >::return_type | get (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const |
Templated access to the data in Gaudi Transient Store. More... | |
template<class TYPE > | |
Gaudi::Utils::GetData< TYPE >::return_type | getIfExists (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const |
Templated access to the data in Gaudi Transient Store. More... | |
template<class TYPE > | |
Gaudi::Utils::GetData< TYPE >::return_type | get (const std::string &location, const bool useRootInTES=true) const |
Templated access to the data from Gaudi Event Transient Store. More... | |
template<class TYPE > | |
Gaudi::Utils::GetData< TYPE >::return_type | getIfExists (const std::string &location, const bool useRootInTES=true) const |
Templated access to the data in Gaudi Transient Store. More... | |
template<class TYPE > | |
TYPE * | getDet (IDataProviderSvc *svc, const std::string &location) const |
Templated access to the detector data from the Gaudi Detector Transient Store. More... | |
template<class TYPE > | |
Gaudi::Utils::GetData< TYPE >::return_type | getDetIfExists (IDataProviderSvc *svc, const std::string &location) const |
Templated access to the detector data from the Gaudi Detector Transient Store. More... | |
template<class TYPE > | |
TYPE * | getDet (const std::string &location) const |
Templated access to the detector data from the Gaudi Detector Transient Store. More... | |
template<class TYPE > | |
Gaudi::Utils::GetData< TYPE >::return_type | getDetIfExists (const std::string &location) const |
Templated access to the detector data from the Gaudi Detector Transient Store. More... | |
template<class TYPE > | |
bool | exist (IDataProviderSvc *svc, const std::string &location, const bool useRootInTES=true) const |
Check the existence of a data object or container in the Gaudi Transient Event Store. More... | |
template<class TYPE > | |
bool | exist (const std::string &location, const bool useRootInTES=true) const |
Check the existence of a data object or container in the Gaudi Transient Event Store. More... | |
template<class TYPE > | |
bool | existDet (IDataProviderSvc *svc, const std::string &location) const |
Check the existence of detector objects in the Gaudi Transient Detector Store. More... | |
template<class TYPE > | |
bool | existDet (const std::string &location) const |
Check the existence of detector objects in the Gaudi Transient Detector Store. More... | |
template<class TYPE , class TYPE2 > | |
Gaudi::Utils::GetData< TYPE >::return_type | getOrCreate (IDataProviderSvc *svc, std::string_view location, const bool useRootInTES=true) const |
Get the existing data object from Gaudi Event Transient store. More... | |
template<class TYPE , class TYPE2 > | |
Gaudi::Utils::GetData< TYPE >::return_type | getOrCreate (const std::string &location, const bool useRootInTES=true) const |
Get the existing data object from Gaudi Event Transient store. More... | |
GaudiAlgorithm (std::string name, ISvcLocator *pSvcLocator) | |
Standard constructor. More... | |
GaudiAlgorithm (const GaudiAlgorithm &)=delete | |
GaudiAlgorithm & | operator= (const GaudiAlgorithm &)=delete |
SmartIF< INTupleSvc > & | evtColSvc () const |
Access the standard event collection service. More... | |
![]() | |
Gaudi::Utils::GetData< TYPE >::return_type | get (IDataProviderSvc *svc, std::string_view location, const bool useRootInTES=true) const |
Templated access to the data in Gaudi Transient Store. More... | |
Gaudi::Utils::GetData< TYPE >::return_type | getIfExists (IDataProviderSvc *svc, std::string_view location, const bool useRootInTES=true) const |
Quicker version of the get function which bypasses the check on the retrieved data. More... | |
bool | exist (IDataProviderSvc *svc, std::string_view location, const bool useRootInTES=true) const |
Check the existence of a data object or container in the Gaudi Transient Event Store. More... | |
Gaudi::Utils::GetData< TYPE >::return_type | getOrCreate (IDataProviderSvc *svc, std::string_view location, const bool useRootInTES=true) const |
Get the existing data object from Gaudi Event Transient store. More... | |
DataObject * | put (IDataProviderSvc *svc, std::unique_ptr< DataObject > object, std::string_view location, const bool useRootInTES=true) const |
Register a data object or container into Gaudi Event Transient Store. More... | |
DataObject * | put (IDataProviderSvc *svc, DataObject *object, std::string_view location, const bool useRootInTES=true) const |
TOOL * | tool (std::string_view type, std::string_view name, const IInterface *parent=0, bool create=true) const |
Useful method for the easy location of tools. More... | |
TOOL * | tool (std::string_view type, const IInterface *parent=0, bool create=true) const |
A useful method for the easy location of tools. More... | |
SmartIF< SERVICE > | svc (std::string_view name, const bool create=true) const |
A useful method for the easy location of services. More... | |
IUpdateManagerSvc * | updMgrSvc () const |
Short-cut to locate the Update Manager Service. More... | |
StatusCode | Error (std::string_view msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const |
Print the error message and return with the given StatusCode. More... | |
StatusCode | Warning (std::string_view msg, const StatusCode st=StatusCode::FAILURE, const size_t mx=10) const |
Print the warning message and return with the given StatusCode. More... | |
StatusCode | Info (std::string_view msg, const StatusCode st=StatusCode::SUCCESS, const size_t mx=10) const |
Print the info message and return with the given StatusCode. More... | |
StatusCode | Print (std::string_view msg, const StatusCode st=StatusCode::SUCCESS, const MSG::Level lev=MSG::INFO) const |
Print the message and return with the given StatusCode. More... | |
void | Assert (const bool ok, std::string_view message="", const StatusCode sc=StatusCode::FAILURE) const |
Assertion - throw exception if the given condition is not fulfilled. More... | |
void | Exception (std::string_view msg, const GaudiException &exc, const StatusCode sc=StatusCode::FAILURE) const |
Create and (re)-throw a given GaudiException. More... | |
void | Exception (std::string_view msg, const std::exception &exc, const StatusCode sc=StatusCode::FAILURE) const |
Create and (re)-throw a given exception. More... | |
void | Exception (std::string_view msg="no message", const StatusCode sc=StatusCode::FAILURE) const |
Create and throw an exception with the given message. More... | |
StatEntity & | counter (std::string_view tag) const |
accessor to certain counter by name More... | |
StatEntity & | counter (std::string_view tag) |
long | printErrors (const MSG::Level level=MSG::ALWAYS) const |
perform the actual printout of error counters More... | |
long | printProps (const MSG::Level level=MSG::ALWAYS) const |
perform the actual printout of properties More... | |
void | registerCondition (const std::string &condition, StatusCode(CallerClass::*mf)()=nullptr) |
register the current instance to the UpdateManagerSvc as a consumer for a condition. More... | |
void | registerCondition (const std::string &condition, CondType *&condPtrDest, StatusCode(CallerClass::*mf)()=NULL) |
register the current instance to the UpdateManagerSvc as a consumer for a condition. More... | |
void | registerCondition (char *condition, StatusCode(CallerClass::*mf)()=NULL) |
just to avoid conflicts with the version using a pointer to a template class. More... | |
void | registerCondition (TargetClass *condition, StatusCode(CallerClass::*mf)()=NULL) |
register the current instance to the UpdateManagerSvc as a consumer for a condition. More... | |
StatusCode | runUpdate () |
asks the UpdateManagerSvc to perform an update of the instance (if needed) without waiting the next BeginEvent incident. More... | |
GaudiCommon (std::string name, ISvcLocator *pSvcLocator) | |
Algorithm constructor - the SFINAE constraint below ensures that this is constructor is only defined if PBASE derives from Algorithm. More... | |
GaudiCommon (std::string type, std::string name, const IInterface *ancestor) | |
Tool constructor - SFINAE-ed to insure this constructor is only defined if PBASE derives from AlgTool. More... | |
GaudiCommon ()=delete | |
GaudiCommon (const GaudiCommon &)=delete | |
StatusCode | initialize () override |
standard initialization method More... | |
StatusCode | finalize () override |
standard finalization method More... | |
GaudiCommon & | operator= (const GaudiCommon &)=delete |
StatusCode | release (const IInterface *interface) const |
Manual forced (and 'safe') release of the active tool or service. More... | |
const Services & | services () const |
get the list of aquired services More... | |
const std::string & | context () const |
Returns the "context" string. Used to identify different processing states. More... | |
![]() | |
FixTESPath (std::string name, ISvcLocator *pSvcLocator) | |
Algorithm constructor - the SFINAE constraint below ensures that this is constructor is only defined if BASE derives from Algorithm. More... | |
FixTESPath (std::string type, std::string name, const IInterface *ancestor) | |
Tool constructor - SFINAE-ed to insure this constructor is only defined if BASE derives from AlgTool. More... | |
StatusCode | initialize () override |
const std::string & | rootInTES () const |
Returns the "rootInTES" string. More... | |
std::string | fullTESLocation (std::string_view location, bool useRootInTES) const |
Returns the full correct event location given the rootInTes settings. More... | |
![]() | |
LegacyAlgorithmAdapter (std::string name, ISvcLocator *svcloc, std::string version=PACKAGE_VERSION) | |
const EventContext & | getContext () const |
bool | isExecuted () const |
Has this algorithm been executed since the last reset? More... | |
void | setExecuted (bool state) const |
Set the executed flag to the specified state. More... | |
bool | filterPassed () const |
Did this algorithm pass or fail its filter criterion for the last event? More... | |
void | setFilterPassed (bool state) const |
Set the filter passed flag to the specified state. More... | |
![]() | |
Algorithm (std::string name, ISvcLocator *svcloc, std::string version=PACKAGE_VERSION) | |
Constructor. More... | |
StatusCode | sysStart () override |
Reinitialization method invoked by the framework. More... | |
StatusCode | sysInitialize () override |
Initialization method invoked by the framework. More... | |
StatusCode | sysReinitialize () override |
Reinitialization method invoked by the framework. More... | |
StatusCode | sysRestart () override |
Restart method invoked by the framework. More... | |
StatusCode | sysExecute (const EventContext &ctx) override |
The actions to be performed by the algorithm on an event. More... | |
StatusCode | sysStop () override |
System stop. More... | |
StatusCode | sysFinalize () override |
System finalization. More... | |
const std::string & | name () const override |
The identifying name of the algorithm object. More... | |
const Gaudi::StringKey & | nameKey () const override |
const std::string & | type () const override |
The type of the algorithm object. More... | |
void | setType (std::string type) override |
const std::string & | version () const override |
unsigned int | index () const override |
StatusCode | configure () override |
Dummy implementation of IStateful::configure() method. More... | |
StatusCode | terminate () override |
Dummy implementation of IStateful::terminate() method. More... | |
StatusCode | initialize () override |
the default (empty) implementation of IStateful::initialize() method More... | |
StatusCode | start () override |
the default (empty) implementation of IStateful::start() method More... | |
StatusCode | stop () override |
the default (empty) implementation of IStateful::stop() method More... | |
StatusCode | finalize () override |
the default (empty) implementation of IStateful::finalize() method More... | |
StatusCode | reinitialize () override |
the default (empty) implementation of IStateful::reinitialize() method More... | |
StatusCode | restart () override |
the default (empty) implementation of IStateful::restart() method More... | |
Gaudi::StateMachine::State | FSMState () const override |
returns the current state of the algorithm More... | |
Gaudi::StateMachine::State | targetFSMState () const override |
returns the state the algorithm will be in after the ongoing transition More... | |
bool | isEnabled () const override |
Is this algorithm enabled or disabled? More... | |
bool | isSequence () const override |
Are we a Sequence? More... | |
unsigned int | errorCount () const |
Get the number of failures of the algorithm. More... | |
template<class T > | |
StatusCode | service (std::string_view name, T *&psvc, bool createIf=true) const |
Access a service by name, creating it if it doesn't already exist. More... | |
template<class T > | |
StatusCode | service (std::string_view svcType, std::string_view svcName, T *&psvc) const |
Access a service by name and type, creating it if it doesn't already exist. More... | |
SmartIF< IService > | service (std::string_view name, const bool createIf=true, const bool quiet=false) const |
Return a pointer to the service identified by name (or "type/name") More... | |
template<class T > | |
SmartIF< T > | service (std::string_view name, bool createIf=true, bool quiet=false) const |
SmartIF< IAuditorSvc > & | auditorSvc () const |
The standard auditor service.May not be invoked before sysInitialize() has been invoked. More... | |
SmartIF< IChronoStatSvc > & | chronoSvc () const |
The standard Chrono & Stat service, Return a pointer to the service if present. More... | |
SmartIF< IDataProviderSvc > & | detSvc () const |
The standard detector data service. More... | |
SmartIF< IConversionSvc > & | detCnvSvc () const |
The standard detector data persistency conversion service. More... | |
SmartIF< IDataProviderSvc > & | eventSvc () const |
The standard event data service. More... | |
SmartIF< IDataProviderSvc > & | evtSvc () const |
shortcut for method eventSvc More... | |
SmartIF< IConversionSvc > & | eventCnvSvc () const |
The standard event data persistency conversion service. More... | |
SmartIF< IHistogramSvc > & | histoSvc () const |
The standard histogram service. More... | |
SmartIF< INTupleSvc > & | ntupleSvc () const |
The standard N tuple service. More... | |
SmartIF< IRndmGenSvc > & | randSvc () const |
The standard RandomGen service, Return a pointer to the service if present. More... | |
SmartIF< IToolSvc > & | toolSvc () const |
The standard ToolSvc service, Return a pointer to the service if present. More... | |
SmartIF< IExceptionSvc > & | exceptionSvc () const |
Get the exception Service. More... | |
SmartIF< IAlgContextSvc > & | contextSvc () const |
get Algorithm Context Service More... | |
SmartIF< ITimelineSvc > & | timelineSvc () const |
SmartIF< ISvcLocator > & | serviceLocator () const override |
The standard service locator. More... | |
SmartIF< ISvcLocator > & | svcLoc () const |
shortcut for method serviceLocator More... | |
SmartIF< IHiveWhiteBoard > & | whiteboard () const |
SmartIF< IAlgExecStateSvc > & | algExecStateSvc () const |
bool | registerContext () const |
register for Algorithm Context Service? More... | |
template<class T > | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandle< T > &hndl, const std::string &doc="none") |
template<class T > | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, ToolHandleArray< T > &hndlArr, const std::string &doc="none") |
SmartIF< IMonitorSvc > & | monitorSvc () const |
Access the monitor service. More... | |
template<class T > | |
void | declareInfo (const std::string &name, const T &var, const std::string &desc) const |
Declare monitoring information. More... | |
void | declareInfo (const std::string &name, const std::string &format, const void *var, int size, const std::string &desc) const |
Declare monitoring information (special case) More... | |
void | acceptDHVisitor (IDataHandleVisitor *) const override |
void | registerTool (IAlgTool *tool) const |
void | deregisterTool (IAlgTool *tool) const |
template<class T > | |
StatusCode | declareTool (ToolHandle< T > &handle, bool createIf=true) |
template<class T > | |
StatusCode | declareTool (ToolHandle< T > &handle, std::string toolTypeAndName, bool createIf=true) |
template<class T > | |
void | addToolsArray (ToolHandleArray< T > &hndlArr) |
const std::vector< IAlgTool * > & | tools () const |
bool | isBlocking () const |
void | setBlocking (bool value) |
unsigned int | cardinality () const override |
Return the cardinality. More... | |
const std::vector< std::string > & | neededResources () const override |
AlgExecState & | execState (const EventContext &ctx) const override |
reference to AlgExecState of Alg More... | |
std::ostream & | toControlFlowExpression (std::ostream &os) const override |
Produce string represention of the control flow expression. More... | |
![]() | |
std::vector< Gaudi::DataHandle * > | inputHandles () const override |
std::vector< Gaudi::DataHandle * > | outputHandles () const override |
virtual const DataObjIDColl & | extraInputDeps () const override |
virtual const DataObjIDColl & | extraOutputDeps () const override |
void | declare (Gaudi::DataHandle &handle) override |
void | renounce (Gaudi::DataHandle &handle) override |
bool | renounceInput (const DataObjID &id) override |
const DataObjIDColl & | inputDataObjs () const override |
const DataObjIDColl & | outputDataObjs () const override |
void | addDependency (const DataObjID &id, const Gaudi::DataHandle::Mode &mode) override |
![]() | |
void * | i_cast (const InterfaceID &tid) const override |
Implementation of IInterface::i_cast. More... | |
StatusCode | queryInterface (const InterfaceID &ti, void **pp) override |
Implementation of IInterface::queryInterface. More... | |
std::vector< std::string > | getInterfaceNames () const override |
Implementation of IInterface::getInterfaceNames. More... | |
![]() | |
PropertyHolder ()=default | |
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Details::PropertyBase &prop) |
Declare a property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, TYPE &value, const std::string &doc="none") |
Helper to wrap a regular data member and use it as a regular property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, Gaudi::Property< TYPE, VERIFIER, HANDLERS > &prop, const std::string &doc="none") |
Declare a PropertyBase instance setting name and documentation. More... | |
Gaudi::Details::PropertyBase * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") |
Declare a remote property. More... | |
StatusCode | setProperty (const std::string &name, const Gaudi::Details::PropertyBase &p) override |
set the property from another property with a different name More... | |
StatusCode | setProperty (const std::string &s) override |
set the property from the formatted string More... | |
StatusCode | setProperty (const Gaudi::Details::PropertyBase &p) |
Set the property from a property. More... | |
virtual StatusCode | setProperty (const std::string &name, const Gaudi::Details::PropertyBase &p)=0 |
Set the property from a property with a different name. More... | |
virtual StatusCode | setProperty (const std::string &s)=0 |
Set the property by string. More... | |
StatusCode | setProperty (const std::string &name, const char *v) |
Special case for string literals. More... | |
StatusCode | setProperty (const std::string &name, const std::string &v) |
Special case for std::string. More... | |
StatusCode | setProperty (const std::string &name, const TYPE &value) |
set the property form the value More... | |
StatusCode | setPropertyRepr (const std::string &n, const std::string &r) override |
set the property from name and value string representation More... | |
StatusCode | getProperty (Gaudi::Details::PropertyBase *p) const override |
get the property More... | |
const Gaudi::Details::PropertyBase & | getProperty (std::string_view name) const override |
get the property by name More... | |
StatusCode | getProperty (std::string_view n, std::string &v) const override |
convert the property to the string More... | |
const std::vector< Gaudi::Details::PropertyBase * > & | getProperties () const override |
get all properties More... | |
bool | hasProperty (std::string_view name) const override |
Return true if we have a property with the given name. More... | |
Gaudi::Details::PropertyBase * | property (std::string_view name) const |
\fixme property and bindPropertiesTo should be protected More... | |
void | bindPropertiesTo (Gaudi::Interfaces::IOptionsSvc &optsSvc) |
PropertyHolder (const PropertyHolder &)=delete | |
PropertyHolder & | operator= (const PropertyHolder &)=delete |
![]() | |
MSG::Level | msgLevel () const |
get the cached level (originally extracted from the embedded MsgStream) More... | |
bool | msgLevel (MSG::Level lvl) const |
get the output level from the embedded MsgStream More... | |
Additional Inherited Members | |
![]() | |
typedef Gaudi::PluginService::Factory< IAlgorithm *(const std::string &, ISvcLocator *)> | Factory |
![]() | |
using | base_class = extends |
Typedef to this class. More... | |
using | extend_interfaces_base = extend_interfaces< Interfaces... > |
Typedef to the base of this class. More... | |
![]() | |
using | PropertyHolderImpl = PropertyHolder< CommonMessaging< implements< IAlgorithm, IDataHandleHolder, IProperty, IStateful > > > |
Typedef used to refer to this class from derived classes, as in. More... | |
![]() | |
using | base_class = CommonMessaging |
![]() | |
using | ext_iids = typename Gaudi::interface_list_cat< typename Interfaces::ext_iids... >::type |
take union of the ext_iids of all Interfaces... More... | |
![]() | |
friend | AlgorithmManager |
![]() | |
using | base_class = FixTESPath< Algorithm > |
typedef std::map< std::string, StatEntity, std::less<> > | StatisticsOwn |
the actual type of general counters More... | |
typedef std::map< std::string, std::reference_wrapper< Gaudi::Accumulators::PrintableCounter >, std::less<> > | Statistics |
typedef std::map< std::string, unsigned int, std::less<> > | Counter |
the actual type error/warning counter More... | |
typedef std::vector< IAlgTool * > | AlgTools |
storage for active tools More... | |
typedef std::vector< SmartIF< IService > > | Services |
storage for active services More... | |
![]() | |
StatusCode | releaseTool (const IAlgTool *tool) const |
manual forced (and 'safe') release of the tool More... | |
StatusCode | releaseSvc (const IInterface *svc) const |
manual forced (and 'safe') release of the service More... | |
![]() | |
bool | isReEntrant () const override |
![]() | |
std::vector< IAlgTool * > & | tools () |
bool | isInitialized () const override |
Has the Algorithm already been initialized? More... | |
bool | isFinalized () const override |
Has the Algorithm already been finalized? More... | |
void | setIndex (const unsigned int &idx) override |
set instantiation index of Alg More... | |
bool | isReEntrant () const override |
![]() | |
void | initDataHandleHolder () |
initializes all handles - called by the sysInitialize method of any descendant of this More... | |
![]() | |
MSG::Level | setUpMessaging () const |
Set up local caches. More... | |
MSG::Level | resetMessaging () |
Reinitialize internal states. More... | |
void | updateMsgStreamOutputLevel (int level) |
Update the output level of the cached MsgStream. More... | |
![]() | |
SmartIF< ICounterSummarySvc > | m_counterSummarySvc |
a pointer to the CounterSummarySvc More... | |
Gaudi::Property< bool > | m_errorsPrint |
Gaudi::Property< bool > | m_propsPrint |
Gaudi::Property< bool > | m_typePrint |
Gaudi::Property< std::string > | m_context |
Gaudi::Property< std::vector< std::string > > | m_counterList |
![]() | |
std::unique_ptr< IDataHandleVisitor > | m_updateDataHandles |
Hook for for derived classes to provide a custom visitor for data handles. More... | |
![]() | |
DataObjIDColl | m_inputDataObjs |
DataObjIDColl | m_outputDataObjs |
![]() | |
static const bool | IgnoreRootInTES |
Simple definition to be used with the new useRootInTES argument get<TYPE> and put methods. More... | |
static const bool | UseRootInTES |
Simple definition to be used with the new useRootInTES argument get<TYPE> and put methods. More... | |
Trivial Algorithm for tutotial purposes
Definition at line 22 of file MyDataAlgorithm.h.
MyDataAlgorithm::MyDataAlgorithm | ( | const std::string & | name, |
ISvcLocator * | pSvcLocator | ||
) |
|
overridevirtual |
standard execution method
Reimplemented from GaudiAlgorithm.
Definition at line 36 of file MyDataAlgorithm.cpp.
|
override |
Definition at line 46 of file MyDataAlgorithm.cpp.
|
override |
Three mandatory member functions of any algorithm.
Definition at line 26 of file MyDataAlgorithm.cpp.