CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
HCaloDetIdAssociator Class Reference

#include <CaloDetIdAssociator.h>

Inheritance diagram for HCaloDetIdAssociator:
HDetIdAssociator HEcalDetIdAssociator HHcalDetIdAssociator

Public Member Functions

 HCaloDetIdAssociator ()
 
 HCaloDetIdAssociator (const int nPhi, const int nEta, const double etaBinSize)
 
virtual void setGeometry (const CaloGeometry *ptr)
 
- Public Member Functions inherited from HDetIdAssociator
virtual std::set< DetIdgetCrossedDetIds (const std::set< DetId > &, const std::vector< GlobalPoint > &trajectory)
 
virtual std::set< DetIdgetDetIdsCloseToAPoint (const GlobalPoint &, const int idR=0)
 
virtual std::set< DetIdgetDetIdsCloseToAPoint (const GlobalPoint &point, const double dR=0)
 
virtual std::set< DetIdgetDetIdsInACone (const std::set< DetId > &, const std::vector< GlobalPoint > &trajectory, const double)
 
virtual std::set< DetIdgetMaxEDetId (const std::set< DetId > &, edm::Handle< CaloTowerCollection > caloTowers)
 
virtual std::set< DetIdgetMaxEDetId (const std::set< DetId > &, edm::Handle< HBHERecHitCollection > recHits)
 
virtual std::vector< GlobalPointgetTrajectory (const FreeTrajectoryState &, const std::vector< GlobalPoint > &)
 
 HDetIdAssociator ()
 
 HDetIdAssociator (const int nPhi, const int nEta, const double etaBinSize)
 
virtual int iEta (const GlobalPoint &)
 
virtual int iPhi (const GlobalPoint &)
 
virtual void setPropagator (Propagator *ptr)
 
virtual ~HDetIdAssociator ()
 

Protected Member Functions

void check_setup () override
 
std::set< DetIdgetASetOfValidDetIds () override
 
std::vector< GlobalPointgetDetIdPoints (const DetId &id) override
 
GlobalPoint getPosition (const DetId &id) override
 
bool insideElement (const GlobalPoint &point, const DetId &id) override
 
- Protected Member Functions inherited from HDetIdAssociator
virtual void buildMap ()
 
virtual bool nearElement (const GlobalPoint &point, const DetId &id, const double distance)
 

Protected Attributes

const CaloGeometrygeometry_
 
- Protected Attributes inherited from HDetIdAssociator
const double etaBinSize_
 
PropagatorivProp_
 
const int nEta_
 
const int nPhi_
 
std::vector< std::vector< std::set< DetId > > > * theMap_
 

Detailed Description

Definition at line 26 of file CaloDetIdAssociator.h.

Constructor & Destructor Documentation

◆ HCaloDetIdAssociator() [1/2]

HCaloDetIdAssociator::HCaloDetIdAssociator ( )
inline

Definition at line 28 of file CaloDetIdAssociator.h.

28 : HDetIdAssociator(72, 70, 0.087), geometry_(nullptr){};
const CaloGeometry * geometry_

◆ HCaloDetIdAssociator() [2/2]

HCaloDetIdAssociator::HCaloDetIdAssociator ( const int  nPhi,
const int  nEta,
const double  etaBinSize 
)
inline

Member Function Documentation

◆ check_setup()

void HCaloDetIdAssociator::check_setup ( )
inlineoverrideprotectedvirtual

Reimplemented from HDetIdAssociator.

Definition at line 35 of file CaloDetIdAssociator.h.

References HDetIdAssociator::check_setup(), Exception, and geometry_.

35  {
37  if (geometry_ == nullptr)
38  throw cms::Exception("CaloGeometry is not set");
39  };
virtual void check_setup()
const CaloGeometry * geometry_

◆ getASetOfValidDetIds()

std::set<DetId> HCaloDetIdAssociator::getASetOfValidDetIds ( )
inlineoverrideprotectedvirtual

Implements HDetIdAssociator.

Reimplemented in HHcalDetIdAssociator, and HEcalDetIdAssociator.

Definition at line 48 of file CaloDetIdAssociator.h.

References DetId::Calo, geometry_, CaloGeometry::getValidDetIds(), and ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it.

48  {
49  std::set<DetId> setOfValidIds;
50  const std::vector<DetId>& vectOfValidIds = geometry_->getValidDetIds(DetId::Calo, 1);
51  for (std::vector<DetId>::const_iterator it = vectOfValidIds.begin(); it != vectOfValidIds.end(); ++it)
52  setOfValidIds.insert(*it);
53 
54  return setOfValidIds;
55  };
const CaloGeometry * geometry_
std::vector< DetId > getValidDetIds() const
Get the list of all valid detector ids.
Definition: CaloGeometry.cc:75

◆ getDetIdPoints()

std::vector<GlobalPoint> HCaloDetIdAssociator::getDetIdPoints ( const DetId id)
inlineoverrideprotectedvirtual

Implements HDetIdAssociator.

Definition at line 57 of file CaloDetIdAssociator.h.

References EZArrayFL< T >::assign(), geometry_, CaloSubdetectorGeometry::getGeometry(), getPosition(), CaloGeometry::getSubdetectorGeometry(), and LogDebug.

57  {
58  std::vector<GlobalPoint> points;
60  LogDebug("CaloDetIdAssociator") << "Cannot find sub-detector geometry for " << id.rawId() << "\n";
61  } else {
62  if (!(geometry_->getSubdetectorGeometry(id))->getGeometry(id)) {
63  LogDebug("CaloDetIdAssociator") << "Cannot find CaloCell geometry for " << id.rawId() << "\n";
64  } else {
66  points.assign(cor.begin(), cor.end());
67  points.push_back(getPosition(id));
68  }
69  }
70 
71  return points;
72  };
const CaloGeometry * geometry_
GlobalPoint getPosition(const DetId &id) override
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.
void assign(const T &t=T())
Definition: EZArrayFL.h:45
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
#define LogDebug(id)

◆ getPosition()

GlobalPoint HCaloDetIdAssociator::getPosition ( const DetId id)
inlineoverrideprotectedvirtual

Implements HDetIdAssociator.

Definition at line 41 of file CaloDetIdAssociator.h.

References geometry_, CaloGeometry::getPosition(), CaloGeometry::getSubdetectorGeometry(), DetId::Hcal, and point.

Referenced by getDetIdPoints().

41  {
42  GlobalPoint point = (id.det() == DetId::Hcal)
43  ? (static_cast<const HcalGeometry*>(geometry_->getSubdetectorGeometry(id)))->getPosition(id)
44  : geometry_->getPosition(id);
45  return point;
46  };
const CaloGeometry * geometry_
GlobalPoint getPosition(const DetId &id) const
Get the position of a given detector id.
Definition: CaloGeometry.cc:50
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5

◆ insideElement()

bool HCaloDetIdAssociator::insideElement ( const GlobalPoint point,
const DetId id 
)
inlineoverrideprotectedvirtual

Implements HDetIdAssociator.

Definition at line 74 of file CaloDetIdAssociator.h.

References geometry_, CaloSubdetectorGeometry::getGeometry(), CaloGeometry::getSubdetectorGeometry(), and point.

74  {
75  return geometry_->getSubdetectorGeometry(id)->getGeometry(id)->inside(point);
76  };
const CaloGeometry * geometry_
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.
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:34
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5

◆ setGeometry()

virtual void HCaloDetIdAssociator::setGeometry ( const CaloGeometry ptr)
inlinevirtual

Definition at line 32 of file CaloDetIdAssociator.h.

References geometry_.

32 { geometry_ = ptr; };
const CaloGeometry * geometry_

Member Data Documentation

◆ geometry_

const CaloGeometry* HCaloDetIdAssociator::geometry_
protected