00001 #ifndef CSCTriggerPrimitives_CSCMuonPortCard_h 00002 #define CSCTriggerPrimitives_CSCMuonPortCard_h 00003 00018 #include <vector> 00019 #include <FWCore/ParameterSet/interface/ParameterSet.h> 00020 #include <DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigiCollection.h> 00021 #include <DataFormats/L1CSCTrackFinder/interface/CSCTriggerContainer.h> 00022 #include <DataFormats/L1CSCTrackFinder/interface/TrackStub.h> 00023 00024 00025 class CSCMuonPortCard 00026 { 00027 public: 00028 CSCMuonPortCard(); 00029 CSCMuonPortCard(const edm::ParameterSet& conf); 00030 00031 typedef CSCTriggerContainer<csctf::TrackStub> TrackStubList; 00032 00033 00034 // Method to load the content of the digi container into a trigger 00035 // container. This allows us to sort per BX more easily. 00036 void loadDigis(const CSCCorrelatedLCTDigiCollection& thedigis); 00037 00038 // Method to sort all Correlated LCTs generated by the TMB. 00039 // Returns a vector of TrackStubs indexed by [sorting] 00040 std::vector<csctf::TrackStub> sort(const unsigned endcap, const unsigned station, 00041 const unsigned sector, const unsigned subsector, 00042 const int bx); 00043 00044 void clear() { stubs_.clear(); } 00045 00046 private: 00047 CSCTriggerContainer<csctf::TrackStub> stubs_; 00048 unsigned int max_stubs_; 00049 }; 00050 00051 #endif