BOSS 7.0.6
BESIII Offline Software System
Loading...
Searching...
No Matches
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 : [email protected]
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
37 public:
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
51 public:// Selectors
52 /// dumps debug information.
53 void dump(const std::string & message = std::string(""),
54 const std::string & prefix = std::string("")) const;
55
56 public:// Modifiers
57 /// finds segments.
59 AList<TSegment> createTsf(unsigned) const;
60
61 /// solves left-right ambiguityies.
62 void solveLeftRight(void);
63
64 private:// Modifiers
65 /// creates a wire list, returns false if failed.
66 bool create(const AList<int> & offset,
67 const AList<int> & width,
68 const TMDCWire * const);
69
70 /// find Tsf.
71// int createTsf(TMLink *, AList<TMLink> &, AList<TMLink> &);
72// AList<TSegment> createTsf(void) const;
73 double alpha(unsigned, TMLink *) const;
74
75 private:
76 unsigned _sl;
77 double _angle; // 0.775--1.102
78
79 AList<TMLink> _all;
80 AList<TMLink> _links;
81// AList<TMLink> _unusedHitsOnLocallayer[4];
82// AList<TMLink> _usedHitsOfSecond; //for the (23) layers;
83
84 AList<TMDCWire> _wires;
85
86 static TMDC * _cdc;
87
88 private: //parameters.
89// const float _maxDriftOfHit;
90// float _maxdDistance;// maybe need five parameters here.
91// float _averR[11] = {9.7, 14.5, 22.14, 28.62, 35.1, 42.39, 48.87, 55.35, 61.83, 69.12, 74.79};
92// float _singleSigma; //unit cm.
93};
94
95//-----------------------------------------------------------------------------
96
97#ifdef TMDCTsf_NO_INLINE
98#define inline
99#else
100#undef inline
101#define TMDCTsf_INLINE_DEFINE_HERE
102#endif
103
104#ifdef TMDCTsf_INLINE_DEFINE_HERE
105
106
107
108#endif
109
110#undef inline
111
112#endif /* TMDCTsf_FLAG_ */
const double alpha
A class to represent a Track Finder Segment(TSF).
Definition: TMDCTsf.h:35
AList< TSegment > createTsf(unsigned) const
Definition: TMDCTsf.cxx:315
AList< TSegment > segments(const AList< TMLink > &links)
finds segments.
Definition: TMDCTsf.cxx:199
void dump(const std::string &message=std::string(""), const std::string &prefix=std::string("")) const
dumps debug information.
Definition: TMDCTsf.cxx:72
void solveLeftRight(void)
solves left-right ambiguityies.
Definition: TMDCTsf.cxx:122
virtual ~TMDCTsf()
Destructor.
Definition: TMDCTsf.cxx:68
A class to represent a wire in MDC.
Definition: TMDCWire.h:55
Definition: TMDC.h:61