BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Reconstruction/TrkReco/include/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 : inami@bmail.kek.jp
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/RkFitCylinder.h"
28#include "TrkReco/RkFitMaterial.h"
29#include "TrkReco/TMFitter.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 );
60
61private:
62 IBesMagFieldSvc* getPmgnIMF() const;
63 mutable IBesMagFieldSvc* m_pmgnIMF;
64 bool _sag;
65 int _propagation;
66 bool _tof;
67};
68
69//-----------------------------------------------------------------------------
70#ifdef TRKRECO_NO_INLINE
71# define inline
72#else
73# undef inline
74# define TRUNGEFITTER_INLINE_DEFINE_HERE
75#endif
76
77#ifdef TRUNGEFITTER_INLINE_DEFINE_HERE
78
79#endif
80
81#undef inline
82
83#endif /* TRUNGEFITTER_FLAG_ */
NTuple::Array< double > m_tof
const std::string & name(void) const
returns name.
A class to fit a TTrackBase object to a 3D line.
virtual int fit(TTrackBase &, float t0Offset, int layer) const
void setBesFromGdml(void)
TRungeFitter(const std::string &name)
Constructor.
TRungeFitter(const std::string &name, bool m_sag, int m_prop, bool m_tof)
virtual ~TRungeFitter()
Destructor.
const RkFitMaterial getMaterial(int i) const
void innerwall(TRunge &trk, int l_mass, double y[6]) const
void tof(bool)
void propagation(int)
void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
void sag(bool)
virtual int fit(TTrackBase &) const
A class to represent a track in tracking.
A virtual class for a track class in tracking.