Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:49:46

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   void swap(FEDRawDataCollection& other) { data_.swap(other.data_); }
0033 
0034 private:
0035   std::vector<FEDRawData> data_;  ///< the raw data
0036 };
0037 
0038 inline void swap(FEDRawDataCollection& a, FEDRawDataCollection& b) { a.swap(b); }
0039 
0040 #endif