24 using namespace sipixelobjects;
42 for(
auto it = pDD->dets().begin(); it != pDD->dets().end(); it++){
44 if(dynamic_cast<PixelGeomDetUnit const *>((*it))!=0){
46 DetId detId = (*it)->geographicalId();
47 uint32_t
id = detId();
49 DetToFedMap.insert(pair< uint32_t,std::vector<CablingPathToDetUnit> > (
id,paths));
61 typedef std::vector<CablingPathToDetUnit>::const_iterator
IT;
62 for (IT it = path.begin(); it != path.end(); ++it) {
65 if (! roc->
rawId() == detector.
rawId)
return -4;
69 if(!local.
valid())
continue;
82 std::vector<CablingPathToDetUnit>
path =
DetToFedMap.find(detId)->second;
83 int fedId = (int) path[0].fed;
91 std::vector<CablingPathToDetUnit>
path =
DetToFedMap.find(detId)->second;
92 typedef std::vector<CablingPathToDetUnit>::const_iterator
IT;
93 for (IT it = path.begin(); it != path.end(); ++it) {
99 if(!local.
valid())
continue;
100 short link = (short) it->link;
110 std::vector<CablingPathToDetUnit>
path =
DetToFedMap.find(detId)->second;
111 typedef std::vector<CablingPathToDetUnit>::const_iterator
IT;
112 for (IT it = path.begin(); it != path.end(); ++it) {
118 if(!local.
valid())
continue;
119 short rocInLink = (short) roc->
idInLink();
129 std::vector<CablingPathToDetUnit>
path =
DetToFedMap.find(detId)->second;
130 typedef std::vector<CablingPathToDetUnit>::const_iterator
IT;
131 for (IT it = path.begin(); it != path.end(); ++it) {
137 if(!local.
valid())
continue;
152 std::vector<CablingPathToDetUnit>
path =
DetToFedMap.find(detId)->second;
153 typedef std::vector<CablingPathToDetUnit>::const_iterator
IT;
154 for (IT it = path.begin(); it != path.end(); ++it) {
160 if(!local.
valid())
continue;
virtual const sipixelobjects::PixelROC * findItem(const sipixelobjects::CablingPathToDetUnit &) const =0
virtual std::vector< sipixelobjects::CablingPathToDetUnit > pathToDetUnit(uint32_t rawDetId) const =0
unsigned int idInLink() const
id of this ROC in parent Link.
bool hasDetUnit(uint32_t detId) const
void buildStructure(edm::EventSetup const &)
identify pixel inside single ROC
int toCabling(sipixelobjects::ElectronicIndex &cabling, const sipixelobjects::DetectorIndex &detector) const
global coordinates (row and column in DetUnit, as in PixelDigi)
SiPixelFrameReverter(const edm::EventSetup &, const SiPixelFedCabling *map)
std::string link(std::string &nm, std::string &ns)
LocalPixel toLocal(const GlobalPixel &glo) const
tuple path
else: Piece not in the list, fine.
int findFedId(uint32_t detId)
unsigned int idInDetUnit() const
id of this ROC in DetUnit etermined by token path
uint32_t rawId() const
return the DetUnit to which this ROC belongs to.
std::vector< LinkConnSpec >::const_iterator IT
short findRocInLink(uint32_t detId, sipixelobjects::GlobalPixel global)
short findRocInDet(uint32_t detId, sipixelobjects::GlobalPixel global)
const SiPixelFedCabling * map_
std::map< uint32_t, std::vector< sipixelobjects::CablingPathToDetUnit > > DetToFedMap
row and collumn in ROC representation
sipixelobjects::LocalPixel findPixelInRoc(uint32_t detId, sipixelobjects::GlobalPixel global)
short findLinkInFed(uint32_t detId, sipixelobjects::GlobalPixel global)