Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DTrackFitter_factory_KalmanSIMD.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: DTrackFitter_factory_Kalman_SIMD.h
4 
5 #ifndef _DTrackFitter_factory_KalmanSIMD_
6 #define _DTrackFitter_factory_KalmanSIMD_
7 
8 #include <JANA/JFactory.h>
10 
11 class DTrackFitter_factory_KalmanSIMD:public jana::JFactory<DTrackFitter>{
12  public:
15  const char* Tag(void){return "KalmanSIMD";}
16 
18 
19  //------------------
20  // brun
21  //------------------
22  jerror_t brun(JEventLoop *loop, int32_t runnumber)
23  {
24  // (See DTAGHGeometry_factory.h)
25  SetFactoryFlag(NOT_OBJECT_OWNER);
26  ClearFactoryFlag(WRITE_TO_OUTPUT);
27 
28  if( fitter ) delete fitter;
29 
30  fitter = new DTrackFitterKalmanSIMD(loop);
31 
32  return NOERROR;
33  }
34 
35  //------------------
36  // evnt
37  //------------------
38  jerror_t evnt(JEventLoop *loop, uint64_t eventnumber)
39  {
40  // Reuse existing DTrackFitterKalmanSIMD object.
41  if( fitter ) _data.push_back( fitter );
42 
43  return NOERROR;
44  }
45 
46  //------------------
47  // erun
48  //------------------
49  jerror_t erun(void)
50  {
51  if( fitter ) delete fitter;
52  fitter = NULL;
53 
54  return NOERROR;
55  }
56 };
57 
58 #endif // _DTrackFitter_factory_KalmanSIMD_
59 
The DTrackFitter class is a base class for different charged track fitting algorithms. It does not actually fit the track itself, but provides the interface and some common support features most algorthims will need to implement.
Definition: DTrackFitter.h:61
jerror_t evnt(JEventLoop *loop, uint64_t eventnumber)
jerror_t brun(JEventLoop *loop, int32_t runnumber)