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