1 #ifndef GEOMETRY_CALOTOPOLOGY_ECALTRIGTOWERCONSTITUENTSMAP_H 2 #define GEOMETRY_CALOTOPOLOGY_ECALTRIGTOWERCONSTITUENTSMAP_H 1 7 #include <boost/multi_index_container.hpp> 8 #include <boost/multi_index/member.hpp> 9 #include <boost/multi_index/ordered_index.hpp> 10 #include <boost/tuple/tuple.hpp> 48 typedef boost::multi_index_container<
50 boost::multi_index::indexed_by<
51 boost::multi_index::ordered_unique<boost::multi_index::member<MapItem, DetId, &MapItem::cell> >,
52 boost::multi_index::ordered_non_unique<
53 boost::multi_index::member<MapItem, EcalTrigTowerDetId, &MapItem::tower> > > >
void assign(const DetId &cell, const EcalTrigTowerDetId &tower)
set the association between a DetId and a tower
DetId changeEEDetIdQuadrantAndZ(const DetId &fromid, const int &toQuadrant, const int &tozside) const
std::vector< DetId > constituentsOf(const EcalTrigTowerDetId &id) const
Get the constituent detids for this tower id.
int changeTowerQuadrant(int phiTower, int fromQuadrant, int toQuadrant) const
EcalTowerMap::nth_index< 0 >::type EcalTowerMap_by_DetId
EcalTrigTowerDetId towerOf(const DetId &id) const
Get the tower id for this det id (or null if not known)
EcalTrigTowerConstituentsMap()
DetId wrapEcalTrigTowerDetId(const DetId &id) const
Wrap a generic EcalTrigTowerDetId to the equivalent one in z+ Quadrant 1 (from 0 < phi < pi/2) ...
MapItem(const DetId &acell, const EcalTrigTowerDetId &atower)
boost::multi_index_container< MapItem, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::member< MapItem, DetId, &MapItem::cell > >, boost::multi_index::ordered_non_unique< boost::multi_index::member< MapItem, EcalTrigTowerDetId, &MapItem::tower > > > > EcalTowerMap
EcalTowerMap::nth_index< 1 >::type EcalTowerMap_by_towerDetId
DetId wrapEEDetId(const DetId &id) const
Wrap a generic EEDetId to the equivalent one in z+ Quadrant 1 (from 0 < phi < pi/2) ...