CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 public:
39  DTTSS(int);
40 
42  ~DTTSS();
43 
45  void addDTTSCand(DTTSCand *cand);
46 
49 
52 
54  void run();
55 
57  DTTSCand *sortTSS1();
58 
60  DTTSCand *sortTSS2();
61 
63  void clear();
64 
66  inline int number() const { return _n; }
67 
69  inline const DTConfigTSPhi *config() const { return _config; }
70 
72  unsigned nTracoT(int ifs) const;
73 
75  inline int nFirstT() const { return _tctrig[0].size(); }
76 
78  inline int nSecondT() const { return _tctrig[1].size(); }
79 
81  DTTSCand *getDTTSCand(int ifs, unsigned n) const;
82 
84  const DTTracoTrigData *getTracoT(int ifs, unsigned n) const;
85 
87  DTTSCand *getCarry() const;
88 
90  inline int nTracks() const { return _outcand.size(); }
91 
93  DTTSCand *getTrack(int n) const;
94 
96  std::string logWord(int n) const;
97 
98 private:
100 
101  // identification
102  int _n;
103 
104  // input data
105  std::vector<DTTSCand *> _tctrig[2];
106 
107  // output data
108  std::vector<DTTSCand *> _outcand;
109 
110  // internal use variables
112 
113  // log words
116 };
117 
118 #endif
std::string _logWord2
Definition: DTTSS.h:115
void ignoreSecondTrack()
Set a flag to skip sort2.
Definition: DTTSS.h:51
std::vector< DTTSCand * > _tctrig[2]
Definition: DTTSS.h:105
DTTSS(int)
Constructor.
Definition: DTTSS.cc:36
int nTracks() const
Return the number of sorted tracks.
Definition: DTTSS.h:90
int _n
Definition: DTTSS.h:102
std::string logWord(int n) const
Return the requested log word.
Definition: DTTSS.cc:336
void addDTTSCand(DTTSCand *cand)
Add a TS candidate to the TSS, ifs is first/second track flag.
Definition: DTTSS.cc:274
const DTConfigTSPhi * _config
Definition: DTTSS.h:99
int nFirstT() const
Return the number of input first tracks.
Definition: DTTSS.h:75
DTTSCand * getCarry() const
Return the carry (for debugging)
Definition: DTTSS.cc:328
int _ignoreSecondTrack
Definition: DTTSS.h:111
int nSecondT() const
Return the number of input second tracks.
Definition: DTTSS.h:78
DTTSCand * getTrack(int n) const
Return the requested track.
Definition: DTTSS.cc:318
void setConfig(const DTConfigTSPhi *config)
Set configuration.
Definition: DTTSS.h:48
const DTConfigTSPhi * config() const
Configuration set.
Definition: DTTSS.h:69
DTTSCand * sortTSS2()
Sort 2.
Definition: DTTSS.cc:187
std::vector< DTTSCand * > _outcand
Definition: DTTSS.h:108
DTTSCand * sortTSS1()
Sort 1.
Definition: DTTSS.cc:115
std::string _logWord1
Definition: DTTSS.h:114
~DTTSS()
Destructor.
Definition: DTTSS.cc:48
Definition: DTTSS.h:36
int number() const
Return identifier.
Definition: DTTSS.h:66
const DTTracoTrigData * getTracoT(int ifs, unsigned n) const
Return requested TRACO trigger.
Definition: DTTSS.cc:304
void run()
Run the TSS algorithm.
Definition: DTTSS.cc:68
unsigned nTracoT(int ifs) const
Return the number of input tracks (first/second)
Definition: DTTSS.cc:280
DTTSCand * getDTTSCand(int ifs, unsigned n) const
Return requested TS candidate.
Definition: DTTSS.cc:289
void clear()
Clear.
Definition: DTTSS.cc:54