StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StiDefaultToolkit.h
Go to the documentation of this file.
1 
16 #ifndef StiDefaultToolkit_H
17 #define StiDefaultToolkit_H 1
18 #include "Sti/StiToolkit.h"
19 
25 {
26 public:
27 
29  virtual Factory<StiHit> *getHitFactory();
30  virtual Factory<StiKalmanTrack> *getTrackFactory();
31  virtual Factory<StiDetector> *getDetectorFactory();
32  virtual Factory<StiCompositeTreeNode<StiDetector> > *getDetectorNodeFactory();
33  virtual Factory<StiKalmanTrackNode> *getTrackNodeFactory();
34  virtual Factory<StiNodeExt> *getTrackNodeExtFactory();
35  virtual Factory<StiNodeInf> *getTrackNodeInfFactory();
36  virtual Factory<EditableParameter> *getParameterFactory();
37  virtual Factory<Filter<StiTrack> > *getTrackFilterFactory();
38 
39  // common object containers
40  virtual StiMasterDetectorBuilder *getDetectorBuilder();
41  virtual StiDetectorContainer *getDetectorContainer();
42  virtual StiDetectorGroups *getDetectorGroups();
43  virtual StiHitContainer *getHitContainer();
44  virtual StiTrackContainer *getTrackContainer();
45 
46  // service and convenience class objects.
47  virtual StiTrackFinder *getTrackSeedFinder();
48  virtual StiTrackFinder *getTrackSeedFinderCA();
49  virtual StiTrackFinder *getTrackSeedFinderKNN();
50  virtual StiTrackFinder *getTrackFinder();
51  virtual StiTrackFitter *getTrackFitter();
52  virtual StiVertexFinder *getVertexFinder();
53  virtual StiHitLoader<StEvent,StiDetectorBuilder> *getHitLoader();
54 
55  virtual void add(StiDetectorGroup<StEvent>* detectorGroup);
56 
57  void setEvaluatorEnabled(bool);
58  bool isEvaluatorEnabled() const;
59 
60  virtual EditableFilter<StiHit> *getLoaderHitFilter();
61  virtual EditableFilter<StiTrack> *getLoaderTrackFilter();
62  virtual EditableFilter<StiTrack> *getFinderTrackFilter();
63  virtual void setLoaderHitFilter(EditableFilter<StiHit> *);
64  virtual void setLoaderTrackFilter(EditableFilter<StiTrack> *);
65  virtual void setFinderTrackFilter(EditableFilter<StiTrack> *);
66 
67  virtual int getTruth(const StiHit *hit);
68 
69  protected:
70 
71  bool _evaluatorEnabled;
72 
73  virtual ~StiDefaultToolkit();
74 
75  // small object factories
76  Factory< Filter<StiTrack> > *_trackFilterFactory;
77  Factory<EditableParameter> *_parameterFactory;
78  Factory<StiHit> *_hitFactory;
79  Factory<StiKalmanTrack> *_trackFactory;
80  Factory<StiDetector> *_detectorFactory;
81  Factory< StiCompositeTreeNode<StiDetector> > *_detectorNodeFactory;
82  Factory<StiKalmanTrackNode> *_trackNodeFactory;
83  Factory<StiNodeExt> *_trackNodeExtFactory;
84  Factory<StiNodeInf> *_trackNodeInfFactory;
85 
86  // common object containers
87  StiMasterDetectorBuilder *_detectorBuilder;
88  StiDetectorContainer *_detectorContainer;
89  StiDetectorGroups *_detectorGroups;
90  StiHitContainer *_hitContainer;
91  StiTrackContainer *_trackContainer;
92 
93  // service and convenience class objects.
94  StiTrackFinder *_trackSeedFinder;
95  StiTrackFinder *_trackFinder;
96  StiTrackFitter *_trackFitter;
97  StiVertexFinder *_vertexFinder;
99 
100  EditableFilter<StiHit> *_loaderHitFilter;
101  EditableFilter<StiTrack> *_loaderTrackFilter;
102  EditableFilter<StiTrack> *_finderTrackFilter;
103 
104 };
105 
106 #endif
107 
108 
Definition of toolkit.
Definition: StiHit.h:51
Abstract interface for a STI toolkit.
Definition of toolkit.
Definition: StiToolkit.h:55
An abstract class defining the interface to the track finder.