CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
TCosmicFitter.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// $Id: TCosmicFitter.h,v 1.8 2010/03/31 09:58:59 liucy Exp $
3//-----------------------------------------------------------------------------
4// Filename : TCosmicFitter.h
5// Section : Tracking
6// Owner : Jun-ichi Suzuki
7// Email : [email protected]
8//-----------------------------------------------------------------------------
9// Description : A class to fit a TTrackBase object to a helix.
10// See http://bsunsrv1.kek.jp/~yiwasaki/tracking/
11//-----------------------------------------------------------------------------
12
13#ifndef TCOSMICFITTER_FLAG_
14#define TCOSMICFITTER_FLAG_
15
16#ifdef TRKRECO_DEBUG_DETAIL
17#ifndef TRKRECO_DEBUG
18#define TRKRECO_DEBUG
19#endif
20#endif
21#include "TrkReco/TMFitter.h"
22#define HEP_SHORT_NAMES
23#include "CLHEP/Matrix/Vector.h"
24//#include "helix/Helix.h"
25//#include "TrkReco/Helix.h"
26#include "TrackUtil/Helix.h"
27
28#include "GaudiKernel/IInterface.h"
29#include "GaudiKernel/Kernel.h"
30#include "GaudiKernel/Service.h"
33
34#include "CLHEP/Matrix/Vector.h"
35#include "CLHEP/Matrix/SymMatrix.h"
36#include "CLHEP/Vector/ThreeVector.h"
37#include "CLHEP/Vector/LorentzVector.h"
38
39
40using CLHEP::HepVector;
41
42class TMLink;
43
44/// A class to fit a TTrackBase object to a helix.
45class TCosmicFitter : public TMFitter {
46
47 public:
48 /// Constructor.
49 TCosmicFitter(const std::string & name);
50
51 /// Destructor
52 virtual ~TCosmicFitter();
53
54 public:// Selectors
55 /// dumps debug information.
56 void dump(const std::string & message = std::string(""),
57 const std::string & prefix = std::string("")) const;
58
59 public:// Modifiers
60 int fit(TTrackBase &) const;
61 int fit(TTrackBase &, float t0Offset) const;
62
63 int fitWithCathode(TTrackBase &, float t0Offset = 0.,
64 float windowSize= 0.6, int SysCorr = 0 ) ; // added by matsu ( 1999/07/05 )
65
66 private:
67 /// calculates dXda. 'link' and 'dPhi' are inputs. Others are outputs.
68 int dxda(const TMLink & link,
69 const Helix & helix,
70 double dPhi,
71 HepVector & dxda,
72 HepVector & dyda,
73 HepVector & dzda,
74 int doSagCorrection) const;
75
76 private:
77 IMagneticFieldSvc* m_pmgnIMF;
78
79};
80
81//-----------------------------------------------------------------------------
82
83#ifdef TRKRECO_NO_INLINE
84#define inline
85#else
86#undef inline
87#define TCOSMICFITTER_INLINE_DEFINE_HERE
88#endif
89
90#ifdef TCOSMICFITTER_INLINE_DEFINE_HERE
91
92#endif
93
94#undef inline
95
96#endif /* TCOSMICFITTER_FLAG_ */
A class to fit a TTrackBase object to a helix.
int fitWithCathode(TTrackBase &, float t0Offset=0., float windowSize=0.6, int SysCorr=0)
virtual ~TCosmicFitter()
Destructor.
void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
TCosmicFitter(const std::string &name)
Constructor.
int fit(TTrackBase &) const
A class to fit a TTrackBase object.
Definition TMFitter.h:34
const std::string & name(void) const
returns name.
Definition TMFitter.h:73
A virtual class for a track class in tracking.
Definition TTrackBase.h:46