CMS 3D CMS Logo

Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Types

HcalDetId Class Reference

#include <HcalDetId.h>

Inheritance diagram for HcalDetId:
DetId

List of all members.

Public Types

enum  { kSizeForDenseIndexing = 2*kHcalhalf }
enum  { kHBSize = 2*kHBhalf }
enum  { kHESize = 2*kHEhalf }
enum  { kHOSize = 2*kHOhalf }
enum  { kHFSize = 2*kHFhalf }

Public Member Functions

int crystal_ieta_high () const
 get the largest crystal_ieta of the crystal in front of this tower (HB and HE tower 17 only)
int crystal_ieta_low () const
 get the smallest crystal_ieta of the crystal in front of this tower (HB and HE tower 17 only)
int crystal_iphi_high () const
 get the largest crystal_iphi of the crystal in front of this tower (HB and HE tower 17 only)
int crystal_iphi_low () const
 get the smallest crystal_iphi of the crystal in front of this tower (HB and HE tower 17 only)
uint32_t denseIndex () const
int depth () const
 get the tower depth
int hashed_index () const
 HcalDetId ()
 HcalDetId (uint32_t rawid)
 HcalDetId (HcalSubdetector subdet, int tower_ieta, int tower_iphi, int depth)
 HcalDetId (const DetId &id)
int ieta () const
 get the cell ieta
int ietaAbs () const
 get the absolute value of the cell ieta
int iphi () const
 get the cell iphi
HcalDetIdoperator= (const DetId &id)
HcalSubdetector subdet () const
 get the subdetector
int zside () const
 get the z-side of the cell (1/-1)

Static Public Member Functions

static HcalDetId detIdFromDenseIndex (uint32_t di)
static bool validDenseIndex (uint32_t din)
static bool validDetId (HcalSubdetector subdet, int tower_ieta, int tower_iphi, int depth)

Static Public Attributes

static const HcalDetId Undefined

Private Types

enum  {
  kHBhalf = 1296, kHEhalf = 1296, kHOhalf = 1080, kHFhalf = 864,
  kHcalhalf = kHBhalf + kHEhalf + kHOhalf + kHFhalf
}

Detailed Description

Cell identifier class for the HCAL subdetectors, precision readout cells only

Date:
2011/05/29 18:43:20
Revision:
1.15
Author:
J. Mans - Minnesota

Rev.1.11: A.Kubik,R.Ofierzynski: add the hashed_index

Definition at line 18 of file HcalDetId.h.


Member Enumeration Documentation

anonymous enum [private]
Enumerator:
kHBhalf 
kHEhalf 
kHOhalf 
kHFhalf 
kHcalhalf 

Definition at line 70 of file HcalDetId.h.

           { kHBhalf = 1296 ,
             kHEhalf = 1296 ,
             kHOhalf = 1080 ,
             kHFhalf = 864  ,
             kHcalhalf = kHBhalf + kHEhalf + kHOhalf + kHFhalf } ;
anonymous enum
Enumerator:
kSizeForDenseIndexing 

Definition at line 78 of file HcalDetId.h.

anonymous enum
Enumerator:
kHBSize 

Definition at line 79 of file HcalDetId.h.

{ kHBSize = 2*kHBhalf } ;
anonymous enum
Enumerator:
kHESize 

Definition at line 80 of file HcalDetId.h.

{ kHESize = 2*kHEhalf } ;
anonymous enum
Enumerator:
kHOSize 

Definition at line 81 of file HcalDetId.h.

{ kHOSize = 2*kHOhalf } ;
anonymous enum
Enumerator:
kHFSize 

Definition at line 82 of file HcalDetId.h.

{ kHFSize = 2*kHFhalf } ;

Constructor & Destructor Documentation

HcalDetId::HcalDetId ( )

Create a null cellid

Definition at line 7 of file HcalDetId.cc.

Referenced by detIdFromDenseIndex().

                     : DetId() {
}
HcalDetId::HcalDetId ( uint32_t  rawid)

Create cellid from raw id (0=invalid tower id)

Definition at line 10 of file HcalDetId.cc.

                                   : DetId(rawid) {
}
HcalDetId::HcalDetId ( HcalSubdetector  subdet,
int  tower_ieta,
int  tower_iphi,
int  depth 
)

Constructor from subdetector, signed tower ieta,iphi,and depth

Definition at line 13 of file HcalDetId.cc.

References DetId::id_.

                                                                                      : DetId(Hcal,subdet) {
  // (no checking at this point!)
  id_ |= ((depth&0x1F)<<14) |
    ((tower_ieta>0)?(0x2000|(tower_ieta<<7)):((-tower_ieta)<<7)) |
    (tower_iphi&0x7F);
}
HcalDetId::HcalDetId ( const DetId id)

Constructor from a generic cell id

Definition at line 20 of file HcalDetId.cc.

References DetId::det(), Exception, DetId::Hcal, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, DetId::id_, DetId::null(), DetId::rawId(), subdet(), and DetId::subdetId().

                                     {
  if (!gen.null()) {
    HcalSubdetector subdet=(HcalSubdetector(gen.subdetId()));
    if (gen.det()!=Hcal || 
        (subdet!=HcalBarrel && subdet!=HcalEndcap && 
         subdet!=HcalOuter && subdet!=HcalForward ))
      {
        throw cms::Exception("Invalid DetId") << "Cannot initialize HcalDetId from " << std::hex << gen.rawId() << std::dec; 
      }  
  }
  id_=gen.rawId();
}

Member Function Documentation

int HcalDetId::crystal_ieta_high ( ) const [inline]

get the largest crystal_ieta of the crystal in front of this tower (HB and HE tower 17 only)

Definition at line 46 of file HcalDetId.h.

References ieta(), and zside().

Referenced by CaloTowerConstituentsMap::constituentsOf().

{ return ((ieta()-zside())*5)+5*zside(); }
int HcalDetId::crystal_ieta_low ( ) const [inline]

get the smallest crystal_ieta of the crystal in front of this tower (HB and HE tower 17 only)

Definition at line 44 of file HcalDetId.h.

References ieta(), and zside().

Referenced by CaloTowerConstituentsMap::constituentsOf().

{ return ((ieta()-zside())*5)+zside(); }
int HcalDetId::crystal_iphi_high ( ) const

get the largest crystal_iphi of the crystal in front of this tower (HB and HE tower 17 only)

Definition at line 53 of file HcalDetId.cc.

References iphi().

Referenced by CaloTowerConstituentsMap::constituentsOf().

                                       { 
  int simple_iphi=((iphi()-1)*5)+5; 
  simple_iphi+=10;
  return ((simple_iphi>360)?(simple_iphi-360):(simple_iphi));
}
int HcalDetId::crystal_iphi_low ( ) const

get the smallest crystal_iphi of the crystal in front of this tower (HB and HE tower 17 only)

Definition at line 47 of file HcalDetId.cc.

References iphi().

Referenced by CaloTowerConstituentsMap::constituentsOf().

                                      { 
  int simple_iphi=((iphi()-1)*5)+1; 
  simple_iphi+=10;
  return ((simple_iphi>360)?(simple_iphi-360):(simple_iphi));
}
uint32_t HcalDetId::denseIndex ( ) const [inline]

Definition at line 60 of file HcalDetId.h.

References hashed_index().

{ return hashed_index() ; }
int HcalDetId::depth ( ) const [inline]

get the tower depth

Definition at line 42 of file HcalDetId.h.

References DetId::id_.

Referenced by HcalTriggerPrimitiveAlgo::addSignal(), HFLightCalRand::analyze(), HCALRecHitAnalyzer::analyze(), DQMHcalPhiSymAlCaReco::analyze(), cms::DiJetAnalyzer::analyze(), HFLightCal::analyze(), JetToDigiDump::analyze(), cms::HcalConstantsASCIIWriter::analyze(), cms::Analyzer_minbias::analyze(), HFPreLightCal::analyze(), CaloTowersCreationAlgo::assignHit(), CaloRecHitCandidateProducer::cellTresholdAndWeight(), HcalDetDiagLEDMonitor::CheckStatus(), HcalDetDiagPedestalMonitor::CheckStatus(), reco::helper::JetIDHelper::classifyJetComponents(), Digi2Raw2Digi::compare(), cond::HcalValidationCorrsDataRepr::doFillIn(), cond::HcalPedestalsDataRepr::doFillIn(), cond::HcalGainWidthsDataRepr::doFillIn(), cond::HcalLUTCorrsDataRepr::doFillIn(), cond::HcalLutMetadataDataRepr::doFillIn(), cond::HcalRespCorrsDataRepr::doFillIn(), cond::HcalPFCorrsDataRepr::doFillIn(), cond::HcalTimeCorrsDataRepr::doFillIn(), cond::HcalQIEDataDataRepr::doFillIn(), cond::HcalZSThresholdsDataRepr::doFillIn(), cms::MinBias::endJob(), ChannelPattern::Fill_by_hand(), HcalDetDiagLEDMonitor::fillHistos(), HcalObjRepresent::fillOneGain(), HcalDetDiagLaserMonitor::fillProblems(), CaloGeometryHelper::getClosestCell(), HcalChannelIterator::getDepth(), HcalLedAnalysis::GetLedConst(), HcaluLUTTPGCoder::getLUTId(), ParticleTowerProducer::getNearestTower(), CaloTowersCreationAlgo::getThresholdAndWeight(), hashed_index(), HcalGenericDetId::hashedId(), HcalHFStatusBitFromDigis::hfSetFlagFromDigi(), HcalHF_PETalgorithm::HFSetFlagFromPET(), HcalHF_S9S1algorithm::HFSetFlagFromS9S1(), HcalTopology::incrementDepth(), fireworks::info(), DetIdInfo::info(), HcalText2DetIdConverter::init(), HcalLedAnalysis::LedTrendings(), CastorDbHardcode::makeGain(), CaloTowersCreationAlgo::makeHcalDropChMap(), HcalRawDataClient::mapChannproblem(), HcalRawDataMonitor::mapChannproblem(), HcalRawDataMonitor::mapDCCproblem(), HcalRawDataClient::mapDCCproblem(), HcalRawDataMonitor::mapHTRproblem(), HcalRawDataClient::mapHTRproblem(), CastorDbASCIIIO::DetIdLess::operator()(), HcalPedestalAnalysis::per2CapsHists(), cond::PayLoadInspector< DataT >::plot(), HOHXLogicalMapEntry::printLMapLine(), HBHEHFLogicalMapEntry::printLMapLine(), printTableLine(), HcalCableMapper::process(), HcalDigiMonitor::processEvent(), HcalCoarsePedestalMonitor::processEvent(), HcalDigiTester::reco(), CaloTowersCreationAlgo::rescale(), ParticleTowerProducer::resetTowers(), HcalDetDiagPedestalMonitor::SaveReference(), HcalDetDiagLEDMonitor::SaveReference(), HcalDetDiagLaserMonitor::SaveReference(), HcalLedAnalysis::SetupLEDHists(), HcalSimParameterMap::simParameters(), hcalCalib::Terminate(), HcalTrigTowerGeometry::towerIds(), HcalPedestalAnalysis::Trendings(), and CaloGenericDetId::validDetId().

{ return (id_>>14)&0x1F; }
HcalDetId HcalDetId::detIdFromDenseIndex ( uint32_t  di) [static]

Definition at line 155 of file HcalDetId.cc.

References HcalBarrel, HcalDetId(), HcalEndcap, HcalForward, HcalOuter, recoMuon::in, kHBhalf, kHEhalf, kHFhalf, kHOhalf, sd, and validDenseIndex().

Referenced by CaloGenericDetId::CaloGenericDetId(), HcalGeometry::localCorners(), and ParticleTowerProducer::produce().

{
    if( validDenseIndex( di ) )
    {
      HcalSubdetector sd ( HcalBarrel ) ;
      int ie ( 0 ) ;
      int ip ( 0 ) ;
      int dp ( 0 ) ;
      int in ( di ) ;
      int iz ( 1 ) ;
      if( in > 2*( kHBhalf + kHEhalf + kHOhalf ) - 1 )
      {
         sd  = HcalForward ;
         in -= 2*( kHBhalf + kHEhalf + kHOhalf ) ; 
         iz  = ( in<kHFhalf ? 1 : -1 ) ;
         in %= kHFhalf ; 
         ip  = 4*( in/48 ) ;
         in %= 48 ;
         ip += 1 + ( in>21 ? 2 : 0 ) ;
         if( 3 == ip%4 ) in -= 22 ;
         ie  = 29 + in/2 ;
         dp  = 1 + in%2 ;
      }
      else
      {
         if( in > 2*( kHBhalf + kHEhalf ) - 1 )
         {
            sd  = HcalOuter ;
            in -= 2*( kHBhalf + kHEhalf ) ; 
            iz  = ( in<kHOhalf ? 1 : -1 ) ;
            in %= kHOhalf ; 
            dp  = 4 ;
            ip  = 1 + in/15 ;
            ie  = 1 + ( in - 15*( ip - 1 ) ) ;
         }
         else
         {
            if( in > 2*kHBhalf - 1 )
            {
               sd  = HcalEndcap ;
               in -= 2*kHBhalf ;
               iz  = ( in<kHEhalf ? 1 : -1 ) ;
               in %= kHEhalf ; 
               ip  = 2*( in/36 ) ;
               in %= 36 ;
               ip += 1 + in/28 ;
               if( 0 == ip%2 ) in %= 28 ;
               ie  = 15 + ( in<2 ? 1 + in : 2 + 
                            ( in<20 ? 1 + ( in - 2 )/2 : 9 +
                              ( in<26 ? 1 + ( in - 20 )/3 : 3 ) ) ) ;
               dp  = ( in<1 ? 3 :
                       ( in<2 ? 1 : 
                         ( in<20 ? 1 + ( in - 2 )%2 : 
                           ( in<26 ? 1 + ( in - 20 )%3 : 
                             ( 1 + ( in - 26 )%2 ) ) ) ) ) ;
            }
            else // barrel
            {
               iz  = ( di<kHBhalf ? 1 : -1 ) ;
               in %= kHBhalf ; 
               ip = in/18 + 1 ;
               in %= 18 ;
               if( in < 14 )
               {
                  dp = 1 ;
                  ie = in + 1 ;
               }
               else
               {
                  in %= 14 ;
                  dp =  1 + in%2 ;
                  ie = 15 + in/2 ;
               }
            }
         }
      }
      return HcalDetId( sd, iz*int(ie), ip, dp ) ;
   }
   else
   {
      return HcalDetId() ;
   }
}
int HcalDetId::hashed_index ( ) const

Definition at line 119 of file HcalDetId.cc.

References depth(), HcalBarrel, HcalEndcap, HcalForward, HcalOuter, ietaAbs(), iphi(), kHBhalf, kHEhalf, kHFhalf, kHOhalf, sd, subdet(), and zside().

Referenced by HcalRecHitsMaker::createVectorOfSubdetectorCells(), denseIndex(), CalorimetryManager::EMShowerSimulation(), CalorimetryManager::HDShowerSimulation(), PFRecHitProducerHO::hoNeighbArray(), HcalRecHitsMaker::init(), PFRecHitProducerHO::move(), CalorimetryManager::MuonMipSimulation(), CalorimetryManager::reconstruct(), and CalorimetryManager::reconstructECAL().

{
   const HcalSubdetector sd ( subdet()  ) ;
   const int             ip ( iphi()    ) ;
   const int             ie ( ietaAbs() ) ;
   const int             dp ( depth()   ) ;
   const int             zn ( zside() < 0 ? 1 : 0 ) ;

   // HB valid DetIds: phi=1-72,eta=1-14,depth=1; phi=1-72,eta=15-16,depth=1-2
  
   // HE valid DetIds: phi=1-72,eta=16-17,depth=1; phi=1-72,eta=18-20,depth=1-2; 
   //                  phi=1-71(in steps of 2),eta=21-26,depth=1-2; phi=1-71(in steps of 2),eta=27-28,depth=1-3
   //                  phi=1-71(in steps of 2),eta=29,depth=1-2

   // HO valid DetIds: phi=1-72,eta=1-15,depth=4!

   // HF valid DetIds: phi=1-71(in steps of 2),eta=29-39,depth=1-2; phi=3-71(in steps of 4),eta=40-41,depth=1-2

   return ( ( sd == HcalBarrel ) ?
            ( ip - 1 )*18 + dp - 1 + ie - ( ie<16 ? 1 : 0 ) + zn*kHBhalf :
            ( ( sd == HcalEndcap ) ?
              2*kHBhalf + ( ip - 1 )*8 + ( ip/2 )*20 +
              ( ( ie==16 || ie==17 ) ? ie - 16 :
                ( ( ie>=18 && ie<=20 ) ? 2 + 2*( ie - 18 ) + dp - 1 :
                  ( ( ie>=21 && ie<=26 ) ? 8 + 2*( ie - 21 ) + dp - 1 :
                    ( ( ie>=27 && ie<=28 ) ? 20 + 3*( ie - 27 ) + dp - 1 :
                      26 + 2*( ie - 29 ) + dp - 1 ) ) ) ) + zn*kHEhalf :
              ( ( sd == HcalOuter ) ?
                2*kHBhalf + 2*kHEhalf + ( ip - 1 )*15 + ( ie - 1 ) + zn*kHOhalf :
                ( ( sd == HcalForward ) ?
                  2*kHBhalf + 2*kHEhalf + 2*kHOhalf + 
                  ( ( ip - 1 )/4 )*4 + ( ( ip - 1 )/2 )*22 + 
                  2*( ie - 29 ) + ( dp - 1 ) + zn*kHFhalf : -1 ) ) ) ) ; 
}
int HcalDetId::ieta ( ) const [inline]

get the cell ieta

Definition at line 38 of file HcalDetId.h.

References ietaAbs(), and zside().

Referenced by HFLightCalRand::analyze(), HCALRecHitAnalyzer::analyze(), IsolatedTracksHcalScale::analyze(), HcalIsoTrkAnalyzer::analyze(), DQMHcalPhiSymAlCaReco::analyze(), cms::DiJetAnalyzer::analyze(), HcalCorrPFCalculation::analyze(), HFLightCal::analyze(), JetToDigiDump::analyze(), HcalNoiseMonitor::analyze(), cms::HcalConstantsASCIIWriter::analyze(), cms::Analyzer_minbias::analyze(), ValidIsoTrkCalib::analyze(), HFPreLightCal::analyze(), MuonHOAcceptance::buildDeadAreas(), MuonHOAcceptance::buildSiPMAreas(), HcalHaloAlgo::Calculate(), HcalDetDiagLEDMonitor::CheckStatus(), HcalDetDiagPedestalMonitor::CheckStatus(), reco::helper::JetIDHelper::classifyJetComponents(), PFClusterAlgo::cleanRBXAndHPD(), crystal_ieta_high(), crystal_ieta_low(), cms::MinBias::endJob(), HCALRecHitAnalyzer::FillGeometry(), HcalDetDiagLEDMonitor::fillHistos(), HcalObjRepresent::fillOneGain(), HcalDetDiagLaserMonitor::fillProblems(), HcalLaserHBHEHFFilter2012::filter(), HcalLaserHBHEFilter2012::filter(), reco::CentralityProducer::filter(), TrackDetMatchInfo::findMaxDeposition(), CaloGeometryHelper::getClosestCell(), hcalCalib::GetCoefFromMtrxInvOfAve(), HBHEHitMapOrganizer::getHPDNeighbors(), HcalChannelIterator::getIeta(), HcaluLUTTPGCoder::getLUTId(), CaloTowersCreationAlgo::getThresholdAndWeight(), HBHEHitMapOrganizer::HBHEHitMapOrganizer(), HcalHF_PETalgorithm::HFSetFlagFromPET(), HcalHF_S9S1algorithm::HFSetFlagFromS9S1(), HcalTopology::incrementDepth(), fireworks::info(), DetIdInfo::info(), HcalText2DetIdConverter::init(), HcalRecHitsMaker::init(), HcalLedAnalysis::LedTrendings(), HFClusterAlgo::makeCluster(), HcalRawDataClient::mapChannproblem(), HcalRawDataMonitor::mapChannproblem(), HcalRawDataMonitor::mapDCCproblem(), HcalRawDataClient::mapDCCproblem(), HcalRawDataMonitor::mapHTRproblem(), HcalRawDataClient::mapHTRproblem(), HcalRecHitsMaker::noiseInfCfromDB(), TrackDetMatchInfo::nXnEnergy(), HcalPedestalAnalysis::per2CapsHists(), cond::PayLoadInspector< DataT >::plot(), printTableLine(), HcalDigiMonitor::processEvent(), HcalCoarsePedestalMonitor::processEvent(), HcalBeamMonitor::processEvent(), AlCaHOCalibProducer::produce(), HcalDigiTester::reco(), HcalSimpleRecAlgoImpl::reco(), HcalDetDiagPedestalMonitor::SaveReference(), HcalDetDiagLEDMonitor::SaveReference(), HcalDetDiagLaserMonitor::SaveReference(), HcalLedAnalysis::SetupLEDHists(), hcalCalib::Terminate(), HcalTrigTowerGeometry::towerIds(), CaloTowerConstituentsMap::towerOf(), HcalPedestalAnalysis::Trendings(), HcalUnpacker::unpack(), and CaloGenericDetId::validDetId().

{ return zside()*ietaAbs(); }
int HcalDetId::ietaAbs ( ) const [inline]
int HcalDetId::iphi ( ) const [inline]

get the cell iphi

Definition at line 40 of file HcalDetId.h.

References DetId::id_.

Referenced by HFLightCalRand::analyze(), HCALRecHitAnalyzer::analyze(), IsolatedTracksHcalScale::analyze(), HcalIsoTrkAnalyzer::analyze(), BeamHaloAnalyzer::analyze(), DQMHcalPhiSymAlCaReco::analyze(), cms::DiJetAnalyzer::analyze(), HcalCorrPFCalculation::analyze(), HFLightCal::analyze(), JetToDigiDump::analyze(), cms::HcalConstantsASCIIWriter::analyze(), cms::Analyzer_minbias::analyze(), ValidIsoTrkCalib::analyze(), HFPreLightCal::analyze(), MuonHOAcceptance::buildDeadAreas(), MuonHOAcceptance::buildSiPMAreas(), HcalDetDiagLEDMonitor::CheckStatus(), HcalDetDiagPedestalMonitor::CheckStatus(), PFClusterAlgo::cleanRBXAndHPD(), crystal_iphi_high(), crystal_iphi_low(), cms::MinBias::endJob(), ChannelPattern::Fill_by_hand(), HcalDetDiagLEDMonitor::fillHistos(), HcalObjRepresent::fillOneGain(), HcalDetDiagLaserMonitor::fillProblems(), HcalLaserHBHEHFFilter2012::filter(), HcalLaserHBHEFilter2012::filter(), TrackDetMatchInfo::findMaxDeposition(), CaloGeometryHelper::getClosestCell(), HBHEHitMapOrganizer::getHPDNeighbors(), HcalChannelIterator::getIphi(), HcalLedAnalysis::GetLedConst(), HcaluLUTTPGCoder::getLUTId(), hashed_index(), HcalGenericDetId::hashedId(), HBHEHitMapOrganizer::HBHEHitMapOrganizer(), HcalHF_PETalgorithm::HFSetFlagFromPET(), HcalHF_S9S1algorithm::HFSetFlagFromS9S1(), HcalTopology::incrementDepth(), fireworks::info(), DetIdInfo::info(), HcalText2DetIdConverter::init(), HcalLedAnalysis::LedTrendings(), HFClusterAlgo::makeCluster(), HcalRawDataClient::mapChannproblem(), HcalRawDataMonitor::mapChannproblem(), HcalRawDataMonitor::mapDCCproblem(), HcalRawDataClient::mapDCCproblem(), HcalRawDataMonitor::mapHTRproblem(), HcalRawDataClient::mapHTRproblem(), TrackDetMatchInfo::nXnEnergy(), CastorDbASCIIIO::DetIdLess::operator()(), HcalPedestalAnalysis::per2CapsHists(), cond::PayLoadInspector< DataT >::plot(), HOHXLogicalMapEntry::printLMapLine(), HBHEHFLogicalMapEntry::printLMapLine(), printTableLine(), HcalCableMapper::process(), HcalDigiMonitor::processEvent(), HcalCoarsePedestalMonitor::processEvent(), HcalBeamMonitor::processEvent(), AlCaHOCalibProducer::produce(), HcalDetDiagPedestalMonitor::SaveReference(), HcalDetDiagLEDMonitor::SaveReference(), HcalDetDiagLaserMonitor::SaveReference(), HcalLedAnalysis::SetupLEDHists(), hcalCalib::Terminate(), HcalTrigTowerGeometry::towerIds(), CaloTowerConstituentsMap::towerOf(), HcalPedestalAnalysis::Trendings(), HcalUnpacker::unpack(), and CaloGenericDetId::validDetId().

{ return id_&0x7F; }
HcalDetId & HcalDetId::operator= ( const DetId id)

Assignment from a generic cell id

Definition at line 33 of file HcalDetId.cc.

References DetId::det(), Exception, DetId::Hcal, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, DetId::id_, DetId::null(), DetId::rawId(), subdet(), and DetId::subdetId().

                                                {
  if (!gen.null()) {
    HcalSubdetector subdet=(HcalSubdetector(gen.subdetId()));
    if (gen.det()!=Hcal || 
        (subdet!=HcalBarrel && subdet!=HcalEndcap && 
         subdet!=HcalOuter && subdet!=HcalForward ))
      {
        throw cms::Exception("Invalid DetId") << "Cannot assign HcalDetId from " << std::hex << gen.rawId() << std::dec; 
      }  
  }
  id_=gen.rawId();
  return (*this);
}
HcalSubdetector HcalDetId::subdet ( ) const [inline]

get the subdetector

Definition at line 32 of file HcalDetId.h.

References DetId::subdetId().

Referenced by HFHitFilter::accepts(), CaloSpecificAlgo::addInfo(), HFLightCalRand::analyze(), HCALRecHitAnalyzer::analyze(), HFLightCal::analyze(), JetToDigiDump::analyze(), CaloTowersValidation::analyze(), HcalRecHitsValidation::analyze(), CaloTowersAnalyzer::analyze(), HFPreLightCal::analyze(), CaloTowersCreationAlgo::assignHit(), CaloRecHitCandidateProducer::cellTresholdAndWeight(), reco::helper::JetIDHelper::classifyJetComponents(), reco::helper::JetIDHelper::classifyJetTowers(), CaloTowersCreationAlgo::convert(), HcalPulseShapes::defaultShape(), HcalTimeSlewSim::delay(), cms::MinBias::endJob(), ChannelPattern::Fill_by_hand(), HcalObjRepresent::fillOneGain(), HcalLaserHBHEHFFilter2012::filter(), HcalLaserHBHEFilter2012::filter(), HcalChannelIterator::getHcalSubdetector(), HcalLedAnalysis::GetLedConst(), HcaluLUTTPGCoder::getLUTId(), CaloTowersCreationAlgo::getThresholdAndWeight(), CaloTowersCreationAlgo::hadShwrPos(), hashed_index(), HcalDetId(), HcalTopology::incrementDepth(), fireworks::info(), DetIdInfo::info(), HcalRecHitsMaker::loadHcalRecHits(), HcalDDDGeometryLoader::makeCell(), CaloTowersCreationAlgo::makeHcalDropChMap(), SignCaloSpecificAlgo::makeVectorOutOfCaloTowers(), HcalRawDataClient::mapChannproblem(), HcalRawDataMonitor::mapChannproblem(), HcalRawDataMonitor::mapDCCproblem(), HcalRawDataClient::mapDCCproblem(), HcalRawDataMonitor::mapHTRproblem(), HcalRawDataClient::mapHTRproblem(), HcalRecHitsMaker::noiseInfCfromDB(), operator=(), cond::PayLoadInspector< DataT >::plot(), HOHXLogicalMapEntry::printLMapLine(), HBHEHFLogicalMapEntry::printLMapLine(), HcalCableMapper::process(), HcalDigiMonitor::processEvent(), HcalCoarsePedestalMonitor::processEvent(), HcalDigiTester::reco(), CaloTowersCreationAlgo::rescale(), CaloTowersCreationAlgo::rescaleTowers(), HcalSimParameterMap::setFrameSize(), HcalZSAlgoRealistic::shouldKeep(), HcalTBSimParameterMap::simParameters(), HcalSimParameterMap::simParameters(), hcalCalib::Terminate(), HcalTrigTowerGeometry::towerIds(), CaloTowerConstituentsMap::towerOf(), CaloGenericDetId::validDetId(), and ObjectValidator::validHit().

{ return (HcalSubdetector)(subdetId()); }
static bool HcalDetId::validDenseIndex ( uint32_t  din) [inline, static]

Definition at line 62 of file HcalDetId.h.

References kSizeForDenseIndexing.

Referenced by detIdFromDenseIndex().

{ return ( din < kSizeForDenseIndexing ) ; }
bool HcalDetId::validDetId ( HcalSubdetector  subdet,
int  tower_ieta,
int  tower_iphi,
int  depth 
) [static]

Definition at line 70 of file HcalDetId.cc.

References abs, HcalBarrel, HcalEndcap, HcalForward, and HcalOuter.

Referenced by WriteL1TriggerObjetsXml::analyze(), HcalGeometry::getCells(), hcalCalib::makeTextFile(), hcalCalib::ReadPhiSymCor(), and HcaluLUTTPGCoder::update().

{
   const int ie ( abs( ies ) ) ;

   return ( ( ip >=  1         ) &&
            ( ip <= 72         ) &&
            ( dp >=  1         ) &&
            ( ie >=  1         ) &&
            ( ( ( sd == HcalBarrel ) &&
                ( ( ( ie <= 14         ) &&
                    ( dp ==  1         )    ) ||
                  ( ( ( ie == 15 ) || ( ie == 16 ) ) && 
                    ( dp <= 2          )                ) ) ) ||
              (  ( sd == HcalEndcap ) &&
                 ( ( ( ie == 16 ) &&
                     ( dp ==  3 )          ) ||
                   ( ( ie == 17 ) &&
                     ( dp ==  1 )          ) ||
                   ( ( ie >= 18 ) &&
                     ( ie <= 20 ) &&
                     ( dp <=  2 )          ) ||
                   ( ( ie >= 21 ) &&
                     ( ie <= 26 ) &&
                     ( dp <=  2 ) &&
                     ( ip%2 == 1 )         ) ||
                   ( ( ie >= 27 ) &&
                     ( ie <= 28 ) &&
                     ( dp <=  3 ) &&
                     ( ip%2 == 1 )         ) ||
                   ( ( ie == 29 ) &&
                     ( dp <=  2 ) &&
                     ( ip%2 == 1 )         )          )      ) ||
              (  ( sd == HcalOuter ) &&
                 ( ie <= 15 ) &&
                 ( dp ==  4 )           ) ||
              (  ( sd == HcalForward ) &&
                 ( dp <=  2 )          &&
                 ( ( ( ie >= 29 ) &&
                     ( ie <= 39 ) &&
                     ( ip%2 == 1 )    ) ||
                   ( ( ie >= 40 ) &&
                     ( ie <= 41 ) &&
                     ( ip%4 == 3 )         )  ) ) ) ) ;
}
int HcalDetId::zside ( ) const [inline]

Member Data Documentation