BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
FTSegment.h
Go to the documentation of this file.
1#pragma once
2
3#include <tuple>
4#include <vector>
5using std::tuple;
6using std::vector;
7
8#include "MdcParameter.h"
9
10#include "FTList.h"
11
12class FTWire;
13class FTFinder;
14class FTLayer;
15class FTSuperLayer;
16class FTTrack;
17
18class FTSegment {
19public:
20 FTSegment( FTSuperLayer* super, FTList<FTWire*>& hits );
21
22 /// destructors
23 ~FTSegment() {} // don't delete this definition, since it is used in FTFinder
24
25public: // public member functions
26 /// examine segment
27 int examine();
28
29#ifndef OnlineMode
30 /// printout of the wireHits info.
31 /// added by X.-R. Lu
32 void printout();
33#endif
34
35 /// update information for axial segment
36 void update();
37
38 /// update information for stereo segment
39 int update3D( FTTrack* track );
40
41 /// link stereo segments by tanLambda
42 void linkStereoSegments();
43
44 /// connect short segments
45 void connect_outer( const FTList<FTWire*>&, const FTList<FTWire*>& );
46 void connect_inner( const FTList<FTWire*>&, const FTList<FTWire*>& );
47
48 /// connect single hit
49 void connect_outer( FTWire* );
50
51 /// connect single hit
52 void connect_inner( FTWire* );
53
54public: // Selectors
55 /// returns wire-hit FTList
57
58 /// returns super-layer
59 FTSuperLayer* superLayer() const;
60
61 /// returns innerBoundHits
63
64 /// returns outerBoundHits
66
67 /// returns x of outgoing position
68 float outgoingX() const;
69
70 /// returns y of outgoing position
71 float outgoingY() const;
72
73 /// returns x of incoming position
74 float incomingX() const;
75
76 /// returns y of incoming position
77 float incomingY() const;
78
79 /// returns phi of incoming position
80 float incomingPhi() const;
81
82 /// returns phi of outgoing position
83 float outgoingPhi() const;
84
85 /// returns the sin(dphi)/MOD(r_out-r_in)
86 float attr_const() const;
87
88 /// returns track
89 FTTrack* track() const;
90
91 /// returns kappa(axial)
92 float kappa() const;
93
94 /// returns r from origin
95 float r() const;
96
97 /// returns s for matched 2D track
98 float s() const;
99
100 /// returns z for matched 2D track
101 float z() const;
102
103public: // Modifiers
104 /// set track
105 FTTrack* track( FTTrack* );
107
108private: // private data members
109 void updateInOutXY();
110
111 IBesMagFieldSvc* m_pmgnIMF;
112
113 FTSuperLayer* _superLayer;
114 FTList<FTWire*> _wireHits;
115 FTList<FTWire*> _innerBoundHits;
116 FTList<FTWire*> _outerBoundHits;
117 float _kappa;
118 // FTTrack* _track;
119 bool _firstCallUpdate3D;
120 FTList<float> _sList;
121 FTList<float> _zList;
122 FTList<FTTrack*> _trackList;
123
124 float _r;
125 float _outgoing_x;
126 float _outgoing_y;
127 float _incoming_x;
128 float _incoming_y;
129};
Definition FTList.h:6
FTSuperLayer * superLayer() const
returns super-layer
Definition FTSegment.cxx:51
float incomingPhi() const
returns phi of incoming position
Definition FTSegment.cxx:92
int examine()
examine segment
FTList< FTWire * > & wireHits()
returns wire-hit FTList
Definition FTSegment.cxx:52
float r() const
returns r from origin
Definition FTSegment.cxx:59
~FTSegment()
destructors
Definition FTSegment.h:23
float outgoingY() const
returns y of outgoing position
Definition FTSegment.cxx:56
float kappa() const
returns kappa(axial)
Definition FTSegment.cxx:79
void linkStereoSegments()
link stereo segments by tanLambda
float outgoingX() const
returns x of outgoing position
Definition FTSegment.cxx:55
float incomingX() const
returns x of incoming position
Definition FTSegment.cxx:57
const FTList< FTWire * > & innerBoundHits()
returns innerBoundHits
Definition FTSegment.cxx:53
void update()
update information for axial segment
const FTList< FTWire * > & outerBoundHits()
returns outerBoundHits
Definition FTSegment.cxx:54
void printout()
void connect_inner(const FTList< FTWire * > &, const FTList< FTWire * > &)
Definition FTSegment.cxx:32
float outgoingPhi() const
returns phi of outgoing position
FTSegment(FTSuperLayer *super, FTList< FTWire * > &hits)
Definition FTSegment.cxx:12
FTTrack * track() const
returns track
Definition FTSegment.cxx:81
float z() const
returns z for matched 2D track
Definition FTSegment.cxx:70
float attr_const() const
returns the sin(dphi)/MOD(r_out-r_in)
float incomingY() const
returns y of incoming position
Definition FTSegment.cxx:58
float s() const
returns s for matched 2D track
Definition FTSegment.cxx:61
static MdcParameter * param
Definition FTSegment.h:106
int update3D(FTTrack *track)
update information for stereo segment
void connect_outer(const FTList< FTWire * > &, const FTList< FTWire * > &)
connect short segments
Definition FTSegment.cxx:25