void testEcalDetId::testEBDetId(){ EBDetId smId; std::vector<unsigned int> detIds(EBDetId::kSizeForDenseIndexing,0); for (int ieta=EBDetId::MIN_IETA;ieta<=EBDetId::MAX_IETA;ieta++) for (int iphi=EBDetId::MIN_IPHI;iphi<=EBDetId::MAX_IPHI;iphi++) { //EBDetId Zside 1 try { { EBDetId aPositiveId(ieta,iphi); CPPUNIT_ASSERT(aPositiveId.ieta()==ieta); CPPUNIT_ASSERT(aPositiveId.iphi()==iphi); CPPUNIT_ASSERT(aPositiveId.zside()==1); CPPUNIT_ASSERT(aPositiveId.ietaAbs()==ieta); smId = EBDetId(aPositiveId.ism(), aPositiveId.ic(), EBDetId::SMCRYSTALMODE); CPPUNIT_ASSERT(aPositiveId==smId); CPPUNIT_ASSERT(aPositiveId.ism()==smId.ism()); CPPUNIT_ASSERT(aPositiveId.ic()==smId.ic()); CPPUNIT_ASSERT(smId.ism()>=EBDetId::MIN_SM); CPPUNIT_ASSERT(smId.ism()<=EBDetId::MAX_SM); CPPUNIT_ASSERT(smId.ic()>=EBDetId::MIN_C); CPPUNIT_ASSERT(smId.ic()<=EBDetId::MAX_C); CPPUNIT_ASSERT(EBDetId::validHashIndex(aPositiveId.hashedIndex())); CPPUNIT_ASSERT(EBDetId::unhashIndex(aPositiveId.hashedIndex())==aPositiveId); detIds.at(aPositiveId.hashedIndex()) = aPositiveId; } //EBDetId Zside -1 { EBDetId aNegativeId(-1*ieta,iphi); CPPUNIT_ASSERT(aNegativeId.ieta()==-1*ieta); CPPUNIT_ASSERT(aNegativeId.iphi()==iphi); CPPUNIT_ASSERT(aNegativeId.zside()==-1); CPPUNIT_ASSERT(aNegativeId.ietaAbs()==ieta); smId = EBDetId(aNegativeId.ism(), aNegativeId.ic(), EBDetId::SMCRYSTALMODE); CPPUNIT_ASSERT(aNegativeId==smId); CPPUNIT_ASSERT(aNegativeId.ism()==smId.ism()); CPPUNIT_ASSERT(aNegativeId.ic()==smId.ic()); CPPUNIT_ASSERT(smId.ism()>=EBDetId::MIN_SM); CPPUNIT_ASSERT(smId.ism()<=EBDetId::MAX_SM); CPPUNIT_ASSERT(smId.ic()>=EBDetId::MIN_C); CPPUNIT_ASSERT(smId.ic()<=EBDetId::MAX_C); CPPUNIT_ASSERT(EBDetId::validHashIndex(aNegativeId.hashedIndex())); CPPUNIT_ASSERT(EBDetId::unhashIndex(aNegativeId.hashedIndex())==aNegativeId); detIds.at(aNegativeId.hashedIndex()) = aNegativeId; } } catch ( cms::Exception &e ) { bool cmsExceptionCought=false; CPPUNIT_ASSERT(cmsExceptionCought); } catch ( std::exception &e ) { bool stdExceptionCought=false; CPPUNIT_ASSERT(stdExceptionCought); } } for (int i=0;i!=EBDetId::kSizeForDenseIndexing;++i) { CPPUNIT_ASSERT(detIds[i]!=0); CPPUNIT_ASSERT(EBDetId(detIds[i]).hashedIndex()==i); CPPUNIT_ASSERT(EBDetId::unhashIndex(i)==detIds[i]); } }