BOSS 7.0.4
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/TrkReco/TrkReco/TRungeFitter.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// $Id: TRungeFitter.h,v 1.16 2012/05/28 05:16:29 maoh Exp $
3//-----------------------------------------------------------------------------
4// Filename : TRungeFitter.h
5// Section : Tracking
6// Owner : Kenji Inami
7// Email : [email protected]
8//-----------------------------------------------------------------------------
9// Description : A class to fit a TTrackBase object to a Runge Kutta track
10// See http://bsunsrv1.kek.jp/~yiwasaki/tracking/
11//-----------------------------------------------------------------------------
12
13#ifndef TRUNGEFITTER_FLAG_
14#define TRUNGEFITTER_FLAG_
15
16//#ifdef TRKRECO_DEBUG_DETAIL
17//#define TRKRECO_DEBUG
18//#endif
19
20#include <string>
21
22#define HEP_SHORT_NAMES
23//#include "helix/Helix.h"
24//#include "TrkReco/Helix.h"
25#include "TrackUtil/Helix.h"
26
27#include "TrkReco/TMFitter.h"
28#include "TrkReco/RkFitCylinder.h"
29#include "TrkReco/RkFitMaterial.h"
30class TMLink;
31class TRunge;
32typedef HepGeom::Transform3D HepTransform3D;
33/// A class to fit a TTrackBase object to a 3D line.
34class TRungeFitter : public TMFitter {
35
36public:
37 /// Constructor.
38 TRungeFitter(const std::string & name);
39 TRungeFitter(const std::string & name,bool m_sag,int m_prop,bool m_tof);
40
41 /// Destructor
42 virtual ~TRungeFitter();
43
44public:// Selectors
45 /// dumps debug information.
46 void dump(const std::string & message = std::string(""),
47 const std::string & prefix = std::string("")) const;
48
49public:// Modifiers
50 virtual int fit(TTrackBase &) const;
51 virtual int fit(TTrackBase &, float t0Offset,int layer) const;
52 void innerwall(TRunge& trk, int l_mass,double y[6])const;
53 void sag(bool);
54 const RkFitMaterial getMaterial(int i)const;
55 void propagation(int);
56 void tof(bool);
57 std::vector<RkFitCylinder> _BesBeamPipeWalls;
58 std::vector<RkFitMaterial> _BesBeamPipeMaterials;
59 void setBesFromGdml(void);
60private:
61 IMagneticFieldSvc* m_pmgnIMF;
62 bool _sag;
63 int _propagation;
64 bool _tof;
65
66};
67
68//-----------------------------------------------------------------------------
69#ifdef TRKRECO_NO_INLINE
70#define inline
71#else
72#undef inline
73#define TRUNGEFITTER_INLINE_DEFINE_HERE
74#endif
75
76#ifdef TRUNGEFITTER_INLINE_DEFINE_HERE
77
78#endif
79
80#undef inline
81
82#endif /* TRUNGEFITTER_FLAG_ */
HepGeom::Transform3D HepTransform3D
A class to fit a TTrackBase object.
const std::string & name(void) const
returns name.
A class to fit a TTrackBase object to a 3D line.
void setBesFromGdml(void)
std::vector< RkFitMaterial > _BesBeamPipeMaterials
const RkFitMaterial getMaterial(int i) const
void innerwall(TRunge &trk, int l_mass, double y[6]) const
virtual int fit(TTrackBase &) const
void tof(bool)
virtual ~TRungeFitter()
Destructor.
void propagation(int)
void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
std::vector< RkFitCylinder > _BesBeamPipeWalls
void sag(bool)
A class to represent a track in tracking.
A virtual class for a track class in tracking.