CMS 3D CMS Logo

DTSC.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
11 //
12 //
13 //--------------------------------------------------
14 #ifndef DT_SC_H
15 #define DT_SC_H
16 
17 //------------------------------------
18 // Collaborating Class Declarations --
19 //------------------------------------
20 class DTTracoTrigData;
21 class DTChambPhSegm;
22 class DTSectCollPhCand;
23 class DTSectCollThCand;
24 class DTConfigSectColl;
25 class DTTrigGeom;
26 
27 //----------------------
28 // Base Class Headers --
29 //----------------------
31 
32 //---------------
33 // C++ Headers --
34 //---------------
35 #include <vector>
36 
37 // ---------------------
38 // -- Class Interface --
39 // ---------------------
40 
41 
42 class DTSC{
43 
44  public:
45 
47  DTSC(int istat);
48 
50  ~DTSC();
51 
52  // non-const methods
53 
55  void setConfig(const DTConfigSectColl *conf) { _config=conf; };
56 
59 
61  void addThCand(DTSectCollThCand* cand);
62 
63  // CB CONTROLLA LA DIFFERENZA TRA QUESTO E addPhCand!!!!!!!!!!
66 
67 
70 
72  void run();
73 
76 
79 
81  void clear();
82 
83  // const methods
84 
86  inline const DTConfigSectColl* config() const { return _config; }
87 
89  unsigned nCandPh (int ifs) const;
90 
92  unsigned nCandTh () const;
93 
95  inline int nFirstTPh() const { return _incand_ph[0].size(); }
96 
98  inline int nSecondTPh() const { return _incand_ph[1].size(); }
99 
101  DTSectCollPhCand* getDTSectCollPhCand(int ifs, unsigned n) const;
102 
104  DTSectCollThCand* getDTSectCollThCand(unsigned n) const;
105 
107  inline int nTracksPh() const { return _outcand_ph.size(); }
108 
110  inline int nTracksTh() const { return _cand_th.size(); }
111 
113  DTSectCollPhCand* getTrackPh(int n) const ;
114 
116  DTSectCollThCand* getTrackTh(int n) const ;
117 
118  private:
119 
120  // Configuration
122 
123  // input phi data
124  std::vector<DTSectCollPhCand*> _incand_ph[2];
125 
126  // output phi data
127  std::vector<DTSectCollPhCand*> _outcand_ph;
128 
129  // theta data
130  std::vector<DTSectCollThCand*> _cand_th;
131 
132  // internal use variables
134 
135  // station number [1-5]
136  int _stat;
137 
138 };
139 
140 #endif
int nFirstTPh() const
Return the number of input first tracks.
Definition: DTSC.h:95
std::vector< DTSectCollPhCand * > _incand_ph[2]
Definition: DTSC.h:124
unsigned nCandPh(int ifs) const
Return the number of Phi input tracks (first/second)
Definition: DTSC.cc:250
std::vector< DTSectCollThCand * > _cand_th
Definition: DTSC.h:130
int _stat
Definition: DTSC.h:136
DTSectCollPhCand * DTSectCollsort2()
Phi Sort 2.
Definition: DTSC.cc:194
Definition: DTSC.h:42
DTSC(int istat)
Constructor.
Definition: DTSC.cc:42
DTSectCollThCand * getTrackTh(int n) const
Return the requested Theta track.
Definition: DTSC.cc:328
DTSectCollPhCand * getDTSectCollPhCand(int ifs, unsigned n) const
Return requested TSS candidate.
Definition: DTSC.cc:270
void ignoreSecondTrack()
Set a flag to skip sort2.
Definition: DTSC.h:69
const DTConfigSectColl * config() const
Configuration set.
Definition: DTSC.h:86
void addDTSectCollPhCand(DTSectCollPhCand *cand)
Add a Sector Collector.
Definition: DTSC.cc:303
std::vector< DTSectCollPhCand * > _outcand_ph
Definition: DTSC.h:127
void addThCand(DTSectCollThCand *cand)
Add a Theta candidate to sect coll.
Definition: DTSC.cc:242
void addPhCand(DTSectCollPhCand *cand)
Add a TSM candidate to the Sect Coll, ifs is first/second track flag.
Definition: DTSC.cc:235
DTSectCollPhCand * getTrackPh(int n) const
Return the requested Phi track.
Definition: DTSC.cc:312
int _ignoreSecondTrack
Definition: DTSC.h:133
void run()
Run the Sector Collector algorithm.
Definition: DTSC.cc:84
DTSectCollThCand * getDTSectCollThCand(unsigned n) const
Return requested Theta candidate.
Definition: DTSC.cc:289
~DTSC()
Destructor.
Definition: DTSC.cc:55
int nTracksPh() const
Return the number of output Phi tracks.
Definition: DTSC.h:107
DTSectCollPhCand * DTSectCollsort1()
Phi Sort 1.
Definition: DTSC.cc:141
unsigned nCandTh() const
Return the number of Theta input tracks.
Definition: DTSC.cc:262
void clear()
Clear.
Definition: DTSC.cc:67
int nSecondTPh() const
Return the number of input second tracks.
Definition: DTSC.h:98
int nTracksTh() const
Return the number of output Theta tracks.
Definition: DTSC.h:110
void setConfig(const DTConfigSectColl *conf)
Set configuration.
Definition: DTSC.h:55
const DTConfigSectColl * _config
Definition: DTSC.h:121