CMS 3D CMS Logo

Classes | Functions
CaloGenericDetId.h File Reference
#include "DataFormats/DetId/interface/DetId.h"
#include "DataFormats/EcalDetId/interface/EBDetId.h"
#include "DataFormats/EcalDetId/interface/EEDetId.h"
#include "DataFormats/EcalDetId/interface/ESDetId.h"
#include "DataFormats/HcalDetId/interface/HcalZDCDetId.h"
#include "DataFormats/HcalDetId/interface/HcalCastorDetId.h"
#include "DataFormats/CaloTowers/interface/CaloTowerDetId.h"

Go to the source code of this file.

Classes

class  CaloGenericDetId
 

Functions

std::ostream & operator<< (std::ostream &s, const CaloGenericDetId &id)
 

Function Documentation

std::ostream& operator<< ( std::ostream &  s,
const CaloGenericDetId id 
)

Definition at line 124 of file CaloGenericDetId.cc.

References TauDecayModes::dec, Exception, CaloGenericDetId::isCaloTower(), CaloGenericDetId::isEB(), CaloGenericDetId::isEE(), CaloGenericDetId::isES(), CaloGenericDetId::isHcal(), CaloGenericDetId::isZDC(), and DetId::rawId().

Referenced by CaloGenericDetId::isCaloTower().

125 {
126  if (id.isHcal()) {
127  edm::LogError("CaloGenericDetIdError") << "No support for HB/HE/HO/HF in CaloGenericDetId";
128  throw cms::Exception("No support");
129  }
130  else if(id.isCaloTower()) {
131  edm::LogError("CaloGenericDetIdError") << "No support for CaloTower in CaloGenericDetId";
132  throw cms::Exception("No support");
133  }
134 
135  return ( id.isEB() ? s<<EBDetId( id ) :
136  ( id.isEE() ? s<<EEDetId( id ) :
137  ( id.isES() ? s<<ESDetId( id ) :
138  ( id.isZDC() ? s<<HcalZDCDetId( id ) :
139  s<<"UnknownId="<<std::hex<<id.rawId()<<std::dec ) ) ) );
140 }