File indexing completed on 2024-04-06 12:19:40
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef DT_SC_H
0015 #define DT_SC_H
0016
0017
0018
0019
0020 class DTTracoTrigData;
0021 class DTChambPhSegm;
0022 class DTSectCollPhCand;
0023 class DTSectCollThCand;
0024 class DTConfigSectColl;
0025 class DTTrigGeom;
0026
0027
0028
0029
0030 #include "L1Trigger/DTUtilities/interface/DTGeomSupplier.h"
0031
0032
0033
0034
0035 #include <vector>
0036
0037
0038
0039
0040
0041 class DTSC {
0042 public:
0043
0044 DTSC(int istat);
0045
0046
0047 ~DTSC();
0048
0049
0050
0051
0052 void setConfig(const DTConfigSectColl* conf) { _config = conf; };
0053
0054
0055 void addPhCand(DTSectCollPhCand* cand);
0056
0057
0058 void addThCand(DTSectCollThCand* cand);
0059
0060
0061
0062 void addDTSectCollPhCand(DTSectCollPhCand* cand);
0063
0064
0065 void ignoreSecondTrack() { _ignoreSecondTrack = 1; }
0066
0067
0068 void run();
0069
0070
0071 DTSectCollPhCand* DTSectCollsort1();
0072
0073
0074 DTSectCollPhCand* DTSectCollsort2();
0075
0076
0077 void clear();
0078
0079
0080
0081
0082 inline const DTConfigSectColl* config() const { return _config; }
0083
0084
0085 unsigned nCandPh(int ifs) const;
0086
0087
0088 unsigned nCandTh() const;
0089
0090
0091 inline int nFirstTPh() const { return _incand_ph[0].size(); }
0092
0093
0094 inline int nSecondTPh() const { return _incand_ph[1].size(); }
0095
0096
0097 DTSectCollPhCand* getDTSectCollPhCand(int ifs, unsigned n) const;
0098
0099
0100 DTSectCollThCand* getDTSectCollThCand(unsigned n) const;
0101
0102
0103 inline int nTracksPh() const { return _outcand_ph.size(); }
0104
0105
0106 inline int nTracksTh() const { return _cand_th.size(); }
0107
0108
0109 DTSectCollPhCand* getTrackPh(int n) const;
0110
0111
0112 DTSectCollThCand* getTrackTh(int n) const;
0113
0114 private:
0115
0116 const DTConfigSectColl* _config;
0117
0118
0119 std::vector<DTSectCollPhCand*> _incand_ph[2];
0120
0121
0122 std::vector<DTSectCollPhCand*> _outcand_ph;
0123
0124
0125 std::vector<DTSectCollThCand*> _cand_th;
0126
0127
0128 int _ignoreSecondTrack;
0129
0130
0131 int _stat;
0132 };
0133
0134 #endif