CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
l1t::HGCalTowerMap Class Reference

#include <HGCalTowerMap.h>

Public Member Functions

bool addEt (short bin_id, float etEm, float etHad)
 
 HGCalTowerMap ()
 
 HGCalTowerMap (const std::vector< l1t::HGCalTowerCoord > &tower_ids, const int layer)
 
int layer () const
 
unsigned nTowers () const
 
const HGCalTowerMapoperator+= (const HGCalTowerMap &map)
 
const std::unordered_map< unsigned short, l1t::HGCalTower > & towers () const
 

Private Attributes

unsigned layer_
 
std::unordered_map< unsigned short, l1t::HGCalTowertowerMap_
 

Detailed Description

Definition at line 15 of file HGCalTowerMap.h.

Constructor & Destructor Documentation

l1t::HGCalTowerMap::HGCalTowerMap ( )
inline

Definition at line 17 of file HGCalTowerMap.h.

References layer().

17 : layer_(0) {}
HGCalTowerMap::HGCalTowerMap ( const std::vector< l1t::HGCalTowerCoord > &  tower_ids,
const int  layer = 0 
)

Definition at line 8 of file HGCalTowerMap.cc.

References towerMap_.

8  : layer_(layer) {
9  for (auto tower_id : tower_ids) {
10  towerMap_[tower_id.rawId] = l1t::HGCalTower(0., 0., tower_id.eta, tower_id.phi, tower_id.rawId);
11  }
12 }
int layer() const
Definition: HGCalTowerMap.h:21
std::unordered_map< unsigned short, l1t::HGCalTower > towerMap_
Definition: HGCalTowerMap.h:31

Member Function Documentation

bool HGCalTowerMap::addEt ( short  bin_id,
float  etEm,
float  etHad 
)

Definition at line 33 of file HGCalTowerMap.cc.

References towerMap_.

Referenced by layer().

33  {
34  auto this_tower = towerMap_.find(bin_id);
35  if (this_tower == towerMap_.end())
36  return false;
37  this_tower->second.addEtEm(etEm);
38  this_tower->second.addEtHad(etHad);
39 
40  return true;
41 }
std::unordered_map< unsigned short, l1t::HGCalTower > towerMap_
Definition: HGCalTowerMap.h:31
int l1t::HGCalTowerMap::layer ( ) const
inline
unsigned l1t::HGCalTowerMap::nTowers ( ) const
inline

Definition at line 27 of file HGCalTowerMap.h.

References towerMap_.

Referenced by operator+=().

27 { return towerMap_.size(); }
std::unordered_map< unsigned short, l1t::HGCalTower > towerMap_
Definition: HGCalTowerMap.h:31
const HGCalTowerMap & HGCalTowerMap::operator+= ( const HGCalTowerMap map)

Definition at line 14 of file HGCalTowerMap.cc.

References Exception, nTowers(), edm::errors::StdException, towerMap_, and towers().

Referenced by layer().

14  {
15  if (nTowers() != map.nTowers()) {
16  throw edm::Exception(edm::errors::StdException, "StdException")
17  << "HGCalTowerMap: Trying to add HGCalTowerMaps with different bins: " << nTowers() << " and " << map.nTowers()
18  << endl;
19  }
20 
21  for (auto tower : map.towers()) {
22  auto this_tower = towerMap_.find(tower.first);
23  if (this_tower == towerMap_.end()) {
24  throw edm::Exception(edm::errors::StdException, "StdException")
25  << "HGCalTowerMap: Trying to add HGCalTowerMaps but could not find bin: " << tower.first << endl;
26  } else {
27  this_tower->second += tower.second;
28  }
29  }
30  return *this;
31 }
const std::unordered_map< unsigned short, l1t::HGCalTower > & towers() const
Definition: HGCalTowerMap.h:28
std::unordered_map< unsigned short, l1t::HGCalTower > towerMap_
Definition: HGCalTowerMap.h:31
unsigned nTowers() const
Definition: HGCalTowerMap.h:27
const std::unordered_map<unsigned short, l1t::HGCalTower>& l1t::HGCalTowerMap::towers ( ) const
inline

Definition at line 28 of file HGCalTowerMap.h.

References towerMap_.

Referenced by HGCalTowerMap3DImpl::buildTowerMap3D(), and operator+=().

28 { return towerMap_; }
std::unordered_map< unsigned short, l1t::HGCalTower > towerMap_
Definition: HGCalTowerMap.h:31

Member Data Documentation

unsigned l1t::HGCalTowerMap::layer_
private

Definition at line 32 of file HGCalTowerMap.h.

Referenced by layer().

std::unordered_map<unsigned short, l1t::HGCalTower> l1t::HGCalTowerMap::towerMap_
private

Definition at line 31 of file HGCalTowerMap.h.

Referenced by addEt(), HGCalTowerMap(), nTowers(), operator+=(), and towers().