BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
Reconstruction/TrkReco/include/TrkReco/TMDCTsf.h
Go to the documentation of this file.
1//-----------------------------------------------------------------------------
2// $Id: TMDCTsf.h,v 1.7 2010/03/31 09:58:59 liucy Exp $
3//-----------------------------------------------------------------------------
4// Filename : TMDCTsf.h
5// Section : Tracking MDC
6// Owner : Yoshi Iwasaki
7// Email : yoshihito.iwasaki@kek.jp
8//-----------------------------------------------------------------------------
9// Description : A class to represent a Track Finder Segment(TSF).
10// See http://bsunsrv1.kek.jp/~yiwasaki/tracking/
11//-----------------------------------------------------------------------------
12
13#ifndef TMDCTsf_FLAG_
14#define TMDCTsf_FLAG_
15
16#ifdef TRKRECO_DEBUG_DETAIL
17# ifndef TRKRECO_DEBUG
18# define TRKRECO_DEBUG
19# endif
20#endif
21
22#include "TrkReco/TMLink.h"
23#include "TrkReco/TSegment.h"
24
25#include <string>
26
27// #define HEP_SHORT_NAMES
28#include "CLHEP/Alist/AList.h"
29
30// class TMDCWire;
31
32#define TMDCTSF_MIN_LAYERS 3
33
34/// A class to represent a Track Finder Segment(TSF).
35class TMDCTsf {
36
37public:
38 /// Constructor of fixed shape.
39 // TMDCTsf(const TMDCWire * const);
40
41 /// Constructor for user defined shape.
42 /* TMDCTsf(const AList<int> & offset,
43 const AList<int> & width,
44 const TMDCWire * const);
45 */
46 TMDCTsf( unsigned sl );
47
48 /// Destructor
49 virtual ~TMDCTsf();
50
51public: // Selectors
52 /// dumps debug information.
53 void dump( const std::string& message = std::string( "" ),
54 const std::string& prefix = std::string( "" ) ) const;
55
56public: // Modifiers
57 /// finds segments.
59 AList<TSegment> createTsf( unsigned ) const;
60
61 /// solves left-right ambiguityies.
62 void solveLeftRight( void );
63
64private: // Modifiers
65 /// creates a wire list, returns false if failed.
66 bool create( const AList<int>& offset, const AList<int>& width, const TMDCWire* const );
67
68 /// find Tsf.
69 // int createTsf(TMLink *, AList<TMLink> &, AList<TMLink> &);
70 // AList<TSegment> createTsf(void) const;
71 double alpha( unsigned, TMLink* ) const;
72
73private:
74 unsigned _sl;
75 double _angle; // 0.775--1.102
76
77 AList<TMLink> _all;
78 AList<TMLink> _links;
79 // AList<TMLink> _unusedHitsOnLocallayer[4];
80 // AList<TMLink> _usedHitsOfSecond; //for the (23) layers;
81
82 AList<TMDCWire> _wires;
83
84 static TMDC* _cdc;
85
86private: // parameters.
87 // const float _maxDriftOfHit;
88 // float _maxdDistance;// maybe need five parameters here.
89 // float _averR[11] =
90 // {9.7, 14.5, 22.14, 28.62, 35.1, 42.39, 48.87, 55.35, 61.83, 69.12, 74.79}; float
91 // _singleSigma; //unit cm.
92};
93
94//-----------------------------------------------------------------------------
95
96#ifdef TMDCTsf_NO_INLINE
97# define inline
98#else
99# undef inline
100# define TMDCTsf_INLINE_DEFINE_HERE
101#endif
102
103#ifdef TMDCTsf_INLINE_DEFINE_HERE
104
105#endif
106
107#undef inline
108
109#endif /* TMDCTsf_FLAG_ */
double alpha
A class to represent a Track Finder Segment(TSF).
TMDCTsf(unsigned sl)
Constructor of fixed shape.
AList< TSegment > createTsf(unsigned) const
AList< TSegment > segments(const AList< TMLink > &links)
finds segments.
void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
void solveLeftRight(void)
solves left-right ambiguityies.
virtual ~TMDCTsf()
Destructor.