00001 #include "Geometry/CaloTopology/interface/EcalBarrelTopology.h" 00002 #include "Geometry/CaloGeometry/interface/CaloSubdetectorGeometry.h" 00003 00004 00005 EBDetId EcalBarrelTopology::incrementIeta(const EBDetId& id) const { 00006 if (!(*theGeom_).getSubdetectorGeometry(DetId::Ecal,EcalBarrel)->present(id)) 00007 return EBDetId(0); 00008 00009 EBDetId nextPoint; 00010 if (id.ieta()==-1) 00011 { 00012 if (EBDetId::validDetId(1,id.iphi())) 00013 nextPoint=EBDetId (1,id.iphi()); 00014 else 00015 return EBDetId(0); 00016 } 00017 else 00018 { 00019 if (EBDetId::validDetId(id.ieta()+1,id.iphi())) 00020 nextPoint=EBDetId(id.ieta()+1,id.iphi()); 00021 else 00022 return EBDetId(0); 00023 } 00024 if ((*theGeom_).getSubdetectorGeometry(DetId::Ecal,EcalBarrel)->present(nextPoint)) 00025 return nextPoint; 00026 else 00027 return EBDetId(0); 00028 } 00029 00030 EBDetId EcalBarrelTopology::decrementIeta(const EBDetId& id) const { 00031 00032 if (!(*theGeom_).getSubdetectorGeometry(DetId::Ecal,EcalBarrel)->present(id)) 00033 return EBDetId(0); 00034 00035 EBDetId nextPoint; 00036 if (id.ieta()==1) 00037 { 00038 if (EBDetId::validDetId(-1,id.iphi())) 00039 nextPoint=EBDetId(-1,id.iphi()); 00040 else 00041 return EBDetId(0); 00042 } 00043 else 00044 { 00045 if (EBDetId::validDetId(id.ieta()-1,id.iphi())) 00046 nextPoint=EBDetId(id.ieta()-1,id.iphi()); 00047 else 00048 return EBDetId(0); 00049 } 00050 00051 if ((*theGeom_).getSubdetectorGeometry(DetId::Ecal,EcalBarrel)->present(nextPoint)) 00052 return nextPoint; 00053 else 00054 return EBDetId(0); 00055 } 00056 00057 00058 EBDetId EcalBarrelTopology::incrementIphi(const EBDetId& id) const { 00059 if (!(*theGeom_).getSubdetectorGeometry(DetId::Ecal,EcalBarrel)->present(id)) 00060 return EBDetId(0); 00061 00062 EBDetId nextPoint; 00063 00064 if (id.iphi()==EBDetId::MAX_IPHI) 00065 { 00066 if (EBDetId::validDetId(id.ieta(),EBDetId::MIN_IPHI)) 00067 nextPoint=EBDetId(id.ieta(),EBDetId::MIN_IPHI); 00068 else 00069 return EBDetId(0); 00070 } 00071 else 00072 { 00073 if (EBDetId::validDetId(id.ieta(),id.iphi()+1)) 00074 nextPoint=EBDetId(id.ieta(),id.iphi()+1); 00075 else 00076 return EBDetId(0); 00077 } 00078 00079 if ((*theGeom_).getSubdetectorGeometry(DetId::Ecal,EcalBarrel)->present(nextPoint)) 00080 return nextPoint; 00081 else 00082 return EBDetId(0); 00083 } 00084 00085 00086 EBDetId EcalBarrelTopology::decrementIphi(const EBDetId& id) const { 00087 if (!(*theGeom_).getSubdetectorGeometry(DetId::Ecal,EcalBarrel)->present(id)) 00088 return EBDetId(0); 00089 00090 EBDetId nextPoint; 00091 00092 if (id.iphi()==EBDetId::MIN_IPHI) 00093 { 00094 if (EBDetId::validDetId(id.ieta(),EBDetId::MAX_IPHI)) 00095 nextPoint=EBDetId(id.ieta(),EBDetId::MAX_IPHI); 00096 else 00097 return EBDetId(0); 00098 } 00099 else 00100 { 00101 if (EBDetId::validDetId(id.ieta(),id.iphi()-1)) 00102 nextPoint=EBDetId(id.ieta(),id.iphi()-1); 00103 else 00104 return EBDetId(0); 00105 } 00106 00107 if ((*theGeom_).getSubdetectorGeometry(DetId::Ecal,EcalBarrel)->present(nextPoint)) 00108 return nextPoint; 00109 else 00110 return EBDetId(0); 00111 } 00112