CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/CondFormats/Calibration/interface/BlobComplex.h

Go to the documentation of this file.
00001 #ifndef BlobComplex_h
00002 #define BlobComplex_h
00003 
00004 #include <vector>
00005 #include <utility>
00006 
00007 struct BlobComplexData {
00008   BlobComplexData() {}
00009 
00010   void fill(unsigned int &serial);
00011   void print() const;
00012   bool operator == (const BlobComplexData &rhs) const;
00013   bool operator != (const BlobComplexData &rhs) const
00014   { return !(*this == rhs); }
00015 
00016   unsigned int a, b;
00017   std::vector<unsigned int> values;
00018 };
00019 
00020 struct BlobComplexContent {
00021   BlobComplexContent() {}
00022 
00023   void fill(unsigned int &serial);
00024   void print() const;
00025   bool operator == (const BlobComplexContent &rhs) const;
00026   bool operator != (const BlobComplexContent &rhs) const
00027   { return !(*this == rhs); }
00028 
00029   typedef std::pair<BlobComplexData, unsigned int> Data;
00030 
00031   Data data1;
00032   Data data2;
00033   Data data3;
00034 };
00035 
00036 struct BlobComplexObjects {
00037   BlobComplexObjects() {}
00038 
00039   void fill(unsigned int &serial);
00040   void print() const;
00041   bool operator == (const BlobComplexObjects &rhs) const;
00042   bool operator != (const BlobComplexObjects &rhs) const
00043   { return !(*this == rhs); }
00044 
00045   unsigned int a, b;
00046   std::vector<BlobComplexContent> content;
00047 };
00048 
00049 struct BlobComplex {
00050   BlobComplex() {}
00051 
00052   void fill(unsigned int &serial);
00053   void print() const;
00054   bool operator == (const BlobComplex &rhs) const;
00055   bool operator != (const BlobComplex &rhs) const
00056   { return !(*this == rhs); }
00057 
00058   std::vector<BlobComplexObjects> objects;
00059 };
00060 
00061 #endif