Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:35:08

0001 #ifndef SiPixelFedCablingMapBuilder_H
0002 #define SiPixelFedCablingMapBuilder_H
0003 
0004 #include "FWCore/Framework/interface/ConsumesCollector.h"
0005 #include "CondFormats/SiPixelObjects/interface/SiPixelFedCablingTree.h"
0006 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
0007 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
0008 #include "DataFormats/TrackerCommon/interface/TrackerTopology.h"
0009 #include "Geometry/Records/interface/TrackerTopologyRcd.h"
0010 
0011 #include <vector>
0012 #include <string>
0013 
0014 class PixelModuleName;
0015 class PixelGeomDetUnit;
0016 
0017 class SiPixelFedCablingMapBuilder {
0018 public:
0019   //SiPixelFedCablingMapBuilder(const std::string & associatorName);
0020   SiPixelFedCablingMapBuilder(edm::ConsumesCollector&& iCC, const std::string fileName, const bool phase1 = false);
0021   SiPixelFedCablingTree* produce(const edm::EventSetup& setup);
0022 
0023 private:
0024   struct FedSpec {
0025     int fedId;                            // fed ID
0026     std::vector<PixelModuleName*> names;  // names of modules
0027     std::vector<uint32_t> rawids;         // modules corresponding to names
0028   };
0029   //std::string theAssociatorName;
0030   std::string fileName_;
0031   std::string myprint(const PixelGeomDetUnit* pxUnit);
0032   bool phase1_;
0033 
0034   edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> trackerTopoToken_;
0035   edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> trackerGeomToken_;
0036 };
0037 
0038 #endif