StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StiMaker.h
1 //StiMaker.h
2 
3 #ifndef StiMaker_HH
4 #define StiMaker_HH
5 
6 
7 #include "StMaker.h"
9 #include "Sti/StiHitLoader.h"
10 
11 class TFile;
12 class TTree;
13 class StiPullEvent;
14 class StEvent;
15 class StiHit;
16 class StiTrack;
17 class StiStEventFiller;
18 class StiTrackContainer;
19 class StiTrackFinder;
22 class StiKalmanTrackNode;
23 class StiKalmanTrack;
24 class StiTrackMerger;
25 class StiToolkit;
26 class StiVertexFinder;
27 template<class FILTERED> class EditableFilter;
28 
29 
30 class StiMaker : public StMaker
31 {
32  public:
33 
34  StiMaker(const char* name = "Sti");
35  virtual ~StiMaker();
36  virtual void Clear(const char* opt="");
37  virtual Int_t Init();
38  Int_t InitDetectors();
39  Int_t InitPulls();
40  Int_t FillPulls();
41  virtual Int_t InitRun(int);
42  virtual Int_t Make();
43  virtual Int_t MakeGlobalTracks (StEvent *event);
44  Int_t CleanGlobalTracks();
45  virtual Int_t MakePrimaryTracks(StEvent *event);
46  virtual Int_t Finish();
47  void FinishTracks(int gloPri);
48 
49  virtual const char* GetCVS() const
50  {static const char cvs[]="Tag $Name: $ $Id: StiMaker.h,v 2.44 2018/07/06 22:13:05 smirnovd Exp $ built " __DATE__ " " __TIME__; return cvs;}
51 
52 
53  StiToolkit * getToolkit();
54 
55  protected:
56  virtual TDataSet *FindDataSet (const char* logInput,
57  const StMaker *uppMk=0,
58  const StMaker *dowMk=0) const ;
59  TDataSet* fVolume;
60 
61  private:
62  void MyClear();
63 
64  bool eventIsFinished;
65  bool _initialized;
66  int mMaxTimes; //max amount of tracks could be assigned to one hit
67  StiToolkit * _toolkit;
69  StiTrackFinder * _seedFinder;
70  StiKalmanTrackFinder * _tracker;
71  StiKalmanTrackFitter * _fitter;
72  StiStEventFiller * _eventFiller;
73  StiTrackContainer * _trackContainer;
74  StiVertexFinder* _vertexFinder;
75  EditableFilter<StiTrack> * _loaderTrackFilter;
76  EditableFilter<StiHit> * _loaderHitFilter;
77 #if 0
78  void fillVxFlags();
79 #endif
80  TFile *mPullFile;
81  StiPullEvent *mPullEvent;
82  TTree *mPullTTree;
83  int mPullHits[3];//number of hits filled. See FillPulls
84  int mTotPrimTks[2];
85  TStopwatch *mTimg[5]; //HitLoad,GloTrks,Vtx,PriTrks,StFill
86  ClassDef(StiMaker,0)
87 };
88 
89 //inlines
90 
91 inline StiToolkit * StiMaker::getToolkit()
92 {
93  return _toolkit;
94 }
95 #endif
Definition of Kalman Track.
Abstract definition of a Track.
Definition: StiTrack.h:59
virtual Int_t Make()
Definition: StiMaker.cxx:412
Definition: StiHit.h:51
virtual Int_t Finish()
Definition: StiMaker.cxx:199
Definition of toolkit.
Definition: StiToolkit.h:55
An abstract class defining the interface to the track finder.