MarlinTrk  2.2.0
Static Public Member Functions | Protected Types | Protected Attributes | List of all members
MarlinTrk::Factory Class Reference

Factory methods for creating the MarlinTrkSystem of a certain type: KalTest, DDKalTest, aidaTT,...
Currently implemented: KalTest, DDKalTest. More...

#include <Factory.h>

Static Public Member Functions

static IMarlinTrkSystemcreateMarlinTrkSystem (const std::string &systemType, const gear::GearMgr *gearMgr, const std::string &options)
 Create the MarlinTrkSystem instance of the specified type:
KalTest, DDKalTest, aidaTT,...
Returns 0 if type not implemented... More...
 
static IMarlinTrkSystemgetMarlinTrkSystem (const std::string &systemType)
 Return the MarlinTrkSystem of the given type - only valid after a preceeding call to createMarlinTrkSystem() for that type, otherwise an exception is thrown. More...
 
static IMarlinTrkSystemgetCurrentMarlinTrkSystem ()
 Return the current MarlinTrkSystem, i.e. More...
 
static Factoryinstance ()
 

Protected Types

typedef std::map< std::string,
IMarlinTrkSystem * > 
TrkSystemMap
 

Protected Attributes

IMarlinTrkSystem_currentTrkSystem
 
TrkSystemMap _map
 

Detailed Description

Factory methods for creating the MarlinTrkSystem of a certain type: KalTest, DDKalTest, aidaTT,...
Currently implemented: KalTest, DDKalTest.

The returned instance for a given type is cached, thus:

DO NOT DELETE THE POINTER at the end of your software module (Marlin processor) !

Author
F.Gaede, DESY
Version
Id:
Factory.h 4794 2015-05-12 10:46:17Z gaede

Member Function Documentation

IMarlinTrkSystem * MarlinTrk::Factory::createMarlinTrkSystem ( const std::string &  systemType,
const gear::GearMgr *  gearMgr,
const std::string &  options 
)
static

Create the MarlinTrkSystem instance of the specified type:
KalTest, DDKalTest, aidaTT,...
Returns 0 if type not implemented...

DO NOT DELETE THE POINTER at the end of your software module (Marlin processor) !

For now only KalTest or DDKalTest.

IMarlinTrkSystem * MarlinTrk::Factory::getCurrentMarlinTrkSystem ( )
static

Return the current MarlinTrkSystem, i.e.

the one returned in the last call to createMarlinTrkSystem() or getMarlinTrkSystem() preceeding this call. To be used in cases where the concrete type of the tracking system does not matter - or when it is savely initialized in the enclosing software module (e.e. the Marlin processor).

DO NOT DELETE THE POINTER at the end of your software module (Marlin processor) !

Referenced by MarlinTrk::finaliseLCIOTrack().

IMarlinTrkSystem * MarlinTrk::Factory::getMarlinTrkSystem ( const std::string &  systemType)
static

Return the MarlinTrkSystem of the given type - only valid after a preceeding call to createMarlinTrkSystem() for that type, otherwise an exception is thrown.

This is useful for several modules (e.g. Marlin processors) using the same IMarlinTrkSystem. It is the users responsibility to make sure one module has created it.

DO NOT DELETE THE POINTER at the end of your software module (Marlin processor) !


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