Go to the documentation of this file.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