CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DTTSM.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
12 //
13 //--------------------------------------------------
14 #ifndef MU_DT_TSM_H
15 #define MU_DT_TSM_H
16 
17 //------------------------------------
18 // Collaborating Class Declarations --
19 //------------------------------------
20 class DTTracoTrigData;
21 class DTTSCand;
22 class DTConfigTSPhi;
23 // added DBSM
24 class DTTrigGeom;
25 //----------------------
26 // Base Class Headers --
27 //----------------------
28 // added DBSM
30 
31 //---------------
32 // C++ Headers --
33 //---------------
34 #include <vector>
35 
36 // ---------------------
37 // -- Class Interface --
38 // ---------------------
39 
40 class DTTSM {
41 
42  public:
43 
45  // SM double TSM
46  DTTSM(int);
47 
49  ~DTTSM();
50 
52  inline int number() const { return _n; }
53 
56 
58  void addCand(DTTSCand* cand);
59 
62 
64  void run(int bkmod);
65 
67  // added DBSM
68  DTTSCand* sortTSM1(int bkmod);
69 
71  DTTSCand* sortTSM2(int bkmod);
72 
74  void clear();
75 
77  inline DTConfigTSPhi* config() const { return _config; }
78 
80  unsigned nCand(int ifs) const;
81 
83  inline int nFirstT() const { return _incand[0].size(); }
84 
86  inline int nSecondT() const { return _incand[1].size(); }
87 
89  DTTSCand* getDTTSCand(int ifs, unsigned n) const;
90 
92  const DTTracoTrigData* getTracoT(int ifs, unsigned n) const;
93 
95  inline int nTracks() const { return _outcand.size(); }
96 
98  DTTSCand* getTrack(int n) const;
99 
100  private:
101 
103 
104 
105  // SM double TSM
106  // identification (as for DTTSS.h)
107  int _n;
108 
109  // input data
110  std::vector<DTTSCand*> _incand[2];
111 
112  // output data
113  std::vector<DTTSCand*> _outcand;
114 
115  // internal use variables
117 
118 };
119 #endif
120 
121 
122 
123 
124 
125 
126 
127 
128 
129 
130 
DTConfigTSPhi * _config
Definition: DTTSM.h:102
DTTSCand * sortTSM2(int bkmod)
Sort 2.
Definition: DTTSM.cc:195
DTTSCand * getTrack(int n) const
Return the requested track.
Definition: DTTSM.cc:326
DTConfigTSPhi * config() const
Configuration set.
Definition: DTTSM.h:77
void setConfig(DTConfigTSPhi *config)
Set configuration.
Definition: DTTSM.h:55
void run(int bkmod)
Run the TSM algorithm.
Definition: DTTSM.cc:70
DTTSCand * getDTTSCand(int ifs, unsigned n) const
Return requested TS candidate.
Definition: DTTSM.cc:295
std::vector< DTTSCand * > _incand[2]
Definition: DTTSM.h:110
DTTSM(int)
Constructor.
Definition: DTTSM.cc:38
Definition: DTTSM.h:40
int nTracks() const
Return the number of sorted tracks.
Definition: DTTSM.h:95
unsigned nCand(int ifs) const
Return the number of input tracks (first/second)
Definition: DTTSM.cc:284
int nSecondT() const
Return the number of input second tracks.
Definition: DTTSM.h:86
~DTTSM()
Destructor.
Definition: DTTSM.cc:49
const DTTracoTrigData * getTracoT(int ifs, unsigned n) const
Return requested TRACO trigger.
Definition: DTTSM.cc:311
int nFirstT() const
Return the number of input first tracks.
Definition: DTTSM.h:83
int _ignoreSecondTrack
Definition: DTTSM.h:116
void ignoreSecondTrack()
Set a flag to skip sort2.
Definition: DTTSM.h:61
void clear()
Clear.
Definition: DTTSM.cc:59
std::vector< DTTSCand * > _outcand
Definition: DTTSM.h:113
DTTSCand * sortTSM1(int bkmod)
Sort 1.
Definition: DTTSM.cc:122
int _n
Definition: DTTSM.h:107
int number() const
Return identifier.
Definition: DTTSM.h:52
void addCand(DTTSCand *cand)
Add a TSS candidate to the TSM, ifs is first/second track flag.
Definition: DTTSM.cc:276