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
12 //
13 //--------------------------------------------------
14 #ifndef DT_SC_H
15 #define DT_SC_H
16 
17 //------------------------------------
18 // Collaborating Class Declarations --
19 //------------------------------------
20 class DTTracoTrigData;
21 class DTTSCand;
22 class DTConfigSectColl;
23 // added DBSM
24 class DTTrigGeom;
25 
26 //----------------------
27 // Base Class Headers --
28 //----------------------
29 // added DBSM
31 
32 //---------------
33 // C++ Headers --
34 //---------------
35 #include <vector>
36 
37 // ---------------------
38 // -- Class Interface --
39 // ---------------------
40 
41 
42 class DTSC{
43 
44  public:
45 
48 
50  ~DTSC();
51 
52  // non-const methods
53 
55  void addCand(DTTSCand* cand);
56 
59 
61  void run();
62 
65 
68 
70  void clear();
71 
72  // const methods
73 
75  inline DTConfigSectColl* config() const { return _config; }
76 
78  unsigned nCand(int ifs) const;
79 
81  inline int nFirstT() const { return _incand[0].size(); }
82 
84  inline int nSecondT() const { return _incand[1].size(); }
85 
87  DTTSCand* getDTTSCand(int ifs, unsigned n) const;
88 
90  const DTTracoTrigData* getTracoT(int ifs, unsigned n) const;
91 
93  inline int nTracks() const { return _outcand.size(); }
94 
96  DTTSCand* getTrack(int n) const ;
97 
98 
99  private:
100 
101  // Configuration
103 
104  // input data
105  std::vector<DTTSCand*> _incand[2];
106 
107  // output data
108  std::vector<DTTSCand*> _outcand;
109 
110  // internal use variables
111  int _ignoreSecondTrack;
112 
113 
114 };
115 #endif
116 
117 
118 
119 
120 
121 
122 
123 
124 
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)
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:43
std::vector< DTTSCand * > _incand[2]
Definition: DTSCCand.h:105
DTSC(int istat)
Constructor.
Definition: DTSC.cc:42
void ignoreSecondTrack()
Set a flag to skip sort2.
Definition: DTSCCand.h:58
int nTracks() const
Return the number of sorted tracks.
Definition: DTSCCand.h:93
DTTSCand * getTrack(int n) const
Return the requested track.
DTConfigSectColl * _config
Definition: DTSC.h:122
int nSecondT() const
Return the number of input second tracks.
Definition: DTSCCand.h:84
int _ignoreSecondTrack
Definition: DTSC.h:134
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:75
std::vector< DTTSCand * > _outcand
Definition: DTSCCand.h:108
int nFirstT() const
Return the number of input first tracks.
Definition: DTSCCand.h:81