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 <vector>
30 #include <string>
31 
32 // ---------------------
33 // -- Class Interface --
34 // ---------------------
35 
36 class DTTSS {
37 
38  public:
39 
41  DTTSS(int);
42 
44  ~DTTSS();
45 
47  void addDTTSCand(DTTSCand* cand);
48 
51 
54 
56  void run();
57 
59  DTTSCand* sortTSS1();
60 
62  DTTSCand* sortTSS2();
63 
65  void clear();
66 
68  inline int number() const { return _n; }
69 
71  inline const DTConfigTSPhi* config() const { return _config; }
72 
74  unsigned nTracoT(int ifs) const;
75 
77  inline int nFirstT() const { return _tctrig[0].size(); }
78 
80  inline int nSecondT() const { return _tctrig[1].size(); }
81 
83  DTTSCand* getDTTSCand(int ifs, unsigned n) const;
84 
86  const DTTracoTrigData* getTracoT(int ifs, unsigned n) const;
87 
89  DTTSCand* getCarry() const;
90 
92  inline int nTracks() const { return _outcand.size(); }
93 
95  DTTSCand* getTrack(int n) const;
96 
98  std::string logWord(int n) const;
99 
100  private:
101 
103 
104  // identification
105  int _n;
106 
107  // input data
108  std::vector<DTTSCand*> _tctrig[2];
109 
110  // output data
111  std::vector<DTTSCand*> _outcand;
112 
113  // internal use variables
115 
116  // log words
119 
120 };
121 
122 #endif
std::string _logWord2
Definition: DTTSS.h:118
void ignoreSecondTrack()
Set a flag to skip sort2.
Definition: DTTSS.h:53
DTTSS(int)
Constructor.
Definition: DTTSS.cc:36
std::vector< DTTSCand * > _tctrig[2]
Definition: DTTSS.h:108
int nTracks() const
Return the number of sorted tracks.
Definition: DTTSS.h:92
int _n
Definition: DTTSS.h:105
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
Definition: config.py:1
const DTConfigTSPhi * _config
Definition: DTTSS.h:102
int nFirstT() const
Return the number of input first tracks.
Definition: DTTSS.h:77
DTTSCand * getCarry() const
Return the carry (for debugging)
Definition: DTTSS.cc:349
int _ignoreSecondTrack
Definition: DTTSS.h:114
int nSecondT() const
Return the number of input second tracks.
Definition: DTTSS.h:80
std::vector< DTTSCand * > _outcand
Definition: DTTSS.h:111
DTTSCand * getTrack(int n) const
Return the requested track.
Definition: DTTSS.cc:338
void setConfig(const DTConfigTSPhi *config)
Set configuration.
Definition: DTTSS.h:50
const DTConfigTSPhi * config() const
Configuration set.
Definition: DTTSS.h:71
DTTSCand * sortTSS2()
Sort 2.
Definition: DTTSS.cc:202
DTTSCand * sortTSS1()
Sort 1.
Definition: DTTSS.cc:124
std::string _logWord1
Definition: DTTSS.h:117
~DTTSS()
Destructor.
Definition: DTTSS.cc:51
Definition: DTTSS.h:36
int number() const
Return identifier.
Definition: DTTSS.h:68
const DTTracoTrigData * getTracoT(int ifs, unsigned n) const
Return requested TRACO trigger.
Definition: DTTSS.cc:323
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