Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-09-07 04:36:15

0001 #ifndef RawDataFEDSelector_h
0002 #define RawDataFEDSelector_h
0003 
0004 /** \class RawDataFEDSelector
0005  *  
0006  * \author M. Zanetti CERN
0007  */
0008 
0009 #include "DataFormats/Common/interface/Handle.h"
0010 
0011 #include <memory>
0012 #include <utility>
0013 #include <vector>
0014 
0015 class FEDRawDataCollection;
0016 
0017 class RawDataFEDSelector {
0018 public:
0019   /// Constructor
0020   RawDataFEDSelector() {}
0021 
0022   /// Destructor
0023   virtual ~RawDataFEDSelector() {}
0024 
0025   inline void setRange(const std::pair<int, int>& range) { fedRange = range; };
0026   inline void setRange(const std::vector<int>& list) { fedList = list; };
0027 
0028   std::unique_ptr<FEDRawDataCollection> select(const edm::Handle<FEDRawDataCollection>& rawData);
0029   std::unique_ptr<FEDRawDataCollection> select(const edm::Handle<FEDRawDataCollection>& rawData,
0030                                                const std::pair<int, int>& range);
0031   std::unique_ptr<FEDRawDataCollection> select(const edm::Handle<FEDRawDataCollection>& rawData,
0032                                                const std::vector<int>& list);
0033 
0034 private:
0035   std::pair<int, int> fedRange;
0036   std::vector<int> fedList;
0037 };
0038 
0039 #endif