00001
00016 #ifndef StiDefaultToolkit_H
00017 #define StiDefaultToolkit_H 1
00018 #include "Sti/StiToolkit.h"
00019
00024 class StiDefaultToolkit : public StiToolkit
00025 {
00026 public:
00027
00028 StiDefaultToolkit() ;
00029 virtual Factory<StiHit> *getHitFactory();
00030 virtual Factory<StiKalmanTrack> *getTrackFactory();
00031 virtual Factory<StiDetector> *getDetectorFactory();
00032 virtual Factory<StiCompositeTreeNode<StiDetector> > *getDetectorNodeFactory();
00033 virtual Factory<StiKalmanTrackNode> *getTrackNodeFactory();
00034 virtual Factory<StiNodeExt> *getTrackNodeExtFactory();
00035 virtual Factory<StiNodeInf> *getTrackNodeInfFactory();
00036 virtual Factory<EditableParameter> *getParameterFactory();
00037 virtual Factory<Filter<StiTrack> > *getTrackFilterFactory();
00038
00039
00040 virtual StiMasterDetectorBuilder *getDetectorBuilder();
00041 virtual StiDetectorContainer *getDetectorContainer();
00042 virtual StiDetectorGroups *getDetectorGroups();
00043 virtual StiHitContainer *getHitContainer();
00044 virtual StiTrackContainer *getTrackContainer();
00045
00046
00047 virtual StiTrackFinder *getTrackSeedFinder();
00048 virtual StiTrackFinder *getTrackFinder();
00049 virtual StiTrackFitter *getTrackFitter();
00050 virtual StiTrackMerger *getTrackMerger();
00051 virtual StiVertexFinder *getVertexFinder();
00052 virtual StiHitLoader<StEvent,StiDetectorBuilder> *getHitLoader();
00053
00054 virtual void add(StiDetectorGroup<StEvent>* detectorGroup);
00055
00056 void setEvaluatorEnabled(bool);
00057 bool isEvaluatorEnabled() const;
00058
00059 virtual EditableFilter<StiHit> *getLoaderHitFilter();
00060 virtual EditableFilter<StiTrack> *getLoaderTrackFilter();
00061 virtual EditableFilter<StiTrack> *getFinderTrackFilter();
00062 virtual void setLoaderHitFilter(EditableFilter<StiHit> *);
00063 virtual void setLoaderTrackFilter(EditableFilter<StiTrack> *);
00064 virtual void setFinderTrackFilter(EditableFilter<StiTrack> *);
00065
00066 virtual int getTruth(const StiHit *hit);
00067
00068 protected:
00069
00070 bool _evaluatorEnabled;
00071
00072 virtual ~StiDefaultToolkit();
00073
00074
00075 Factory< Filter<StiTrack> > *_trackFilterFactory;
00076 Factory<EditableParameter> *_parameterFactory;
00077 Factory<StiHit> *_hitFactory;
00078 Factory<StiKalmanTrack> *_trackFactory;
00079 Factory<StiDetector> *_detectorFactory;
00080 Factory< StiCompositeTreeNode<StiDetector> > *_detectorNodeFactory;
00081 Factory<StiKalmanTrackNode> *_trackNodeFactory;
00082 Factory<StiNodeExt> *_trackNodeExtFactory;
00083 Factory<StiNodeInf> *_trackNodeInfFactory;
00084
00085
00086 StiMasterDetectorBuilder *_detectorBuilder;
00087 StiDetectorContainer *_detectorContainer;
00088 StiDetectorGroups *_detectorGroups;
00089 StiHitContainer *_hitContainer;
00090 StiTrackContainer *_trackContainer;
00091
00092
00093 StiTrackFinder *_trackSeedFinder;
00094 StiTrackFinder *_trackFinder;
00095 StiTrackFitter *_trackFitter;
00096 StiTrackMerger *_trackMerger;
00097 StiVertexFinder *_vertexFinder;
00098 StiHitLoader<StEvent,StiDetectorBuilder> *_hitLoader;
00099
00100 EditableFilter<StiHit> *_loaderHitFilter;
00101 EditableFilter<StiTrack> *_loaderTrackFilter;
00102 EditableFilter<StiTrack> *_finderTrackFilter;
00103
00104 };
00105
00106 #endif
00107
00108