CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DTSCCand.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
3 // \class: DTSC.h
11 //
12 //--------------------------------------------------
13 #ifndef DT_SC_H
14 #define DT_SC_H
15 
16 //------------------------------------
17 // Collaborating Class Declarations --
18 //------------------------------------
19 class DTTracoTrigData;
20 class DTTSCand;
21 class DTConfigSectColl;
22 // added DBSM
23 class DTTrigGeom;
24 
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 
41 class DTSC{
42 
43  public:
44 
47 
49  ~DTSC();
50 
51  // non-const methods
52 
54  void addCand(DTTSCand* cand);
55 
58 
60  void run();
61 
64 
67 
69  void clear();
70 
71  // const methods
72 
74  inline DTConfigSectColl* config() const { return _config; }
75 
77  unsigned nCand(int ifs) const;
78 
80  inline int nFirstT() const { return _incand[0].size(); }
81 
83  inline int nSecondT() const { return _incand[1].size(); }
84 
86  DTTSCand* getDTTSCand(int ifs, unsigned n) const;
87 
89  const DTTracoTrigData* getTracoT(int ifs, unsigned n) const;
90 
92  inline int nTracks() const { return _outcand.size(); }
93 
95  DTTSCand* getTrack(int n) const ;
96 
97 
98  private:
99 
100  // Configuration
102 
103  // input data
104  std::vector<DTTSCand*> _incand[2];
105 
106  // output data
107  std::vector<DTTSCand*> _outcand;
108 
109  // internal use variables
110  int _ignoreSecondTrack;
111 
112 
113 };
114 #endif
115 
116 
117 
118 
119 
120 
121 
122 
123 
const DTTracoTrigData * getTracoT(int ifs, unsigned n) const
Return requested TRACO trigger.
unsigned nCand(int ifs) const
Return the number of input tracks (first/second)
DTConfigSectColl * _config
Definition: DTSCCand.h:101
void addCand(DTTSCand *cand)
Add a TSM candidate to the Sect Coll, ifs is first/second track flag.
DTSectCollPhCand * DTSectCollsort2()
Phi Sort 2.
Definition: DTSC.cc:194
Definition: DTSC.h:42
std::vector< DTTSCand * > _incand[2]
Definition: DTSCCand.h:104
DTSC(int istat)
Constructor.
Definition: DTSC.cc:42
void ignoreSecondTrack()
Set a flag to skip sort2.
Definition: DTSCCand.h:57
int nTracks() const
Return the number of sorted tracks.
Definition: DTSCCand.h:92
DTTSCand * getTrack(int n) const
Return the requested track.
int nSecondT() const
Return the number of input second tracks.
Definition: DTSCCand.h:83
int _ignoreSecondTrack
Definition: DTSC.h:133
void run()
Run the Sector Collector algorithm.
Definition: DTSC.cc:84
~DTSC()
Destructor.
Definition: DTSC.cc:55
DTSectCollPhCand * DTSectCollsort1()
Phi Sort 1.
Definition: DTSC.cc:141
DTTSCand * getDTTSCand(int ifs, unsigned n) const
Return requested TSS candidate.
void clear()
Clear.
Definition: DTSC.cc:67
DTConfigSectColl * config() const
Configuration set.
Definition: DTSCCand.h:74
const DTConfigSectColl * _config
Definition: DTSC.h:121
std::vector< DTTSCand * > _outcand
Definition: DTSCCand.h:107
int nFirstT() const
Return the number of input first tracks.
Definition: DTSCCand.h:80