CMS 3D CMS Logo

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