CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 class DTSC {
42 public:
44  DTSC(int istat);
45 
47  ~DTSC();
48 
49  // non-const methods
50 
52  void setConfig(const DTConfigSectColl* conf) { _config = conf; };
53 
55  void addPhCand(DTSectCollPhCand* cand);
56 
58  void addThCand(DTSectCollThCand* cand);
59 
60  // CB CONTROLLA LA DIFFERENZA TRA QUESTO E addPhCand!!!!!!!!!!
63 
66 
68  void run();
69 
72 
75 
77  void clear();
78 
79  // const methods
80 
82  inline const DTConfigSectColl* config() const { return _config; }
83 
85  unsigned nCandPh(int ifs) const;
86 
88  unsigned nCandTh() const;
89 
91  inline int nFirstTPh() const { return _incand_ph[0].size(); }
92 
94  inline int nSecondTPh() const { return _incand_ph[1].size(); }
95 
97  DTSectCollPhCand* getDTSectCollPhCand(int ifs, unsigned n) const;
98 
100  DTSectCollThCand* getDTSectCollThCand(unsigned n) const;
101 
103  inline int nTracksPh() const { return _outcand_ph.size(); }
104 
106  inline int nTracksTh() const { return _cand_th.size(); }
107 
109  DTSectCollPhCand* getTrackPh(int n) const;
110 
112  DTSectCollThCand* getTrackTh(int n) const;
113 
114 private:
115  // Configuration
117 
118  // input phi data
119  std::vector<DTSectCollPhCand*> _incand_ph[2];
120 
121  // output phi data
122  std::vector<DTSectCollPhCand*> _outcand_ph;
123 
124  // theta data
125  std::vector<DTSectCollThCand*> _cand_th;
126 
127  // internal use variables
129 
130  // station number [1-5]
131  int _stat;
132 };
133 
134 #endif
int nFirstTPh() const
Return the number of input first tracks.
Definition: DTSC.h:91
std::vector< DTSectCollPhCand * > _incand_ph[2]
Definition: DTSC.h:119
unsigned nCandPh(int ifs) const
Return the number of Phi input tracks (first/second)
Definition: DTSC.cc:200
std::vector< DTSectCollThCand * > _cand_th
Definition: DTSC.h:125
int _stat
Definition: DTSC.h:131
DTSectCollPhCand * DTSectCollsort2()
Phi Sort 2.
Definition: DTSC.cc:163
Definition: DTSC.h:41
DTSC(int istat)
Constructor.
Definition: DTSC.cc:41
DTSectCollThCand * getTrackTh(int n) const
Return the requested Theta track.
Definition: DTSC.cc:256
DTSectCollPhCand * getDTSectCollPhCand(int ifs, unsigned n) const
Return requested TSS candidate.
Definition: DTSC.cc:211
void ignoreSecondTrack()
Set a flag to skip sort2.
Definition: DTSC.h:65
const DTConfigSectColl * config() const
Configuration set.
Definition: DTSC.h:82
void addDTSectCollPhCand(DTSectCollPhCand *cand)
Add a Sector Collector.
Definition: DTSC.cc:238
std::vector< DTSectCollPhCand * > _outcand_ph
Definition: DTSC.h:122
void addThCand(DTSectCollThCand *cand)
Add a Theta candidate to sect coll.
Definition: DTSC.cc:198
void addPhCand(DTSectCollPhCand *cand)
Add a TSM candidate to the Sect Coll, ifs is first/second track flag.
Definition: DTSC.cc:196
DTSectCollPhCand * getTrackPh(int n) const
Return the requested Phi track.
Definition: DTSC.cc:244
int _ignoreSecondTrack
Definition: DTSC.h:128
void run()
Run the Sector Collector algorithm.
Definition: DTSC.cc:69
DTSectCollThCand * getDTSectCollThCand(unsigned n) const
Return requested Theta candidate.
Definition: DTSC.cc:227
~DTSC()
Destructor.
Definition: DTSC.cc:51
int nTracksPh() const
Return the number of output Phi tracks.
Definition: DTSC.h:103
DTSectCollPhCand * DTSectCollsort1()
Phi Sort 1.
Definition: DTSC.cc:122
unsigned nCandTh() const
Return the number of Theta input tracks.
Definition: DTSC.cc:209
void clear()
Clear.
Definition: DTSC.cc:57
int nSecondTPh() const
Return the number of input second tracks.
Definition: DTSC.h:94
int nTracksTh() const
Return the number of output Theta tracks.
Definition: DTSC.h:106
void setConfig(const DTConfigSectColl *conf)
Set configuration.
Definition: DTSC.h:52
const DTConfigSectColl * _config
Definition: DTSC.h:116