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::HCaloDetIdAssociator ( )
inline

Definition at line 28 of file CaloDetIdAssociator.h.

28 :HDetIdAssociator(72, 70 ,0.087),geometry_(nullptr){};
const CaloGeometry * geometry_
HCaloDetIdAssociator::HCaloDetIdAssociator ( const int  nPhi,
const int  nEta,
const double  etaBinSize 
)
inline

Member Function Documentation

void HCaloDetIdAssociator::check_setup ( )
inlineoverrideprotectedvirtual

Reimplemented from HDetIdAssociator.

Definition at line 35 of file CaloDetIdAssociator.h.

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

36  {
38  if (geometry_==nullptr) throw cms::Exception("CaloGeometry is not set");
39  };
virtual void check_setup()
const CaloGeometry * geometry_
std::set<DetId> HCaloDetIdAssociator::getASetOfValidDetIds ( )
inlineoverrideprotectedvirtual

Implements HDetIdAssociator.

Reimplemented in HHcalDetIdAssociator, and HEcalDetIdAssociator.

Definition at line 47 of file CaloDetIdAssociator.h.

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

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

Implements HDetIdAssociator.

Definition at line 56 of file CaloDetIdAssociator.h.

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

56  {
57  std::vector<GlobalPoint> points;
59  LogDebug("CaloDetIdAssociator") << "Cannot find sub-detector geometry for " << id.rawId() <<"\n";
60  } else {
62  LogDebug("CaloDetIdAssociator") << "Cannot find CaloCell geometry for " << id.rawId() <<"\n";
63  } else {
64  const CaloCellGeometry::CornersVec& cor ( geometry_->getSubdetectorGeometry(id)->getGeometry(id)->getCorners() );
65  points.assign( cor.begin(), cor.end() ) ;
66  points.push_back(getPosition(id));
67  }
68  }
69 
70  return points;
71  };
#define LogDebug(id)
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:49
const CaloGeometry * geometry_
GlobalPoint getPosition(const DetId &id) override
CaloGeometry const * getGeometry()
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:57
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) : geometry_->getPosition(id);
44  return point;
45  };
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:49
const CaloGeometry * geometry_
GlobalPoint getPosition(const DetId &id) const
Get the position of a given detector id.
Definition: CaloGeometry.cc:74
*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
bool HCaloDetIdAssociator::insideElement ( const GlobalPoint point,
const DetId id 
)
inlineoverrideprotectedvirtual

Implements HDetIdAssociator.

Definition at line 73 of file CaloDetIdAssociator.h.

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

73  {
74  return geometry_->getSubdetectorGeometry(id)->getGeometry(id)->inside(point);
75  };
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
Definition: CaloGeometry.cc:49
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.
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

const CaloGeometry* HCaloDetIdAssociator::geometry_
protected