CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/EventFilter/RawDataCollector/interface/RawDataFEDSelector.h

Go to the documentation of this file.
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