CbmRoot
Loading...
Searching...
No Matches
CbmLitToolFactory.h
Go to the documentation of this file.
1/* Copyright (C) 2008-2016 GSI/JINR-LIT, Darmstadt/Dubna
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Andrey Lebedev [committer] */
4
12#ifndef CBMLITTOOLFACTORY_H_
13#define CBMLITTOOLFACTORY_H_
14
15#include "base/CbmLitPtrTypes.h"
16
17#include <iostream>
18#include <string>
19
20using std::string;
21
23 public:
29 static TrackExtrapolatorPtr CreateTrackExtrapolator(const string& name);
30
36 static TrackPropagatorPtr CreateTrackPropagator(const string& name);
37
43 static TrackUpdatePtr CreateTrackUpdate(const string& name);
44
50 static TrackFitterPtr CreateTrackFitter(const string& name);
51
57 static TrackSelectionPtr CreateTrackSelection(const string& name);
58
64 static TrackFinderPtr CreateTrackFinder(const string& name);
65
71 static HitToTrackMergerPtr CreateHitToTrackMerger(const string& name);
72
73 private:
80
84 virtual ~CbmLitToolFactory();
85
90
95};
96
97#endif /*CBMLITTOOLFACTORY_H_*/
Typedefs for algorithm interfaces.
boost::shared_ptr< CbmLitTrackFitter > TrackFitterPtr
boost::shared_ptr< CbmLitTrackFinder > TrackFinderPtr
boost::shared_ptr< CbmLitTrackPropagator > TrackPropagatorPtr
boost::shared_ptr< CbmLitTrackUpdate > TrackUpdatePtr
boost::shared_ptr< CbmLitTrackSelection > TrackSelectionPtr
boost::shared_ptr< CbmLitHitToTrackMerger > HitToTrackMergerPtr
boost::shared_ptr< CbmLitTrackExtrapolator > TrackExtrapolatorPtr
static TrackFinderPtr CreateTrackFinder(const string &name)
Create track selection tool by name.
static HitToTrackMergerPtr CreateHitToTrackMerger(const string &name)
Create hot to track merge tool by name.
static TrackPropagatorPtr CreateTrackPropagator(const string &name)
Create track propagation tool by name.
static TrackUpdatePtr CreateTrackUpdate(const string &name)
Create track update tool by name.
static TrackSelectionPtr CreateTrackSelection(const string &name)
Create track selection tool by name.
CbmLitToolFactory()
Constructor. Constructor is protected since singleton pattern is used. Pointer to the object is retur...
static TrackExtrapolatorPtr CreateTrackExtrapolator(const string &name)
Create track extrapolation tool by name.
const CbmLitToolFactory & operator=(const CbmLitToolFactory &)
Assignment operator.
static TrackFitterPtr CreateTrackFitter(const string &name)
Create track fit tool by name.
CbmLitToolFactory(const CbmLitToolFactory &)
Copy constructor.
virtual ~CbmLitToolFactory()
Destructor.