CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/CondFormats/SiPixelObjects/interface/SiPixelFedCablingMap.h

Go to the documentation of this file.
00001 #ifndef EventFilter_SiPixelRawToDigi_SiPixelFedCablingMap_H
00002 #define EventFilter_SiPixelRawToDigi_SiPixelFedCablingMap_H
00003 
00004 #include "CondFormats/SiPixelObjects/interface/SiPixelFedCabling.h"
00005 #include "CondFormats/SiPixelObjects/interface/PixelROC.h"
00006 
00007 #include <string>
00008 #include <map>
00009 class SiPixelFedCablingTree;
00010 
00011 
00012 class SiPixelFedCablingMap : public SiPixelFedCabling {
00013 
00014 public: 
00015 
00016   SiPixelFedCablingMap(const SiPixelFedCablingTree *cab);
00017 
00018   SiPixelFedCablingMap(const std::string & version="") : theVersion(version) {}
00019 
00020   virtual ~SiPixelFedCablingMap() {}
00021 
00022   SiPixelFedCablingTree * cablingTree() const; 
00023 
00024   virtual std::string version() const { return theVersion; }
00025 
00026   virtual const sipixelobjects::PixelROC* findItem(
00027       const sipixelobjects::CablingPathToDetUnit & path) const;
00028 
00029   virtual std::vector<sipixelobjects::CablingPathToDetUnit> pathToDetUnit(uint32_t rawDetId) const;
00030 
00031   std::vector<unsigned int> fedIds() const;
00032 
00033   struct Key { unsigned int fed, link, roc; bool operator < (const Key & other) const; };
00034 
00035 private:
00036   std::string theVersion;
00037   typedef std::map<Key, sipixelobjects::PixelROC> Map;
00038   Map theMap; 
00039 };
00040 
00041 #endif