1 #ifndef TrackingTools_TrackAssociator_DetIdAssociator_h 2 #define TrackingTools_TrackAssociator_DetIdAssociator_h 1 63 const int iN = 0)
const;
65 const unsigned int iNEtaPlus,
66 const unsigned int iNEtaMinus,
67 const unsigned int iNPhiPlus,
68 const unsigned int iNPhiMinus)
const;
76 const double d = 0)
const;
91 const std::vector<GlobalPoint>& trajectory,
92 const double dR)
const;
100 const std::vector<GlobalPoint>& trajectory)
const;
102 const std::vector<SteppingHelixStateInfo>& trajectory,
103 const double toleranceInSigmas = -1)
const;
124 virtual const char*
name()
const = 0;
134 virtual void getValidDetIds(
unsigned int subDetectorIndex, std::vector<DetId>&)
const = 0;
135 virtual std::pair<const_iterator, const_iterator>
getDetIdPoints(
const DetId&, std::vector<GlobalPoint>&)
const = 0;
141 const double toleranceInSigmas = -1,
147 unsigned int index(
unsigned int iEta,
unsigned int iPhi)
const {
150 void fillSet( std::set<DetId>&
set,
unsigned int iEta,
unsigned int iPhi)
const;
158 std::vector<std::pair<unsigned int,unsigned int> >
lookupMap_;
virtual std::set< DetId > getDetIdsInACone(const std::set< DetId > &, const std::vector< GlobalPoint > &trajectory, const double dR) const
virtual void getValidDetIds(unsigned int subDetectorIndex, std::vector< DetId > &) const =0
virtual bool crossedElement(const GlobalPoint &, const GlobalPoint &, const DetId &, const double toleranceInSigmas=-1, const SteppingHelixStateInfo *=0) const
virtual bool selectAllInACone(const double dR) const
helper to see if getDetIdsInACone is useful
virtual bool nearElement(const GlobalPoint &point, const DetId &id, const double distance) const
unsigned int index(unsigned int iEta, unsigned int iPhi) const
virtual int iEta(const GlobalPoint &) const
look-up map eta index
virtual std::vector< DetId > getCrossedDetIds(const std::set< DetId > &, const std::vector< GlobalPoint > &trajectory) const
std::vector< std::pair< unsigned int, unsigned int > > lookupMap_
virtual std::pair< const_iterator, const_iterator > getDetIdPoints(const DetId &, std::vector< GlobalPoint > &) const =0
std::vector< DetId > container_
virtual void dumpMapContent(int, int) const
virtual void setGeometry(const DetIdAssociatorRecord &)=0
double etaBinSize() const
look-up map bin size in eta dimension
virtual const char * name() const =0
virtual int iPhi(const GlobalPoint &) const
look-up map phi index
void fillSet(std::set< DetId > &set, unsigned int iEta, unsigned int iPhi) const
virtual const unsigned int getNumberOfSubdetectors() const
virtual void check_setup() const
virtual void setConditions(const DetIdAssociatorRecord &)
int nPhiBins() const
number of bins of the look-up map in phi dimension
virtual const GeomDet * getGeomDet(const DetId &) const =0
std::vector< GlobalPoint >::const_iterator const_iterator
virtual ~DetIdAssociator()
DetIdAssociator(const int nPhi, const int nEta, const double etaBinSize)
virtual void buildMap()
make the look-up map
const FiducialVolume & volume() const
get active detector volume
virtual GlobalPoint getPosition(const DetId &) const =0
virtual std::set< DetId > getDetIdsCloseToAPoint(const GlobalPoint &, const int iN=0) const
int nEtaBins() const
number of bins of the look-up map in eta dimension
*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
virtual bool insideElement(const GlobalPoint &, const DetId &) const =0