File indexing completed on 2024-04-06 11:59:31
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
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;
0026 std::vector<PixelModuleName*> names;
0027 std::vector<uint32_t> rawids;
0028 };
0029
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