19 const unsigned int idet ( det ) ;
26 edm::LogWarning(
"CaloGeometry") <<
"Det:Subdet " << idet <<
":" << subdet
27 <<
" min|max Det " <<
kMinDet <<
":" 28 << kMaxDet <<
" min|max subdet 0:" <<
kMaxSub;
42 << subdet <<
", index=" << index
43 <<
", size=" <<
m_geos.size();
56 return ( ok ?
m_geos[ index ] :
nullptr ) ;
68 return ( ok ?
m_geos[ index ] :
nullptr ) ;
84 std::shared_ptr<const CaloCellGeometry>
91 return std::shared_ptr<const CaloCellGeometry>();
99 return (
nullptr == geom ?
false : geom->
present(
id ) ) ;
104 std::vector<DetId> returnValue ;
105 returnValue.reserve(
kLength ) ;
107 bool doneHcal (
false ) ;
108 for(
unsigned int i ( 0 ) ;
i !=
m_geos.size() ; ++
i )
112 const std::vector< DetId >& aVec =
m_geos[
i]->getValidDetIds();
115 << i <<
" is empty!";
117 const bool isHcal ( !aVec.empty() &&
DetId::Hcal == aVec.front().det() ) ;
121 returnValue.insert( returnValue.end(), aVec.begin(), aVec.end() ) ;
123 isHcal ) doneHcal =
true ;
130 const std::vector<DetId>&
140 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.