コード例 #1
0
ファイル: testEcalDetId.cpp プロジェクト: 12345ieee/cmg-cmssw
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]);
  }
  
}