CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/CondFormats/SiPixelObjects/interface/SiPixelFedCablingTree.h

Go to the documentation of this file.
00001 #ifndef SiPixelFedCablingTree_H
00002 #define SiPixelFedCablingTree_H
00003 
00004 #include <vector>
00005 #include <map>
00006 #include <string>
00007 
00008 #include "CondFormats/SiPixelObjects/interface/SiPixelFedCabling.h"
00009 #include "CondFormats/SiPixelObjects/interface/PixelFEDCabling.h"
00010 
00011 class SiPixelFedCablingTree : public  SiPixelFedCabling {
00012 
00013 public:
00014   typedef sipixelobjects::PixelFEDCabling PixelFEDCabling;
00015 
00016   SiPixelFedCablingTree(const std::string & version="") : theVersion(version) {}
00017 
00018   virtual ~SiPixelFedCablingTree() {}
00019 
00021   void addFed(const PixelFEDCabling& f);
00022 
00024   const PixelFEDCabling * fed(unsigned int idFed) const;
00025 
00026   std::vector<const PixelFEDCabling *> fedList() const;
00027 
00029   virtual std::string version() const { return theVersion; }
00030 
00031   std::string print(int depth = 0) const;
00032 
00033   void addItem(unsigned int fedId, unsigned int linkId, const sipixelobjects::PixelROC& roc);
00034 
00035   virtual std::vector<sipixelobjects::CablingPathToDetUnit> pathToDetUnit(uint32_t rawDetId) const;
00036 
00037   virtual const sipixelobjects::PixelROC* findItem(
00038      const sipixelobjects::CablingPathToDetUnit & path) const;  
00039 
00040   int checkNumbering() const;
00041 
00042 private:
00043   std::string theVersion; 
00044   std::map<int, PixelFEDCabling> theFedCablings;
00045 };
00046 #endif