CMS 3D CMS Logo

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

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00012 //
00013 //--------------------------------------------------
00014 #ifndef DT_TSS_H
00015 #define DT_TSS_H
00016 
00017 //------------------------------------
00018 // Collaborating Class Declarations --
00019 //------------------------------------
00020 class DTTracoTrigData;
00021 class DTTSCand;
00022 class DTConfigTSPhi;
00023 
00024 //----------------------
00025 // Base Class Headers --
00026 //----------------------
00027 
00028 //---------------
00029 // C++ Headers --
00030 //---------------
00031 #include <vector>
00032 #include <string>
00033 
00034 //              ---------------------
00035 //              -- Class Interface --
00036 //              ---------------------
00037 
00038 class DTTSS {
00039 
00040   public:
00041 
00043     DTTSS(int);
00044   
00046     ~DTTSS();
00047 
00049     void addDTTSCand(DTTSCand* cand);
00050 
00052     void setConfig(DTConfigTSPhi *config) {  _config=config; }
00053 
00055     void ignoreSecondTrack() { _ignoreSecondTrack=1; }
00056 
00058     void run();
00059 
00061     DTTSCand* sortTSS1();
00062 
00064     DTTSCand* sortTSS2();
00065 
00067     void clear();
00068 
00070     inline int number() const { return _n; }
00071 
00073     inline DTConfigTSPhi* config() const { return _config; }
00074 
00076     unsigned nTracoT(int ifs) const;
00077 
00079     inline int nFirstT() const { return _tctrig[0].size(); }
00080 
00082     inline int nSecondT() const { return _tctrig[1].size(); }
00083 
00085     DTTSCand* getDTTSCand(int ifs, unsigned n) const;
00086 
00088     const DTTracoTrigData* getTracoT(int ifs, unsigned n) const;
00089 
00091     DTTSCand* getCarry() const;
00092 
00094     inline int nTracks() const { return _outcand.size(); }
00095 
00097     DTTSCand* getTrack(int n) const;
00098 
00100       std::string logWord(int n) const;
00101 
00102   private:
00103 
00104     DTConfigTSPhi* _config;
00105 
00106     // identification
00107     int _n;
00108 
00109     // input data
00110     std::vector<DTTSCand*> _tctrig[2];
00111 
00112     // output data
00113     std::vector<DTTSCand*> _outcand;
00114 
00115     // internal use variables
00116     int _ignoreSecondTrack;
00117 
00118     // log words
00119     std::string _logWord1;
00120     std::string _logWord2;
00121   
00122 };
00123 
00124 #endif