00001 #ifndef RawDataFEDSelector_h 00002 #define RawDataFEDSelector_h 00003 00009 #include <DataFormats/Common/interface/Handle.h> 00010 00011 #include <memory> 00012 #include <utility> 00013 #include <vector> 00014 00015 class FEDRawDataCollection; 00016 00017 00018 class RawDataFEDSelector { 00019 00020 public: 00021 00023 RawDataFEDSelector() {}; 00024 00026 virtual ~RawDataFEDSelector() {}; 00027 00028 inline void setRange(const std::pair<int,int> & range) {fedRange = range;}; 00029 inline void setRange(const std::vector<int> & list) {fedList = list;}; 00030 00031 std::auto_ptr<FEDRawDataCollection> select(const edm::Handle<FEDRawDataCollection> & rawData); 00032 std::auto_ptr<FEDRawDataCollection> select(const edm::Handle<FEDRawDataCollection> & rawData, const std::pair<int,int> & range); 00033 std::auto_ptr<FEDRawDataCollection> select(const edm::Handle<FEDRawDataCollection> & rawData, const std::vector<int> & list); 00034 00035 00036 private: 00037 00038 std::pair<int,int> fedRange; 00039 std::vector<int> fedList; 00040 00041 }; 00042 00043 #endif