CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/Geometry/CaloTopology/src/EcalBarrelTopology.cc

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