Go to the documentation of this file. 1 #ifndef __L1Trigger_L1THGCal_HGCalTriggerGeometryBase_h__
2 #define __L1Trigger_L1THGCal_HGCalTriggerGeometryBase_h__
5 #include <unordered_map>
6 #include <unordered_set>
21 typedef std::unordered_map<unsigned, unsigned>
geom_map;
53 throw cms::Exception(
"HGCalTriggerGeometry") <<
"bhGeometry cannot be used with the V9 geometry";
60 throw cms::Exception(
"HGCalTriggerGeometry") <<
"hscGeometry cannot be used with the V7 and V8 geometries";
94 virtual unsigned getModuleSize(
const unsigned module_id)
const = 0;
99 virtual bool validCell(
const unsigned cell_id)
const = 0;
103 virtual unsigned triggerLayer(
const unsigned id)
const = 0;
virtual geom_set getTriggerCellsFromModule(const unsigned trigger_cell_det_id) const =0
const HGCalGeometry * noseGeometry() const
const HGCalTopology & eeTopology() const
virtual geom_ordered_set getOrderedTriggerCellsFromModule(const unsigned trigger_cell_det_id) const =0
virtual geom_set getNeighborsFromTriggerCell(const unsigned trigger_cell_det_id) const =0
virtual bool disconnectedModule(const unsigned module_id) const =0
const HGCalGeometry * hsiGeometry() const
virtual geom_set getCellsFromModule(const unsigned cell_det_id) const =0
virtual bool validCell(const unsigned cell_id) const =0
virtual ~HGCalTriggerGeometryBase()
virtual geom_ordered_set getOrderedCellsFromModule(const unsigned cell_det_id) const =0
virtual void initialize(const CaloGeometry *)=0
void setNoseGeometry(const HGCalGeometry *geom)
const CaloGeometry * caloGeometry() const
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
virtual unsigned getModuleFromCell(const unsigned cell_det_id) const =0
void setEEGeometry(const HGCalGeometry *geom)
const HGCalGeometry * hgc_ee_geometry_
virtual unsigned getLinksInModule(const unsigned module_id) const =0
void setWithNoseGeometry(const bool isNose)
virtual unsigned triggerLayer(const unsigned id) const =0
const HGCalGeometry * hgc_hsi_geometry_
const HGCalGeometry * hgc_hsc_geometry_
virtual geom_set getCellsFromTriggerCell(const unsigned cell_det_id) const =0
const HGCalTopology & topology() const
void setHSiGeometry(const HGCalGeometry *geom)
const CaloGeometry * calo_geometry_
const HGCalGeometry * fhGeometry() const
virtual unsigned getTriggerCellFromCell(const unsigned cell_det_id) const =0
std::set< unsigned > geom_ordered_set
virtual bool validTriggerCell(const unsigned trigger_cell_id) const =0
const HGCalGeometry * hgc_nose_geometry_
const HcalTopology & bhTopology() const
bool isV9Geometry() const
std::unordered_set< unsigned > geom_set
void setHScGeometry(const HGCalGeometry *geom)
const HGCalGeometry * eeGeometry() const
virtual unsigned getModuleFromTriggerCell(const unsigned trigger_cell_det_id) const =0
virtual GlobalPoint getModulePosition(const unsigned module_det_id) const =0
const HGCalTopology & hsiTopology() const
virtual GlobalPoint getTriggerCellPosition(const unsigned trigger_cell_det_id) const =0
std::unordered_map< unsigned, unsigned > geom_map
void setCaloGeometry(const CaloGeometry *geom)
HGCalTriggerGeometryBase(const edm::ParameterSet &conf)
const HGCalGeometry * hscGeometry() const
const HcalTopology & topology() const
bool isWithNoseGeometry() const
const std::string & name() const
virtual unsigned getModuleSize(const unsigned module_id) const =0
const HcalGeometry * bhGeometry() const
const HGCalTopology & noseTopology() const
virtual unsigned lastTriggerLayer() const =0
const HGCalTopology & fhTopology() const
const HGCalTopology & hscTopology() const