CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/L1Trigger/DTTriggerServerPhi/interface/DTTSM.h

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00012 //
00013 //--------------------------------------------------
00014 #ifndef MU_DT_TSM_H
00015 #define MU_DT_TSM_H
00016 
00017 //------------------------------------
00018 // Collaborating Class Declarations --
00019 //------------------------------------
00020 class DTTracoTrigData;
00021 class DTTSCand;
00022 class DTConfigTSPhi;
00023 // added DBSM
00024 class DTTrigGeom;
00025 //----------------------
00026 // Base Class Headers --
00027 //----------------------
00028 // added DBSM
00029 #include "L1Trigger/DTUtilities/interface/DTGeomSupplier.h"
00030 
00031 //---------------
00032 // C++ Headers --
00033 //---------------
00034 #include <vector>
00035 
00036 //              ---------------------
00037 //              -- Class Interface --
00038 //              ---------------------
00039 
00040 class DTTSM {
00041 
00042   public:
00043 
00045     // SM double TSM 
00046     DTTSM(int);   
00047 
00049     ~DTTSM();
00050   
00052     inline int number() const { return _n; }
00053 
00055     void setConfig(DTConfigTSPhi *config) {  _config=config; }
00056 
00058     void addCand(DTTSCand* cand);
00059 
00061     void ignoreSecondTrack() { _ignoreSecondTrack=1; }
00062 
00064     void run(int bkmod);
00065 
00067     // added DBSM
00068     DTTSCand* sortTSM1(int bkmod);
00069 
00071     DTTSCand* sortTSM2(int bkmod);
00072 
00074     void clear();
00075 
00077     inline DTConfigTSPhi* config() const { return _config; }
00078 
00080     unsigned nCand(int ifs) const;
00081 
00083     inline int nFirstT() const { return _incand[0].size(); }
00084 
00086     inline int nSecondT() const { return _incand[1].size(); }
00087 
00089     DTTSCand* getDTTSCand(int ifs, unsigned n) const;
00090 
00092     const DTTracoTrigData* getTracoT(int ifs, unsigned n) const;
00093 
00095     inline int nTracks() const { return _outcand.size(); }
00096 
00098     DTTSCand* getTrack(int n) const;
00099  
00100   private:
00101 
00102     DTConfigTSPhi* _config;
00103 
00104 
00105     // SM double TSM
00106     // identification (as for DTTSS.h)
00107     int _n;
00108 
00109     // input data
00110     std::vector<DTTSCand*> _incand[2];
00111 
00112     // output data
00113     std::vector<DTTSCand*> _outcand;
00114 
00115     // internal use variables
00116     int _ignoreSecondTrack;
00117 
00118 };
00119 #endif
00120 
00121 
00122 
00123 
00124 
00125 
00126 
00127 
00128 
00129 
00130