Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DTrackFitter_factory_Riemann.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // File: DTrackFitter_factory_Riemann.h
4 
5 #ifndef _DTrackFitter_factory_Riemann_
6 #define _DTrackFitter_factory_Riemann_
7 
8 #include <JANA/JFactory.h>
10 
11 class DTrackFitter_factory_Riemann:public jana::JFactory<DTrackFitter>{
12  public:
15  const char* Tag(void){return "Riemann";}
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 DTrackFitterRiemann(loop);
31 
32  return NOERROR;
33  }
34 
35  //------------------
36  // evnt
37  //------------------
38  jerror_t evnt(JEventLoop *loop, uint64_t eventnumber)
39  {
40  // Reuse existing DTrackFitterRiemann 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_Riemann_
59 
jerror_t brun(JEventLoop *loop, int32_t runnumber)
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)