CMS 3D CMS Logo

DTTSS.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
10 //
11 //--------------------------------------------------
12 #ifndef DT_TSS_H
13 #define DT_TSS_H
14 
15 //------------------------------------
16 // Collaborating Class Declarations --
17 //------------------------------------
18 class DTTracoTrigData;
19 class DTTSCand;
20 class DTConfigTSPhi;
21 
22 //----------------------
23 // Base Class Headers --
24 //----------------------
25 
26 //---------------
27 // C++ Headers --
28 //---------------
29 #include <string>
30 #include <vector>
31 
32 // ---------------------
33 // -- Class Interface --
34 // ---------------------
35 
36 class DTTSS {
37 
38 public:
40  DTTSS(int);
41 
43  ~DTTSS();
44 
46  void addDTTSCand(DTTSCand *cand);
47 
50 
53 
55  void run();
56 
58  DTTSCand *sortTSS1();
59 
61  DTTSCand *sortTSS2();
62 
64  void clear();
65 
67  inline int number() const { return _n; }
68 
70  inline const DTConfigTSPhi *config() const { return _config; }
71 
73  unsigned nTracoT(int ifs) const;
74 
76  inline int nFirstT() const { return _tctrig[0].size(); }
77 
79  inline int nSecondT() const { return _tctrig[1].size(); }
80 
82  DTTSCand *getDTTSCand(int ifs, unsigned n) const;
83 
85  const DTTracoTrigData *getTracoT(int ifs, unsigned n) const;
86 
88  DTTSCand *getCarry() const;
89 
91  inline int nTracks() const { return _outcand.size(); }
92 
94  DTTSCand *getTrack(int n) const;
95 
97  std::string logWord(int n) const;
98 
99 private:
101 
102  // identification
103  int _n;
104 
105  // input data
106  std::vector<DTTSCand *> _tctrig[2];
107 
108  // output data
109  std::vector<DTTSCand *> _outcand;
110 
111  // internal use variables
113 
114  // log words
117 };
118 
119 #endif
std::string _logWord2
Definition: DTTSS.h:116
void ignoreSecondTrack()
Set a flag to skip sort2.
Definition: DTTSS.h:52
std::vector< DTTSCand * > _tctrig[2]
Definition: DTTSS.h:106
DTTSS(int)
Constructor.
Definition: DTTSS.cc:36
int nTracks() const
Return the number of sorted tracks.
Definition: DTTSS.h:91
int _n
Definition: DTTSS.h:103
std::string logWord(int n) const
Return the requested log word.
Definition: DTTSS.cc:345
void addDTTSCand(DTTSCand *cand)
Add a TS candidate to the TSS, ifs is first/second track flag.
Definition: DTTSS.cc:283
Definition: config.py:1
const DTConfigTSPhi * _config
Definition: DTTSS.h:100
int nFirstT() const
Return the number of input first tracks.
Definition: DTTSS.h:76
DTTSCand * getCarry() const
Return the carry (for debugging)
Definition: DTTSS.cc:337
int _ignoreSecondTrack
Definition: DTTSS.h:112
int nSecondT() const
Return the number of input second tracks.
Definition: DTTSS.h:79
DTTSCand * getTrack(int n) const
Return the requested track.
Definition: DTTSS.cc:327
void setConfig(const DTConfigTSPhi *config)
Set configuration.
Definition: DTTSS.h:49
const DTConfigTSPhi * config() const
Configuration set.
Definition: DTTSS.h:70
DTTSCand * sortTSS2()
Sort 2.
Definition: DTTSS.cc:193
std::vector< DTTSCand * > _outcand
Definition: DTTSS.h:109
DTTSCand * sortTSS1()
Sort 1.
Definition: DTTSS.cc:119
std::string _logWord1
Definition: DTTSS.h:115
~DTTSS()
Destructor.
Definition: DTTSS.cc:49
Definition: DTTSS.h:36
int number() const
Return identifier.
Definition: DTTSS.h:67
const DTTracoTrigData * getTracoT(int ifs, unsigned n) const
Return requested TRACO trigger.
Definition: DTTSS.cc:313
void run()
Run the TSS algorithm.
Definition: DTTSS.cc:69
unsigned nTracoT(int ifs) const
Return the number of input tracks (first/second)
Definition: DTTSS.cc:289
DTTSCand * getDTTSCand(int ifs, unsigned n) const
Return requested TS candidate.
Definition: DTTSS.cc:298
void clear()
Clear.
Definition: DTTSS.cc:55