CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch1/src/L1Trigger/DTSectorCollector/interface/DTSCCand.h

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00003 //   \class: DTSC.h
00012 //
00013 //--------------------------------------------------
00014 #ifndef DT_SC_H  
00015 #define DT_SC_H   
00016 
00017 //------------------------------------
00018 // Collaborating Class Declarations --
00019 //------------------------------------
00020 class DTTracoTrigData;
00021 class DTTSCand;
00022 class DTConfigSectColl;
00023 // added DBSM
00024 class DTTrigGeom;
00025 
00026 //----------------------
00027 // Base Class Headers --
00028 //----------------------
00029 // added DBSM
00030 #include "L1Trigger/DTUtilities/interface/DTGeomSupplier.h"
00031 
00032 //---------------
00033 // C++ Headers --
00034 //---------------
00035 #include <vector>
00036 
00037 //              ---------------------
00038 //              -- Class Interface --
00039 //              ---------------------
00040 
00041 
00042 class DTSC{
00043 
00044  public:
00045 
00047   DTSC(DTConfigSectColl*);
00048 
00050   ~DTSC();
00051 
00052   // non-const methods
00053 
00055   void addCand(DTTSCand* cand);
00056 
00058   void ignoreSecondTrack() { _ignoreSecondTrack=1; }
00059 
00061   void run();
00062 
00064   DTTSCand* DTSectCollsort1();
00065   
00067   DTTSCand* DTSectCollsort2();
00068 
00070   void clear();
00071 
00072   // const methods
00073 
00075   inline DTConfigSectColl* config() const { return _config; }
00076 
00078   unsigned nCand(int ifs) const;
00079 
00081   inline int nFirstT() const { return _incand[0].size(); }
00082 
00084   inline int nSecondT() const { return _incand[1].size(); }
00085 
00087   DTTSCand* getDTTSCand(int ifs, unsigned n) const;
00088 
00090   const DTTracoTrigData* getTracoT(int ifs, unsigned n) const;
00091 
00093   inline int nTracks() const { return _outcand.size(); }
00094 
00096   DTTSCand* getTrack(int n) const ;
00097 
00098 
00099  private:
00100 
00101   // Configuration
00102   DTConfigSectColl* _config;
00103 
00104   // input data
00105   std::vector<DTTSCand*> _incand[2];
00106 
00107   // output data
00108   std::vector<DTTSCand*> _outcand;
00109 
00110   // internal use variables
00111   int _ignoreSecondTrack;
00112 
00113 
00114 };
00115 #endif
00116 
00117 
00118 
00119 
00120 
00121 
00122 
00123 
00124