19 const unsigned int idet ( det ) ;
26 return ( ( det -
kMinDet )*kMaxSub + subdet - 1 ) ;
51 return ( ok ?
m_geos[ index ] :
nullptr ) ;
63 return ( ok ?
m_geos[ index ] :
nullptr ) ;
79 std::shared_ptr<const CaloCellGeometry>
86 return std::shared_ptr<const CaloCellGeometry>();
94 return (
nullptr == geom ?
false : geom->
present(
id ) ) ;
99 std::vector<DetId> returnValue ;
100 returnValue.reserve(
kLength ) ;
102 bool doneHcal (
false ) ;
103 for(
unsigned int i ( 0 ) ;
i !=
m_geos.size() ; ++
i )
107 const std::vector< DetId >& aVec =
m_geos[
i]->getValidDetIds();
109 edm::LogWarning(
"EmptyDetIdList") <<
"Valid det id list at index " << i <<
" is empty!" << std::endl;
111 const bool isHcal ( !aVec.empty() &&
DetId::Hcal == aVec.front().det() ) ;
115 returnValue.insert( returnValue.end(), aVec.begin(), aVec.end() ) ;
117 isHcal ) doneHcal =
true ;
124 const std::vector<DetId>&
134 return ( ok && (
nullptr !=
m_geos[ index ] ) ?
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
virtual bool present(const DetId &id) const
is this detid present in the geometry?
GlobalPoint getPosition(const DetId &id) const
Get the position of a given detector id.
static const std::vector< DetId > k_emptyVec
void setSubdetGeometry(DetId::Detector det, int subdet, const CaloSubdetectorGeometry *geom)
Register a subdetector geometry.
std::vector< const CaloSubdetectorGeometry * > m_geos
virtual std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.
bool present(const DetId &id) const
is this detid present in the geometry?
static const GlobalPoint notFound(0, 0, 0)
std::vector< DetId > getValidDetIds() const
Get the list of all valid detector ids.
unsigned int makeIndex(DetId::Detector det, int subdet, bool &ok) const
std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const
Get the cell geometry of a given detector id.