17 const unsigned int idet ( det ) ;
24 return ( ( det -
kMinDet )*kMaxSub + subdet - 1 ) ;
50 return ( ok ?
m_geos[ index ] : 0 ) ;
62 return ( ok ?
m_geos[ index ] : 0 ) ;
87 return ( 0 == geom ?
false : geom->
present(
id ) ) ;
92 std::vector<DetId> returnValue ;
93 returnValue.reserve(
kLength ) ;
95 bool doneHcal (
false ) ;
96 for(
unsigned int i ( 0 ) ;
i !=
m_geos.size() ; ++
i )
101 const bool isHcal (
DetId::Hcal == aVec.front().det() ) ;
105 returnValue.insert( returnValue.end(), aVec.begin(), aVec.end() ) ;
107 isHcal ) doneHcal =
true ;
114 const std::vector<DetId>&
124 return ( ok && ( 0 !=
m_geos[ index ] ) ?
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
virtual const CaloCellGeometry * getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.
virtual bool present(const DetId &id) const
is this detid present in the geometry?
const 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
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.
const CaloCellGeometry * getGeometry(const DetId &id) const
Get the cell geometry of a given detector id.
unsigned int makeIndex(DetId::Detector det, int subdet, bool &ok) const