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;
70 const MapRange& mapRange)
const;
76 const double d = 0)
const;
80 const double dThetaPlus,
81 const double dThetaMinus,
82 const double dPhiPlus,
83 const double dPhiMinus)
const;
87 const std::vector<GlobalPoint>& trajectory,
88 const double dR)
const;
96 const std::vector<GlobalPoint>& trajectory)
const;
98 const std::vector<SteppingHelixStateInfo>& trajectory,
99 const double toleranceInSigmas = -1)
const;
120 virtual const char*
name()
const = 0;
130 virtual void getValidDetIds(
unsigned int subDetectorIndex, std::vector<DetId>&)
const = 0;
131 virtual std::pair<const_iterator, const_iterator>
getDetIdPoints(
const DetId&, std::vector<GlobalPoint>&)
const = 0;
137 const double toleranceInSigmas = -1,
146 void fillSet( std::set<DetId>& set,
unsigned int iEta,
unsigned int iPhi)
const;
154 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 bool crossedElement(const GlobalPoint &, const GlobalPoint &, const DetId &, const double toleranceInSigmas=-1, const SteppingHelixStateInfo *=0) const
virtual void getValidDetIds(unsigned int subDetectorIndex, std::vector< DetId > &) const =0
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_
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 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 const char * name() const =0
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()
virtual bool insideElement(const GlobalPoint &, const DetId &) const =0
DetIdAssociator(const int nPhi, const int nEta, const double etaBinSize)
virtual void buildMap()
make the look-up map
virtual GlobalPoint getPosition(const DetId &) const =0
const FiducialVolume & volume() const
get active detector volume
virtual std::set< DetId > getDetIdsCloseToAPoint(const GlobalPoint &, const int iN=0) const
virtual std::pair< const_iterator, const_iterator > getDetIdPoints(const DetId &, std::vector< GlobalPoint > &) const =0
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