Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:07

0001 #ifndef FEDRawData_FEDRawDataCollection_h
0002 #define FEDRawData_FEDRawDataCollection_h
0003 
0004 /** \class FEDRawDataCollection
0005  *  An EDCollection storing the raw data for all  FEDs in a Event.
0006  *  
0007  *  Reference: DaqPrototype/DaqPersistentData/interface/DaqFEDOpaqueData.h
0008  *
0009  *  \author N. Amapane - S. Argiro'
0010  */
0011 
0012 #include <DataFormats/FEDRawData/interface/FEDRawData.h>
0013 #include "DataFormats/Common/interface/traits.h"
0014 #include "FWCore/Utilities/interface/GCCPrerequisite.h"
0015 
0016 #include <vector>
0017 
0018 class FEDRawDataCollection : public edm::DoNotRecordParents {
0019 public:
0020   FEDRawDataCollection();
0021 
0022   virtual ~FEDRawDataCollection();
0023 
0024   /// retrieve data for fed @param fedid
0025   const FEDRawData& FEDData(int fedid) const;
0026 
0027   /// retrieve data for fed @param fedid
0028   FEDRawData& FEDData(int fedid);
0029 
0030   FEDRawDataCollection(const FEDRawDataCollection&);
0031 
0032   FEDRawDataCollection& operator=(const FEDRawDataCollection&) = default;
0033 
0034   void swap(FEDRawDataCollection& other) { data_.swap(other.data_); }
0035 
0036 private:
0037   std::vector<FEDRawData> data_;  ///< the raw data
0038 };
0039 
0040 inline void swap(FEDRawDataCollection& a, FEDRawDataCollection& b) { a.swap(b); }
0041 
0042 #endif